international journal of computers, communications & control vol. ii (2007), no. 1, pp. 37-38 international conference on virtual learning – icvl 2006 the current issue of the journal contains seven extended papers published in the "proceedings of the 1st international conference on virtual learning, october 27 29, 2006, bucharest, romania, (icvl 2006)" (m. vlada, g. albeanu & d.m. popovici eds.). the first edition of the international conference on virtual learning icvl 2006 was organized by university of bucharest, faculty of mathematics and computer science in association with european intuition project (the intuition network of excellence in europe http://www.intuition-eunetwork.net/) and in conjunction with the fourth national conference on virtual learning cniv 2006 to celebrate one hundred years from the birth of the great romanian mathematician and "computer pioneer award" of ieee computer society (1996) grigore moisil (1906 1973). the icvl was structured to provide a vision of european e-learning and e-training policies, to take notice of the situation existing today in the international community and to work towards developing a forward looking approach in virtual learning from the viewpoint of modelling methods and methodological aspects (m&m), information technologies (tech) and software solutions (soft). the conference has established a large area of topics to cover the following subjects, but not limited to: innovative teaching and learning technologies, web-based methods and tools in traditional, online education and training, collaborative e-learning, e-pedagogy, design and development of online courseware, information and knowledge processing, knowledge representation and ontologism, cognitive modelling and intelligent systems, algorithms and programming for modelling, advanced distributed learning technologies, web, virtual reality/ar and mixed technologies, mobile e-learning, communication technology applications, computer graphics and computational geometry, intelligent virtual environments, new software environments for education and training, streaming multimedia applications in learning, scientific web-based laboratories and virtual labs, soft computing in virtual reality and artificial intelligence, avatars and intelligent agents. initially 72 abstracts were received and 55 of them were selected. finally only 34 papers were accepted for presentation at the icvl and publication in proceedings of the icvl bucharest university press (isbn 978-973-737-218-5). participants coming from europe, japan, australia and canada have discussed various aspects concerning the future developments in the virtual learning field during the conference. four invited papers talking about trends in professional learning, time series modelling, analysis and forecasting in e-learning environments, ael the e-learning universal platform and, the teaching through projects methodology have been presented as plenary lectures. ten papers proposed different software solutions, while twenty papers were dedicated to modelling methods and methodological aspects. some icvl papers are considered for publishing in the current issue of the international journal of computers, communications and control. let us present an introduction of the selected papers. the paper of a. andreatos is dedicated to define and classify the virtual communities and their importance for informal learning, and to examine their social impact and resulting trends in technology management. a bibliographical review, and some case studies illustrate the aforementioned tasks. a. anohina, in her paper, considers the intelligent tutoring systems (including architecture topics based on two layers approach) powered by adaptive support for learners in order to solve practical problems. copyright c© 2006-2007 by ccc publications 38 grigore albeanu the minimax algorithm is considered as a practical illustration. the paper of n. doukas and a. andreatos presents a computer-aided assessment system (e-xaminer; a web-based interface system) based on parametrically designed questions that uses meta-language concepts to automatically generate tests. in their paper, i. kitagaki and his colleagues, present an algorithm for groupware modelling for a collaborative learning environment using mobile terminals. they show not only the grouping algorithm but also some considerations about discussion in a classroom. m. lambiris presents the concepts and a technique used to design a methodology for providing individualised computer-generated feedback to students. such an approach can also be used to provide detailed and high accuracy information to the instructor about the performance of the whole group. the paper of g. moise describes a software system for online learning using intelligent agents (an execution agent and a supervisor agent) and conceptual maps. experimental results are also considered. m. oprea presents in her paper a multi-agent system design procedure to be applied for universities course timetable scheduling that is a difficult administrative task. a preliminary evaluation of the proposed multi-agent system is presented in order to show the benefits obtained when a university uses such an approach. considering the successful story of the icvl 2006 event, the scientific community shows great interest to the second edition (icvl 2007: 26-28th of october) that will take place at ovidius university of constanta, romania. grigore albeanu guest editor icvl technical program chair unesco chair in information technologies university of oradea, university street, no. 1 410087, oradea, bihor, romania int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 613-615 writing as a form of freedom and happiness celebrating the 60th birthday of gheorghe păun g. ciobanu gabriel ciobanu romanian academy, institute of computer science and a.i.cuza university of iasi, romania e-mail: gabriel@info.uaic.ro gheorghe păun (born on december 6, 1950) graduated the faculty of mathematics of the bucharest university in 1974 and got his phd at the same faculty in 1977. he has won many scholarships, in germany, finland, the netherlands, spain, etc. presently he is a senior researcher at the institute of mathematics of the romanian academy, bucharest, and a ramon y cajal research professor at sevilla university, spain. since 1997 he is a corresponding member of the romanian academy, and since 2006 a member of academia europaea. his main research fields are formal language theory (regulated rewriting, contextual grammars, grammar systems), automata theory, combinatorics on words, computational linguistics, dna computing, membrane computing (this last area was initiated by him in 1998). he has (co)authored and (co)edited more than fifty books in these areas, and he has (co)authored more than 400 research papers. in the last two decades he has visited many universities from europe, usa, canada, japan, also participating to many international conferences, several times as an invited speaker. he is a member of the editorial board of numerous computer science journals and professional associations. figure 1: a copy cropped from [1] essentially writing is form of thinking on paper, and a way of learning. according to winston churchill, writing a book is an adventure. "to begin with, it is a toy and an amusement; then it becomes a mistress, and then it becomes a master, and then a tyrant. the last phase is that just as you are about to be reconciled to your servitude, you kill the monster, and fling him out to the public." on the other hand, writing could be a form of freedom by escaping the madness of a period, and reducing the anxiety. in many situations the authors write to save themselves, to survive as individuals. gheorghe păun is an example of a person affirming his own existence by writing. he is a prolific writer with a huge number of papers: tens of scientific books, hundreds of articles, several novels, poems, and books on games. a list of his scientific publications is posted at http://www.imar.ro/~gpaun/papers.php [2], while his books are listed at http://www.imar. ro/~gpaun/books.php [1] his way of distributing information is not by speaking, but by writing. gheorghe păun did not like very much to teach in universities. he preferred a form of "teaching by researching", combining ideas with nice metaphors and distributing his knowledge in articles and books. in this way he wrote several papers having a high impact in the scientific community. his seminal paper "computing with membranes" published in journal of computers and system sciences in 2000 and his fundamental book on computation theory "membrane computing" (springer, 2003) has over 1,000 citations [6] (and his author was recognized as an "isi highly cited researcher" [5]). he has defined new branches, new theories. the field of membrane computing was initiated by gheorghe păun as a branch of natural computing [3]; p systems are copyright c⃝ 2006-2010 by ccc publications 614 g. ciobanu inspired by the hierarchical membrane structure of eukaryotic cells [4]. an impressive handbook of membrane computing was published recently (2010) by oxford university press. after 1990 he becomes a traveling scientist, visiting several countries and receiving many research fellowships and awards. fruitful scientific collaboration at magdeburg university (germany), and at university of turku (finland). the trio gheorghe păun, grzegorz rozenberg and arto salomaa is well-known for several successful books. the last years were spent in spain, first in tarragona and now in sevilla. several collaborations were possible during his trips, and there are over 100 co-authors from many countries. his scientific reputation is related to the large number of invited talks provided at many international conferences and universities. he is a member of the editorial boards for several international journals, corresponding member of the romanian academy (from 1997), and member of academia europaea (from 2006). it is not possible to understand the personality of gheorghe păun without mentioning his activity as writer of novels and poems; he is a member of the romanian writers association for a long time. another aspect of his life is related to the intellectual seduction of games; he was the promoter of go in romania, writing many books about go and other "mathematical" games. personally, i am impressed by the speed of his mind (it is enough to say few words about some new results, and he is able to complete quickly the whole approach), his wide-ranging curiosity and intelligence, rich imagination and humor, talent and passion. he is highly motivated by challenging projects, and work hard to conclude them successfully. there are very few scientists having such an interesting profile, and i am very happy to learn a lot from him. celebrating his 60th birthday, we wish him a good health, long life, and new interesting achievements! figure 2: g. păun-an isi highly cited researcher (a copy cropped from [5]) writing as a form of freedom and happiness celebrating the 60th birthday of gheorghe păun 615 bibliography [1] gheorghe păun, one more universality result for p systems with objects on membranes, international journal of computers, communications & control, 1(1): 25-32, 2006 (free access at http://www.journal.univagora.ro/download/pdf/21.pdf) [2] http://www.imar.ro/ gpaun/ [3] http://esi-topics.com/ [4] http://ppage.psystems.eu/ [5] http://hcr3.isiknowledge.com/ [6] http://interaction.lille.inria.fr/ roussel/projects/scholarindex/index.cgi international journal of computers, communications & control vol. ii (2007), no. 1, pp. 103-105 management information systems: managing the digital firm 9th edition, authors: keneth c. laudon and jane p. laudon (book review) florin g. filip management information systems: managing the digital firm 9th edition authors: keneth c. laudon and jane p. laudon pearson prentice hall, pearson education, inc., upper saddle river, new jersey 97458. isbn 0-13-153841-1; xxxii+641+22+14+2+21 pags. this is the 9th edition of a successful textbook. the authors are two well-known and productive writers. k.c. laudon, a professor of information systems at stern school of business of the new york university, took his ba in economics from stanford and his ph.d. from columbia university. he is the author of twelve books and over forty articles about social, organizational and management impacts of information systems, privacy, ethics, and multimedia technology. jane p. laudon, a management consultant in information systems area, took her m.a. from harvard university and her ph.d. from columbia university and authored seven books. her main scientific interests are systems analysis, data management and software evaluation. the background, scientific interests and expertise of the authors and their previous works had an obvious impact on the manner this book was conceived, written and accompanied by auxiliary materials (the cd rom and companion web site). the authors start from the premise that, nowadays, "information systems knowledge is essential for creating successful, competitive firms, managing global corporations, adding business value and providing useful products and service to customers" (p. xix). moreover, they state that "in many industries survival and even existence without the extensive use of it is inconceivable" (p.31). an important development the authors remark is the emergence of the digital firm, "where nearly all core business processes and relationship with customers, suppliers and employees are digitally enabled" (p.31). in the book the management information systems (mis) is defined at large as "the study of [computer based] information systems in business and management" (p.44). besides, the authors adopt a broader view of information systems (is) "which encompasses an understanding of the management and organizational dimensions as well as technical dimensions of the systems as information systems literacy" (p.20). consequently, this book can be viewed as an effort made by the laudons with a view to contributing to building up and consolidating such an information system literacy for current and future managers, which are to be confronted with several "major challenges concerning: a) "information system investments", b) "strategic business"„ c) "globalization", d) "information infrastructure", and e) "ethics and security" (p.28). the authors have noticed a "user designer communication gap". in table 15.3 (p.552) they give several examples of that gap. while the user is concerned with problem solving related questions such as: "will the system deliver the information i need for my work?, "how quickly can i access the data?", ..., "how will the system fit into my daily business schedule?", the designer is preoccupied to find optimal answers to technology-oriented questions such as: "how many lines of program code will it take to perform this function?", ...,"what database management system should we use? in order to help the future managers to successfully face the major challenges mentioned above and to solve the possible communication gap, the authors adopt a sociotechnical view and style of presentation. they combine technical aspects (drawn from computer science, management science, and operations copyright c© 2006-2007 by ccc publications 104 florin g. filip research) with behavioral elements (drawn from economics, sociology, psychology). throughout the book, the presentation method chosen contains, besides the introductimg mis concepts, facts about realworld experiences (cca 200 examples are given), new technologies, and various exercises. in accordance with the sociotechnical perspective adopted, the book is organized in four parts as it follows. part one, which is made up of five chapters, addresses the organizational and managerial foundations of information systems. it introduces real-world systems and highlights their relationship with the organizations and managements. the concept of the digital firm is explained together with the fashionable concepts of e-business and e-commerce. various types of information systems are reviewed (and they will be presented in detail in the remaining chapters). the four major business functions (sales and marketing, production and manufacturing, human resources and finance and accounting) are introduced with a view to being resorted to in an ending section of all remaining chapters. a special chapter is dedicated to ethical and social issues in the digital firm. part two, which is made up of five chapters, addresses the various facets of the information technology infrastructure (iti). iti is viewed as a set of technology resources (hardware and software) and as a set of services (computing platform service, telecommunication service, data management service, application software service, it management service, standards service, education and research and development service), composed both of human and technical capabilities (p.186). a particular emphasis is laid on describing the leading edge wireless technologies, and security and control aspects. part three, which is made up of three chapters, describes several types of information systems. one by one, the main concepts of the enterprise applications (including enterprise [resource planning] erp, customer relationship managing crm, and supply chain management scm), knowledge management systems, and [group, and executive] decision support systems are presented. part four, which is made up of three chapters, presents the process of building, implementing and managing the systems in organizations. several important topics such as development approaches (based on lifecycle or prototyping), managing the necessary changes in the organizations, and various methods for evaluating the business value of the project are reviewed. the last chapter addresses the specific aspects of managing international information systems. in comparison with previous editions, the present edition contains much up-to-date information about leading edge technologies. the chapters which address "wireless revolution", enterprise applications, knowledge management systems are new. other chapters were re-written or/and completed with new topics. throughout the book, all chapters are organized in the same manner. each chapter opens with the statement of five learning objectives. then, five (in few cases, four) subchapters of text follow to provide the mis concepts and real-world examples which are related to the learning objectives. other common features to all chapters are: a) the opening case which describes a real world example and the coresponding diagram to analyze the case in terms of management, organization and technology model; b) the concluding section on management opportunities, challenges and solutions related to the theme of the chapter; c) the "make it your business" section to place the concepts described in the chapter in relation with the major business functions; d) the "chapter summary" organized in accordance with chapter objectives, e) the list of key terms, f) the review questions, g) the application software exercise to develop solutions to real-world business problems, h) the running case project (on a simulated firm entitled dirt bikes). the book also contains an impressive list of references which is organized on chapters, a glossary, three appendices of "hands-on" type (for analyzing a case study, designing a data base, and sql), an index of terms and an index of organizations. the text about information systems is supplemented by two it based learning aids: a) the companion web site (to guide the interactive study, to facilitate internet connections, and to provide additional case studies), and b) the interactive multimedia cd-rom (to be used either as an interactive study guide or as an alternative to the text). management information systems: managing the digital firm 9th edition, authors: keneth c. laudon and jane p. laudon (book review) 105 to conclude this review, i think this book, together with the cd-rom and companion web site, is an excellent dynamic and active learning environment. i recommend it to be used as a textbook for the undergraduate students for information systems courses in business administration departments. it can also be utilized by the students in computer science as a complementary text, which can help them build a broader view on information systems. florin-gheorghe filip romanian academy 125, calea victoriei 010071 bucharest-1, romania e-mail: ffilip@acad.ro received: december 31, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 946-952 contributions to the study of semantic interoperability in multi-agent environments an ontology based approach i.f. toma iulian-florin toma university of pitesti romania, 110040 pitesti, 1 targu din vale e-mail: tif@tif.ro abstract: this paper details the results of our work in the field of multi-agent ontology-based environment simulation. we analyze the impact of introducing some techniques for the alignment / translation / mapping of agent ontologies, which allows for collaborative understanding of distributed ontologies. in the end, we analyze the difficulties / gaps that are to be filled for an actual deployment of the technology / concept in a real life environment. keywords: ontology, semantic interoperability, agents. 1 introduction the ability to communicate depends on understanding the syntax and the semantics of a language. we used an ontology model to facilitate semantic interoperability in a simulated multi-agent environment. current studies relieve the fact that using ontologies associated with the agents allows for building semantic-aware distributed multi-agent systems. an ontology is a formal specification for shared understanding of a domain of interest and offers the possibility of building a formal and machine manipulable model of a domain of interest. ontologies describe entities and relations between them, classes of objects and their attributes, and are complemented by logical rules that constrain the meaning assigned to the terms. these constraints are represented by inference rules that can be used by agents to perform the reasoning on which the autonomy and proactiveness of the agents are based. thus semantic interoperability facilitates the increase of the autonomy of agents. the reasoning process of agents in multi-agent ontology-based environments is mainly focused on the alignment of their own ontologies with ontologies exposed by other agents. having considered the multi-agent environment as heterogeneous, we analyse the introduction of guidelines for ontology development and evolution which should facilitate ontology reuse that may underpin a usage model for ontologies. 2 multi-agent environment the multi-agent environment we propose is part of an e-commerce scenario where a user’s agent agu is activated to find, request and gather offers for a specific product from a series of suppliers’ agents ags1, ..., agsn. in our implementation, the suppliers’ agents (ags agents) are published in the fipa compliant directory facilitator (df) of the jade platform. fipa is an ieee computer society standards organization that promotes agent-based technology and the interoperability of its standards with other technologies. jade is a software framework to develop agent applications in compliance with the fipa specifications for interoperable intelligent multi-agent systems. we propose the implementation of a mediator agent (agm) to make the interactions with the df and to handle the negotiation process between agents. the ags agents (suppliers’ agents) use their own ontologies. suppliers can adhere to centralized/standardized/publicly available ontologies, can extend such ontologies based on their needs, copyright c⃝ 2006-2010 by ccc publications contributions to the study of semantic interoperability in multi-agent environments an ontology based approach 947 but can also build their own ontologies from scratch. facing this heterogeneity of ontologies used by the ags agents, the agu agent has to achieve semantic interoperability to negotiate with each ags agent. fipa recommends using an external ontology agent (ago) for handling the interoperability problems in heterogeneous multi-agent environments [9]. this agent handles the tasks of matching ontologies and translating the values of some attributes (translate notions based on their specified language, convert currencies, convert units of measure). figure 1 illustrates the architecture of the proposed system: ������ ��� �� ������ ������ ����� ����� ���� ��� � ��� ���� ���� figure 1: ontology-based multi-agent environment 3 ontologies the semantical description of an entity offers a better understanding of the entity and puts the entity in a context. the idea is not necessarily to achieve the level of understanding and association to other entities that a human subject would have for that entity, but to improve the understanding of a software regarding that entity only to satisfy specific goals. the main heterogeneity problem in our simulated environment is that the agents will typically use different ontologies. ontology-based interoperation provides a solution in environments with heterogeneous semantics. ontologies can capture both the structure and semantics of information environments [7]. an ontology-based search agent like agu can handle both simple keyword-based queries as well as complex queries on structured data. figure 2 contains some sample ontologies exposed by 2 book suppliers’ agents [1]. 948 i.f. toma figure 2: sample ontologies [1] the ontologies can be designed in any ontology editor, like the protégé software [6] (figure 3). a large variety of formal languages exists for describing the ontologies (e.g. owl [2] [8]). figure 3: ontology editing in protégé 2000 4 implementation the test simulation can be implemented using the jade environment. the jade environment has direct support for ontologies only if they are represented as java classes. these classes can be written by hand of generated using the beangenerator plug-in of the protégé software. although the java classes can be generated automatically, this approach has the disadvantage that it is very rigid when conceptual changes are necessary. under this approach, modifications of the ontology in protégé have to be followed by the regeneration of the java classes using the contributions to the study of semantic interoperability in multi-agent environments an ontology based approach 949 beangenerator tool, the re-integration in the main project and the recompiling. any modification in an ontology represented using java classes may also require modifications in the java code of the agent. a solution to simplify this process is to access the jena framework for writing ontology-based applications. this framework allows keeping the ontologies in the owl format generated by protégé, eliminating any further need to transform the ontology in another format. the parser of this framework has direct access to the owl files and provides access to the classes of the ontology using java language. using this framework, the agent can access the instances of the classes, retrieve the value of attributes, determine subclasses etc. 5 negotiation the negotiation is implemented using the fipa contract net interaction protocol [10]. the workflow for this protocol is represented in figure 4. figure 4: the workflow of thhe fipa contract net interaction protocol the semantic analysis of the ontologies takes place between the call for proposals (represented as "cfp") and the receival of the refusals/proposals from the suppliers’ agents. the semantic analysis is performed by the dedicated agent ago . the suppliers’ agents ags1...agsn (noted: ags) receive the cfp. if the concept/item is understood by ags, it starts to evaluate de conditions/constraints contained in the cfp. if the conditions match, ags returns a proposal to the agu agent, otherwise it returns a reject-proposal message. the messages may be sent using predicates defined in a separate common / generalized / standard centralized ontology (ontreqstd) specific to the process of requesting offers of products . agents agu and ags could adhere to this ontology and ags could then respond with a more descriptive message 950 i.f. toma like "availableonlywithpreorder", "stockempty" rather than responding with a simple yes/no message. the types of ontologies proposed for our model are represented in figure 5. ����� ������ ���� ����� ���� ���� �������� � figure 5: the role of the ago (ontology agent) ontology matching analysis starts if the ags does not "understand" the concepts/attributes inside the cfp. in this case, the ags agents call the ago agent. the ago agent requests contact details to ags to contact the agu agent. then ago queries the agu agent about its exposed ontology. ago starts a matching process to obtain an alignment between the agu request (cfp), agu ontology (ontu) and ags ontology. if the matching succeeds (with a high confidence mark), ago reformulates the cfp to the ags and the ags may start the simple quantitative evaluation and send an answer to agu accordingly to the result. ago may also play the role of converting units of measure, currencies, translating notions between languages etc.) and use the values to reformulate the cfp. 6 ontology mapping the same concept/product may be described using different attributes, structures and relations, conducting to distinct ontologies. even so, taking into consideration that the concept is part of a specific domain, there exists a set of common characteristics that should be mandatory when representing a specific product, like "width", "height", "material", etc. thus lexical measures can be used to compare attributes and relations between concepts. some of the lexical measures that can be applied to achieve ontology-matching are n-gram similarity, hamming distance, levenshtein distance, jaro measure, jaro-winkler measure and the token-based distances like cosine similarity, term frequency-inverse document frequency (tfidf) described in [1]. contributions to the study of semantic interoperability in multi-agent environments an ontology based approach 951 the ago agent can also make use of the language-based methods by calling external resources like lexicons and thesauri. wordnet [3] is such an electronic lexical database for english, based on the notion of synsets or sets of synonyms. a synset denotes a concept or a sense of a group of terms. wordnet also provides an hypernym (superconcept/subconcept) structure as well as other relations such as meronym (part of relations). it also provides textual descriptions of the concepts (gloss) containing definitions and examples. there are lots of techniques available for analyzing similarities using wordnet [4] [5]. in addition to comparing their names or identifiers, the structure of entities that can be found in ontologies can be compared. this comparison can be subdivided into a comparison of the internal structure of an entity, i.e., besides its name and annotations, its properties or, in the case of owl ontologies, the properties which take their values in a datatype, or the comparison of the entity with other entities to which it is related. using these well-known techniques, the ago agent can run a detailed analysis on the matching of the ontu and onts ontologies. if an alignment is achieved, the ago agent can reformulate the cfp (call for proposals) to match the onts ontologies of the ags agents. 7 conclusions and the future of semantic interoperability in this paper, we proposed a feasible implementation of a multi-agent environment which makes use of ontologies and ontology mapping to achieve semantic interoperability. the ontologybased multi-agent environments and semantic-enabled communications are, in the present (20092010), under theoretical study only. there are numerous attempts to bring this technology to public use e.g. building public libraries of ontologies, but this field still resides only in the boundaries of the scientifical community. to bring it to public use, tools should emerge, that would facilitate the semantic annotation and semantic description of entities, by any internet user, in various environments like web services, web pages, distributed software, reusable components etc. these tools should be easy to use by any internet user. they should incorporate automatic validation based on the recommendations and restrictions of the ontology engineering discipline. only then, when the advantages of these technologies will overcome the difficulties of defining and maintaining the ontologies, will semantic-enabled communications be a part of common software and human activities. bibliography [1] j. euzenat, p. shvaiko, ontology matching, springer, 2007. [2] owl 2 web ontology language, w3c recommendation, http://www.w3.org/tr/owl2overview/, october 27, 2009. [3] g.a. miller, wordnet: a lexical database for english, communication of acm, 38(11):39-41, 1995. [4] pedersen, patwardhan, and michelizzi, wordnet::similarity measuring the relatedness of concepts, proceedings of the nineteenth national conference on artificial intelligence (aaai-04), pp. 1024-1025, july 25-29, 2004, san jose, ca (intelligent systems demonstration) [5] a. budanitsky, g. hirst, semantic distance in wordnet: an experimental, applicationoriented evaluation of five measures, proceedings of the workshop on wordnet and other 952 i.f. toma lexical resources, second meeting of the north american chapter of the association for computational linguistics, pittsburgh, usa, 2001. [6] j. gennari, m.a. musen, r.w. fergerson, w.e. grosso, m. crubezy, h. eriksson, n.f. noy, s.w. tu, the evolution of protege: an environment for knowledge-based systems development, technical report, smi report number: smi-2002-0943, 2002. [7] m.p. singh, m.n. huhns, service-oriented computing: semantics, processes, agents, wiley, 2005 [8] a. gómez-pérez, m. fernández-lópez, o. corcho , ontological engineering : with examples from the areas of knowledge management, e-commerce and the semantic web , springer, 2004 [9] ontology service specification, fipa-oss, http://www.fipa.org/specs/fipa00086 [10] fipa contract net interaction protocol specification, fipa tc communication, sc00029h, http://www.fipa.org/specs/fipa00029/sc00029h.html. international journal of computers, communications & control vol. iii (2008), no. 1, pp. 51-59 mobile message passing using a scatternet framework brendan j. donegan, daniel c. doolan, sabin tabirca abstract: the mobile message passing interface is a library which implements mpi functionality on bluetooth enabled mobile phones. it provides many of the functions available in mpi, including point-to-point and global communication. the main restriction of the library is that it was designed to work over bluetooth piconets. piconet based networks provide for a maximum of eight devices connected together simultaneously. this limits the libraries usefulness for parallel computing. a solution to solve this problem is presented that provides the same functionality as the original mobile mpi library, but implemented over a bluetooth scatternet. a scatternet may be defined as a number of piconets interconnected by common node(s). an outline of the scatternet design is explained and its major components discussed. keywords: bluetooth, scatternet, message passing, network formation 1 introduction mobile technology is one of the fastest growing fields of technology, with over one billion mobile phones shipped during 2006 [8]. the power of mobile devices is also growing quickly, in october 2005 arm announced the arm cortex a8 [1][2], having a clock speed of 1ghz. this increase in both availability and performance makes mobile devices a prime candidate for parallel computing systems. having a multitude of mobile devices available one can now take advantage of the situation by performing complex computational tasks across several devices. the original mmpi library was restricted in terms of its world size by the upper bound of the piconet network standard, this limits the maximum number of nodes in an mmpi world to eight. the evolution of the mmpi library to allow for scatternet formation requires significantly more work behind the scenes, both to setup the network infrastructure and to allow for complete inter-device communication. 1.1 need for mobile parallel computing the mmpi library was created to allow for parallel computing across mobile devices [6]. mobile devices have very limited resources and processing capabilities. the nokia 6630 and 6680 [14] mobile phones have 220mhz processors and just a few megabytes of memory. along with such limited capabilities they also have a finite amount of battery power. running processor intensive applications on such devices drains battery power at a higher rate than standard phone usage. therefore if one device doesn’t have sufficient battery power it may not be capable of solving a complex problem. such a problem would also take too long to process from the users perspective. splitting the processing among several devices not only speeds up the processing, but also distributes the battery drain across all devices, allowing more computationally intensive tasks to be performed. 1.2 review of scatternet formation algorithms the bluetooth specification [3], describes the concept of a scatternet. a scatternet (figure 1) is defined as two or more piconets joined together through the mechanism of a common node (bridging node). significant research has been conducted on scatternets, much of it focusing on how they can be optimized. miklos [10] described some of the aspects of scatternet formation, including the performance bottleneck caused by the bridging node switching between the frequency hopping patterns of its masters. copyright © 2006-2008 by ccc publications 52 brendan j. donegan, daniel c. doolan, sabin tabirca figure 1: scatternet topology the dynamp project [13] is a mobile parallel computing architecture that uses bluetooth scatternets as the underlying infrastructure. the application area for this body of work is in mobile robotics, specifically that of the cybot toy. the main reason for the parallel computing architecture is real-time image processing of data acquired from the robots sensor system. to avoid the upgrading of the processing capabilities of the robots, the path of distributing the processing requirements across a group of robots was investigated. the target architecture is the tini from dallas semiconductor that uses java as its native environment. the ipaq pda is also used, running a linux based os and the keffe jvm. unlike native message passing libraries such as the c and fortran based mpi that use a static number of nodes, a far more dynamic approach is required within the mobile environment. the head node is therefore responsible for discovering all the active nodes within the network. this is achieved by broadcasting a process request packet throughout the network. an example of a simple node topology is given in the paper that shows a linear like architecture, thereby communication between distant nodes would certainly require one or more intermediary nodes for forward on the message. bluetrees [15] generates a tree-like scatternet. the network formation algorithm is initiated by a single node that forms the root of the tree. the root node begins by acquiring slave devices that are within it vicinity. these in turn page their own neighbours. in order to limit the number of slave devices connected to another node at the level above some branch reorganization may be required. jayanna & zaruba [9] use an approach where by all nodes maintain a dynamically generated list of its neighbours based on the number of hops required to reach the node in question. the strategy ensures that if neighbour information is included for one and two-hop piconets, then two adjacent piconets can share only one bridging node. therefore all nodes of one piconet share a single path to all nodes of a neighbouring piconet. 1.3 mobile message passing interface the mobile message passing interface (mmpi) [6] provides many of the functions that can be found in a standard mpi [11] [12] implementation. the main difference between mmpi and standard mpi implementations is that it is designed for mobile devices that communicate via bluetooth [4] [5]. the library has one drawback that makes it less than an ideal candidate as a platform to support parallel computation on mobile devices. it was designed to operate only on a bluetooth piconet of up to eight mobile message passing using a scatternet framework 53 devices. in a parallel computing system in general one can achieve faster computation by throwing more processors at the problem. 2 enhanced mmpi library structure the problem of creating scatternets and performing communication within them after they have been created is a complex one. the original mmpi library could not simply be adapted, as the differences between communication in a piconet and communication in a scatternet are too great. a new solution was therefore designed from the ground up, whilst retaining all of the original functionality. the enhanced library comprises of a number of distinct components that provides an abstraction from lower level layers. 2.1 components of the library the enhanced mmpi library is made up of a number of components. the most important parts of the architecture are shown in figure 2 figure 2: library components the commscenter class forms the heart of the library. its role is to receive raw data from the network and translate it into mmpi messages. the mmpinode class provides the interface between the commscenter and the mmpi class and also performs the initial device discovery. finally, the mmpi class is the interface to the library as a whole, and is the only class whose methods are exposed to the developer using mmpi. relevant data is fed up through the hierarchy, starting at the commscenter and continuing up to the mmpi class. this simplifies matters greatly as information that is relevant at a particular level of the hierarchy is available only at that level. 2.2 messages on receipt of a message by the commscentre it must inspect the header to identify the type of the message it has received and accordingly perform the appropriate action. the message types are categorised as follows: • bridge the node should take up the role of bridging node. 54 brendan j. donegan, daniel c. doolan, sabin tabirca • master the node should take up the role of master. • slave the node should be a slave exclusively. • confirm the network formation is complete. • data the message contains a data payload. the first four messages are used only during the formation of the scatternet and the data message is used only after the scatternet is formed. messages will only be processed by the node for which they are addressed, otherwise they will be forwarded by the message routing system. 2.3 scatternet formation formation of the scatternet is initiated at a chosen node (the ‘root node’) by first performing an inquiry for devices that provide the mmpi service. the root node then determines how many piconets are required to support this number of nodes. in the case of thirteen mmpi capable devices are discovered then two piconets will be created. the root node selects a device to be the bridge node and sends it a list of addresses of the other nodes in the network (algorithm 1). data: list of all mmpi capable devices initialize list of devices to send to bridge node; foreach device in the list do if bridge node then create slave connection; add bridge node to routing table; else if prior to bridge node then create slave connection; add slave node to routing table; send slave message; else if after bridge node then add device to list of devices to send to bridge node; add node to routing table; add number of devices to bridge message; add list of devices to the bridge message; send bridge message; algorithm 1: establishing initial connections at the root node the bridge node then chooses one of these to be the master of the other piconet and sends it the list minus the device chosen (algorithm 2). the second master makes connections to each device on the list, completing the scatternet formation. it then sends a confirmation message which propagates through the network via the message routing system. 2.4 message routing in order for a message to reach a recipient with which the sender has no direct connection, the message must be routed through the network. the library uses a simple message routing table (table 1) where each node keeps a table of all the nodes except itself. each entry in the routing table contains an index that is used to navigate between nodes. mobile message passing using a scatternet framework 55 data: list of devices sent by root node initialize list of devices to send to additional master; foreach device in the list do if second master then create master connection; add second master to routing table; else add node to routing table; add number of devices to master message; add list of devices to the master message; send master message; algorithm 2: establishing connections at the bridge node node node 2 node 0 node 5 node 6 0 0 0 0 1 0 0 0 0 2 1 0 0 3 0 2 0 0 4 0 3 0 0 5 0 4 0 6 0 4 1 7 0 4 1 1 8 0 4 1 2 9 0 4 1 3 table 1: routing tables for nodes 2, 0, 5 & 6 of a ten node scatternet in order to send a message from node 2 to node 8 (figure 3), the following steps are taken. node 2 looks up node 8 in its routing table (table 1). since node 2 has only one link, the index will be 0, and the message will be sent through that link to node 0. node 0 then looks up its routing table, finding the index 4, and sends the message through that link to node 5. node 5 looks up the routing table again and sends the message through link 1 to node 6. node 6 then looks up node 8, finding the index 2 and sends the message to it through that link. in summary, for a slave node of piconet one (on the left) (figure 3) to communicate to a slave node of piconet two (on the right) all communications traffic is first routed through the master node for piconet one and forwarded on to the bridge between the two networks. this is then picked up the the master node of piconet two and again forwarded on to the correct end point. for a node such as the master node of piconet one to communicate with the master node of piconet two, data need only be forwarded directly through the bridging node. 3 using the library using the library to write message passing programs is nearly identical to the original library. the operations that were supported in the original version of the library are still supported. 3.1 creating an mmpi node to create an mmpi node, the developer first calls the initialize(...) method of the mmpi class. a handle to the midlet which is using the mmpi library needs to be passed, as does a boolean value 56 brendan j. donegan, daniel c. doolan, sabin tabirca figure 3: structure of a ten node scatternet topology indicating whether the node is the root node. the developer needs to determine how this value will be set themselves, and it should be ensured that all non-root nodes are set up before the root node. this is because calling initialize(...) activates the bluetooth device and registers the mmpi service, allowing the node to be discovered. the root nodes reaction to the initialize(...) call will be to create the network. the non-root nodes reaction will be to wait until this event has occurred and completed. when network formation is complete, the program can continue execution. 3.2 message passing operations after calling initialize the communications world has been created thus giving the developer the ability to work with both point to point and global communication methods (listing 1). unlike many methods of the original mmpi library (and the mpi libraries), several of the new communications methods return the actual data received as an object. this is quite different to the other libraries that would pass a reference into the method for population with the received data. int broadcast(object buffer, int count, int datatype, int root, int tag) int scatter(object sendbuf, int sendcnt, int sendtype, int rcvcnt, int rcvtype, int root) int send(object buffer, int count, int datatype,int dest, int tag) object receive(int count, int datatype, int source, int tag) object gather(object sendbuf, int sendcnt, int sendtype, int recvcnt, int recvtype, int root ←↩ ) object reduce(object sendbuf, int count, int datatype, int op, int root) listing 1: mmpi communication method prototypes 4 evaluation to fully test the library one needs a significant number of mobile devices (far in excess of eight). such resources were unavailable at the time of implementation, but the system was developed and tested using the j2me emulators of the sun wireless toolkit. the system performed very well on the emulator, and several applications were developed for test purposes, including such classical applications as the mandelbrot set. using the mandelbrot set as an example it takes on average 139,360ms to generate an image of 2002 pixels at 500 iterations on a single device using the wtk emulator. this is significantly slower that a real world phone such as the nokia 6630, capable of generating the same image in 52,344ms. when mobile message passing using a scatternet framework 57 multiple instances of the emulator are running and carrying out a complex processing task they do not appear to achieve total parallelism as one would expect. many of the emulated devices however do give processing times as expected on the order of 13 to 14 seconds, when the application is executed with a set of ten phones. 4.1 other applications although we have developed the framework mainly to alleviate the node restriction on the existing version of mmpi, it is not limited to this use only. mmpi itself has been used as a communications library for bluetooth gaming [7] and this framework could be used to increase the number of players that may participate in the game. 5 conclusion this paper has outlined a library for creating scatternet based applications, which is capable of parallel computing on adhoc bluetooth networks of more than eight devices, using the scatternet framework. the structure and operation of the library has been outlined. it was found that there is a performance overhead associated with message routing and parsing. the framework can be used for a myriad of applications, such as multiplayer gaming or chat applications, quite easily. the most important aspect of the framework is that it can be deployed to any mobile device with midp 2.0 and bluetooth functionality, therefore it is capable of running on a significant number of todays mobile devices. 6 acknowledgment development of the mmpi library was funded under the “irish research council for science, engineering and technology” funded by the “national development plan”. bibliography [1] arm. arm cortex-a8, 2005. http://www.arm.com/products/cpus/arm_ cortex-a8.html. [2] arm. arm introduces industry’s fastest processor for low-power mobile and consumer applications, oct 2005. http://www.arm.com/news/10548.html. [3] bluetooth-sig. bluetooth specification version 1.1. [4] bluetooth.com. the official bluetooth website. http://www.bluetooth.com/. [5] bluetooth.org. the official bluetooth membership site. http://www.bluetooth.org/. [6] d. c. doolan, s. tabirca, and l. t. yang., mobile parallel computing, in 5th international symposium on parallel and distributed computing (ispdc06), pp 161–167, timisoara, romania, july 2006. [7] k. duggan, d. c. doolan, s. tabirca, and l. t. yang. single to multiplayer bluetooth gaming framework. in 6th international symposium on parallel and distributed computing (ispdc07), hagenberg, austria, july 2007. [8] itfacts. 1.019 billion mobile phones shipped in 2006. http://www.itfacts.biz/index. php?id=p8049. 58 brendan j. donegan, daniel c. doolan, sabin tabirca [9] d. jayanna, g. zaruba, a dynamic and distributed scatternet formation protocol for real-life bluetooth scatternets in proceedings of the 38th annual hawaii international conference on system sciences (hicss05), 2005. [10] g. miklos, a. racz, z. turanyi, a. valko, and p. johansson. performance aspects of bluetooth scatternet formation. in mobile and ad hoc networking and computing, 2000. mobihoc. 2000 first annual workshop on, pages 147–148, 11 aug. 2000. [11] mpi. the message passing interface (mpi) standard. http://www-unix.mcs.anl.gov/ mpi/. [12] mpich. mpich free implementation of mpi. http://www-unix.mcs.anl.gov/mpi/ mpich/. [13] r. shepherd, j. story, s. mansoor, parallel computation in mobile systems using bluetooth scatternets and java in proceedings of the international conference on parallel and distributed computing and networks, 2004. [14] symbian freak. nokia 6680 is loosing the battle to 6630. http://www.symbian-freak. com/news/0305/6680.htm. [15] g. zaruba, s. basagni, i. chlamtac, bluetrees scatternet formation to enable bluetooth based adhoc networks in ieee international conference communications (icc2001), pp 273–277, 2001. brendan j. donegan, daniel c. doolan, sabin tabirca university college cork department of computer science college road, cork, ireland e-mail: d.doolan@cs.ucc.ie, tabirca@cs.ucc.ie received: october 18, 2007 mobile message passing using a scatternet framework 59 brendan j. donegan, was a postgraduate student in the computer science department of university college cork between 2005-2006, studying mobile networking and computing. he is now working as graduate software engineer for symbian software limited in london. this work is the result of the msc project titled “mobile parallel computing” he undertook in the mobile multimedia group. daniel c. doolan, is currently in the final stages of completing a phd in the area of mobile computing. he holds a bsc in computer applications, an msc in multimedia technology, and over half a dozen other degrees at certificate and diploma level in the areas of business and computing. he has authored approximately 40 publications, including 6 book chapters, covering topics such as mobile computing, computer graphics and parallel processing. sabin tabirca is a lecturer in department of computer science of national university of ireland, cork. his main research interest is on mobile and parallel computing for scientific problems. he has published more than 100 articles in the areas of mobile multimedia, parallel computation, number theory and combinatorial optimization. international journal of computers, communications & control vol. i (2006), no. 3, pp. 25-32 pathogen variability. a genomic signal approach paul dan cristea abstract: the conversion of genomic symbolic sequences into digital signals has been applied for the analysis pathogen variability. results are given on the variability of human immunodeficiency virus, type 1, subtype f, isolated in romania, and of the type a avian influenza virus h5n1, for which sequences have been downloaded from genbank [1]. nucleotide sequence analysis is corroborated with techniques based on the genomic signal approach to detect pathogen resistance to antiretroviral treatment. in the case of protease (pr) inhibitors, it is found that the treatment induces single nucleotide polimorphisms (snps) in specific sites. for moderate resistance, the changes affect the pr enzyme only at the level of the protein, whereas for multiple drug resistance, the rna gene secondary structure also changes. keywords: genomic signals, pathogen variability, hiv, influenza, orthomyxoviridae, drug resistance 1 introduction as shown in a series of previous papers [2-4], the conversion of nucleotide and amino acid sequences into digital signals offers the possibility to apply signal processing methods for the analysis of genomic data. the genomic signal conversion used in our work is a one-to-one mapping of symbolic genomic sequences into complex signals, as described in [2]. the idea is to conserve all the information in the initial symbolic sequence, while bringing in foreground some features significant for the subsequent processing and analysis. this direct method has proven its potential in revealing large scale features of dna sequences, maintained at the scale of whole genomes or chromosomes, including both coding and non-coding regions. one of the most conspicuous results is that the unwrapped phase of dna complex genomic signals varies almost linearly along all investigated chromosomes, for both prokaryotes and eukaryotes. the slope is specific for various taxa and chromosomes. this regularity of the genomic signals reveals a corresponding large scale regularity in the distribution of pairs of successive nucleotides, which is similar to chargaff’s first order rules for the frequencies of occurrence of the nucleotides [5]. we applied the same genomic signal approach for studying the variability of several pathogens, including the human immunodeficiency virus, type 1 (hiv-1), subtype f, isolated from romanian patients at the national institute of infectious diseases “prof. dr. matei bals”, bucharest [3], and the avian influenza virus type a, based on genomic sequences downloaded from genbank [1].we have used mainly the phase analysis of the complex genomic signals attached to the nucleotide sequences describing viral genes, as well as the analysis of the corresponding secondary rna structure and of the phylogenetic neighbor-joining trees for some of these genes. the focus of the study is primarily on the enzyme changes involved in generating pathogen resistance to multiple drug treatment. a novel methodology for describing sets of related genomic signals, based on a common reference and on individual differences has been developed. variability signals with respect to average, median and maximum flat references, and digital derivatives of genomic signals are applied to this purpose. applying this method, it has been found that the mutations in the genes of the analyzed viruses occur only in some specific, well defined locations, while the largest part of their genome remains unchanged. the mutations conferring drug resistance are a subset of all mutations occurring in the studied viruses. on the other hand, for the case of hiv protease, it has been shown that the changes in response to the antiretroviral drug treatment occur not only at the level of the final enzyme product, preventing the action copyright c© 2006 by ccc publications selected from icccc 2006 (invited paper) 26 paul dan cristea of the drug on the active protease catalytic site, but also at the level of protease gene rna secondary structure. these type of changes have been found only for multiple drug resistant viruses. 2 symbolic sequence conversion for convenience we repeat here the mapping used in our work for the representation of the nucleotides [2] a = 1 + j, c = −1− j, g = −1 + j,t = 1− j (1) apart of the mapping of the four nucleotides (a, c, g,t), the complete genomic signal representation of nucleotide sequences also comprises the mapping of all the other iupac symbols for nucleotide classes: s = {c, g} strongly bonded, w = {a,t} weakly bonded, r = {a, g} purines, y = {c,t} pyrimidines, m = {a, c} amine, k = {g,t} ketone, b = {c, g,t} = ¬a, d = {a, g,t} = ¬c, h = {a, c,t} = ¬g, v = {a, c, g} = ¬t, and n = {a, c, g,t} [2]. these symbols occur in the nucleotide sequences generated by genotyping because of the multiplicities determined either by the variability within the virus population or by noise. but this is not the case of the consensus sequences downloaded from genbank [1], which are curated to contain only the (a, c, g,t) nucleotide symbols. the mapping in equation (1) has the advantage of conserving all the information in the initial symbolic sequence, as it uses a bijective mapping, while being as little biased as possible. 3 representation by reference and variation to study the variability of the genomic signals in a given set, for example, the signals for multiple resistant viruses, it is convenient to use a description comprising two types of components: (1) the reference a certain signal considered to best describe the common variation of all components in the considered cluster; (2) the difference of each signal in the cluster with respect to the common reference. in such an approach, it is important to introduce in the common reference as much as possible of the variation shared by all the signals, and keep for the individual differences of each signal only the variations belonging actually to the that signal, without external variation. the reference can be chosen as one of the following possibilities: • average (mean) of the signals, or another linear combination of the signals; • median the signal in the central position, or the average of the pair of signals placed centrally; • maximum flat signal a modified median that keeps better local variations on the signals where they occur avoiding spurious transfers on other signals. when the reference equals the average, the dispersion of the cluster of signals is minimum, i.e., the sum of the squares of the individual differences between each signal and the reference is minimized. but the average, as any other linear combination, has the important disadvantage that a localized variation of only one of the signals is transmitted to the reference, so that all the other signals will have an apparent variation of opposite sign in that point. the median reference performs better, being a nonlinear function of the signals in the cluster, so that it decouples the common reference from the local variations of each of the individual signals. the median reference minimizes the sum of the absolute values of the differences between each signal and the reference. a variation localized on only one of the signals is no longer transmitted to the reference, so that it does not affect the variation with respect to the reference of the other signals. the exception occurs when the signal on which the localized variation occurs is just the median. the maximum flat (maxflat) reference is equal to the median wherever the median has no variations which are not shared by other signals. elsewhere, the maxflat reference assumes the minimal variation pathogen variability. a genomic signal approach 27 that corresponds to its trend, if possible remaining constant. consequently, the variation signals show better the changes that occur in each individual signal, with less "crosstalk". the digital derivatives of the variation signals show only the actual changes, caused by the variability in each of the signals and, for genomic signals, correspond directly to the snps. 4 hiv-1 subtype f variability a phase analysis has been performed on a segment of about 1302 base pairs, approximately aligning with the standard sequence of hiv-1 (nc001802) in genbank [1] over the interval 1799..2430 bp. this segment, which is currently used for the standard identification and assessment of hiv-1 strains, comprises the protease (pr) gene and almost two thirds of the reverse transcriptase (rt) gene. the pr and rt segments are contiguous and have been analyzed both together, as one entity, and independently, as two distinct encoding regions. the pr gene has the length 297 bp and is located in the first interval (1..297 bp) of the sequenced dna segment, respectively along the 1799..2095 bp region of the nc001802 sequence. the rt encoding segment that has been analyzed has a length of 1005 bp and is located in the second interval (298..1302 bp) of the analyzed dna segment, respectively along the 2096..3100 bp region of the nc001802 sequence. the entire rt gene has 1680 bp located in the interval 2096..3775 of the sequence. figures 1 and 2 show the cumulated and unwrapped phase of genomic signals for the protease (pr) genes from nine instances of hiv type 1, f clade [1, 6]. three cases come from treatment naïve patients (s sensitive), three from patients that developed resistance to one of the drugs (r), and three with multiple resistance to ther antiretroviral treatment (m). the cumulated phase is proportional to the unbalance in the number of nucleotides (statistics of first order) along the nucleic acid strand given by: 3(ng − nc) + (na − nt ), up to a π/4 factor, whereas the unwrapped phase is proportional to the difference between the number of direct and inverse nucleotide transitions (statistics of second order) along the nucleic acid strand (n+ − n−), with a π/2 factor [2]. figures 3 and 4 give the same informtion for the segment comprising 1005 bp of reverse transcriptase (rt) genes, out of the total of 1680 bp in this gene, for the same isolates in figs. 1 and 2. as expected, the cumulated phase varies less than the unwrapped phase for these instances, as all mutations are of the snp type and affect more the nucleotide pair distribution than the nucleotide distribution itself. even for the unwrapped phase, the variation of the signal along the strand is quite similar for most of the sequences, but the local changes cumulate along the strands. because of the mutations are local, the general shape of the phase signals are similar. it is also to be noticed that all the genomic material in these sequences is encoding and uses the same reading frame. the vertical strips in these figures mark the positions of the mutations (snps) that induce resistance to protease inhibitors (indinavir, ritonavir, saquinavir, nelfinavir, and amprenavir) [1]. the mutations that lead to multiple drug resistance are concentrated in several sites. in most of the remaining genome, the viruses have the same longitudinal structure. the sequences display mutations in several other locations. the effect of the mutations can easier be seen on the unwrapped phase, which is more sensitive to snps. the successive mutations of the snp type do not induce the divergence that could be expected, so that the signals do not actually diverge from one another. on the contrary, the signals tend to cluster, as the variations tend to compensate each other, so that the overall span of the signals does not increase directly with the number of mutations and the number of signals. this is another proof of the fact that, from the structural point of view, a genomic sequence satisfies more restrictions than a "plain text", which must just correspond to a certain semantics and to certain grammar rules, and resembles more to a “poem”, which additionally obeys rules of symmetry, giving its “rhythm” and “rhyme”. the recurrence of such patterned structures is reflected in simple mathematical rules satisfied by the corresponding genomic signals. 28 paul dan cristea the representation can be improved by using the reference-difference description, choosing the maximum flat (maxflat) reference, as shown in fig. 5 for the unwrapped phase in fig. 4. in this case, the largest possible part of the common behavior of the signals is introduced in the reference signal, whereas each individual variation signal maintains only the changes occurring in that particular signal, or to the class it belongs to. the reference signal is no longer necessarily equal in each interval with one of the signals, even when the number of signals is odd. the digital derivatives of the difference signals, shown in fig. 6 show only the actual changes caused by the variability in each of the signals. in the case of hiv, these changes correspond directly to the snps. for multiple resistant strains, the pulses correspond to the sites known from literature to confer resistance to various drugs. figure 1: cumulated phase expressed by 3(ng − nc) + (na − nt ) [2] for the protease (pr) gene of nine isolates of hiv-1, subtype f, showing sensitivity (s), resistance (r) and multiple resistance (m) to drugs. figure 2: unwrapped phase expressed by n+ − n− [2] for the protease gene of the isolates of hiv-1 in fig. 1. hiv-1 makes many of its proteins in one long chain, and protease (pr) has the essential role of cutting this ’polyprotein’ into the proper pieces, with the proper timing. consequently, pr has been chosen as an important target for the current drug anti-hiv therapy. pr is a small enzyme, comprising two identical peptide chains, each of 99 amino acids long, which are encoded by the same gene of 297 nucleotides. the two chains form a tunnel that holds the polyprotein, which is cut at an active site located in the center of the tunnel. drugs bind to pr, blocking its action. studying the estimated secondary structure pathogen variability. a genomic signal approach 29 figure 3: cumulated phase of rt genomic signals for the isolates shown in figs. 1 and 2. figure 4: unwrapped phase for the rt gene in the isolates shown in figs. 1 and 2. of the pr rna for the nine virions previously analyzed, it can be shown [3] that the structures are quite similar for drug sensitive and drug simple resistant viruses. this result is consistent with the generally accepted model stating that the genomic changes of hiv, which induce resistance to drugs, operates at the level of the protein (the final protease enzime), preventing the blocking of its catalytic site. on the other hand, it is found the remarkable fact that, for drug multiple resistant strains, there is a significant change in the rna secondary structure. large loops and bulges are replaced with similar, but smaller, less vulnerable, closed-loop structures. these results indicate that there is a certain action of the drug at the level of the protease rna, effect that becomes evident when mutations conferring multiple drug resistance occur. 30 paul dan cristea figure 5: the unwrapped phase in fig. 4 shown with respect to the maxflat reference. figure 6: digital derivatives of the variation signals in fig. 5. pathogen variability. a genomic signal approach 31 5 variability of hemagglutinin gene of influenza h5n1 virus the influenza virus envelope embeds two specific antigenic glycoproteins that project out of the virion surface, the hemagglutinin (ha) and the neuraminidase (na). many different combinations of ha and na proteins are possible, but only the h1n1 (spanish endemic), h1n2 (asian epidemic), and h3n2 (hong kong epidemic) subtypes have circulated worldwide among humans. ha protein selectively binds to the sialic acid of the host cell surface receptors, thus recognizing the cells that the virus can invade [4, 6]. figure 7 gives the cumulated phase of the ha gene for h5n1 viruses isolated from two humans (af046080, af046097) and one chicken (af046088), in hong kong, in 1997 [6, 7]. the genes for viruses isolated close in time are similar, even when crossing the inter-species barrier, whereas a large variation can be seen for genes isolated at larger time intervals. only several snps are found in fig. 8 which gives the difference cumulated phases with respect to the maxflat reference. the same result has been obtained for all the genes in the eight segments of the h5n1 virus [4, 6]. figure 7: cumulated phase of the ha gene, h5n1 virus (accessions af046080, 88, 97 [1, 6]). figure 8: differences of ha gene cumulated phases in fig.7 with respect to the maxflat reference. 6 further work further work will be focused on: 32 paul dan cristea • the dynamics of influenza type a viruses that have crossed till now the species barrier from birds to humans, and which hold the potential to become highly contagious and highly lethal in humans, including the h5n1 subtype, • extending the study from the nucleotide to the amino acid level, which could be more significant from the phenotypic point of view, • using genomic signals for helping clustering viruses in classes. acknowledgments the sequences of hiv presented in this paper have been genotyped by dr. dan otelea from the national institute of infectious diseases “prof. dr. matei bals”, bucharest, romania. results referring to the study of hiv variability have been previously jointly published [3]. references [1] national center for biotechnology information, national institutes of health, national library of medicine, national center for biotechnology information, genbank, http://www.ncbi.nlm.nih.gov/genoms [2] p. d. cristea, "representation and analysis of dna sequences", in genomic signal processing and statistics, editors e.g. dougherty, i. shmulevici, jie chen, z. j. wang, book series on signal processing and communications, hidawi, 2005, pp.15-65. [3] p. d. cristea, d. otelea, rodica tuduce, "study of hiv variability based on genomic signal analysis of protease and reverse transcriptase genes", embc’05, sept. 2005, shanghai, china. [4] p. d. cristea, "genomic signal analysis of pathogen variability", spie, bo24, paper 5699-52, san jose, jan, 2005, 12 pg. [5] e. chargaff, "structure and function of nucleic acids as cell constituents", fed. proc., 10, pp. 654659, 1951. [6] d.l. suarez,.et.al., comparisons of highly virulent h5n1 influenza a viruses isolated from humans and chickens from hong kong, j. virology, vol. 72 (8), pp. 6678-6688, 1998. (af046080-99). [7] e. ghedin, n. sengamalay, m. shumway et. al., "large-scale sequencing of human influenza reveals the dynamic nature of viral genome evolution", nature, vol. 437, oct. 2005, pp.1162-1166. [8] m.s. hirsch et al., "antiretroviral drug resistance testing in adult hiv-1 infection", in proc. recommendations of an international aids society usa panel, jama, vol. 283, no. 18, may 10, 2000, pp.2417-2426. paul dan cristea university politehnica of bucharest biomedical engineering center address: spl. independentei 313, sect. 6 060042 bucharest, romania e-mail: pcristea@dsp.pub.ro int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 216-223 synthetic genes for artificial ants. diversity in ant colony optimization algorithms s.c. negulescu, i. dzitac, a.e. lascu sorin c. negulescu "lucian blaga" university of sibiu, "hermann oberth" faculty of engineering 10, victoriei bd, 550024 sibiu, romania email: sorin.negulescu@ulbsibiu.ro ioan dzitac "aurel vlaicu" university of arad, faculty of exact sciences, department of mathematics-informatics, str. elena dragoi, nr. 2, complex universitar m, arad, romania and r&d agora ltd. oradea [cercetare dezvoltare agora] 8, piata tineretului, 410526 oradea, romania e-mail ioan.dzitac@uav.ro alina e. lascu "lucian blaga" university of sibiu, "hermann oberth" faculty of engineering 10, victoriei bd, 550024 sibiu, romania e-mail alina.lascu@ulbsibiu.ro abstract: inspired from the fact that the real world ants from within a colony are not clones (although they may look alike, they are different from one another), in this paper, the authors are presenting an adapted ant colony optimisation (aco) algorithm that incorporates methods and ideas from genetic algorithms (ga). following the first (introductory) section of the paper is presented the history and the state of the art, beginning with the stigmergy and genetic concepts and ending with the latest aco algorithm variants as multiagent systems (mas). the rationale and the approach sections are aiming at presenting the problems with current stigmergy-based algorithms and at proposing a (possible yet to be fully verified) solution to some of the problems ("synthetic genes" for artificial ants). a model used for validating the proposed solution is presented in the next section together with some preliminary simulation results. some of the conclusions regarding the main subject of the paper (synthetic genes: agents within the mas with different behaviours) that are closing the paper are: a) the convergence speed of the aco algorithms can be improved using this approach; b) these "synthetic genes" can be easily implemented (as local variables or properties of the agents); c) the mas is self-adapting to the specific problem that needs to be optimized. keywords: ant colony optimization, genetic algorithms, multiagent systems, stigmergy. 1 introduction there are about ten thousand species of ants living on earth, grouped in colonies, all of them having or one or (at most) two queens and sterile female workers (all the other ants). as the research conducted by biologists showed [5], there is no central control or no management whatsoever inside a colony, but the behaviour of the colony changes (as it gets older and larger). it was also determined that there are four types of ants [5]: harvester ants, foraging ants (out on a foraging trail searching for food or bringing food back), patrolling (out early in the morning before the foragers are active, somehow choosing the directions that the forager ants will go, and just by coming back to the nest they indicate to the foragers that is safe to go out), maintenance (work inside the nest with moist soil for building the walls), midden work (put some kind of territorial chemical in the garbage they create). another interesting fact is that 50% of the ants are doing nothing, acting as a reserve for exceptionally situations. one class of multi-agent systems (mas) are copying some of the characteristics of the foraging ants within the colonies (depending on how much these characteristics are helpful in solving a particular type of problem) such as [10]: copyright c⃝ 2006-2010 by ccc publications synthetic genes for artificial ants. diversity in ant colony optimization algorithms 217 • being a distributed society of autonomous individuals/agents; • having fully distributed control among the agents; • having localized communications among the individual; • taking stochastic decisions; • having system-level behaviours that are transcending the behavioural repertoire of the single (minimalist) agent; • following simple interaction rules. as a result, the overall very important features of these systems are: robustness, adaptability and scalability. the rest of this paper is arranged as follows: the history section presents the stigmergy and genetic concepts and variants of aco algorithms as mas. the rationale and the approach sections are aiming at presenting the problems with current stigmergy-based algorithms and at proposing a (possible yet to be fully verified) solution to some of the problems ("synthetic genes" for artificial ants). a model used for validating the proposed solution is presented in the next section together with some preliminary simulation results. some of the conclusions regarding the main subject of the paper presented in the last section are: a) the convergence speed of the aco algorithms can be improved using this approach; b) these "synthetic genes" can be easily implemented (as local variables or properties of the agents); c) the mas is self-adapting to the specific problem that needs to be optimized. 2 history and related work swarm intelligence systems (inspired from biological systems as ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling) are in fact simple agents that are interrelated, being able to communicate one with another and to interact with their environment. they follow simple rules and there is no centralized control [9]. in swarm intelligence systems the focus is not on modelling, inspired from biologic (sub-symbolic) paradigms, but merely on simulating biologic behaviour [8]. the ant colony optimization algorithm is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs [17]. this technique was initially proposed by marco dorigo in 1992 in his phd thesis [6] [7] and it was aiming at searching an optimal path in a graph (i.e. the travelling salesperson problem tsp) based on the behaviour of ants seeking a path between their colony and a source of food [4]. the algorithm was further developed and, as a result, some common extensions appeared such as the elitist ant system (eas) where the ant that found a better solution could deposit an extra amount of pheromone; the max-min ant system (mmas)[16] where the pheromone intensity was bounded to certain minimum and maximum values (tmax, tmin), and where only the ant that found a better solution could deposit pheromone. the mmas was the first algorithm that was constantly checking its convergence to solution; all the edges in the graph were initialized to tmax and reinitialized to tmax when the algorithm was near stagnation [17]. another version of the aco is the rank-based ant system (asrank) where all solutions are ranked according to their fitness. the amount of pheromone deposited is then weighted for each solution, such that the solutions with better fitness deposit more pheromone than the solutions with worse fitness [17]. besides these common variants of the algorithm [12], the authors proposed some different approaches such as: • human-driven stigmergic control [3] aimed at exploring the relationship between stigmergy and synergy, based on the threshold principle, specifically, focusing on affordability and keeping a definite engineering perspective, the purpose was to save computer resources in applying stigmergic control to industrial problems by exploring the relationship between the number of digital ants and problem complexity. the long-range target was to follow the analogy to superconductivity: moving the threshold in order to improve performance and/or save computing resources. the research proved that the threshold exists and it depends on problem type and complexity; the same solution quality can be obtained with fewer ants. • user-driven heuristics [1] [12] the approach emphasised the significance of the environment in the agent system and the attention that must be paid to the dynamics that emerges from the indirect interactions of the agents. finding out the form and parameters that influence the system behaviour is non-trivial for humans and the research investigated the methods that would enable user-driven solutions in dealing with system tuning. the proposed methods were based on two essential functional requirements: a) at the macro level, the need to monitor and represent in an intuitive way the system behaviour and b) at the micro level, the need to control and track the system state space. the approach proved to be workable on usual configurations and effective in dealing with combinatorial explosion. 218 s.c. negulescu, i. dzitac, a.e. lascu • (sub-)symbolic inferences in multi-agent systems [2] the research aimed at showing that new logics, already useful in modern software engineering, become necessary mainly for mas, despite obvious adversities. the features asked for by the paradigm of computing as intelligent interaction, based on "nuances of nuancedreasoning", that should be reflected by agent logics were outlined. by injecting symbolic reasoning in systems based on sub-symbolic "emergent synthesis" the authors presented the way in which how quantifiable synergy can be reached even in advanced challenging domains, such as stigmergic coordination. the original idea has diversified to solve a wider class of numerical problems, and as a result, several problems have emerged, drawing on various aspects of the behaviour of ants such as solving combinatorial optimization, classification and image processing problems [15]. the authors successfully applied the aco algorithms to solve difficult problems such as: vehicle route allocation (with multiple constraints) [13] [14] and optimal capacitor banks placement in power distribution networks [15] where the criterion of the mathematical optimization model was a nonlinear function based on costs and the model imposed equality constraints described by the network operating equations and inequality constraints required to maintain within admissible limits the parameters characterizing the system state. 3 rationale and approach the motive for proposing synthetic genes for artificial ants and promoting the diversity in ant colony optimization algorithms is that the convergence speed of current variations of aco algorithms is strongly dependent of the problem type and size. the real world ants from within a colony are not clones as current aco algorithms are modelling them; although they may look alike, they are different from one another. the vast majority of aco algorithms have general variables that are determining the overall system behaviour such as: • pheromone evaporation speed when updating the pheromones intensities in the graph (ρ ); • pheromone quantity deposited on graph (q); • pheromone influence is on edge selection (α ); • distance influence on edge selection (β ); • the multiplication value for the pheromone intensity of the elitist ant (ε ) only for eas. when a certain problem must be solved, the values of the above presented parameters are set and after a few runs they are adjusted in order to improve the overall convergence speed or solution quality. when dealing with dynamic optimisation problems the above mentioned approach accentuates once more its weak points, as it is almost impossible to determine good parameter values. a possible manner to combat these limitations is to adopt some ideas from the ga field. although hybrid approaches between mas (such as aco or eas) and ga are not new, the technique proposed herein is innovative because: • it does not absolutely require to implement all the ga concepts (like selection, crossover and mutation); • the fitness function may or may not exist (depending on problem type); • the generations from ga can be associated to the iteration number from mas; • the global parameters belonging to the algorithm are converted to local parameters belonging to ants. as depicted in figure 1b, each virtual ant within the colony has its own governing parameters in the same manner that real ants exhibit different behaviour. more details about the way in which such a system should work are presented in the next section. 4 the model since the model proposed herein imposes that each virtual ant within the colony must have its own parameters that are determining its behaviour, it is important for the user to have the ability to specify some general limits in which these parameters may vary. in this regard, some other general parameters must be defined as follows: • minimum and maximum values for the exploitation of the good old found paths αmin, αmax; • minimum and maximum values for the exploration of the other paths within the graph βmin, βmax; • minimum and maximum values for the multiplication value for the pheromone intensity of the (elitist) ants that found a better solution εmax, εmax; synthetic genes for artificial ants. diversity in ant colony optimization algorithms 219 (a) (b) figure 1: exemplification of a) global parameters versus b) local parameters for the ant system depending on the problem to be solved some other global parameters can be defined to enforce the limits for the local parameters (e.g. for the vehicle route allocation problem [13] a local history parameter was used and hmin, hmax as global parameters). after finding a better solution, different actions can be taken by the algorithm to auto-tune the ant local parameters: • the parameters will be adjusted for some, all or none of the ants; • parameters can be adjusted using different types of equations e.g. form simple average, weighted average (depending on solution quality), or other linear functions to polynomial or exponential functions. the initialization of the ant parameters can be easily done in a random manner as shown in figure 2, but some other initialization methods can be applied as well (e.g. gaussian centred to the average value: min+(max-min)/2 ). although the research on the proposed model is in progress the results so far are promising. the algorithm is self-tuning to the problem type and size. some other methods must be checked such as starting with a big number of ants and reducing it to a minimum in time, with a twofold advantage: • having a large genetic pool at the beginning will assure that the algorithm can adapt to very diverse problems; • reducing the number of ants will increase the computation speed; this number can be drastically reduced as presented in [3]. 220 s.c. negulescu, i. dzitac, a.e. lascu synthetic genes for artificial ants. diversity in ant colony optimization algorithms 221 figure 2: the proposed pseudocode for the "synthetic genes" enhanced eas. 222 s.c. negulescu, i. dzitac, a.e. lascu 5 conclusions and future work since this paper presents an ongoing research, the conclusions will be presented tanking in consideration two time ranges: a) short (current relevant results) and b) medium-long (directions of future work). a1. the proposed aco algorithms have the ability to self-adapt to different optimisation problem types and sizes. a2. the convergence speed of the aco algorithms can be improved using this approach. a3. the "synthetic genes" can be easily implemented (as local variables or properties of the agents); only some other global variables that will impose the limits of variation must be defined. a4. different types of initialisation of the genes values can be used (e.g. random). ideas for this particular subject can be used from the ga field. a5. the genes values can be automatically adjusted for some, all or none of the ants. moreover, this can be achieved using different types of equations e.g. form simple average, weighted average (depending on solution quality), or other linear functions to polynomial or exponential functions. b1. some other methods of initialization/algorithm evolution must be tested. as presented in the previous section, the algorithm can start with a big number of ants and reduce it to a minimum in time. b2. other concepts form ga can be implemented taking into account both the advantages (solution quality) and the disadvantages (computing time) like selection, crossover or mutation. b3. finding a solution to the stagnation problem that is intrinsic both to aco and ga approaches. another possible technique would be to reinitialize the local parameters while keeping the pheromones intensities on the graph intact. bibliography [1] bǎrbat b.e, moiceanu a., pleşca s., negulescu s.c., affordability and paradigms in agent-based systems, computer sc. j. of moldova, 15, 2(44):178-201, 2007. [2] bǎrbat b.e., negulescu s.c., from algorithms to (sub-)symbolic inferences in multi-agent systems. international journal of computers, communications and control, 1(3):5-12, 2006. [3] bǎrbat b.e., negulescu s.c., zamfirescu c.b., human-driven stigmergic control. moving the threshold. in n. simonov (ed.), proc. of the 17th imacs world congress (scientific computation, applied mathematics and simulation), paris, pp.86-92, 2005. [4] bonabeau e., dorigo m., theraulaz g., swarm intelligence: from natural to artificial systems, new york: oxford university press, 1999. [5] deborah gordon (2008), dig ants, retrived 11.2009, from ted. ideas worth spreading. web site: http://www.ted.com/talks/lang/eng/deborah_gordon_digs _ants.html. [6] dorigo m., maniezzo v., colorni a., the ant system: optimisation by a colony of cooperating agents, ieee transactions on systems, man, and cybernetics, part b, 26 (1):29-42, 1996. [7] dorigo, m., optimization, learning and natural algorithms, phd thesis. italy: politecnico di milano, 1992. [8] dzitac i., bǎrbat b.e., artificial intelligence + distributed systems = agents, international journal of computers, communications and control, 4(1):17-26, 2009. [9] dzitac i., moisil i., advanced ai techniques for web mining, proceedings of the 10th wseas international conference on mathematical methods, computational techniques and intelligent systems, corfu, pp.343-346, 2008. [10] gambardella l.m., di caro g. (2005), the ant colony optimization (aco) metaheuristic: a swarm intelligence framework for complex optimization tasks. retrived 2008, from university of bologna: first summer school on aspects of complexity. web site: http://www.cs.unibo.it/ fioretti/ac/ac2005/ docs/slides_dicaro.pdf. [11] negulescu s.c., bǎrbat b.e., enhancing the effectiveness of simple multi-agent systems through stigmergic coordination, in icsc-naiso (ed.), fourth international icsc symposium on engineering of intelligent systems (eis 2004), canada: icsc-naiso academic press, pp.149-156, 2004. synthetic genes for artificial ants. diversity in ant colony optimization algorithms 223 [12] negulescu s.c., zamfirescu c.b., bǎrbat b.e., user-driven heuristics for nondeterministic problems. studies in informatics and control (special issue dedicated to the 2nd romanian-hungarian joint symp. on applied computational intelligence), 15(3):289-296, 2006. [13] negulescu, s.c., kifor, c.v., oprean, c., ant colony solving multiple constraints problem: vehicle route allocation. international journal of computers, communications and control (ijccc), 3(4):366-373, 2008. [14] negulescu, s.c., oprean, c., kifor, c.v., carabulea, i., elitist ant system for route allocation problem. in mastorakis, n.e. et al (ed.), proceedings of the 8th conference on applied informatics and communications, greece: world scientific and engineering academy and society (wseas), pp.62-67, 2008. [15] secui, d.c., dzitac, s., bendea, g.v., dzitac, i., an aco algorithm for optimal capacitor banks placement in power distribution networks. studies in informatics and control, 18(4):305-314, 2009. [16] stützle t., hoos h.h., max-min ant system, future generation computer systems, 16 (8):889-914, 2000. [17] wikipedia, the free encyclopedia (2009), ant colony optimization. retrived 11.2009, from wikipedia. web site: http://en.wikipedia.org/wiki/ ant_colony_optimization. sorin c. negulescu has a m.sc. degree in quality mangement (2005) a m.sc. degree in computer science (2003), "lucian blaga" university, sibiu and a ph. d in industrial engineering. his research interests include multi-agent systems with applications in manufacturing systems using stigmergic coordination, factory automation and the holonic paradigm. ioan dzitac (b. february 14, 1953) received his m.sc. in mathematics (1977) and phd in information sciences (2002) from "babes-bolyai" university of cluj-napoca. now he is full professor of informatics at mathematics-informatics department, faculty of exact sciences, "aurel vlaicu" university of arad, romania and director of research & development agora ltd. of oradea, romania. his current research interests include different aspects of artificial intelligence and distributed systems. he has (co-)authored 18 books and more than 70 papers, more than 50 de conferences participation, member in international program committee of more than 40 conferences and workshops. alina e. lascu has a m.sc. degree in international relations and european studies (2008), is currently in the last year of her master studies in the domain of computer science and in the first year of the doctoral studies in the domain of computers and ict. as depicted from her educational background her research interests are very much trans-disciplinary: language technology, intelligent agents, agent orientation, computer-aided semiosis, cultural and interdisciplinary studies. international journal of computers, communications & control vol. i (2006), no. 1, pp. 9-15 visualising infinity on a mobile device daniel c. doolan, sabin tabirca abstract: this paper discusses how a java 2 micro edition (j2me) application may be developed to visualise a wide variety of differing fractal types on a mobile phone. a limited number of j2me applications are available that are capable of generating the mandelbrot set. at present there are no j2me applications capable of generating a multitude of fractal image types. keywords: j2me, mobile phone, fractals 1 introduction it has been shown that mobile devices are capable of generating high quality images of infinite detail [2]. the generated images have generally been limited to the mandelbrot set. since the late 19th century fractals have been a favourite topic for mathematicians. since the dawn of modern day microprocessor based computing the study of fractals has taken a radical leap, as it is within the computing domain that all the nuances of fractal type images can be visualised. benoit mandelbrot made a huge contribution in the late 1970’s with the discovery of the mandelbrot set (an index for all the possible julia sets). the dawn of the 21st century has seen a radical changed in what we consider a computer to be. it has seen the widespread uptake of mobile phones throughout the world. devices that started life in the latter years of the 20th century as a mobile communications medium have evolved and mutated into mobile computing devices of considerable processing power. no longer are mobile phones used for just telecommunications but for just about any type of application that a standard desktop machine is capable of. the 2d and 3d visualisation of fractal images is one interesting topic that is coming into the realm of reality within the mobile computing domain. current high end phones have processing speeds in the region of 100 to 200mhz [7] [1], typically running arm9 type processors. the next evolution in processing power will see such devices fitted with the arm11 processor cores with speeds as high as 500mhz. mobile devices clearly have a huge processing potential especially if the combined processing power of the many millions of phones around the world were put to task on a singular problem. examples of such computation are already in existence for example “distributed fractal generation across a piconet” [3] demonstrates that the combined processing power of several mobile devices may be used to distribute the processing load between several devices that are connected together over a bluetooth network. 1.1 mobile phone market penetration the uptake of mobile devices around the world is staggering. in september 2004 the market penetration stood at 89% in ireland [10], by march 2005 it stood at 94% [11]. this is a huge increase when in 2001 penetration stood at only 67% [8]. ireland achieved 100% penetration in september 2005, showing an increase of over 11% in a twelve month period. this allows ireland to join spain, finland the netherlands and austria in having a 100% penetration rage. luxembourg is currently on top with a rate of 156% [12]. it is expected that western europe will exceed 100% usage by 2007 [15]. the year 2015 should see half the world’s population (four billion people) using mobile phones as a communications medium [9]. 1.2 primary aims the primary purpose of this paper is the development of an application capable of running on a single mobile device that has the ability to generate a variety of two dimensional fractal images. one of the chief aims is that the application should be easy to use. this would allow it to be used as a teaching tool. to achieve this each section of the application has a easy to use graphical user interface (gui) to allow the user to specify the parameters for the image generation process. once the user is happy with the image parameters they can then press a button to begin the image generation process. the resultant output will be a fractal image based on the input parameters. copyright c© 2006 by ccc publications 10 daniel c. doolan, sabin tabirca 2 mandelbrot & julia set generation the discovery of the julia set in 1918 by gaston julia described in his paper “mémoire sur l’itération des fonctions rationnelles” proved to be a most important work at the time. it became almost forgotten until benoit mandelbrot brought it back to the forefront with his discovery of the mandelbrot set. this ensued a new field of research that became known as fractal geometry. both the julia and mandelbrot set images can be generated by the repeated iteration of a simple function (see figure 2). the mandelbrot set is an index into the julia set, in other words every possible julia set can be represented within the mandelbrot set (see figure 1). figure 1: index of the julia set (the mandelbrot set) jc = { z0 ∈c| lim n→∞ zn 6= ∞ } where : z0 = c, zn+1 = f (zn), n ≥ 0 m = { c ∈c| lim n→∞ zn 6= ∞ } where : z0 = 0, zn+1 = f (zn), n ≥ 0 figure 2: julia & mandelbrot set definitions fractal images are usually obtained when the generating function f (z) is non linear. the mandelbrot set is obtained by iterating the function f (z) = z2 + c. when the generating function has the form of f (z) = zu + cv many other mandel-like sets may be produced. algorithms 1 and 2 show how both the julia and mandelbrot sets can be generated. algorithm 1 the julia set algorithm for each (x,y) in [xmin, xmax]×[ymin, ymax] construct z0 = x + j ×y; find the orbit of z0 [first niter elements] if(all the orbit points are under the threshold) draw (x,y) algorithm 2 the mandelbrot set algorithm for each (x,y) in [xmin, xmax]×[ymin, ymax] c = x + i×y; find the orbit of z0 while under the threshold r if(all the orbit points are not under the threshold) draw (x,y) 2.1 implementation a simple to use graphical user interface (gui) is provided within the application to allow the user to enter various parameters detailing the type of image to be generated (see figure 3). the parameters dealing with the fractal image itself include: the image size, number of iterations, radius, cpower, zpower, formula type and image inversion. the other options are for the rate of fractal zoom, and the accuracy of the crosshair (seen in the image output screen (canvas)). figure 3: mandelbrot settings gui and output image figure 4: julia set image & results output screen a thread is used for the generation of the fractal image to allow for user interaction with the image as it is being generated. the outputted image is redrawn at regular intervals so the user can see the progress of the image generation process. the fractal image itself is generated as an array of integers (listing 1). this array is then passed visualising infinity on a mobile device 11 to the creatergbimage(. . .) method of the image class to generate the image object that is ultimately displayed within the onscreen canvas. the canvas has a crosshair present to allow the user to navigate around the image and select an area to zoom on. the crosshair is controlled by the directional keys of the mobile device. the user may also view the corresponding julia set (figure 4) for any point that the crosshair is currently indicating, by selecting the “view julia set” option from the mandelbrot set canvas menu. for(int i=0;ir){ r = c[k%l][0]; g = c[k%l][1]; b = c[k%l][2]; color = b + (g<<8) + (r<<16) + alpha; pixels[(j*sizex) + i] = color; break; } } } listing 1: code listing of mandelbrot set function the application allows for a variety of mandel-like images to be generated of the form f (z) = zu + cv, f (z) = zu − cv and f (z) = zu + cv + z. the cpower and zpower parameters of the gui dictate the values of u and v. the inverted representation of each form may also be generated by selecting the appropriate option from the gui, producing images of the form f (z) = zu + inv(cv), f (z) = zu −inv(cv) and f (z) = zu + inv(cv) + z. 2.2 processing results the application was tested using a number of image sizes as well as a varying the number of iterations (see table 1). the 6680 was unable to generate an image of 600 pixels square. testing with a nokia 3220 it was unable to generate an image of 2002 pixels. however it was capable of generating images of 1002 and 1502 pixels, but with considerable processing times, 56,503ms and 298,365ms for 1002 at 50 and 500 iterations respectively. device iter 100×100 200×200 300×300 400×400 500×500 600×600 nokia 6630 50 3,000ms 9,812ms 19,484ms 33,812ms 53,359ms 76,859ms nokia 6680 50 3,141ms 12,516ms 21,859ms 36,234ms 60,859ms n/a nokia 6630 500 13,281ms 52,344ms 111,484ms 196,125ms 301,344ms 429,047ms nokia 6680 500 12,359ms 48,000ms 103,219ms 187,797ms 290,062ms n/a table 1: image generation times for the mandelbrot set (xmin,ymin -2.0, xmax,ymax 2.0). 3 prime number fractal generation mathematicians have been studying prime numbers for thousands of years, with it origins going all the way back to ancient greece and the period of euclid. prime numbers have remained a mystery throughout the intervening centuries. their is currently ongoing work to find a prime number with ten million digits or more [4]. the largest prime found to date was discovered 15th december 2005 by dr. curtis cooper and dr. steven boone, the 43rd mersenne prime 230,402,457 − 1 being 9, 152, 052 digits in length. the second largest was discovered by dr. martin nowak 18th february 2005, the 42nd mersenne prime, 225,964,951 −1 containing 7,816,230 digits. the next largest was discovered 15th may 2004 by josh findley (41st mersenne prime, 224,036,583 −1 containing 7,235,733 digits. these discoveries were part of the great internet mersenne prime search (gimps) project. it is likely that within the next year or so a ten million digit prime number will be found. figure 5: pnf examples with 5 & 20 million primes figure 6: prime number fractal user interface the visualisation of prime numbers is again of interest to many in the mathematical community. probably the most well know visualisation was discovered by stanislaw ulam (the ulam spiral) in 1963 while doodling during 12 daniel c. doolan, sabin tabirca a scientific meeting [14]. an alternate visualisation is the prime number fractal (figure 5) where the resultant image has a central area of brightness and typically resembles a gaseous nebula or some other cosmic object. it is generally recognised that adrian leatherland from monash university in australia constructed the first prime number fractal [6]. the application has a very simple user interface with only a few components (figure 6). the options are: the sieve size, image size, and initial coordinates for x and y. 3.1 theoretical background the most important and evident feature of a prime number fractal image is the central area of brightness. this results in the pixels within the vicinity of the central area are visited more often than pixels around the periphery of the image. the movements in the up, down, left, right directions occur randomly but each direction produces approximately the same number of moves (see table 3). hence the trajectory of moves is random, generally staying around the central area of brightness. theorem 1. the number of up, down, back, forward movements are asymptotically equal. proof. dirichlet’s theorem assures if a and b are relatively prime then there are an infinity of primes in the set a·k + b, k > 0. this means that the random walk has an infinity of up, down, left, right moves. if πa,b(x) denotes the number of primes of the form a ·k + b less than x then we know from a very recent result of weisstein [16] that limx→∞ πa,b(x) li(x) = 1 ϕ(a) where li(x) is the logarithmic integral function and ϕ(a) the euler totient function. the particular case a = 5 gives limx→∞ π5,k (x) li(x) = 1 ϕ(5) = 1 4 ,∀k ∈ 1, 2, 3, 4, which means that π5,1 ≈ π5,2 ≈ π5,3 ≈ π5,4(x) ≈ li(x)4 clearly the two dimensional prime number fractal algorithm has asymptotically the same number of up, down, left and right moves. even on desktop systems the process of generating primes can take a significant amount of time for example 21,157ms on a amd athlon xp2600 system (table 4). the generation of the primes examines all the numbers between 0 and n the input size. as the prime numbers become larger their distribution becomes far sparser (table 2). their should be at least one prime between n and 2(n). # primes sieve size 1 million 15,485,865 2 million 32,452,850 5 million 86,028,130 10 million 179,424,680 table 2: sieve size #primes 1 million 5 million 10 million 20 million left 249,934 1,249,832 2,499,755 4,999,690 right 205,015 1,250,079 2,500,284 5,000,241 up 250,110 1,250,195 2,500,209 5,000,270 down 249,940 1,249,893 2,499,751 4,999,798 table 3: distribution of moves for a two dimensional prime number fractal #primes 1 million 5 million 10 million athlon xp2600 1,781ms 9,752ms 21,157ms amd 500mhz system 4,084ms 23,946ms 51,552ms table 4: processing times to generate primes on desktop systems 3.2 the fractal algorithm the generation of the fractal image requires the iteration through a loop (algorithm 3) for all numbers from 1 to n. the first requirement of the algorithm is to determine if the number i is prime or not. the sieve of eratosthenes is an time efficient method for determining primality of a sequence of numbers. the time complexity is o(n · log log n), however the space requirement is o(n). the algorithm iterates through the sequence from 2 to n crossing off all numbers > 2 that are divisible by 2. it then moves on to the smallest remaining number, and removes all of its multiples. the process of moving on and removing multiples continues until all numbers up to √ n have been crossed off. in java one may use an array of boolean values to indicate if the number at index i of the array is prime. a boolean in j2se requires one byte for storage, however the bitset class may be used. this reduces the storage requirements to o( n8 ) bytes. as mobile devices have such a limited memory visualising infinity on a mobile device 13 this approach cannot be used, hence the need for an alternate method. determination of the primality is achieved by calling the method isprime(i) (algorithm 4). it returns a boolean value indicating if the number is prime or not. if the number is prime then the process of plotting the prime takes place. firstly the direction is calculated by carrying out modular division by 5 yielding p mod 5 ∈ {1, 2, 3, 4} this mapping can be clearly seen in table 5. next depending of the direction the current pixel location is updated to reflect the direction indicated by the prime. lastly the colour of the pixel at the new cell location is incremented. algorithm 3 2d prime number fractal algorithm for i = 0 to n -1 do begin if(isprime(i)) then dir = p[i] mod 5; if dir = 1 then x–; if dir = 2 then x++ if dir = 3 then y– if dir = 4 then y++ pixels[x,y] ++; end if; end for; algorithm 4 isprime( ) algorithm boolean isprime(long p) begin long d; if(p=1) return false; if(p=2 || p=3) return true; if(p % 2=0 || p % 3=0) return false; for(d=3;d <= sqrt(p); d=d+2) if(p % d=0) return false; return true; end 1. left: p mod 5 = 1 ⇒ (x, y) goes in (x−inc, y) 2. right: p mod 5 = 2 ⇒ (x, y) goes in (x + inc, y) 3. up: p mod 5 = 3 ⇒ (x, y) goes in (x, y−inc) 4. down: p mod 5 = 4 ⇒ (x, y) goes in (x, y + inc) table 5: mapping of direction values to pixel movement 3.3 processing results as is the case with desktop systems the generation of the primes is the most computationally expensive operation. the results (table 6) show that a significant amount of time is required to generate the prime numbers. this limits the computation of the image to just a few hundred thousand primes so the image may be generated and displayed to the user in a reasonable amount of time. #primes 20, 000 40, 000 60, 000 80, 000 100, 000 nokia 6630 44,797ms 129,235ms 240,313ms 373,437ms 524,703ms nokia 6680 44,984ms 129,000ms 240,078ms 372,875ms 524,046ms table 6: processing times to generate pnf on mobile devices 4 plasma fractal generation plasma fractals are often referred to as “fractal clouds” and the resultant image typically has a cloud like appearance (figure 7). the generation of this type of fractal uses a recursive algorithm known as random midpoint displacement. applying the exact same algorithm in the 3d universe to height values will result in the generation of fractal terrain. an example of this method being used for the generation of terrain in the film industry is star trek ii “the wrath of kahn” where random midpoint displacement was used to generate the terrain of a moon, the scene being called the “geneses sequence”. the procedure for generating a “fractal cloud” (algorithm 5) begins by assigning a colour to each of the four corners of a blank image. executing the “divide(. . .)” algorithm will firstly find the colour for the central point of the image by calculating the average value of the four corners. the colour value at the central point is then randomly displaced. the image area is then divided into four smaller sections by recursively calling the “divide(. . .)” again for each of the four quadrants. this division process will continue until the image cannot be 14 daniel c. doolan, sabin tabirca figure 7: plasma fractal examples (grain 1.2 , 2.2, 5.8, 9.6) further broken down. by this time the sub quadrants have reached the pixel level. several example applets that use this procedure may be found on the internet [13] [5]. algorithm 5 plasma fractal algorithm divide(x,y,w,h,tlc,trc,brc,blc) float nw = w /2, nh = h /2; if(w > 1 || h > 1) int displace = displace(nw,nh); color top = avgcolors() + displace; color right = avgcolors() + displace; color bottom = avgcolors() + displace; color left = avgcolors() + displace; color centre = avgcolors() + displace; divide(x,y,nw,nh,tlc,top,centre,left); divide(x+nw,y,w,h,top,trc,right,centre); divide(x+nw,y+nh,w,h,centre,right,brc,bottom); divide(x,y+nh,w,h,left,centre,bottom,blc); else drawpixel(x,y) 4.1 processing results the results show that mobile devices are capable of generating respectably sized plasma fractal images in a reasonable amount of time (table 7). image size 100×100 200×200 300×300 400×400 500×500 600×600 nokia 6630 672ms 2,219ms 6,672ms 6,328ms 6,156ms 23,453ms nokia 6680 671ms 2,328ms 7,468ms 7,344ms 6,828ms 25,329ms table 7: processing times to generate plasma fractals 5 further work the primary focus of this paper was on the generation of two dimensional fractal on mobile devices. the obvious progression from this application is to expand the generating functions into the third dimension. in the case of the plasma fractal this will yield a randomly generated terrain if the height values of a plane are randomly displaced instead of the colour values of a two dimensional image. 6 conclusion an integrated tool has been developed to generate a variety of two dimensional fractals. the fractals in question being the mandelbrot set, julia set, prime number fractal and the plasma fractal. it has been shown that the mandelbrot and plasma fractal image can be generated in reasonable time. the generation of the pnf image however does involve significant computation resources, especially when the number of primes is greater than 100 thousand. visualising infinity on a mobile device 15 references [1] a. baker, “mini review enhancements in nokia 6680,” http://www.i-symbian.com/forum/ images/articles/43/mini_review-nokia_6680_enhancements.pdf, 2005. [2] d. doolan, s. tabirca, “interactive teaching tool to visualize fractals on mobile devices,” proceedings of eurographics ireland chapter workshop,dublin, ireland pp. 7–12, 2005. [3] d. doolan, s. tabirca, “distributed fractal generation across a piconet,” proceedings of sigrad05 mobile computer graphics conference,lund, sweden pp. 63–68, 2005. [4] gimps, “mersenne prime search,” http://mersenne.org/. [5] j. lawlor, “plasma fractal notes,” http://charm.cs.uiuc.edu/users/olawlor/projects/ 2000/plasma/, 2001. [6] a. leatherland, “pulchritudinous primes: visualizing the distribution of prime numbers,” http://yoyo. cc.monash.edu.au/~bunyip/primes. [7] e. murtazine, “review gsm/umts smartphone nokia n90,” http://www.mobile-review.com/ review/nokia-n90-en.shtml, 2005. [8] rte, “internet and mobile penetration still rising,” http://www.rte.ie/business/2001/0308/ odtr.html, 2001. [9] rte, “half the world to have mobile phones by 2015,” http://www.rte.ie/business/2004/0225/ phones.html, 2004. [10] rte, “mobile penetration now stands at 89%,” http://www.rte.ie/business/2004/0907/ comreg.html, 2004. [11] rte, “mobile penetration now stands at 94%,” http://www.rte.ie/business/2005/0318/ comreg.html, 2005. [12] rte, “mobile penetration now stands at 100%,” http://www.rte.ie/news/2005/1220/ mobilephones.html, 2005. [13] j. seyster, “plasma fractals,” http://www.ic.sunysb.edu/stu/jseyster/plasma/, 2002. [14] h. systems, “plasma number spiral,” http://www.hermetic.ch/pns/pns.htm. [15] c. taylor, “mobile penetration to hit 100% in europe,” http://www.enn.ie/news.html?code= 9604990, 2005. [16] e. weisstein, “arbitrarily long progressions of primes,” http://mathworld.wolfram.com/news/ 2004-04-12/primeprogressions/, 2004. daniel c. doolan, sabin tabirca university college cork department of computer science cork, ireland e-mail: {d.doolan, tabirca }@cs.ucc.ie international journal of computers communications & control issn 1841-9836, 9(4):430-438, august, 2014. distributed compressed sensing algorithm for hierarchical wsns n. jiang, h. you, f. jiang, l. liu, y. he nan jiang* college of information engineering, east china jiaotong university nanchang, 330013, jiangxi, p.r.china state key laboratory breeding base of nuclear resources and environment, east china institute of technology, nanchang, 330013, jiangxi, p.r. china *corresponding author: jiangnan1018@gmail.com hui you, lingfeng liu college of information engineering, east china jiaotong university nanchang, 330013, jiangxi, p.r.china youhui106@gmail.com, liulingfeng1983@gmail.com feng jiang school of computer science and technology, harbin institute of technology harbin, 15001, heilongjiang, p.r.china fjiang@hit.edu.cn yueshun he college of information engineering, east china institute of technology nanchang, 330013, jiangxi, p.r.china hys8418@163.com abstract: in the traditional theory of cs, each sensor node in wireless sensor networks (wsns) sends the information to sink node directly, and only considers the correlation between internal nodes information when recover, this would lead to the loss of the node information and also cause too much energy consumption. in this paper, combined with deec protocol, based on simultaneous orthogonal matching pursuit (somp) algorithm, we propose a novel distributed compressed sensing algorithm for hierarchical wireless sensor networks (dcsh algorithm). this algorithm use the spatial correlation between the nodes and joint sparse model jsm-2, to compress and recover the sensor node information according to somp algorithm. simulation results show that dcsh algorithm can not only obtain accurate reconstruction values of the node information and reduce the energy consumption greatly, but also can prolong the network lifetime. keywords: distributed compressed sensing; deec algorithm; jms-2 model; cluster architecture; wireless sensor networks (wsns). 1 introduction in the past few years, the capability of receiving and transmitting data in wireless sensor networks has been constantly enhanced, simultaneously, the amount of data, which need to be handled, is also growing very quickly. traditional nyquist sampling theory, needs the sampling rate of signal not less than 2 times the bandwidth of the signal; undoubtedly, this is higher requirement for signal processing capability and hardware equipments. therefore, how to deal with bigger and faster data and find a new method is attracted more and more attentions. in 2004, donoho and candes et al proposed compressed sensing (cs) theory, it is a novel theory which make full use of sparse and compressibility of the signal [1] [2]. this theory shows that when the signal is sparse or compressible, it can realize the refactoring value of signal exactly copyright © 2006-2014 by ccc publications distributed compressed sensing algorithm for hierarchical wsns 431 through collecting the projection values of small amount of signal. different from traditional data processing method, sampling and compression of signal can conduct at the same time with a low rate, to the method of data processing, sampling process also completed the compression, so the amount of sampling data is greatly reduced, the nyquist sampling is evenly spaced sampling, and compressed sampling is random sampling. generally, compressed sensing theory study how to use the intra-signal on compression. considering distributed deployment and limited capability of sensor nodes in wireless sensor networks, it is necessary to use inter-signal with distributed compressed sensing (dcs), d.baron gave the basic concept and theory of distributed compressed sensing [3], and then proved the upper and lower bounds of the number of measurements required for decoding [4]. in [5], the author presented another joint sparse model for the application scenarios such as the mimo communication and speech signal, and designed the corresponding joint decoding algorithm. however, data fusion technology for wireless sensor networks based on the dcs theory is still at the starting stage. therefore, it is necessary to study how dcs theory do the joint reconstruction through the observation vectors of each node in cooperation way, through define joint sparse of each node based on spatial correlation data. our contributions are showed as follows: • based on jsm-2 model, signals are related to each other, each signal has different coefficient value, while they are made up with the base vector of the same sparse coefficient set. • by using somp algorithm, the decoding process can be simplified and corresponding measured values can also be reduced. in decoder side, the reconstruction efficiency will be improved. • cluster architecture is widely used in wsns, such as classic leach, heed, deec and so on. we try to bring cluster into cs theory. on one hand, it will save the transmission energy; on the other hand, sink nodes will receive more complete information in the case of limited sensor node processing capacity. 2 simultaneous orthogonal matching pursuit(somp) algorithm 2.1 distributed source coding [11] according to the characteristics of the distributed sensor networks, a number of distributed coding algorithms are developed, these algorithms all involved the cooperation of sensor nodes, including predictive coding, distributed klt and distributed wavelet transform, and also the three dimensional wavelet algorithm which uses inter-correlation between signal and in signal at the same time. x y x̂ ŷ figure 1: distributed source coding. figure 1 is distributed source coding of two different source information. processing of signal y is completely independent, the transmission information is h(y ), and processing of the 432 n. jiang, h. you, f. jiang, l. liu, y. he signal x need to use correlation with the signals y . at the receiving side, the decoder h(y ) can first restore the original signal y ; as the edge information y , use the correlation between the information x and y that contained in h(y ), and send the joint information h(x|y ), complete the joint decoding of the source information x, here with the sum of the amount of the transmission information x and y must be less than the joint entropy h(x|y ), so it can ensure the compression effect of source information. in one word, for distributed source coding theory, the key issue is how to use the original related characteristics of the signals x and y , and then to do the coding and joint decoding independently. 2.2 somp algorithm and jsm-2 model jsm-2 [3]: the signals in this model have different coefficient value, while they are all made up with the base vector of the same sparse coefficient set. this model can be applied some important applications, such as mimo telecommunication and audio signal array. the signals which are accorded with jsm-2 model may be sparsity in the fourier domain, for example, degenerative frequency component which is caused by different propagation paths. in jsm-2 model, the expression of the original signal shown by the following formula: xj = ψ · θj, j ∈ 1, 2, ..., j (1) among them, the coefficient of each vector θj, corresponding to a collection of indicators ij ⊂ 1, 2, ..., n , and ij only has k elements, namely, that is ∥ij∥l0 = k, the sparsity of each original signal xj is k. paper [7] presented the greedy algorithm to recover the related signal, which is called simultaneous orthogonal matching pursuit (somp) algorithm. the algorithm is very similar to the omp algorithm, but there are some small changes. somp algorithm is based on the concept of distributed source coding. the basic idea of somp algorithm is: assuming that the sensor nodes in wsns are all consistent with the jsm-2 model, namely each part of the original signal includes only part of the information and do the sparse representation on the same sparse basis, but the sparsity of each of the original signal sparse are not the same. suppose that there are b distributed sampling signals y1, y2, ..., yb,, change the second step of the omp algorithm to find the index, using the index to solve the following simple optimization problem: maxω∈ω b∑ 1 |⟨rk,t−1, φj| (2) in which rk,t−1 is the residual value of the first k distributed sample signal, the rest of the steps are the same with omp algorithm. when b = 1, this process can be summarized as the standard omp algorithm. in conclusion, the somp algorithm is divided into the following steps: 1) initialization: residual r0 = y, the number of iterations t = 1, the index set ∧ 0 = ϕ; 2) find the index λt, solve a simple optimization problem; 3) update the indexes set λt = λt−1 ∪ λt, and update the selected column space θt = [θt−1, φjt]. by convention, θt is an empty matrix; 4) by solving a least squares problem, get a new estimation of the signal; 5) calculate the new approximate data and the new at = θtxt , rt = y − at; 6) t = t + 1, if t < m, go back to step 2), otherwise, to step 7); distributed compressed sensing algorithm for hierarchical wsns 433 7) if ∥θt∥∞ > γ, choose h1, otherwise choose h0. in which γ is nonzero threshold, h0 : θs = 0, h1 : θs ̸= 0, θs is sparse coefficient. 3 deec clustering algorithm deec [9] is a classical clustering algorithm, which can save the energy effectively and prolong the network lifetime. it can be able to construct optimized cluster structure for and data aggregation through the exchange of the message between the local nodes, and also balance network energy consumption effectively, then be better adapted to periodically collect data of sensor network applications. simulation results show that deec can prolong the network lifetime of leach of about 45% under the smaller latency of network. aggregator head relay figure 2: the structure of deec. clusters in the deec protocol contain four types of the nodes: the sensor, the head, the aggregator and the sender. nodes in a network choose itself as the cluster head nodes with a certain probability value to form a cluster head node collection hheadi, become a cluster head node which is responsible for the set of clusters. the distance between each of the sensor nodes which are in the cluster i and the head nodes to meet the following conditions: min1≤k≤|h|dist(vij, headk) (3) but the head is not responsible for data aggregation, fusion and sending information to the base station immediately, it plays a role of a "call" in the first place. in the process of the set of clusters, we determine the aggregator and the sender through the calculation. the former is used to gather the information which is sent by clusters and then make the data processing and fusion, the latter accept the information transmitted by the former and then send them to the base station. of course, set clusters, gather data and send information to the base station, those three types of task may be borne by one or two nodes. the process of the head selection of deec is similar to leach: each node generate a random number, if it less than the threshold, the node will be the cluster head. but the determination of the threshold here is different from leach, deec neither consider the effect of the current round nor consider whether the node within several rounds of cluster heads, for deec, cluster head set h only have the effect of dividing the network into several clusters. the threshold of deec is the probability of each node to become cluster head phead, phead = kopt/n, in which kopt is the optimal value of number of clusters in the network; n is the number of nodes in the network during initialization. the derivation of kopt has a related discussion in the literature [8], here only assume that it is a system parameter during the initialization time of the network. when a node is selected as the cluster head, it broadcasts messages inv ite to 434 n. jiang, h. you, f. jiang, l. liu, y. he all other nodes, the nodes which receive the news choose the nearest cluster heads to join and send a message to its cluster head join(id, position). in this way, the entire network is divided into several clusters. 4 dcsh algorithm in above algorithm, the ability of sensor nodes in wsns is limited to only receive the information sent by a small amount of sensor nodes, and each sensor node has only its local information, therefore the joint decoding side cannot recover the full information, this will lead to the loss of the target source information when recover. in this paper, based on our previous works [12] [13] [14], we propose an improvement scheme of dcs reconstruction algorithm (dcsh algorithm) which is based on somp. its basic idea is: by using deec algorithm to divide sensor nodes into clusters, then select the cluster head, and the information of the nodes all gathered to the cluster head, then the information on the cluster head is the information within the entire cluster nodes. the sensor nodes send the information to the cluster head after data fusion and then use somp algorithm to recover the information. on one hand, the dcsh algorithm reduces the number of the nodes which transfer the information directly to the joint decoding end, avoids the loss of transmit information; on the other hand, by using the advantage of the deec protocol, our algorithm can achieve the goal of saving energy. system model for dcsh algorithm is shown in fig.3: x x nm 1 c m c 1 y 2 y 1 n y 1n m y n y 1 x 2 x 1 n x n m x 1n m x n x sink n m y figure 3: system model for dcsh algorithm. suppose that there are n sensor nodes randomly distribute in the wireless sensor networks, meanwhile the sink node is in the center of the network area. there is a target source in the network, information on the target source will be sent to all nodes in the network, any sensor nodes can communicate with the sink node directly, and the signals all meet the joint sparse model jsm-2. first, divide n nodes into m clusters, then elect the cluster heads c1, c2, ..., cm of m clusters respectively, and the number of the nodes in each cluster is n1, n2, ..., nm , transmit the cluster information to each cluster head and then use dcs algorithm to encode information on the cluster head, getting the measured value y1, y2, ..., ym which is transmitted to the sink node for the joint decoding. at last, get the reconstruction value x̂1, x̂2, ..., x̂n , thereby, recover the target source information accurately. distributed compressed sensing algorithm for hierarchical wsns 435 dcsh algorithm can be shown as follows: 1) based on deec protocol, divide the sensor nodes into cluster, and choose the cluster head. the threshold phead, phead = kopt/n of deec is the probability value of each node to become cluster head, in which kopt is the optimal value of number of clusters in the network; n is the number of nodes in the initialized network. 2) determine the aggregator: when the head know location information of all nodes, aggregator can be determined through simple algorithm find_aggregator [10]. 3) determine the sender: using the algorithm find_sender [10]. 4) transmit the information of the sensor nodes to the cluster head, using their original measurement matrix to do the independently coding on the cluster head. 5) use somp algorithms to joint reconstruction of the nodes information, thus recover the full information of the network. 5 the results of simulation and analysis this paper uses matlab as a tool for simulation, 100 sensor nodes are randomly distributed in deployment area , the center of the area is the cluster head, each of the node information conform to jsm-2 models. first of all, we verify the performance of the somp algorithm. get the reconstruction value x̂1 of the sensor node information x1 by somp algorithm and omp algorithm. the reconstruction error of is 5.1672 × 10−15 and 8.1596 × 10−15 . figure 4 and figure 5 show us the comparison between the two kinds of algorithms, and it apparently show that somp algorithm has the excellent effect of reconstruction. after compared with omp algorithms, we will find somp algorithm has good performance and also the accuracy is higher. 0 100 200 300 400 500 −1.5 −1 −0.5 0 0.5 1 1.5 recover original signal recovery signal figure 4: comparison of somp algorithm. suppose that the leach protocol and deec protocol have the same number of the original data nodes, figure 6 studies the performance under the conditions of same numbers of cluster nodes. in this figure, the two curves represent the protocol as leach and deec. its specific results are shown in figure 6, deec protocol has m less dead nodes when the algorithm run same time. known that the initial energy of the nodes is 50j, the energy of the nodes decrease with the number of the election round, figure 7 shows the relationship between the rounds and active 436 n. jiang, h. you, f. jiang, l. liu, y. he 0 50 100 150 200 250 300 −1.5 −1 −0.5 0 0.5 1 1.5 2 recovery original figure 5: comparison of omp algorithm. 0 1000 2000 3000 4000 5000 0 2 4 6 8 10 12 x 10 4 x(time) y( d a ta ) comparation of data transaction between leach and deec leach deec figure 6: the comparison of the lifecycle. nodes of deec algorithm. we can conclude that, in the same case, networks lifetime of deec is longer than traditional leach protocol, to a great extent, improve the network cycle. for the further study of these two reconstruction algorithms, once again, we compare the average absolute error performance of the somp and omp algorithm. figure 8 demonstrates the relationship between the absolute error performances of the two algorithms, it can be seen that, in the case of the same number of measured values, the absolute error performance of somp algorithm is lower than the absolute error performance of omp algorithm. to sum up, the comparison and analysis of the performance of somp algorithm and omp algorithm in figure 8 give a conclusion that in the same conditions, somp algorithm can ensure the accuracy rating of the reconstruction while reducing the number of measured values. in this way we can save the energy of the network and improve the efficiency of the signal reconstruction. 6 conclusions this paper proposes a distributed compressed sensing algorithm for hierarchical wireless sensor networks (dcsh algorithm). this algorithm utilize deec algorithm to get the accurate information by recovering the information of sensor nodes in the network. the sensor nodes distributed compressed sensing algorithm for hierarchical wsns 437 0 200 400 600 800 1000 1200 1400 1600 1800 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 election rounds in the net/r t h e r e m a in in g e n e rg y o f n o d e s/ j leach deec figure 7: the comparison of the nodes and the wheel. 40 60 80 100 120 140 160 180 200 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 number of the measured value a ve ra g e a b so lu te e rr o r omp algorithm somp algorithm figure 8: the change of two kinds of algorithm. choose the cluster head by deec protocol. we take the residual energy of nodes into consideration while in the process of choosing the cluster head, prevent some nodes energy exhausted prematurely, this can not only extend the network lifetime effectively, but also reduce the number of the nodes which transmit data directly to the gathering node. then based on the spatial correlation of the cluster nodes and joint sparse model (jsm-2), by using distributed compressed sensing reconstruction algorithm(somp), recover the original node information from a small amount of information accurately. the simulation results show that this algorithm has better performance, which can improve the network lifetime, and can be better adapted to periodically collect data of the wsns application. acknowledgments this work is supported by national natural science foundation of china under grant no. 61063037 and no. 51364001, open program of state key laboratory breeding base of nuclear resources and environment under grant no.nre1102, key projects in the science and technology pillar program of jiangxi province of china under grant no. 20111bbg70031-2 and 20133bbe50033, educational commission of jiangxi province of china under grant no. 438 n. jiang, h. you, f. jiang, l. liu, y. he gjj13335 and gjj13354, and foundation for young scientists of jiangxi province of china under grant no. 20133bcb23016. bibliography [1] donoho d l.(2006); compressed sensing, ieee transactions on information theory, 2006, issn 0018-9448, 52(4): 1289-1306. [2] candés e.(2006); compressive sampling, in: proceedings of international congress of mathematicians, isbn 978-3-03719-022-7, 1433-1452. [3] d.baron et al (2005); distributed compressive sensing, technical report ,pre-print. [4] d.baron et al (2005); an information theoretic approach to distributed compressed sensing, in: conference on communication, control, and computing , isbn: 9781604234916. [5] m.f.duarte et al (2005); distributed compressed sensing of jointly sparse signals, in: proceeding of the 39th asilomar conference on signals, systems and computation , issn 10586393, 1537-1541. [6] j tropp; a. gilbert; m strauss(2006); algorithms for simultaneous sparse approximation, part i: greedy pursuit, journal of signal processing, issn 0165-1684, 86: 572-588. [7] w dai; o milenkovic(2009); subspace pursuit for compressive sensing signal reconstruction. ieee transactions on information theory, issn 0018-9448, 55(5): 2230-2249. [8] l.zhao; l.q.lian(2005); distributed and energy efficient self-organization for on-off wireless sensor networks, international journal of wireless information networks, issn 10689605, 12(1) : 211-215. [9] l.qing; q.zhu; m.wang(2006); design of a distributed energy-efficient clustering algorithm for heterogeneous wireless sensor networks, elsevier, computer communications,issn 0140-3664, 29(12): 2230-2237. [10] y.x.liu et al(2010); regularized adaptive matching pursuit algorithm for signal reconstruction based on compressive sensing, journal of electronics and information, issn 10095896, 32(11): 2713-2717. [11] d. slepain; j. k. wolf(1973); noiseless coding of correlated information sources. ieee transaction on information theory, issn 0018-9448, 19(9): 471-480. [12] nan jiang(2014). wdem: weighted dynamics and evolution models for energyconstrained wireless sensor networks, physica a: statistical mechanics and its applications, issn 0378-4371, 404: 323-331. [13] nan jiang; sixin jin; yan guo; yueshun he(2013); localization of wireless sensor network based on genetic algorithm, international journal of computers communications & control, issn 1841-9844, 8(6): 825-837. [14] nan jiang; rigui zhou; qiulin ding(2009); dynamics of wireless sensor networks, international journal of distributed sensor networks, issn 1550-1329, 5(6): 693-707. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 116-124 e-learning multimedia applications: towards an engineering of content creation maria dolores afonso suarez, cayetano guerra artal, francisco mario tejera hernandez abstract: in the same manner that e-learning applications are becoming increasingly important at the university, there are still some critical questions that should be solved with the objective of making use of the potential offered by current web technologies. the creation of contents that are able of capturing the attention of interest of the students and their disposal in an appropriate way constitute the main purpose of this work. the teaching content engineering expounded shows the different stages that should form part of the process. a development team, composed of different professional profiles, will work together with the lecturers of the subject to which the contents are been created, i.e. multimedia videos and interactive applications. this process should be developed according to a methodology that assure the use of appropriate resources, all that tasks -suitable of beingshould be modularized and factorized. this paper presents the acquired experience in the development and use of multimedia contents for e-learning applications, created for some of the subjects of the degree in computer science engineering. the deliveries of these contents make use of internet and video streaming techniques. the result of the work shows the students satisfaction, including their comments. keywords: teaching content engineering, didactic objectives, active learning, passive learning. 1 introduction during recent years university education has experienced an important progress with respect to the resources used for lecturing. techniques have changed from traditional blackboard methods to the use of projector transparencies (slices) and, later on, the use of video projector and powerpoint to present the content of the lessons. nowadays, the use of these technologies has become more common. as far as content availability for the student is concerned, it has passed from traditional notes taken in classrooms, books and photocopies to digital format of books or notes taken in classrooms, which are available in the subject’s web page. in fact, the universities use to place courses on the web focusing on information delivery rather than learning. the proposal of european higher education area provides the framework to take an important step forward in techniques used in lectures and in the methodology used to create them. for this reason, new methodological approaches are introduced in order to value an active learning [1] as opposed to a traditional passive learning. to value the effort that students should make in order to assimilate knowledge and not only consider the number of hours of attendance to classes. the use of e-learning techniques makes this easier; its wide range of application allows increasing education quality and delivery of information. 2 e-learning in ehea the european higher education area proposes the setting up of a convergence process of educational material in europe. new methodological approaches are introduced in order to value an active learning as opposed to a traditional passive learning. to value the effort that students should make in order to assimilate knowledge and not only consider the number of hours of attendance to classes. all this is made easier by using an e-learning [2] approach, whose extensive work field, in all range of subjects, copyright © 2006-2008 by ccc publications e-learning multimedia applications: towards an engineering of content creation 117 allows the quality of education and its availability to increase [3]. the creation of multimedia contents for e-learning could be developed together with other european universities, and its use could be shared within the same knowledge areas. this allows a new common line of work to be opened. it will be possible to promote european cooperation to guarantee the quality of higher education using comparable methodologies and criteria. 3 teaching content engineering we understand for that concept the whole methodological corpus that allows inserting development elearning technologies in the production of didactic solutions with appropriate invests in production time, resources and person/hour. in this manner, the creation of contents will be developed in a systematic way, planning the process and using adequate techniques. the integration of these techniques and the extent of the teaching material development project require a multidisciplinary team. this multidisciplinary team composed of a group of different professional profiles will carry out different tasks using a wide variety of technologies. these tasks will come together in order to create a production line to maximize results. the improvement of productivity and quality in teaching content creation will constitute the main objective of this engineering [4]. the proposed engineering of teaching content is carried out by means of a methodology, which divides the multimedia production process into phases and assigns tasks to each member of this professional development team. all these different phases include research on suitability of the content for e-learning, a previous analysis to select multimedia techniques to apply, the development of the contents based on the project design and, finally, the maintenance. with respect to the multidisciplinary team, it will be composed of a project manager, programmers, designers, and multimedia experts, as well as the lecturers of each subject. 4 methodology the obtaining of an optimum workflow [5] and the use of resources by the different production tasks is the main purpose of the proposed methodology. for that, we define different production phases. 4.1 suitability of the content for e-learning to create multimedia material for subjects using e-learning techniques means a considerable resource investment. therefore, some factors, which help to make a decision about its profitability, should be taken into consideration. in this first phase a study on the suitability is made in accordance with the factors below: the content validity. the period of time in which teaching contents do not need to be updated. the number of students who attend classroom training. this factor takes into consideration the number of resources used in their learning. the modularity and reusability of independently operable units, which are part of the total structure for creating more contents. 4.2 contents analysis the creation of multimedia contents is carried out through the division of teaching contents in didactic objectives. in this phase the modularization of content takes place. the extraction of the lecturers’ knowledge will be necessary for the selection and proposal of different multimedia didactic elements, 118 maria dolores afonso suarez, cayetano guerra artal, francisco mario tejera hernandez which will constitute part of these multimedia didactic units. it is recommendable to follow a methodology belonging to knowledge engineering, where the knowledge is produced according to the lecturer’s subject specific knowledge, and contains the knowledge and analytical skills of one or more human experts. to achieve this aim, the tasks below are introduced: meetings with the lecturers. in these meetings lecturers expound the teaching objectives of the subject, explain the lesson content and the current way to portray the contents to the students. the selection of lessons for multimedia format. the project manager, together with the lecturers, carries out the selection of lessons for which multimedia teaching content will be created proposal and techniques selection [6]. according to the techniques selected, and the modules repository, the project manager makes a proposal to the lecturers. 4.3 development starting from the analysis of the previous phase, a formal design is carried out, this formal design will identify the activities and work planning that will be done under the supervision of the project manager [7]. therefore, this phase is structured as shown below: formal design includes all the multimedia didactic elements to be used. in accordance with this design, both human and material resources are managed. it is a process of problem solving and planning for reaching the objectives of the project. development of interactive applications will follow a development methodology belonging to software engineering. creation of videos, for which the work will be divided into: script writing, recordings, postproduction and codification [8]. on-line disposition of multimedia contents, becoming, this way, accessible for the students. in the process the creativity of the development team is considered fundamental. 4.4 maintenance once the project is finished, it is difficult to assure that it will work properly unless it is tested. in order to realize a high quality solution, testing throughout each phase of the process is proposed. the project team should be involved in the maintenance phase. they are expected to work on their known issues and prepare for a new release of the created material. in order to detect defects and deficiencies in the multimedia material, some tasks are introduced: interviews with lecturers and students, to know first hand how they feel about this new content to use, in various aspects: accessibility, manage, design. questionnaires, for recover statistics results about all the aspects to be evaluated. comparison of academic results, where an evaluation report will be made, and academic results will be compared with those of other groups of students that have made use of traditional learning methodologies. all these tasks will help to obtain a constructive feedback and to enhance and optimize this multimedia material and its different aspects evaluated. a thorough study of time and staff required for project development will take us to a suitable planning and this to an appropriate economic investment. therefore, cost and resources affect directly in the amortization of the investment made for the creation of contents. e-learning multimedia applications: towards an engineering of content creation 119 5 resources among the means that will be used to carry out this technology we find both human and material resources. the competences of the multidisciplinary team are defined by different profiles: lecturers, whose main tasks include the structure of the subject program, script writing, and the proposal and collective agreement with the project manager on the multimedia didactic units. project manager, who advises lecturers, coordinates efforts of the development team and assigns tasks according to the planning made. designers, which will carry out tasks of graphic design, user interfaces development, and 2d 3d elements creation. analysts/programmers, to analyze and develop software application and programs. multimedia technicians, in charge of recording, editing, and postproduction. regarding to material resources, these are comprised of the multimedia recording studio and the laboratory room for development of software applications and editing of contents. the workstations of the editing room in the laboratory are fully equipped with the necessary computer material for creating and editing audiovisual content. figure 1. figure 1: on the left we can observe the record studio used for the recording of lessons. on the right workstation of the editing room. 6 other methodologies there are different strategies for the creation of teaching content for e-learning. these approaches often use a similar set of stages or phases for content development. among them we find the "waterfall philosophy" characterized by the use of a number of phases strictly ordered in such a way that each phase begins once the previous one is finished; and the "evolutionary philosophy" or "based in prototypes", characterized by considering since the beginning that, although the project start out with a set of requirements, will arise changes in these requirements as the project is developed. however, the methodological proposal made in this work for an e-learning content engineering focuses on lecturing and this means a set of differences, related below: scope. traditional methodologies are directed, generally, towards content development for corporate e-learning. the proposed methodology is focused on content development for lecturing. 120 maria dolores afonso suarez, cayetano guerra artal, francisco mario tejera hernandez contents modularity. in each knowledge area to create independently operable units intended for reuse in the same or a different one is proposed. this means the use of a knowledge area thorough analysis in order to make these operable units relocation possible when creating new teaching programs. extend of involvement. lecturers should be part of the work team that will create multimedia contents for e-learning, should be involved not only in didactic advises tasks, according to the teaching objectives of the subject, but also should take part in the conception of the whole set of tools proposed by the project manager. resources. the wide variety and quantity of multimedia resources used are essential in the proposed methodology for e-learning content creation. multimedia technology and the development of interactive applications provide suitable capabilities to develop quality contents at the university level. 7 lecturing experiences for the evaluation of e-learning techniques in lecture content, some subjects have been selected. specifically, the subjects correspond to bachelor and graduate degrees on "computer science engineering", multimedia and automaton theory and formal languages ii. specially, the subject of multimedia has the particular feature of covering two fundamental aspects in the teaching of computer science knowledge. on the one hand, we find purely theoretical and mathematical content which supports audio compression, image and video technologies. on the other, we find content that makes reference to the use of multimedia tools and web programming languages. in particular, the subject of multimedia has a teaching timetable of 30 theoretical hours (twice a week), using traditional classrooms, and other 30 hours of practical lessons in the laboratory. the prepared material embraces half the timetable in the classroom. the content generated for automaton theory and formal languages ii corresponds to the practical exercises of the subject. as lecturers can now count on this new multimedia teaching material, the methodology, which has been followed till now in multimedia, has changed substantially. firstly, the students still have the same number of learning hours; however, they receive some lessons by means of video in a dedicated server. this means that they receive, weekly, one hour in the classroom and another one through video streaming. this new material allows traditional lessons to be divided into two groups. in this way the lesson in the classroom is repeated and the student attends the most convenient classes. therefore, not only do they not miss the opportunity to ask the lecturer doubts, but also the number of students is reduced, allowing a more personalized treatment. with respect to automaton theory and formal languages ii, the prepared material only provides support to the personal training of the student. the results of this experience have been very positive. students have valuated unanimously this new teaching model as completely recommendable. even, the students have taken part in the improvement of the material contributing with their own ideas, needs, and wishes, like including random questions in order to implement interactivity [9]. from the valuation questionnaire issues below are recovered: multimedia videos are very appreciated. no comments were made about accessibility or reproduction difficulties or even misunderstanding. although students think it is necessary: the inclusion of subject’s content in a pdf format file and an index to facilitate access directly to each unit of the lesson. and just only one student pointed out that the teacher should propose more practical material in the classroom. the valuation questionnaire results are represented in the table 1. as we can observe, percentage for the last one question is quite good. figure 2. with respect to the academic efficiency revealed in the assessments, we should say that the percentage of success in the exams remains constant if we compare with the results of past years where lessons were taught in a traditional way. however, a particular fact, which is known by all lecturers when the exams’ e-learning multimedia applications: towards an engineering of content creation 121 table 1: results from bachelor and graduate degrees on "computer science engineering" figure 2: graphical representation for general assessment. results from bachelor and graduate degrees on "computer science engineering" 122 maria dolores afonso suarez, cayetano guerra artal, francisco mario tejera hernandez dates come close, should be commented. in the previous weeks to exam dates the students come more frequently, and in many cases only on those dates, to the tutorials. it is remarkable that during this teaching experience there have been practically no consultations in tutorials in all the academic year, not even on dates coming up to the exams. 8 future research the acquired experience in the development of multimedia contents for e-learning applications shows that this emergent task should be tackled through the use of a systematic, disciplined, quantifiable approach to the development, manage and maintenance of this teaching content material. in the near future, we will test the process of development of a new project from the university of las palmas de gran canaria. this project involves the creation of multimedia material for subjects of three different areas: the technical area, the health care science area, and the human, society and legal area. the election of the subjects has been made according to the factors expounded in the phase of suitability of the subject. it has been preferential for the technical department to choose subjects of the first courses of various degrees with similar contents, what implies a considerable number of lessons in common. so that, there will be subjects with the 85 or 90 per cent of their content delivered with multimedia material, which is more profitable than having only one or two subjects with the 100 per cent of the content delivered with this new material. the subject is named mathematics in some degrees and calculus in other ones. something similar has happened in the other two knowledge areas: in the health care science area anatomy has been chosen, this is a subject of the first course of "medical degree" with a huge number of students. for the human, society and legal area has been chosen constitutional law, which corresponds to two different degrees: "law" and "economics and business sciences", degrees with a large number of students in the first courses too. in this way, we will delve into each phase of this new engineering focusing on improving the efficiency and cost-effectiveness of the development of multimedia contents for e-learning in these subjects selected. 9 conclusions new information technologies and e-learning will be indispensable tools in lecturing in the near future. the increasing bandwidth available for internet connection and multimedia capacities found in current computers allow them to be used as a completely valid way for teaching. however, the lack of multimedia content production is a very important cause that limits an e-learning widespread. the creation of large-scale teaching content for lecturing needs a production methodology to assure the optimization of resources and, therefore, a reduction in costs. this work intends to contribute with the methodological lines applied in the production of multimedia teaching content for lecturing. new teaching methodologies require new teaching aims; the role of lecturers in the new educational process should be restated in the whole educational process. lecturers should reduce the time dedicated to teaching lessons using traditional blackboard methods. this activity could be mainly, replaced by e-learning techniques. lecturers could dedicate time to activities that offer a better quality in teaching, transmitting motivation about the subject being studied and directing the students in their studies [10]. the future of teaching in the european society should see an improvement in the quality of education, its availability, and a lower cost for students as well as for educative organizations. 10 acknowledgment we wish to thank the programm committee of icvl 2007 that recommended the publication of an extended version of this paper. e-learning multimedia applications: towards an engineering of content creation 123 bibliography [1] a. m. barry, creating and sustaining an effective learning environment!. aishe conference 2006. [2] http://ec.europa.eu/education/programmes/elearning/index_en.html [3] http://ec.europa.eu/education/policies/educ/higher/higher_en.html [4] b. shackelford, project managing e-learning. astd. eeuu, 2002. [5] r. pedrosa and s. petitz, production of interactive contents for training in e-learning environmentsprocedures and methodologies. iadis international conference e-learning 2007. [6] w. horton, k.horton, e-learning tools and technologies, (1st edition), wiley. eeuu, 2003. [7] l. dublin, j. cross, implementing e-learning. astd. eeuu, 2002. [8] j. casteleira and p. leão, production and distribution of contents in digital video of quality for the distance learning. iadis international conference e-learning 2007. [9] r. rheeder, r. diseko and g. lautenbach, the design of interactivity for a web-based learning environment at a higher education institution. iadis international conference e-learning 2007. [10] k. fraser, a blended learning approach to teaching "introduction to multimedia" the e bit!. aishe conference 2006. maria dolores afonso suarez, cayetano guerra artal francisco mario hernandez tejera instituto universitario de sistemas inteligentes y aplicaciones numericas en ingenieria iusiani universidad de las palmas de gran canaria departamento de informatica y sistemas edif. de informatica y matematicas. campus universitario de tafira. 35017. las palmas. spain. e-mail: mafonso@dis.ulpgc.es, cguerra@iusiani.ulpgc.es mhernandez@iusiani.ulpgc.es received: november 30, 2007 124 maria dolores afonso suarez, cayetano guerra artal, francisco mario tejera hernandez maria dolores afonso suarez, graduated at the university of las palmas de gran canaria in computer science. she has worked in private enterprises developing software and as associated professor at the computer science and systems department of the university of las palmas de gran canaria. her main research fields are multimedia and e-learning. cayetano guerra artal, graduated at the university of las palmas de gran canaria in computer science. he has been teaching multimedia for seven years at the computer science and systems department of the university of las palmas de gran canaria. he received his ph.d. in computer vision. his main research fields are computer vision, computer graphics, multimedia and e-learning. francisco mario hernandez tejera graduated in electrical engineering and received his ph.d. in computer science at the university of las palmas of gran canaria. he is assistant professor of computer science and engineering at the computer science and systems department of the university of las palmas de gran canaria. is member of the institute of electrical and electronic engineers ieee , the international association of pattern recognition (iapr), the asociacion española de reconocimiento de formas y analisis de imgenes (aerfai) and the asociacion española para la inteligencia artificial (aepia). his current research interests are in autonomous systems, knowledge-based systems, active vision, visual learning, scene analysis, mobile robotics and interactive robotic systems, that is robots that interact with people. as well as multimedia and e-learning. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 783-791 an algorithm for customer order fulfillment in a make-to-stock manufacturing system d. lečić-cvetković, n. atanasov, s. babarogić danica lečić-cvetković, nikola atanasov, sladan babarogić university of belgrade, faculty of organizational sciences jove ilića 154, 11000 belgrade, serbia e-mail: {danica,nikola.atanasov,sladjan}@fon.rs abstract: in the competitive environment, many manufacturers are increasingly focusing on designing the systems that help them to manage variable demand and supply situations. dynamic allocation of demands is very important in case of customer order allocations. order promising and allocation can be based on the simple sequence that enables a manufacturing company to receive orders unless there are some other priority orders. manufacturing company can also manage allocations of supply to key customers and channels, thereby ensuring that they can meet contractual agreements and service levels in the priority that yields better profit. this paper will focus on a maketo-stock order fulfillment system facing random demand with random orders from different classes of customers. available-to-promise (atp) calculating from master production schedule (mps) exhibits availability of finished goods that can be used to support customer order allocation. this order allocation system is adapted in mts (make-to-stock) production model and all orders are treated according to maximization of customer service policy. it allows incoming purchase orders as well as existing inventory on hand to be selected and allocated to customer sale orders and back orders. the system then automatically allocates the available stock to the selected sales orders. we developed an integrated system for allocation of inventory in anticipation of customer service of high priority customers and for order promising in real-time. our research exhibits three distinct features: (1) we explicitly classified customers in groups based on target customer service level; (2) we defined higher level of customer selection directly defined according to company strategy to develop small and medium customers; (3) we considered backorders that manufacturing company has to fulfill in order to maximize overall customer service for certain customers. keywords: manufacturing system, order allocation, customer service. 1 introduction production companies are facing the dilemma on whether to increase or decrease the capacities of production lines and/or the capacities of production plants. everyday, production managers are facing the dilemma on whether to buy a new machine, to increase the number of shifts within the production process, or to employ new workers, in spite of the fact that such decisions also affect the middle-term and long-term production planning, and should not be made hastily. sales forecasting and identification of an increase in demand represent the starting point for production capacity planning, and also for making a decision on capacity expansion. until the available capacities are increased, the production company has a goal of satisfying the market copyright c⃝ 2006-2010 by ccc publications 784 d. lečić-cvetković, n. atanasov, s. babarogić demand by means of available production capacities. the allocation of available finished products to customer orders requires an efficient system of allocation aimed at improving the overall operating efficiency. operating efficiency is directly related to quantities of goods produced and the profit from sales. in addition to profit-oriented decision on selection of orders to be fulfilled, one needs to consider the customer service, since the overall operating of a production company depends on customers. customers, who account for a large share in the sales results, require special attention, and the fulfillment of every order. there is also a group of customers who constantly increase their orders, and thus expect adequate and better service. small but numerous customers, thus shape the overall sales of a production company. some of them represent the future potential for the increase in sales and also for the increase in incomes of the production company. the abovementioned facts highlight the importance of making a decision while selecting the orders to be fulfilled, and the necessity of having an algorithm that will efficiently and effectively perform the allocation of limited quantities of available finished products. this paper is structured as follows: the second chapter presents relevant approaches of other authors in solving the observed problem. the third chapter defines the problem of allocation of limited resources in production companies. the problem of allocation refers to the distribution of limited amount of production to customer orders, with the goal of maximizing the percentage of fulfilled orders. aiming to define efficient and effective allocation, the fourth chapter describes the procedure of the development of algorithms for fulfilling the orders in the make-to-stock production system. in their conclusion, authors cited the main advantages of the proposed algorithm for allocation of limited production, as well as the possible directions of development and upgrading the algorithm aimed at improving the performances of the production company. 2 related work providing the ordered quantities of products represents the key function in planning operations within the entire supply chain. the system of providing stocks is recognized as a key challenge in production companies. the basic goal of the process of providing stocks atp/ctp (atp – available-to-promise, and ctp – capable-to-promise) is providing a reliable response to customer demands, taking into consideration the wide range of information and limitations that exist in the distribution channel network. key measures of performances within production companies, according to [6] are recognized in measuring the level of customer service, and customer satisfaction. traditional approaches to order provision, adjusted to mts production system, were described in [1] while considering the available stocks of finished products for order fulfillment in line with the principle first come – first served (fcfs), without awarding priority to either customers or orders. the priority of received orders also represents a significant factor in providing stocks for order fulfillment. optimization of orders is carried out based on the maximization of profit for the entire operating, through the system of production planning represented in [9]. priority is given to orders in the following way: (1) orders are given the priority if they are already in the forecast of sales, i.e. (2) orders are given high-priority if the delivery of such orders should bring higher profit to operating of a production company. the general application of atp/ctp decision system was implemented with an aim to improve the profit and system performances, in line with [6]. by considering the advanced planning systems (aps), it is possible to identify various approaches in defining the priority of customers, based on which it will be possible to fulfill the incoming orders. the essential idea of the approach described in [9] is the segmentation of customers with the goal of increasing the overall income of the production company through order acceptance, and delivery of orders with the greatest profit. atp model allows for such system, since it provides quantities in advance in accordance with certain customer segments, by an algorithm for customer order fulfillment in a make-to-stock manufacturing system785 satisfying only the orders of priority customers. atp system is based on mixed-integer programming, with the goal of optimizing the utilization of limited production capacities, in order to provide timely information regarding the fulfillment of a customers order. in addition, the abovementioned problem is according to [2] classified amongst the dynamic models of order management with limited capacities based on the profitability analyses. if a production company has limited production capacities, it is clear that the company will decide to reject some of the incoming orders, which will directly affect the profitability of operating. the decision on rejecting orders is based on the comparison of orders, since company rejects those who yield lower profit. atp system that is based on providing quotes for important customers in a defined timeframe, in order to provide timely information on the delivery date, is described in [9]. atp defined in a way that orders yielding higher profit for the producer must be fulfilled with priority, in spite of the fact that there are less profitable orders still ’on hold’. meyr focused atp on mts system through the assumption that the supply of finished products is fixed with available stocks and the ongoing production, which will be available in a short period of time. the model of allocation of limited quantities of finished products through customer segmentation, developed by kilger and meyr, is based on profit assessment that is generated by fulfillment of orders in accordance with their priority. new orders could be fulfilled by the allocation of quantities granted to the group of customers they belong to, i.e. if there is no ’free stock’ in that group from the quantities granted to lower-priority groups. such method prevents orders of low-priority customers to be fulfilled prior to orders of high-priority customers, who help in generating higher profit. the atp allocation system is based on defining the priority classes with the goal of maximizing the overall profit of the production company. on the grounds of various researches, according to [9], it was determined that the fcfs system for customers orders bring the best results with limited production capacities, if case the production is realized based on the forecast accuracy. if there are classes defined in accordance with the priority of customers, the quantity awarded to certain class within a cycle, if not allocated, stays booked for the same class in the following cycle. the same author in [10] presents that the provisional allocation of stocks for certain customer classes within a defined period of time could give a significant contribution if the customers demand within the class could be anticipated with guaranteed accuracy. 3 order fulfillment problem definition production companies operating on markets with irregular demand often face the problem of insufficient stock of finished products. until it makes a decision on the expansion of production capacities, a production company has the goal of fulfilling as much orders as possible, only with available production capacities and quantities of finished products. the allocation of finished products to customer orders is realized through the process of allocation within the mts (maketo-stock) production system. the problem of allocation of available products to incoming orders is listed among problems of the allocation of limited resources. in case the incoming customer orders within one cycle do not exceed the available stocks of finished products, the allocation is complete and all orders are fulfilled. in the opposite case, when the sum of overall orders is greater than the quantity of available stock, there is a need to define the way of product allocation, i.e. rules must be introduced to help the allocation of products to incoming customer orders. with the goal of maximizing the effect of allocation of available products, the need for the development of allocation algorithm has been perceived, with which to enable the fulfillment of orders in line with their priority. the fulfillment of orders of high-priority customers contributes to the maintenance of preferred service for those customers who rank high because of their share in incomes and the profit of the production company. the order fulfillment algorithm refers to 786 d. lečić-cvetković, n. atanasov, s. babarogić products of fmcg (fast moving consumer goods) industry, and with minor modifications, it is possible to apply it to the problem of allocation of products in other industries too. 4 algorithm the problem of allocation of limited quantities of finished products to customer orders could be solved by creating an algorithm that systematizes the allocation process. the proposed allocation algorithm tends to maximize the customers service that is expressed by the number of fulfilled orders and the percentage of order fulfillment, all this through the processing of orders in accordance with previously defined groups and partitions of customers. the criterion of dividing customers into groups is based on the consideration of revenue per customer within the company, profit per customer, development potential, service rate per customer, strategic partnership with the customers, etc. with the goal of providing strategic potential for the development of a customer network, customers are classified into partitions that are provided with guaranteed quantity of products for certain groups of customers, which would otherwise be marginalized. the proposed algorithm has polynomial complexity. table 1: variable descriptions variables description ptl total available production in l-iteration (l = 1, ..., r) otl total order in l-iteration (l = 1, ..., r) pk partition (k = 1, ..., p) gj group (j = 1, ..., m) ci customer (i = 1, ..., n) algorithm is applicable only when otl > ptl. in the beginning of the year, or at the beginning of iteration: 1. form the list of customers with parameters (i = 1, ..., n) the list comprises basic data on customers and their business indicators for the previous year, for the last three years, and last five years. 2. define the number of groups (j = 1, ..., m) every identified group has its priority. smaller ordinal number of a group brings higher priority. the recommendation is to form three groups, in spite of the fact that the algorithm functions even if only two groups are present. 3. clustering customers into groups at the beginning of the year, a company disposes of the list of customers, and it revises business results from the previous period for every respective customer, which is actually the base for classification into groups (figure 1a). every customer within the same group is equal with other members of the group when it comes to products’ allocation. clustering (classification) into groups could be done based on results of applying methods such as abc method of prioritizing. ci ∈ gj, for i ∈ {1, ..., n} and j ∈ {1, ..., m} information on which customer belongs to what group are kept in the matrix customer group (mcg), as shown on figure 1b. if a new customer emerges at the very beginning of new iteration, he is been added to the system and attached to some of the existing groups. cn+1 ∈ gj, for j ∈ {1, ..., m} an algorithm for customer order fulfillment in a make-to-stock manufacturing system787 4. define the number of partitions with protective percentage quotes (k = 1, ..., p) partitions are being introduced with an aim to protect small customers with an opportunity to growth in the future. granting a quote to the partition with groups containing small customers will provide a certain quantity of products for small customers who have great potential for development and also for the increase in quantities to be ordered in the future. the protective quote, i.e. the percentage portion of the overall production in l-iteration is defined for every partition, and it will be available to the observed partition. 0 ≤ kpk ≤ 1, for k ∈ {1, ..., p}, p∑ k=1 kpk = 1 in addition, the number of partitions is smaller or equal to the number of groups. the concept of partition will lose sense (purpose) if only one partition has been defined. 5. clustering groups into partitions every defined partition must have at least one group, even though such case counts as if every group has been awarded the protective quote (figure 1a). gj ∈ pk, for j ∈ {1, ..., m} and k ∈ {1, ..., p} information on which group belongs to what partition are kept in the matrix group partition (mgp), as shown on figure 1c. figure 1a: customers, groups, partitions figure 1b: matrix customer group figure 1c: matrix group partition if we mark the customer i demand with oci, then we could say that the total order for products in l-iteration is: otl = n∑ i=1 oci or otl = m∑ j=1 n∑ i=1 oci · mcgij, for l ∈ {1, ..., r} variable apk is then introduced with the goal to keep the amount of products allocated to k-partition in l-iteration: apk = ptl · kpk, ptl = p∑ k=1 apk, k ∈ {1, ..., p} and l ∈ {1, ..., r} where ptl is the total production in l-iteration. table 2: variable descriptions 788 d. lečić-cvetković, n. atanasov, s. babarogić figure 2: algorithm represented as uml 2.0 activity diagram an algorithm for customer order fulfillment in a make-to-stock manufacturing system789 variables description oci order of customer i in l-iteration aci allocated quantity of customer i in l-iteration ncj = n∑ i=1 mcgij number of customers in group j ogj = n∑ i=1 mcgij · oci total order of group j ngk = m∑ j=1 mgpjk number of groups in partition k opk = m∑ j=1 n∑ i=1 oci · mcgij · mgpjk total order of all customers in partition k bl buffer in l-iteration mci memory remembered quantity of unfulfilled part of the order of customer i in iteration l gmtk order number of group in partition k where token is set the diagram on figure 2 shows that the allocation algorithm in every iteration starts from checking whether apk > opk. checking goes from the last partition to the first one, and if this condition has been met, then all allocated surplus is transferred to a joint buffer, whereas the allocated amount of finished products transferred to k-partition now equals the overall demand in given partition (first set bl = bl + (apk − opk), and then assign apk = opk).this situation might happen in partitions that gather customers with small orders in case that higher quote than necessary is given in the beginning. this is a sign that one has to reaccess the analysis of partition of ’small’ customers, and award smaller and more reasonable protective quote (fine tuning). within the algorithm, all amounts transferred to buffer are added to the allocated amount of finished products of the first partition (ap1 = ap1 + bl). one of the most important concepts of the proposed algorithm is group memory token (gmt). it is introduced in order to designate a group of customers whose order has not been fulfilled during an observed iteration. there could be only one group memory token (pointer) in each partition. in the end of one allocation iteration, token stays in a certain group with unfulfilled demand, which gives a priority to that group in the following iteration, so that the customers would get the unfulfilled order in the following iteration as a priority. in order to remember the unfulfilled order of group of customers with gmt, the variable mc (memory of customer) is introduced. we need to stress that mc obtains the value for every customer from the groups 790 d. lečić-cvetković, n. atanasov, s. babarogić that kept token in the observed iteration, and it is used only during the allocation process in the following iteration. formula for calculating the unfulfilled part of an order is: mci = oci ogj · (ogj − apk) · mcgij where mci is remembered quantity of unfulfilled part of an order of i-customer in l-iteration that is being transferred to the following iteration. in case gmt in several iterations stays in the same group of the first partition of important customers, then the necessity of expanding capacities becomes clear. 5 conclusion the goal of this paper was to create an algorithm for solving the problem of allocation of limited stocks to incoming orders. order fulfillment is carried out by letting the allocation algorithm grant stocks in line with the priority of customers, with the goal of providing high level of customer service. the algorithm proposed in this paper provides following: (1) classification in groups will provide the order of allocation with primarily focus to satisfy customers that are important for the company, in accordance with previously defined criteria, (2) application of partitions will help certain groups of lower priority within protected partitions to be involved in allocation so that the low-ranked customers would be at least partially satisfied, which keeps all the customers in the system and sends a useful signal to company’s management saying that there is still unsatisfied demand, and they need to enlarge the production capacities, (3) introduction of gmt allows all customers within a group to be delivered the backorders from the previous cycle, with the extended delivery lead time, with which they improve the overall customer service. the main differences between the allocation algorithm presented in this paper, and the models described in the related work are: (1) this allocation algorithm directly affects the long-term operating results by accomplishing the customer service as the primary goal, unlike other models that focus only on short-term profit generation, and (2) there is a tendency of bounding customers with different priority for a long-term period, i.e. the tendency of keeping the customers within the system. in addition, there are also differences in basic goals of models: the primary goal of advanced algorithm is the maximization of customer service, unlike other systems that are primarily orientated towards profit maximization. further research will be focused on testing and improving algorithm based on real data obtained in other companies and also from different industries. in addition, there are possibilities for further improvement of the allocation algorithm by creating a report system that would support management in making timely decisions on the change in operating strategy. bibliography [1] cederborg o., rudberg m.: customer segmentation and capable-to-promise in a capacity constrained manufacturing environment, 16th international annual euroma conference, göteborg, sweden, june 14-17, 2009. [2] chan f.t., chung s.h.: a modified multi-criterion genetic algorithm for order fulfillment in manufacturing network, proceedings of the 9th asia pacific industrial engineering & management system conference, apiems, indonesia, 2008. an algorithm for customer order fulfillment in a make-to-stock manufacturing system791 [3] chen j.h., lin j., wu y.s.: order promising rolling planning with atp/ctp reallocation mechanism, iems, apiems, vol. 7, no.1, 2008. [4] kaschel h., bernal l.m.s.: importance of flexibility in manufacturing systems, international journal of computers, communications & control, vol. i, no. 2, 2006. [5] lawrence g.: introducing aps: getting production in lock step with customer demand, automotive manufacturing&production, vol. 110, issue 5, 1998. [6] lin j., chen j.h.: enhance order promising with atp allocation planning considering material and capacity constraints, journal of the chinese institute of industrial engineers, vol.22, no.4, 2005. [7] lupse v., dzitac i., dzitac s., manolescu a., manolescu m.-j., crm kernel-based integrated information system for a sme: an object-oriented design, international journal of computers communications and control, issn 1841-9836, suppl. s, 3(s): 375-380, 2008. [8] makatsoris h.c., chang y.s., richards h.d.: design of a distributed order promising system and environment for a globally dispersed supply chain, int. j. computer integrated manufacturing, vol. 17, no. 8, 2004. [9] meyr h.: customer segmentation, allocation planning and order promising in make-to-stock production, or spectrum, vol 31, no 1, 2009. [10] rudberg w., wikner j.: mass customization in terms of the customer order decoupling point, production planning & control, vol. 15, no. 4, 2004. [11] wikner j., rudberg m.: introducing a customer order decoupling zone in logistics decisionmaking, international journal of logistics: research and applications, vol 8, no. 3, 2005. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 125-134 design of a mimo pid robust controller using moments based approach abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou abstract: in this paper we present a new technique for robust mimo controllers synthesis and reduction based on a reference model and moments approach intended to control a mimo thermal system. the reference model allows to specify the performances requirements for the closed loop and improve the controller robustness while the moments tool (frequency and time ones) is used to reduce the controller structure using a non linear optimization. the implementation on the real system associates this methodology of mimo pid controllers synthesis with broïda’s identification technique in order to carry out a auto-tuning procedure [2][11]. keywords: pid control, reference model, moments, optimization, robustness, broïda’s identification technique. 1 introduction the method of moments was introduced in a previous contribution [1] to show how we can treat single-input single-output (siso) control systems. we saw that the moments represent a good tool to obtain a reduced robust controller in order to approximate the closed loop behaviour to a reference model one. the reference model gathers all performances requirements like time response and overshoot. an extension of this method to the multivariable (multi-inputs multi-outputs) systems is presented in this paper; in this case the fundamental idea is to choose a diagonal reference model to make inputs outputs pairing [10] where the diagonal reference transfer functions are chosen using the same method for the siso case. in this paper we present our control methodology for mimo systems with an application to a thermal system. the control of the mimo thermal system is realized with the help of a pid controller using moments based approach and reference model. the aim of this technique is to synthesize a reduced robust controller (pid for example) for the implementation. the identification was realized thanks to broïda’s method which is an elementary technique very used in the industry in order to develop a auto-tuning procedure requiring a minimum intervention of the user. the controller achieving the performances for the worst case model is called ideal controller [10] which will be reduced using the moments based approach to have a pid structure for implementation [4]. the reduced controller must preserve the same performances as the ideal one; this rises from frequency and time moments which represent a good tool for synthesis and analysis [7]. concretely, the reduction procedure is based on a non linear optimization and its initialization is given by the least squares algorithm [8]. the paper is organized as follows: in section 2 we give a complete description of the application; in section 3 we develop our synthesis methodology; in section 4 and 5 we describe the moments theory and the reduction method and we finish this communication by presenting the different results obtained and a conclusion. 2 description the general diagram of the temperature control device is illustrated by fig. 1. copyright © 2006-2008 by ccc publications 126 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou amplification u1 +vcc t1 u2 θ1 θ2 stage amplifying stage amplifying y2y1 t2 figure 1: the general diagram of the system it is composed of a radiator on which we placed two power transistors t1 and t2 controlled by the tensions u1 and u2 which vary between 0 and 10 volts. near these power transistors, which represent the heat source, two temperature sensors (pt 100) are laid out. after adaptation and amplification, we obtain the tensions y1 and y2 (which vary between 0 and 10 volts) proportional to the temperatures θ1 and θ2. the ratio tension-temperature is of 0.02volts/c. 2.1 modelling the aim is to define the model connecting the tensions delivered by the temperature sensors y1 and y2 to the control tensions u1 and u2 applied to the transistors. the conduction of the heat in the radiator, towards the temperature sensors produced by the power transistors is governed by the following diffusion equation: µ ∂ 2θ ∂ x2 = ∂ θ ∂ t (1) where µ is the coefficient of thermal diffusion process. consequently the resulting physical model is of distributed parameters and we preferred to present a black box model adapted to the synthesis of a control law, this model is given from identification. let:   y1 (s) y2 (s)   =   g11 (s) g12 (s) g21 (s) g22 (s)     u1 (s) u2 (s)   (2) where g (s) is the transfer matrix of the system. notice that the system is symmetrical because of the provision of the heat sources and the position of the sensors. indeed, we must obtain: { g11 (s) = g22 (s) g12 (s) = g21 (s) (3) in addition, since the sensors θ1 and θ2 are very close to the sources t1 and t2, the transfers g11 and g22 can be reasonably modelled by a first order system ( k11 1 + τ11s ). on the other hand θ2 is less sensitive to the effect of t1 than that of t2 (so k21 < k11), with a settling time definitely higher. we can thus approach this transfer by an aperiodic nth order system with (n >> 1) or more simply by a first order system with a time delay ( k12e−α12s 1 + τ12s ). design of a mimo pid robust controller using moments based approach 127 2.2 identification several sophisticated identification techniques (minimization of a quadratic cost by least squares or non linear optimization) (ljung [5] and walter [12]) can be used to estimate the parameters of g (s). taking into account the fact that the aim is to synthesize pid controllers (in a auto-tuning objective), we preferred to choose a basic identification method requiring only step tests. our choice thus is broïda’s method which delivers an approached model of the form ( ke−α s 1 + τ s ), so well adapted to the selected modelling [2][11]. let us recall that the coefficient {k, α et τ} are obtained with the help of the following formulas:    ki j = y∞ αi j = 2.8t1 −1.8t2 τi j = 5.5 (t2 −t1) (4) where y∞ is the final value of the system step response, t1 (respectively t2) is the time where the output attains 28% (respectively 40%) of its final value. we made 5 tests which provided: test1 test2 test3 test4 test5 k11 0.1221 0.1221 0.1172 0.1172 0.1318 τ11 577 414 449 451 457 k12 0.0634 0.0636 0.0586 0.0586 0.0684 τ12 910.5 862.95 684.2 683.1 863 α12 7 26.2 59.6 58.9 6 k21 0.083 0.0781 0.0684 0.0684 0.083 τ21 715 654.5 808.5 808.5 715 α21 113 99.8 73.4 73.4 113 k22 0.0977 0.0977 0.0977 0.0928 0.1074 τ22 450 445 447 447 600 the settling times of g11 (s) and g22 (s) are close and equal 33minutes. 2.3 the nominal model the nominal model was obtained by carrying out the average of the 5 tests, thus: gnom (s) =   0.122 470s+1 0.0625e−31.5s 801s+1 0.0762e−94.5s 740s+1 0.0987 478s+1   (5) from the values of the preceding table, we note that the theoretical symmetry is not checked in practice, well that g11 (s) and g22 (s) are close (g12 (s) and g21 (s) respectively), these differences are the consequences of the noises level disturbing the measurements and the non perfect reproducibility of the assembly. 2.4 taking into account of uncertainties identification uncertainties will deteriorate the performances of the control device if they are not taken into account during the synthesis. the table recapitulating the 5 tests shows that two uncertainties types are present: 128 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou • uncertainties on the d.c gains (of type low frequencies). • uncertainties on time-constants and time delays, which causes modelling errors (of type high frequencies). since the transfer matrix g (s) is theoretically symmetrical, we decided to make the synthesis by basing us on a symmetrical worst case model gp (s). using gp (s), we took into account all the uncertainties by raising: • low frequencies uncertainties by taking kmax. • high frequencies uncertainties by introducing a time delay e−δ s (see [1]). remark 1. the worst case model has been chosen to take into account all the identification uncertainties: • low frequencies uncertainties, by choosing the max of the d.c gains. • high frequencies, by introducing time delays in all input-output transfers. thus, we obtain the following worst case model: gp (s) =   0.132e−5s 500s+1 0.085e−125s 800s+1 0.085e−125s 800s+1 0.132e−5s 500s+1   (6) 3 synthesis the control configuration is illustrated by fig. 2 g(s) r e u po y pi c(s) figure 2: unitary feedback configuration c (s) is the controller to implement, g (s) is the plant, r represent the reference inputs, y the outputs to be controlled, u the control inputs, pi and po are the input and output disturbances and e is the tracking error. the synthesis of c (s) is based on the internal model control [6][10], so: c (s) = q (s) (i −g (s) q (s))−1 (7) where q (s) is any stable transfer matrix [3]. design of a mimo pid robust controller using moments based approach 129 3.1 the reference model q (s) is calculated using gp (s) in order to approach the closed loop tyr (s) to a reference model tre f (s), so: tyr (s) = gp (s) q (s) = tre f (s) (8) the reference model gathers all the objectives of the synthesis in terms of stability and performances (i.e inputs-outputs decoupling, settling time... etc). in our case, tre f (s) is given by: tre f (s) =   t2(s)e−δ s d(s) 0 0 t2(s)e −δ s d(s)   (9) where t2 (s) represent the dominant poles to fixe the closed loop dynamic, d (s) represent the auxiliary poles, which reduce the control input energy, confer robustness to the controller by making a sufficient roll-off of tyr (s) and ensure its causality, finally e−δ s represents the singularity of gp (s) which is integrated in tre f (s) to have q (s) stable and realizable. so q (s) is given by: q (s) = gp (s) −1 tre f (s) (10) since the singularities of gp (s) (i.e time delays and rhp zeros) are integrated in the reference model tre f (s), so the stability of q (s) is guaranteed [3]. t2 (s) and d (s) are given by: t2 (s) = ω 2n s2+2ξ ωns+ω 2n d (s) = (1 + η s)n (11) where ωn and ξ , fixe the settling time and the overshoot of the outputs. we can recapitulate our reference model by saying that it imposes a inputs-outputs decoupling and the same dynamics for the two outputs of g (s). 3.2 robustness and the reference model it is well-known that the relative modelling errors ∆r (s) modify the dynamics of the system with a possibility of instability because: sypo (s) = ( i −g (s) q (s) (i + ∆ (s) q (s))−1 ) = snom (s) (i + ∆r (s) tre f (s)) −1 (12) so robustness of stability and performances is guaranteed if: ‖ ∆r (s) tre f (s) ‖∞≤ δ −1sr (13) where δsr, represents stability margin; notice that from (13), we can act on the auxiliary poles of tre f (s) to ensure the robustness [3]. 130 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou 3.3 the ideal controller from (10), we deduce the ideal controller c (s): c (s) = q (s) (i −gp (s) q (s))−1 (14) it is clear that the implementation of c (s) is very hard to do because of time delays; for that we will reduce its structure to get an implementable one which must preserve the same performances of those ensured by the ideal controller. the moments tool, particularity of our approach is used for reduction. 4 the moments let us consider a linear siso system, characterized by its transfer function g (s) analytic in the rhp plan (.i.e re (s) > 0) and let g (t) be its impulse response: g (s) = ∫ ∞ 0 g (t) e−st dt (15) the transfer function is given by the following state space (not necessary minimal) realization: g (s) s = [ a b c d ] = c (si −a)−1 b + d (16) where a ∈ rn×n, b ∈ rn×1,c ∈ r1×n and d ∈ r1×1. 4.1 computing the moments using state space realization using the following equality: (si −a) ( −a−1 −sa−2 −s2a−3 −···− ) = i ⇒ (si −a)−1 = − ∞ ∑ n=0 ( sna−(n+1) ) (17) frequency moments realizing a variable change µ = jω − jω0, equation (15) becomes: g (µ) = ∞ ∑ n=0 (−1)n (µ)n an,ω0 (g) (18) and (16): g (µ) = c (µ i −(− jω0i + a))−1 b + d (19) so, we get: a0,ω0 (g) = −c (− jω0i + a) −1 b + d (20) an,ω0 (g) = (−1) n+1 c (− jω0i + a)−(n+1) b, (n = 1···∞) (21) remark 2. the time moments are giving by remplacing ω0 = 0. both time and frequency moments can be calculated easily using the previous algorithm. thanks to the computation of the moments using state space realization, we can compute moments for mimo systems (multi inputs multi outputs). design of a mimo pid robust controller using moments based approach 131 5 the controller reduction for more details of our model reduction procedure, please refer to [1]. it is interesting to have a reduced structure of the implemented controller (pid for example) [6]. let: θ =   θ 11 (s) ··· θ 1m (s) ... . . . ... θ m1 (s) ··· θ mm (s)   (22) be the matrix representing the controller’s parameters to be calculated. θ i j represents the parameters vector of numerator and denominator of cr,i j (s); i.e the reduced controller between the jth input and the ith output. let us define our cost function j as the 2 norm of the errors between the different moments of the ideal controller and those of the reduced one. j = n ∑ n=0 ||εn||22 = n ∑ n=0 ||an,ω0 (c)−an,ω0 (cr)||22 (23) where an,ω0 (cr) represents n th order moments matrix, which is function of the parameters θ : an,ω0 (cr) = fn (θ ) (24) let: j = n ∑ n=0 ||an,ω0 (c)− fn (θ )||22 (25) the objective is to determine the estimated parameters θ̂ minimizing j around ω0. this frequency ω0 is chosen in order to preserve stability of the system (i.e critical pulsation), (see the generalized nyquist criterion [10]). 5.1 linear optimization the first step consists on imposing the common denominator dr (s) of the reduced controller (for example we can take the auxiliary poles of the reference model dr (s) = d (s)). so only the zeros have to be determined; the function fn (θ ) is linear; thus the minimization of j is obtained by least squares, let: cr (s) = cls (s) (26) be the reduced controller which will be used to initialize the non linear programming algorithm. remark 3. by imposing the poles of the reduced controller, for example a pole with an integral action we define so a pid structure. for example we can take dr (s) = s (1 + η s). 5.2 non linear optimization the fact of imposing the poles of the reduced controller, this will limit its performances and consequently those of the closed loop. so, it is preferable to optimize all the structure (i.e. poles and zeros); the function fn (θ ) is non linear; the estimation of θ is obtained by non linear programming [7]. we use marquardt’s algorithm which is a good combination between rapidity and convergence [8]. the parameters are updated with the help of the following algorithm: θ̂i+1 = θ̂i −{[j ′′ + λii]−1.j ′}θ̂ =θ̂i (27) 132 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou where: ( ∂ j ∂ θ ) = j ′ : gradient vector (28) ( ∂ 2j ∂ θ 2 ) = j ′′ : hessian matrix (29) λi : coefficient to adjust (30) the initialization is given by the least squares solution: θ̂0 = θ̂ls (31) 6 results and comments the controllers synthesis and reduction technique was applied to the thermal system with 2 inputs and 2 outputs. let us recall that this thermal system is characterized by an important open loop settling time (approximately 33 minutes); moreover the elementary modelling used in a disturbed context involves important uncertainties. the objective of the temperature control, in a auto-tuning context, will be double: • reduce considerably the closed loop settling time by using a controller of a simplified structure: pid controller. • guarantee robustness in spite of the simplicity of the controller, the level of uncertainty and the reduction of the settling time. let us specify that the implementation of the pid controllers was ensured thanks to xpc target software of matlab. we used for that a sample time te = 1s. our objective is to accelerate the system reasonably, in a ratio of 6, thus passing from 33mn in open loop to 5mn in closed loop all while maintaining the relative overshoot around 5%; for that, we fixed: ωn = 0.02rd/s ξ = 0.7 the auxiliary poles ensuring the robustness condition (13) are: d (s) = (1 + 3s)3 the pid controller obtained using the synthesis and the reduction procedures described obviously is: cr (s) = [ c11 (s) c12 (s) c21 (s) c22 (s) ] (32) with: c11 (s) = c22 (s) = −3.162s 2+52.81s+0.14 s(1+34.87s) c12 (s) = c21 (s) = −2019e −7s2+4403e−6s−7193e−5 s(1+15.88s) (33) the implementation provides the results illustrated by fig. (3) and fig. (4). design of a mimo pid robust controller using moments based approach 133 0 1000 2000 3000 4000 5000 6000 2.5 2.55 2.6 2.65 time(sec) o u tp u t( v o lt) 0 1000 2000 3000 4000 5000 6000 2.5 2.55 2.6 2.65 time(sec) o u tp u t( v o lt) tref y1 tref y2 figure 3: step responses 0 1000 2000 3000 4000 5000 6000 3 4 5 6 7 8 9 10 time(sec) co ntr ol int pu t(v olt ) u1 u2 figure 4: the control inputs remark 4. we can check that the system’s responses correspond perfectly to those of the reference model. we can also check the perfect decoupling of the system outputs, y2 being insensitive to the reference input applied to y1 and reciprocally. it is checked finally that the control input obtained is completely reasonable, that it is with respect to its initial magnitude or of its insensitivity to the output noise (of considerable level). 7 conclusion we presented in this communication a synthesis and reduction technique of robust controllers to the multivariable control of a thermal system. this methodology is based on a reference model integrating explicitly the desired performances. the experimental results show that the closed loop system verifies well the performances described by the reference model. the moments approach, characteristic of this methodology, allows the reduction of the ideal controller to lead to a pid structure, while guaranteeing the dynamic performances and especially the robustness as testify the experimental results. let us recall finally that this synthesis methodology and reduction was associated with broïda’s identification technique to carry out the auto tuning of multivariable pid controllers. 134 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou bibliography [1] a.bentayeb, n.maamri and j-c.trigeassou "the moments in control: a tool for analysis, reduction and design", international journal of computers, communication and control, vol ii (2007). [2] a.anon "special edition on pid tuning methods". computing and control engineering journal 10(2), (1999). [3] j.c.doyle, b.a.francis and a.tannenbaum "feedback control theory". macmillan, new york (1991). [4] c.e.garcia and m.morari "internal model control: an unifying review and some new results". ind.eng.chem.proc.dec.dev, vol(91.2) (1982). [5] ljung "system identification. theory for the user". prentice hall (1987). [6] m.morari and s.zafiriou "robust process control". prentice hall (1989). [7] n.maamri, a.bentayeb and j-c.trigeassou "design and iterative optimization of reduced robust controllers with equality-constraints" rocond-milan (2003). [8] d.w.marquardt "an algorithm for least-squares estimation of non linear parameters" journal of soc. indust. appl. math v(11-2) (1963). [9] q.g.wang "decoupling control", lecture notes in control and information sciences, springer verlag (2003). [10] s.skogestad and i.postlethwaite "multivariable feedback control", jw (1996). [11] r.toscano "a simple robust pi/pid controller design via numerical optimization approach", journal of process control (15), (2005). [12] e.walter and l.pronzato "identification of parametric models from experimental data". communications and control engineering series. springer (1997). a. bentayeb, n. maamri and j-c. trigeassou university of poitiers laboratoire d’automatique et d’informatique industrielle 40 avenue du recteur pineau 86022 poitiers e-mail: abdelmadjid.bentayeb@gmail.com received: january 16, 2007 abdelmadjid bentayeb was born in 1977, he obtained the phd thesis in automatic control at the university of poitiers in 2006. his current research interests include robust control and model reduction. nezha maamri is lecturer at the unisversity of poitiers, hers current research interests include identification and robust control. jean-claude trigeassou is professor at the university of poitiers, his current research interests include identification and control. int j comput commun, issn 1841-9836 vol.7 (2012), no. 3 (september), pp. 450-458 data consistency in emergency management d. ergu, g. kou, y. peng, f. li, y. shi daji ergu college of electrical and information engineering southwest university for nationalities chengdu, china, 610041 e-mail: ergudaji@163.com gang kou, yi peng , feixiong li school of management and economics university of electronic science and technology of china chengdu, china, 610054 e-mail: kougang@yahoo.com; pengyicd@gmail.com; lifx@uestc.edu.cn yong shi 1. research center on fictitious economy and data sciences chinese academy of sciences, beijing 100190, china, and 2. college of information science & technology university of nebraska at omaha, omaha, ne 68182, usa e-mail: yshi@gucas.ac.cn abstract: timely response is extremely important in emergency management. however, cardinal inconsistent data may exist in a judgment matrix because of the limited expertise, preference conflict as well as the complexity nature of the decision problems. the existing inconsistent data processing models for positive reciprocal matrix either are complicated or dependent on the priority weights, which will delay the decision making process in emergency. in this paper, a geometric mean induced bias matrix (gmibm), which is only based on the original matrix a, is proposed to quickly identify the most inconsistent data in the judgment matrix. the correctness and effectiveness of the proposed model are proved mathematically and illustrated by two numerical examples. the results show that the proposed model not only preserves most of the original information in matrix a, but also is faster than existing methods. keywords: cardinal inconsistency, positive reciprocal matrix, geometric mean induced bias matrix (gmibm), inconsistency identification 1 introduction emergency management is an interdisciplinary field, and is in essence a complex multi-objective optimization problem [1]. multi-criteria decision making (mcdm) methods have therefore been extensively employed to study emergency management, for instance, the ordered weighted averaging (owa) [2], technique for order preference by similarity to ideal solution (topsis) [3], preference ranking organization method for enrichment evaluations (promethee) [4], analytic hierarchy process (ahp) ( [5], [6],and [7]), analytic network process (anp) ( [8], [9]), decision making trial and evaluation laboratory (dematel) [10], fusion approach of mcdm (famcdm) methods [11] etc. among these mcdm methods, ahp and anp are two of the most popular methods for studying emergency management, and usually used to assess the emergency management performance, select the best emergency response alternatives or emergency recovery alternatives and allocate reasonable relief resources etc. copyright c⃝ 2006-2012 by ccc publications data consistency in emergency management 451 in the ahp/anp, the tangible and intangible attributes or criteria are always measured by numerical data through pairwise comparisons, and displayed in a judgment matrix whose numerical data are positive and reciprocal. the data of judgment matrix are usually provided by experts and collected through questionnaire survey [12]. therefore, the data may be inconsistent because of the limited expertise, preference conflict as well as the complexity nature of the decision problems etc ( [13], [14]). for instance, assume there are three emergency response alternatives, a, b, and c, the ith expert thinks that alternative a is preferred to b 2 times, and b is preferred to c 4 times, but alternative a is preferred to c 3 times in stead of 8 times. this is called cardinal inconsistency, and for an inconsistent judgment, the inconsistent data should be identified and adjusted before it is used to make a valid decision. therefore, the inconsistent data processing issue in a judgment matrix has become a hot topic since the introduction of the ahp/anp. currently, there are many methods for identifying and adjusting the inconsistent data, for example, auto-adaptive algorithms in ( [14], [16]), absolute differences methods in ( [17], [18]), perturbation matrix method in [19] etc. however, the existing methods are either too complicated to delay the speed of inconsistent data analysis or are difficult to preserve most of the original information in the judgment matrix, or are extremely dependent on the priority weights. therefore, it is necessary to propose a cardinal inconsistent data analysis model to effectively and simply identify the inconsistent data in order to make a valid decision, which is independent to the priority weights while preserving most of the original information in a judgment matrix. in an attempt to establish such models, the absolute differences of geometric mean matrix in [20], the induced bias matrix model (ibmm) in [21], were proposed to identify the possible inconsistent data in a judgment matrix. in this paper, a geometric mean induced bias matrix (gmibm), which is only based on the original matrix a, is established to identify the most inconsistent data in a judgment matrix. through observing and adjusting the largest bias data in the induced bias matrix, the consistency ratio of the judgment matrix can be quickly improved to make a fast decision for emergence management. besides, a general estimating formula of the mined cardinal inconsistent data of gmibm is provided. the remaining parts of this paper are organized as follows. the next section briefly describes the cardinal inconsistency in a judgment matrix. the theorems, corollaries and identifying processes of gmibm are further proposed and presented in section 3. two numerical examples introduced in [21] are used to test the proposed model in section 4. section 5 concludes the paper. 2 cardinal inconsistency let the judgment matrix be a = [ai j]n×n, where ai j>0 and ai j =1/ a ji for all i, j,and k, if ai j = aikak j holds for all i, jandk, then matrix a is said to be perfectly cardinal consistency, otherwise, it is called cardinal inconsistency. in practice, it is unrealistic to obtain a perfectly cardinal consistency of matrix a, therefore ahp allows a certain level of cardinal inconsistency of the judgment matrix. to measure the consistency of a judgment matrix and determine a certain acceptable level of inconsistency, saaty proposed a consistency index (ci), denoted as: ci = λmax − n n − 1 (1) where λmax is the maximum eigenvalue of matrix a, and n is the order of matrix a. to define a unique consistency test index that does not rely on the order of judgment matrices, the consistency index (ci) was extended and the consistency ratio (cr) method was further proposed by saaty [17], cr = ci ri (2) where ci is the consistency index shown in equation (1) while ri is the average random index based on matrix size, as shown in table 1. 452 d. ergu, g. kou, y. peng, f. li, y. shi table 1 the average random index n 1 2 3 4 5 6 7 8 9 10 ri 0 0 0.52 0.89 1.11 1.25 1.35 1.4 1.45 1.49 if the cr of a judgment matrix is less than or equal to 0.1 (cr≤0.1), indicating the inconsistency is relatively small, the judgment matrix is said to be of acceptable inconsistency. if cr is greater than 0.1 (cr>0.1), the judgment matrix is of unacceptable cardinal inconsistency, and the decision makers are asked to revise their judgments. to effectively identify the cardinal inconsistent data and improve the consistency ratio of a judgment matrix, a geometric mean induced bias matrix (gmibm) by hadarmad product is proposed in the following sections. 3 geometric mean induced bias matrix (gmibm) 3.1 theorem of gmibm to identify the inconsistent data, a geometric mean induced bias matrix (for short gmibm, hereinafter), which is only based on the original judgment matrix and independent to the priority weights, is established to amplify the most inconsistent data in this paper. then, the most inconsistent data can be identified by observing the largest data in the induced bias matrix. the related theorems and corollaries are presented in this section. theorem 1. the geometric mean induced bias matrix (gmibm) c should be a u matrix if judgment matrix a is perfectly consistent, that is, c = ā ◦ at = ( ci j ) = ( n √√ n∏ k=1 aikak j · a ji) = u i f aikak j = ai j (3) where ā = ( āi j ) n×n = ( n √ n∏ k=1 aikak j ) n×n represents an n-by-n geometric mean matrix composed of all geometric mean of aikak j for all i, j and k, u =  1 · · · 1 ... ... ... 1 · · · 1 , n denotes the order of a, at represents the transpose of matrix a. symbol ′ ◦ ′ denotes hadamard product (e.g. c = a ◦ b means ci j = ai jbi j for all i and j ). proof: if the judgment matrix satisfies the perfect consistency condition, namely, aikak j = ai j holds for all i, j and k. since ai j =1/a ji, we have ci j = n √√ n∏ k=1 aikak j · a ji = n √√ n∏ k=1 ai j · a ji = n √ ai jn · a ji = ai ja ji = 1 (4) therefore, all entries in matrix c are ones if the matrix is perfectly consistent, and matrix c is a u matrix, whose entries are ones. � to simply compute the gmibm and easily understand the theorem of gmibm, the theorem 1 is transformed to following theorem. data consistency in emergency management 453 theorem 2. the geometric mean induced bias matrix (gmibm) c should be a u matrix if judgment matrix a is perfectly consistent, that is, c = l × r ◦ at = ( ci j ) = ( n √√ n∏ k=1 aik · n √√ n∏ k=1 ak j · a ji) = u i f aikak j = ai j (5) where l = ( n √ n∏ k=1 aik ) n×1 represents an n-by-one column matrix composed of geometric mean of rows in matrix a, while r = ( n √ n∏ k=1 ak j ) 1×n denotes an one-by-n row matrix composed of geometric mean of columns in matrix a. corollary 3. the geometric mean induced bias matrix (gmibm) c should be as close as possible to a u matrix if judgment matrix a is approximately consistent. corollary 4. there must be some inconsistent data in the geometric mean induced bias matrix (gmibm) c deviating far away from one if the judgment matrix is inconsistent. based on corollary 4, we can identify the most inconsistent data in matrix a by observing the largest data deviating from 1 in the geometric mean induced bias matrix (gmibm) c. details of inconsistency identification processes are presented below. 3.2 inconsistency identification and adjustment processes of gmibm to propose the inconsistency identification and adjustment processes of gmibm based on above theorems and corollaries, the aforementioned n-by-n judgment matrix a = [ai j]n×n is used in the following. the processes of inconsistent data analysis and adjustment of gmibm include two major steps, inconsistency identification and inconsistency adjustment: step i: inconsistency identification step 1: compute a column matrix l and a row matrix r, which are composed of geometric means of rows and columns respectively. l = a =  a11 · · · a1i · · · a1 j · · · a1n ... ... ... ai1 · · · aii · · · ai j · · · ain ... ... a j1 · · · a ji a j j ... a jn an1 · · · ani · · · an j · · · ann  n √ n∏ k=1 a1k n √ n∏ k=1 aik n √ n∏ k=1 a jk n √ n∏ k=1 ank r = n √ n∏ k=1 ak1, n √ n∏ k=1 aki, n √ n∏ k=1 ak j, n √ n∏ k=1 akn . where  l = ( n √ n∏ k=1 a1k, · · · n √ n∏ k=1 aik, · · · n √ n∏ k=1 a jk, · · · n √ n∏ k=1 ank )t r = ( n √ n∏ k=1 ak1, · · · n √ n∏ k=1 aki, · · · n √ n∏ k=1 ak j, · · · n √ n∏ k=1 akn ) (6) 454 d. ergu, g. kou, y. peng, f. li, y. shi step 2: compute geometric mean matrix by formula ā = l × r (7) we can obtain the geometric mean matrix ā. the computing processes are shown below: ā = l × r =  n √ n∏ k=1 a1k ... n √ n∏ k=1 aik ... n √ n∏ k=1 a jk ... n √ n∏ k=1 ank  n×1 × ( n √ n∏ k=1 ak1, · · · n √ n∏ k=1 aki, · · · n √ n∏ k=1 ak j, · · · n √ n∏ k=1 ank ) 1×n =  n √ n∏ k=1 a1kak1 · · · n √ n∏ k=1 a1kaki · · · n √ n∏ k=1 a1kak j · · · n √ n∏ k=1 a1kakn ... · · · ... ... n √ n∏ k=1 aikak1 ... n √ n∏ k=1 aikaki · · · n √ n∏ k=1 aikak j · · · n √ n∏ k=1 aikakn ... ... ... ... n √ n∏ k=1 a jkak1 · · · n √ n∏ k=1 a jkaki · · · n √ n∏ k=1 a jkak j · · · n √ n∏ k=1 a jkakn ... ... ... ... n √ n∏ k=1 ankak1 · · · n √ n∏ k=1 ankaki · · · n √ n∏ k=1 ankak j · · · n √ n∏ k=1 ankakn  n×n . =  n √√ n∏ k=1 aikak j  n×n where l is an n-by-one column matrix, which is composed of all geometric means of rows while r is a one-by-n row matrix r composed of all geometric means of columns, as shown in formula (6) and the two edges of matrix a in step 1. the geometric mean matrix ā can be easily computed by multiplying l to r. step 3: compute geometric mean induced bias matrix (gmibm) c by formula, c = ā ◦ at = ( ci j ) = ( āi j · a ji ) = ( n √√ n∏ k=1 aikak j · a ji) (8) step 4: identify the data with the largest value, denoted as cmaxi j , deviating from 1 in matrix c, then the corresponding ai j is regarded as the most inconsistent data in matrix a. if there are other data, say cmn, cpq, whose values are also deviating far away from 1, then their corresponding data in matrix a, amn, apq, can also be considered as the possible inconsistent elements. once the inconsistent data are data consistency in emergency management 455 identified, the following two steps are proposed to adjust the inconsistent data. step ii: inconsistency adjustment: step 1: estimate the value of identified inconsistent data by formula ãi j =n−2 √√√ n∏ k=1,,i, j aikak j =n−2 √√ āni j a2i j = āi j ( āi j ai j ) 2 n−2 (9) where ãi j denotes the estimated value of the most inconsistent data ai j while āi j is the geometric mean value located at the ith row and the jth column of geometric mean matrix ā. step 2: test the consistency of the revised matrix a by replacing the inconsistent data with the estimated values. to summarize, the processes of dealing with inconsistency by gmibm include two major steps, that is, inconsistency identification and inconsistency adjustment. the first two steps in step i are used to show the specific procedure of computing geometric mean matrix ā. for simplicity, one can directly use the latter two steps as the sub-steps of step i to identify the most inconsistent data. to verify the effectiveness and accuracy of gmibm, in the following, two numerical examples introduced in [20] are used to illustrate the proposed model. 4 illustrative examples to test the effectiveness and correctness of the proposed gmibm, and illustrate the processes of the proposed specific inconsistency identification and adjustment by numerical examples, two numerical examples in [21] are used in this paper. example 1 the example 1 used in [21], which was firstly introduced in [20], is a 4 × 4 inconsistent pair-wise comparison matrix a with cr=0.173>0.1. a =  1 1/9 3 1/5 9 1 5 2 1/3 1/5 1 1/2 5 1/2 2 1  apply the gmibm to this matrix: step i: inconsistency identification step 1: compute the column matrix l and the row matrix r by formula (6), l = ( 0.5081 3.0801 0.4273 1.4953 )t ,r = ( 1.968 0.3247 2.3403 0.6687 ) step 2: compute geometric mean matrix by formula (7), ā = l × r =  1 0.165 1.1892 0.3398 6.0615 1 7.2084 2.0598 0.8409 0.1387 1 0.2857 2.9428 0.4855 3.4996 1  456 d. ergu, g. kou, y. peng, f. li, y. shi step 3: compute geometric mean induced bias matrix (gmibm) c by formula (8) , c = ā◦at =  1 1.4848 0.3964 1.6990 0.6735 1 1.4417 1.0299 2.5227 0.6936 1 0.5715 0.5886 0.9710 1.7498 1  step 4: identify the largest value cmaxi j in matrix c. here c max i j = c max 31 = 2.5227, deviating from 1 in matrix c, then the corresponding element a31 in matrix a is regarded as the most inconsistent element,indicating that it is smaller than its average values. step ii: inconsistency adjustment step 1: estimate the possible proper value of a31 using the estimating formula (9) ã31 = 4−2 √√ ā431 a231 = √ 0.84094 (1/3)2 = 2.1213 ≈ 2 step 2: test the consistency of the revised matrix a by replacing the inconsistent elements a31 and a13 with the estimated values 2 and 1/2. the revised matrix passed with cr=0.0028<0.1. the identified inconsistent data and its estimated value are the same as the ones in [19] and [20], but the proposed method is faster to find the inconsistent element and estimate the values. example 2 the second example in [20] is a 4 × 4 inconsistent pair-wise comparison matrix a with cr=1.0242>0.1. a =  1 2 4 18 1 2 1 2 4 1 4 1 2 1 2 8 14 1 2 1  apply the gmibm to this matrix: step i: inconsistency identification step 1: compute the column matrix r and the row matrix l by formula (6), l = ( 1 1.4142 0.7071 1 )t , r = ( 1 0.7071 1.4142 1 ) step 2: compute geometric mean matrix by formula (7), ā = l × r =  1 0.7071 1.4142 1 1.4142 1 2 1.4142 0.7071 0.5 1 0.7071 1 0.7071 1.4142 1  data consistency in emergency management 457 step 3: compute geometric mean induced bias matrix (gmibm) c by formula (8), c = ā◦at =  1 0.3536 0.3536 8 2.2828 1 1 0.3536 2.2828 1 1 0.3536 0.125 2.8284 2.8284 1  step 4: identify the largest value cmaxi j in matrix c. here c max i j = c max 14 = 8, deviating from 1 in matrix c, then the corresponding element a14 in matrix a is regarded as the most inconsistent element, indicating that it is smaller than its average values. step ii: inconsistency adjustment step 1: estimate the possible proper value of a14 using the estimating formula (9), ã14 = ā14 ( ā14 a14 ) 2 4−2 = 1 · ( 1 1/8 ) = 8 step 2: test the consistency of the revised matrix a by replacing the inconsistent elements a14 and a41with the estimated values 8 and 1/8. the revised matrix passed with cr=0<0.1. the identified inconsistent data and the estimated value are the same as the ones in [20], but the proposed method is faster to find the inconsistent data and estimate the values. 5 conclusions in this paper, we proposed a geometric mean induced bias matrix (gmibm), which is only based on the original matrix and independent to the way of deriving the priority weights, to identify the cardinal inconsistent data in the judgment matrix. the inconsistent data identification process includes two major steps, namely, inconsistency identification and inconsistency adjustment. the inconsistent data can be easily and quickly identified by observing the data with the largest value(s) deviating from 1 in the induced bias matrix c. besides, the identified data can be estimated by the estimated formula. two examples are used to illustrate the proposed model. the results show that the proposed model is easier and faster to identify and adjust the inconsistent data than existing models. acknowledgments this research has been partially supported by grants from academic degree programs construction at southwest university for nationalities (#2012xwd-s1201), and grants from the national natural science foundation of china (#70901015 and #70921061), the fundamental research funds for the central universities and program for new century excellent talents in university (ncet-10-0293). no additional external funding received for this study. the funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. bibliography [1] tufekci, s., wallace, w.a, the emerging area of emergency management and engineering,ieee transactions on engineering management, 1998, 45(2):103-105, 1998. [2] shan, l., zhao, z.p, evaluation on emergency management system in supply chain based on trapezoidal fuzzy order weighted average (fowa) operator, applied mechanics and materials,3435:1170-1174, 2010. 458 d. ergu, g. kou, y. peng, f. li, y. shi [3] chen, y., li, k., xu, h.y., xu, h.y, a dea-topsis method for multiple criteria decision analysis in emergency management,journal of systems science and systems engineering, 18(4):489-507, 2009. [4] zhang, k., kluck, c., achari, g, a comparative approach for ranking contaminated sites based on the risk assessment paradigm using fuzzy promethee, environmental management, 44(5):952967, 2009. [5] tie, y.b. tang, c, zhou, c.h. the application of ahp to emergency response capability assessment in urban disaster, journal of geological hazards and environment preservation,16(4):433-437, 2005. [6] ergu, d., kou, g., peng, y., shi, y., shi, y, the analytic hierarchy process: task scheduling and resource allocation in cloud computing environment,journal of supercomputing, doi: 10.1007/s11227-011-0625-1, 2011. [7] wu, w.; kou, g.; peng, y.; ergu, d., improved ahp-group decision making for investment strategy selection, technological and economic development of economy, 18(2), 2012. doi: 10.3846/20294913.2012.680520 [8] ergu, d., kou, g., shi, y., shi, y., analytic network process in risk assessment and decision analysis, computers & operations research, 2011. doi: 10.1016/j.cor.2011.03.005. [9] levy j.k., taji k., group decision support for hazards planning and emergency management: a group analytic network process (ganp) approach, mathematical and computer modelling,46(78): 906-917, 2007. [10] zhou q., huang w., zhang y., identifying critical success factors in emergency management using a fuzzy dematel method, safety science, 49(2):243-252, 2011. [11] peng, y., kou, g., wang, g., and shi, y.,famcdm: a fusion approach of mcdm methods to rank multiclass classification algorithms, omega, 39(6): 677-689, 2011, doi:10.1016/j.omega.2011.01.009 [12] ergu, d., kou, g., questionnaire design improvement and missing item scores estimation for rapid and efficient decision making, annals of operations research, doi: 10.1007/s10479-0110922-3, 2011. [13] filip,f.g., d.a. donciulescu, cr.i. filip.,towards intelligent real-time decision support systems for industrial milieu,studies in informatics and control , 11 (4):303-311, 2001. [14] filip f.g., decision support and control for large-scale complex systems, annual reviews in control, 32(1):61-70,2008. [15] xu.z, wei.c ., a consistency improving method in the analytic hierarchy process, european journal of operational research, 116:443–449, 1999. [16] cao, d., leung, l.c., law, j.s., modifying inconsistent comparison matrix in analytic hierarchy process: a heuristic approach, decision support systems ,44:944–953, 2008. [17] saaty, t.l., the analytical hierarchy process, new york: mcgraw-hill, 1980. [18] saaty, t.l., how to make a decision: the analytic hierarchy process, interfaces, 24:19-43, 1994. [19] saaty, t.l., decision-making with the ahp: why is the principal eigenvector necessary, european journal of operational research, 145(1): 85-91, 2003. [20] yang, y.q., study on adjustment method for the inconsistency of the judgment matrix in ahp, operations research and management science, 8(3):12-16,1999 (in chinese). [21] ergu, d., kou, g., peng, y., shi, y., a simple method to improve the consistency ratio of the pairwise comparison matrix in anp, european journal of operational research, 213(1):246–259, 2011. international journal of computers, communications & control vol. i (2006), no. 2, pp. 41-51 a new technique for texture classification using markov random fields mauricio gomez, renato a. salinas abstract: this paper proposes, applies and evaluates a new technique for texture classification in digital images. the work describes, as far as possible in a quantitative way, the concept of texture in digital images. furthermore, we developed an innovative model that allows classifying and characterizing texture in digital images, to be used as a useful tool in noninvasive inspection of visual surfaces. the proposed methodology extracts the statistical order from an image of texture. the extraction of the high statistical order has been made using as a tool markov random fields. the backpropagation neural net is used for designing a classification module that will serve to test the performance of the configuration histograms, which are based on the statistical order. furthermore, the research suggests the evaluation of the proposed technique from a qualitative perspective. keywords: texture, backpropagation, configuration histograms, classification, markov random fields 1 introduction digital image processing is a current subject of research that has being developed for a long time. of all the invested efforts, multitude of applications have aroused in quite diverse fields such as industrial, medical, spatial, etc. where very different tasks are made, such as: codification, edge detection, color processing, etc. we are therefore, in front of a subject in constant growth and expansion, that it is giving rise to a high number of projects and publications. one of the characteristics that are almost always present in an image is the texture, which generally can be associated to different elements from the scene. in order to be able to apply the concept of texture to the digital analysis of images a quantitative characterization of the texture is required. nevertheless, it does not exist a precise definition nor a mathematical expression for the quantitative description of this property. for the analysis of the texture, there exist three widely used formulations in image processing, they are: statistical [1], structural and spectral [2]. the statistical formulation indicates if an image is smooth, rustic, granulated, etc. [1]. the structural technique, on the other hand, indicates the primitive features that exist in the image, such as regularity of parallel lines; and the spectral technique is based on the energy properties and it is used mainly to detect global regularity in an image, indicating small peaks of high energy in its spectrum [2]. these techniques can used separately or jointly to detect different textures. the detection of textures has wide spectra of applications, mainly in the following areas: • medicine: in several types of images (x-rays, ultrasound, magnetic resonance, etc.); the properties of the texture are important for the diagnosis. cancer frequently is characterized by analysis of texture in different types of medical images; also techniques of texture have been applied satisfactorily for the detection of abnormalities in mammographic images [3]. • remote sensors: numerous formulations for recognition of textures in remote sensors have been proposed. their applications include: land classification, cloud classification, recognitions of seismic patterns, etc. copyright c© 2006 by ccc publications 42 mauricio gomez, renato a. salinas • industrial inspection: in industrial processes, the detection of texture in defective manufactured products or natural materials is of crucial importance. the manual inspection frequently is tedious and laborious, for that reason, the automation is very useful [4]. however, none of these classic descriptions leads to a quantitative measurement universally accepted of texture. due to this difficulty, research in this field continues being interesting until a method be obtained that is satisfactory for most of the applications. this research is an attempt to describe in a quantitative way, the concept of texture in digitized images. furthermore, it develops an innovative model that allows to classify and to characterize textures in digitized images, and it can be used as a useful tool in noninvasive visual inspection. 2 models of the texture in the image processing literature, texture is often defined as the spatial interaction between the values of pixels. that is to say, the texture analysis attempts capturing its visual characteristics in an analytical way, in order to be able to model mathematically those spatial interactions. modeling successfully the visual characteristics, we will be able to associate and to discriminate different textures analytically. this type of analysis will require of a number and type of textures previously known. this model only needs to capture sufficient textural characteristics on a training set to classify the texture, however, the procedure is best adapted for textures that belong to the training set. of these models of understanding of texture, there are four of them that stand out in the literature of digital image processing. statistical models of texture: it is based on a set of features to represent the characteristics of the texture of an image. those features are contrast, correlation, entropy, etc. they are usually derived from “measurement of the gray level of the image”, “it differentiates from the values of gray” or “cooccurrence matrix” [1]. the characteristics are selected in heuristic form; nevertheless, an image similar to the analyzed one cannot be recreated using some measurement of the set of features. structural models of the texture: some textures can be seen as two-dimensional patterns, composed of a set of primitives or sub-patterns, which are organized according to a certain rule of positioning. examples of such textures are: brick walls and mosaics; the primitives used are areas of constant gray level, lines, curves and polygons. the correct identification of those primitives is quite difficult. however, if the textures primitives are identified completely, then it is possible to recreate the texture from the primitives. a work using a structural model is indicated in [4]. models of signal processing for the texture: psychological researchers have given evidence that the human brain analyzes the frequency of the images. the texture is specially fit for this type of analysis due to its properties. most of the techniques try to process certain characteristics from filtered images, which are used in tasks of classification and segmentation. among the methods we can mention: filters in the spatial domain, fourier analysis, wavelets and gabor filters. works using this type of formulation are given in [5]. stochastics models of the texture: a texture is assumed to be the realization of a stochastic process, which is governed by some parameters. the analysis is executed, defining a model and considering the parameters. this way, the stochastic processes can be reproduced from the model and associated to the parameters. the estimation of the parameters can serve to classify and to segment textures. this type of model offers a good possibility to recreate realistic examples of natural textures. stochastic formulation of the texture is used in [6]. a new technique for texture classification using markov random fields 43 3 our model of texture as seen previously, there are several problems associated with modeling texture. a key factor in our model of texture analysis is that it be able to distinguish between different textures. conventional techniques have been based on prior knowledge of the number and types of textures that are desired to analyze. in our model we shall use the same philosophy of analysis. therefore, we need to construct a model that can take a texture and capture the totality of the characteristics that distinguish that group of textures. but, in which way we can capture the real characteristics that distinguish a group of textures? and, which will be our approach in the direction of constructing such characteristics? we believe that an understanding of the statistical order applied to images of digitized textures will allow us to capture the real characteristics that distinguish natural textures. we know that the statistical understanding of the texture was proposed by julesz as early as 1962. the statistical order in the understanding of the texture, applied to digital processing of images has been used in [1], where second order statistics are used to define 14 types of textural features from the cooccurrence matrix. in the texture models that use the auto-models and multilevel logistic models also use second order statistics; nevertheless, they have not provided a base of understanding applicable to natural textures, although in [7] modest results were reached using a gaussian model of markov random field that use precisely second order statistics. models that have managed to recreate natural textures using several multiresolution filters do not use third or higher statistical orders, and even more, they become indefinite (ill-defined) if the election of the filters is globally optimal for all the analyzed textures. julesz in 1962 had already indicated the existence of textural information in the high statistical order. in such a way, starting from the knowledge already generated and using the approach of the human visual perception proposed by julesz, is that we have raised our hypothesis applied to textures in digitized images, which establishes that to model textures, models of different statistical orders are required and for it we have chosen the markov random fields as the basis of our model of texture due to its flexibility in defining the statistical dimension and the order. 4 markov random fields the theory of the markov random fields (mrf) provides suitable tools for us to model context dependent entities such as pixels or other characteristics of spatial correlation [8], [9]. markov random fields are defined with respect to a system of neighborhoods. the mathematical interpretation of the model is defined with respect to the corresponding set of cliques. in this research, a systematic method for the total extraction of the set of local cliques has been used from any system of neighborhood in which the markov random field can be defined. the fundamental property of a mrf is that given a point j on lattice, the probability of that point, given the values of all the other points of the lattice, is the same as the probability of that point j, given only the values of the neighboring points to j [8, 9]. in other words, the mrfs are characterized by a conditional probability function defined with respect to a system of neighborhoods. we denote a set of sites on a lattice by s and the system of vicinities on s as g = {gs, s ∈ s}, where g is the set of neighbors for s so that gs gs ⊂ s, s /∈ gs. given the variable xs in site s with valuexs the function of conditional probability of a markov random field with its respective system of vicinity g is defined by the theorem of hammersley and clifford [9] as: p(xs = xs|xr = xr, r ∈ gs) = 1 zs exp{−∑ c vc(x)} (1) where zs is a constant and v c is a potential function defined on clique c. the sum is over all cliques in the local set of cliques cs. 44 mauricio gomez, renato a. salinas 1 2 0 3 4 1 2 3 4 0 5 6 7 8 1 2 3 4 5 6 0 7 8 9 10 11 12 figure 1: three different neighborhoods. level 10 ? ? ? ? ? ? ? ? ? level 21 2 3 4 5 6 7 8 ? ? ? ? ? ? ? r r j r r level 32 4 3 4 5 5 6 7 7 8 7 8 ? ? ? ? level 44 5 7 8 figure 2: tree diagram for the 3x3 neighborhood. the theorem of hammersley and clifford, indicates that for a system of neighborhoods is necessary that s ∈ gr ⇐⇒ r ∈ gs. three different neighborhoods are shown in figure 1. given a system of neighborhoods g, a clique is a set c ⊆ s so that s, r ∈ c, s 6= r, then s ∈ gr . that is, all the pairs of different sites in a clique are neighbors. in such a way that the local set of cliques for site s is defined as: cs = {c ⊆ s : s ∈ c} (2) the method used for the extraction of the local set of cliques from a system of neighborhoods of a mrf, is based on a structure of a tree diagram [10]. the root of the tree represents only a site, whereas the branches in the first level represent all the pairs of connections between the site and each one of the components of the neighborhoods. the other branches of the highest levels represent connections of high order that form more complex cliques . each level in the tree diagram will be represented by a node, which is indicated by a number within the neighborhood previously defined. for example, the tree diagram for the neighborhood of the figure 1.b is shown in figure 2. 5 characterization of texture using order statistics in order to characterize the texture of a digitized image, we will use a vector called of directional homogeneity [10], which considers the relation between the pixel corresponding to a site s and all the remaining pixels of neighborhood gs. the relation to be established between the site and the other pixels of the neighborhood will depend on the type of clique and the statistical order used. figure 1 shows different types from neighborhood with site s. let us suppose that x is a random field of the class described in [8, 9], with a space of discrete range z = {zk, k = 1, ..., m}. let us also suppose that we have an instance x of this one random field that a new technique for texture classification using markov random fields 45 v1 u2 v2 u1 s u3 v4 u4 v3 figure 3: site s and its neighborhood. can be used for the estimation of parameters of the distribution. figure 3 shows a site (i, j) and its system of neighborhood with the notation employed. furthermore, we define as homogeneity function the function i such that: i(z1, ..., zk) = {−1, if z1 = z2 = ... = zk; 1, otherwise (3) this homogeneity function, for the case of cliques of first order will be defined as: i(s) = {−1 if s = zm; 0, otherwise (4) using the terms defined until now, we can express the potential functions of a gibbs distribution, v (s, e, θ ) = φ (s, e)t θ (5) where is the vector of parameters and the vector that we will call of directional homogeneity. for example, for the neighborhood of figure 3 the component of the vector , using the tree of cliques (see figure 2) is defined as: φ3 =    (i(s, u2, v2) + i(s, u4, u3) + i(s, u1, v4)), (i(s, u4, v3) + i(s, u2, u3) + i(s, u1, v1)), (i(s, u2, v1) + i(s, u1, u4) + i(s, u3, v3)), (i(s, u1, u2) + i(s, u4, v4) + i(s, u3, v2))    (6) the set of components φk of vector φ represents the different statistical order extracted from the image, where k is the statistical order with k ∈ {1, 2, 3, 4} for a neighborhood of second order like the one shown in figure 3. 6 direct measurement of the statistical order this section presents our proposal to characterize digitized images of texture that makes use of the properties of vector φ in each point of the digitized image. taking the expressions 3, 4and 5 for a second order neighborhood (figure 3) and applying them to the calculation of the components of vector φ , we see that the values that can take components are the following: φ1 ∈ {0, 1} (7) φ2 ∈ {−2, 0, 2} (8) φ3 ∈ {−3,−1, 1, 3} (9) φ4 ∈ {−1, 1} (10) of the possible values that can take different components φk , we establish equivalence between the value and its respective binary, ternary or tetranary value, as corresponds. table 1 illustrates some examples of equivalences. 46 mauricio gomez, renato a. salinas table 1: equivalence between the value and ternary number. value ternary number -2 0 0 1 2 2 figure 4: brodatz textures used in our experiments. top row: d22, d103, d105 and d79; bottom row: d76, d37, d5 and d28. now, our interest is only in the values that take the components of vector φ , that is why we will work with a decimal number, instead of considering its vector array. this way, given a digitized image of texture and applying the different statistical orders through the different cliques used, we will obtain histograms of frequency versus directionality, which will be different and particular for each of the analyzed textures. 7 classification of textures using histograms of configurations the process of texture classification will be based on the histograms of configurations proposed in the previous section. in the present work we have used a set of 8 classes of textures that have been obtained from the album of textures of brodatz [11]. each image has a dimension of 640x640 with 256 gray levels (8 bits/pixel). the images of textures used are shown in figure 4. for each of these images, 32 sub-images of 64x64 pixels have been extracted. for each sub-image, the histogram of configurations has been computed. in figures 6, 7 and 8, can be seen some of those histograms. the form in which the 32 sub-images have been extracted is explained in a scheme (figure 5) that represents the 32 sub-images taken from one of the images shown in figure 4. the white squares represent the 32 sub-images and the dark background represents the greater image of the texture (figure 5). images with an asterisk have been taken to construct a characteristic vector, which will be used to train the a new technique for texture classification using markov random fields 47 figure 5: layout employed to select the training and validation subimages. each cell represents a subimage, and every cell containing an asterisk is used for training. figure 6: texture d22 and its corresponding configuration histogram. classification module. this procedure has been performed with the eight images of textures shown in figure 4. the sub-images without asterisk in figure 5 are used to test the performance of the texture classification module. the architecture that has been developed for classification of the texture consists of four basic blocks (see figure 9): a) extraction of characteristic vector. the purpose of this block is to construct a vector made of the frequencies of the histogram of configurations used; b) classification: the objective of this block is to classify the different characteristic vectors, that is to say, the information contained in the digitized input image (texture). for this block it has been proposed using a backpropagation (bp) neural network; c) decision: this block makes the final decision from data generated by the classification block; d) data base: it stores parameters and models to control adaptively the operation of the various blocks. once determined the configuration histograms for different statistical orders for the 32 sub images and for each texture category, each configuration histogram is evaluated with respect to performance. 48 mauricio gomez, renato a. salinas figure 7: texture d103 and its corresponding configuration histogram. figure 8: texture d105 and its corresponding configuration histogram. a new technique for texture classification using markov random fields 49 extraction of characteristic vector classification decision 6 data base figure 9: block diagram of the proposed system. table 2: proposed binary codes for the seven output nodes. texture 1st 2nd 3rd 4th 5th 6th 7th d22 0 0 0 0 0 0 0 d5 0 0 0 0 0 0 1 d79 0 0 0 0 0 1 0 d76 0 0 0 0 1 0 0 d28 0 0 0 1 0 0 0 d37 0 0 1 0 0 0 0 d105 0 1 0 0 0 0 0 d103 1 0 0 0 0 0 0 the classification module, is built using a bp neural net that is trained with 16 sub images and validated with the remaining 16 unused sub images. a bp neural net is trained with a predefined set of input-output pairs. each input pattern (vector) is applied to the input layer, and it propagates through the successive layers until it generates a given output. this current output is compared against the target output to obtain the so called error vector. these errors are back propagated, beginning at the output layer and then propagated to the hidden layers until the input layer is reached. based upon an error minimization procedure, the connection weights of each neuron are modified, in such a way as to reduce the final error the next time the same input pattern be presented to the network. for this research, a bp neural net with 3 layers has been used. the number of nodes of the input layer is the same as the number of components of the characteristic vector. for the hidden layer, from 12 to 16 nodes have been used, and finally, for the output layer, 7 neurons with proper codification have been employed. table 2 shows the proposed code for the seven output nodes. the bp neural net has been programmed and trained using matlab r©. in particular, two algorithms have been evaluated for weight modification: gradient descent (traingd) and levenberg-marquardt (trainlm). 50 mauricio gomez, renato a. salinas table 3: results using a 3x3 neighborhood and second order histograms. texture d22 d103 d105 d79 d76 d37 d5 d28 total d22 16 d103 14 d105 2 11 2 1 d79 3 12 1 d76 2 13 2 2 d37 3 16 d5 1 11 3 d28 1 2 10 % 100 87.5 68.8 75 81.3 100 68.8 62.5 80.47 table 4: results using a 5x5 neighborhood and third order histograms. texture d22 d103 d105 d79 d76 d37 d5 d28 total d22 16 1 d103 14 d105 1 13 1 d79 12 d76 2 13 1 d37 3 16 d5 1 2 13 1 d28 1 3 14 % 100 87.5 81.3 75 81.3 100 81.3 87.5 86.72 8 experimental results using histograms of configurations table 3 shows the classification results obtained using a 3x3 neighborhood and histograms of configurations of second order statistics. in this case the classification module was built with 16 hidden layer neurons, and trained for 500 epochs. later on, the performance was evaluated with 5x5 neighborhoods and third order histograms. table 4 shows the results of this experiment. from the above results, we can confirm that the histograms of configurations are sufficiently representative of the textures analyzed using different statistical orders. furthermore, we achieve a classification rate of 86.72% while employing third statistical order. 9 summary and conclusions a new texture classification method has been developed, based on the extraction of the statistical order from a digitized texture image. this later operation has been performed using the set of local cliques from a neighborhood. the use of histograms of configurations in the process of texture classification has been quite successful, achieving a classification rate of around 87%. the decision of employing a bp neural network was also adequate for the classification. best results a new technique for texture classification using markov random fields 51 were reached when training the neural net with the levenberg-marquardt method. the proposed classification architecture requires of just a few features, thus achieving a reduction in training time and smaller computational efforts during the classification stage. the work developed so far constitutes the initial stage of a series of applications and works related to texture and non-destructive visual inspection of materials. references [1] haralick r., shanmugam k. and dinstein i., textural features for image classification, ieee trans. on systems, man, and cybernetics, vol. smc-3, no. 6, pp. 610-621, 1973. [2] hsin h., texture segmentation using modulated wavelet transform, ieee trans. on image processing, vol 8. no. 7, 2000. [3] hernández l., torrealba v. and reigosa a., clasificación automática del carcinoma de la mama, mediante un sistema de reconocimiento basado en redes neuronales, memorias ii congreso latinoamericano de ingeniería biomédica, la habana, cuba, 2001. [4] mery d., da silva r., calôva l. and rebello j., detección de fallas en piezas fundidas usando metodología de reconocimiento de patrones, 3rd panamerican conference for nondestructive testing, rio de janeiro, brazil, 2003. [5] bader d., jájá j. and chellapa r., scalable data parallel algorithms for texture synthesis using gibbs ramdon fields, ieee transactions on image processing, vol. 4 no. 10 , pp. 1456-1460, 1995. [6] pun c. and lee m., rotation invariant texture classification using a two stage wavelet packet features approach, iee proc. vis. image signal process, vol. no148, no6, pp 422-428, 2001. [7] manjunath b., simchony t. and chellappa r., stochastic and deterministic networks for texture segmentation, ieee transactions on acoustics speech and signal processing, vol. no6, pp. 10391047, 1990. [8] li s., modeling image analysis problems using markov random fields, handbook of statistics, vol. no 20, 2000. [9] li s., markov random fields models in computer vision, proceedings of ieee computer society conference on computer vision and pattern recognition, pp 866-869, 1994. [10] gómez m., modelación y clasificación de texturas utilizando campos aleatorios de markov, master thesis, electrical engineering, universidad de santiago de chile, santiago, chile, 2004. [11] brodatz p., textures. new york: dover, 1966. renato salinas, mauricio gomez universidad de santiago de chile electrical engineering department ave. ecuador 3519, santiago, chile e-mail: rsalinas@lauca.usach.cl, mauriciogomez@esfera.cl int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 101-112 an optimal task scheduling algorithm in wireless sensor networks l. dai, y. chang, z. shen liang dai, yilin chang, zhong shen state key laboratory of integrated service networks xidian university xi’an 710071, china e-mail: ldai1981@gmail.com, ylchang@xidian.edu.cn, zhshen@mail.xidian.edu.cn abstract: sensing tasks should be allocated and processed among sensor nodes in minimum times so that users can draw useful conclusions through analyzing sensed data. furthermore, finishing sensing task faster will benefit energy saving, which is critical in system design of wireless sensor networks. to minimize the execution time (makespan) of a given task, an optimal task scheduling algorithm (otsa-wsn) in a clustered wireless sensor network is proposed based on divisible load theory. the algorithm consists of two phases: intra-cluster task scheduling and inter-cluster task scheduling. intra-cluster task scheduling deals with allocating different fractions of sensing tasks among sensor nodes in each cluster; inter-cluster task scheduling involves the assignment of sensing tasks among all clusters in multiple rounds to improve overlap of communication with computation. otsa-wsn builds from eliminating transmission collisions and idle gaps between two successive data transmissions. by removing performance degradation caused by communication interference and idle, the reduced finish time and improved network resource utilization can be achieved. with the proposed algorithm, the optimal number of rounds and the most reasonable load allocation ratio on each node could be derived. finally, simulation results are presented to demonstrate the impacts of different network parameters such as the number of clusters, computation/communication latency, and measurement/communication speed, on the number of rounds, makespan and energy consumption. keywords: wireless sensor networks; divisible load theory; multi-round task scheduling. 1 introduction & motivation owing to the wireless sensor network node with limited energy, the task should be completed within the shortest possible amount of time. divisible load theory [1] provides an effective solution to wireless sensor networks for task scheduling [2-5]. different from other heuristic solutions of task scheduling problem in wireless sensor networks [6, 7], this scheme can get not only the optimal solution, but also the analytic solution, thus ensuring the consistency of the results of scheduling. divisible load theory has been intensively studied in the past decades. it is mainly concerned with obtaining an optimal partitioning and scheduling strategy for a given task such that it can be processed in the shortest amount of time. divisible load scheduling algorithm can be divided into single-round scheduling algorithms [2-5] and multi-round scheduling algorithms [8, 9]. single-round scheduling algorithm is relatively simple, but its computation and communication overlap are rather poor, and the extra overhead is relatively large. single-round copyright c⃝ 2006-2011 by ccc publications 102 l. dai, y. chang, z. shen scheduling algorithms were applied to wireless sensor networks in [2-5]. although the authors derived closed-form solutions to obtain the optimal finish time, the network topology discussed in those papers is single-level tree structure. while in wireless sensor networks, as compared with the single-level tree structure, clustered structure (multi-level tree structure) has a great of advantages [10]. multi-round scheduling algorithm has the characteristics of better computation and communication overlap, thus properly reducing the scheduling overhead. however, it is more difficult to analyze, so fewer results of multi-round scheduling algorithm are available and the existing multi-round scheduling algorithms are designed based on grid computing environments. therefore, we present a multi-round task scheduling algorithm (otsa-wsn) in clustered wireless sensor networks. the goal of this algorithm is to minimize the overall execution time (hereafter called makespan) and fully utilize network resources, by finding an optimal strategy of splitting the original tasks received by sink into a number of sub-tasks as well as distributing these sub-tasks to the clusters in the right order. 2 optimal scheduling algorithm wireless sensor networks construct clusters several times in its life cycle. each cluster will have a set-up phase and a steady-state phase[10]. we discuss our multi-round task scheduling algorithm in a steady-phase phase. the original tasks received by sink are divided into two stages: inter-cluster task scheduling and intra-cluster task scheduling. first, inter-cluster task scheduling partitions the entire tasks into each cluster, and then the sub-tasks in a cluster is assigned to each intra-cluster sensor node by intra-cluster task scheduling. to improve overlap of communication with computation, inter-cluster task scheduling assigned sensing tasks among all clusters in multiple rounds. according to divisible load theory, to remove performance degradation caused by communications interference, sink sends each round’s tasks to cluster heads sequentially. after each cluster finishing its tasks and fusing the data, the cluster heads also send this round’s results to sink sequentially. that in every moment only allows sink node sends sub-tasks to a cluster head, or a cluster head return fusion data to the sink. 2.1 intra-cluster task scheduling in order to ensure that the tasks are processed orderly, sink allocates the tasks to each cluster according to the task-processing rate of each cluster, which guarantees that the task execution time of all clusters in each round remains the same. definition: the task-processing rate of a cluster is the average rate the cluster takes to complete the intra-cluster tasks, that is the number of tasks dealt (measurement and reporting data) per unit of time. assuming there are k nodes in a cluster, according to divisible load theory, the cluster’s task-processing rate is as follows: s = (1 + k∑ i=2 i∏ j=2 hj)/(1/s1 + 1/b1) (1) where hi = (1/si−1)/(1/si + 1/bi), i = 2, · · ·, k, where si is node i ’s measuring rate, in this case, the number of tasks completed per unit of time, bi states node i ’s transmitting rate to cluster head, in this case, the number of tasks transmitted per unit of time. an optimal task scheduling algorithm in wireless sensor networks 103 measurement data reporting n1 n2 1 1/ sα 2 2/ sα 2 2/bα 3 3/bα 1 1/bα 3 3/ sα / k k bα/ k k sα t n3 nk figure 1: timing diagram for in-cluster task-processing proof: αi is defined as the fraction of sensing task assigned to node ni by the cluster head. it is assumed that every node will be assigned non-zero task, i.e., 0 < αi < 1, and the task for all nodes in this cluster sums to 1. by definition we can see: k∑ i=1 αi = 1 (2) so, the time for node ni measuring its tasks and reporting results to cluster head are αi/si and αi/bi, respectively. one cluster head and a set of sensor nodes constitute a cluster where each node is able to communicate with the cluster head directly. sensor nodes measure data from surroundings related to the given task, and then report these data to the cluster head. to complete certain amount of sensor readings in minimum finishing time, the sensing task should be allocated to each sensor node and scheduled to avoid transmission conflicts and idle time on the cluster head. fig.1 illustrates the timing diagram for a set of sensor nodes, indexed from n1 to nk, in one cluster. from fig.1, it can be observed that there is no time gap between every two successive nodes because the divisible workload can be transferred in the cluster. all sensor nodes start to measure data at the same time. once the previous node finishes transmitting data, the other one completes its measuring task and starts to report its data. as a result, the proposed timing diagram minimizes the finish time by scheduling the measuring time and reporting time of each senor node. moreover, since the intra-cluster scheduling tries to avoid the transmission conflicts at the cluster head, energy spent on retransmission are conserved. the working time of a sensor node can be divided into two parts: measuring time and reporting time. in fig.1, one can set up the following corresponding recursive load distribution equations: αi−1/si−1 = αi/si + αi/bi, i = 2, 3, ...k (3) rewriting the above set of equations as: αi = hiαi−1 (4) where hi = (1/si−1)/(1/si + 1/bi), i = 2, 3, ...k using fig.1, eq.(2) and eq.(4), the largest workload for the sensor node can be solved as: α1 = 1/(1 + k∑ i=2 i∏ j=2 hj) (5) 104 l. dai, y. chang, z. shen similarly, the workloads of other sensor nodes given by eq.(4) can be obtained: αi = i∏ j=2 (hj)/(1 + k∑ i=2 i∏ j=2 hj) (6) fig.1 indicates that when the node with the largest measuring data finishes transmission, the local cluster completes its assigned sensing task. then, the finish time of measuring and reporting data for the cluster is: t = (1/s1 + 1/b1)/(1 + k∑ i=2 i∏ j=2 hj) (7) we can get the task-processing rate of the cluster: s = (1 + k∑ i=2 i∏ j=2 hj)/(1/s1 + 1/b1) (8) it’s not difficult to see that in the homogeneous network environment, every cluster have the same parameters, and their task-processing rate is: s = (1−hk)/(1/s + 1/b)(1−h) (9) where h = (1/s)/(1/s + 1/b) theoretical analysis and simulation in this paper are based on leach protocol[10] family (inter-cluster one-hop topology). for the multi-hop networks, namely, the multi-layer tree structure, we can do the calculations on parent node in the tree using eq.(3) eq.(8). according to divisible load theory, the conflict-free scheduling strategy for each parent node is calculated in order to save energy and prolong network lifetime. in wireless sensor networks, cluster head is responsible for data exchange for sink and incluster nodes. in order to reduce energy consumption caused by transmitting redundant data, lower latency and prolong the survival period, cluster head needs fuse the data [11]. a new estimation method for data fusion information utilization constant is introduced [5] in this paper. information utilization constant is based on a technique of information accuracy estimation. through estimating accuracy of information, cluster head can know the approximate percentage of data fusion. 2.2 inter-cluster task scheduling the following notations will be used throughout this paper: • wtotal: total amount of workload that resides at sink; • wji :number of tasks assigned to cluster i in round j. • si: rate of cluster i’s task-processing, that is, the tasks processed in a unit time. • bi: downlink communication speed sink to cluster head i; b′i: uplink transmission rate cluster head i to sink, that is, the number of tasks transmitted per unit time. • tj: processing time of round j. • wj: size of the total load dispatched during round j. an optimal task scheduling algorithm in wireless sensor networks 105 task allocation reporting the fuzed data measuring and reporting data round j+1round j communication/co mputing latency wj,1/b1 wj+1,1/b1’ wj,i/bn wj+1,n/bn α2 φiwj,1/b1’ φiwj,n/bn’ β3 β3’ cn c3 c2 wj,1/s1 wj+1,1/s1 wj,2/s2 wj+1,2/s2 wj,n/sn wj,3/s3 wj+1,n/sn wj+1,3/s3 figure 2: process of multi-round scheduling algorithm • φi: information utility constant of cluster head i. thus, the entire load for cluster i in round j can be sensed (measured, transmitted) is wji/si. in round j, the time for sink sending tasks to cluster i and for cluster head i sending the fused data are wji/bi and φiwji/b′i, respectively. in practical wireless sensor network environment, communication and computing latency caused by pre-initialization are inevitable. suppose affine cost parameters are as follows: • αi: computing latency of cluster i, that is, the time taken for initialization. • βi(resp. βi′): communication latency incurred by sink to initiate a data transferring to cluster head i. (resp. start-up time for communication from the cluster head i to sink). fig.2 describes the procedure of sink dispatching the tasks to each cluster, each cluster measuring and reporting data, as well as cluster heads reporting the fused data to sink. in this paper, we assume that there are total n clusters in a stable stage, where ci, i = 1, · · ·, n represents each cluster. as the computational cost of each cluster remains the same, so there are: αi + wji/si = tj, j = 1, · · ·, m −1 (10) where tj is only related to the number of rounds j, and m is the optimal scheduling round. the sum of tasks allocated to every cluster in round j is equal to the tasks in round j: wj = n∑ i=1 wji (11) from the eq.(10) and eq.(11) we can compute: wji = aiwj + bi (12) where ai = si/ n∑ k=1 sk, bi = (si/ n∑ k=1 sk) n∑ k=1 (skαk)−siαi. 106 l. dai, y. chang, z. shen as shown in fig.2, in order to fully utilize the bandwidth and avoid cluster waiting among different rounds, sink must send the tasks allocated in round j + 1 to all the cluster heads and receive the fused data from all the cluster heads in the round j, before cluster n finished the tasks in round j. when the time for intra-cluster nodes processing the tasks in round j is exactly equal to the sum of the time for sink sending sub-tasks to all cluster heads in round j +1 and receiving the fused data from all the cluster heads in round j, then, the best bandwidth utilization is achieved, that is: n∑ i=1 [(wj+1,i/bi) + βi + (φiwj,i/b ′ i) + βi ′] = tj (13) utilizing eq.(10), eq.(12) and eq.(13), we have: wj+1 = wj ∗ 1−φi n∑ i=1 (si/b ′ i) n∑ i=1 (si/bi) + n∑ i=1 (siαi) n∑ i=1 si n∑ i=1 (ai/bi) − n∑ i=1 (βi + bi/bi + βi ′ + φibi/b ′ i) n∑ i=1 (ai/bi) (14) simplify the eq.(14) as follows: wj = θ j(w0 −η) + η (15) where θ = [1−φi n∑ i=1 (si/b ′ i)]/ n∑ i=1 (si/bi), η = n∑ i=1 (siαi) [ n∑ i=1 (si/bi)+φi n∑ i=1 (si/b′i)]−1 − n∑ i=1 si n∑ i=1 (βi+bi/bi+βi ′+φibi/b ′ i) [ n∑ i=1 (si/bi)+φi n∑ i=1 (si/b′i)]−1 also the total load is equal to the sum of the tasks allocated in all rounds: m−1∑ j=0 wj = wtotal (16) the following constraint relations can be obtained: g(m, w0) = (w0 −η)(1−θm)/(1−θ) + mη −wtotal = 0 (17) the problem of minimizing the total task finish time in scheduling algorithm[8] is described below: ex(m, w0) = m−1∑ j=0 tj + 1 2 n∑ i=1 [(w0,i/bi) + βi + (φiwm−1,i/b ′ i) + βi ′] (18) the above minimization problem can be solved through the lagrange multiplication. w0 = (1−θ)/(1−θm)(wtotal −mη) + η (19) after solving w0 and m, the sizes of all the chunks wj,i can be obtained using eq.(12) and eq.(15). an optimal task scheduling algorithm in wireless sensor networks 107 3 wireless energy use in this section, the energy model of the otsa-wsn algorithm is presented in detail and the equations of energy consumption of individual sensor nodes are derived. the model is based on first-order radio model [10]. there are three kinds of energy consumption in the wireless sensor network: measurement, data fusion, and communication. because nodes in the sensor network cooperate with each other via data transmission. energy consumption of communications exist in sensor nodes, cluster heads and sink. it is not necessary for cluster heads and sink to perform any sensing task. thus, there is no energy cost for cluster heads due to the measurement of these nodes, while the additional energy cost of cluster heads attributes to data fusion. the energy to sense, fuse, and transmit a unit sensory data are denoted by es, ep, and etx, respectively. sensor nodes also consume the energy of erx to receive one unit of data. the distance between the sender and the receiver is d. the energy use for each kind of nodes is outlined as follows: energy use for individual sensor nodes j in cluster i: ei,j = αi,j(es + etxd 2), i = 1, · · ·, k , j = 1, · · ·, ni (20) energy use for individual cluster head: ei = αi(erx + ep + φietxd 2), i = 1, · · ·, k (21) energy use for sink: esink = k∑ i=1 αiφietx (22) 4 performance evaluation in the above sections, we have obtained the optimal number of rounds m for a given sensing task, and energy use for individual sensor nodes. in this section, we investigate the effects of three network parameters, such as the number of clusters, computation/communication latency, and measurement/communication speed, on the number of rounds, makespan and energy consumption in the homogeneous network environment. in the simulation, the following energy parameters are adopted: transmitting a unit of sensor reading over a unit distance takes etx=200nj, receiving one unit of sensor reading consumes erx=150nj, measuring one unit of sensor reading needs es=100nj, fusing one unit of observation consumes ep=20nj and the distance between the sender and the receiver is d=100m. there are 20 sensor nodes in each cluster. the simulation results are shown in fig.3 to fig.6. firstly, fig.3 plots the m values computed by otsa-wsn versus computation/communication latency when they vary among 0 and 1.0. assume the communication speeds of the uplink and downlink between sink and cluster head are identical, namely, β=β′. as can be seen from fig.3, m decreases with either the communication or computation latency increasing, owing to the reason that fewer rounds may result in less overhead. because when the communication latency and computation latency increase, the tasks allocated for each round will increase to meet the requirement, which makes full use of bandwidth. therefore, the number of rounds will be reduced. next, the makesapn against the number of clusters are plotted in fig.4. assume that transmission rate of all links between nodes is the same, that is, b=b′ = b. in fig.4(a), the value of s 108 l. dai, y. chang, z. shen figure 3: impact of communications and computing latency on the number of rounds is chosen from 4 to 10, while b is fixed to 1.0. this figure shows that measurement speed almost does not affect the makespan because sensing takes a small fraction of the entire execution time. fig.4(b) shows that when the communication speed of sensor nodes increases, the makespan of a given task is reduced. it can be found that the four lines in fig.4(b) converge when the number of clusters becomes large. then, the third simulation is about the energy consumption of intra-cluster sensor nodes. sink and cluster heads are not taken into account because generally, sink has no energy constraint and the chosen cluster heads have the possibly enough energy. the network is configured with 20 clusters. without loss of generality, the intra-cluster sensor nodes in the first cluster are chosen to study the energy consumption, as shown in fig.5. fig.5 presents the energy consumption of all the nodes in the first cluster as given by eq.(20), where the intra-cluster nodes are indexed from 1 to 20. in each case, the energy consumption of sensor nodes monotonically decreases due to the reduced workload. fig.5(a) shows the higher the in-cluster node’s measuring speed, the more evenly the tasks allocated to each nodes, hence the smaller the energy consumption of the nodes. fig.5(b) presents the larger communication speed between nodes, the smaller the energy consumption of the in-cluster nodes. finally, to simulate the otsa-wsn algorithm in the heterogeneous network environments, the measuring speed of intra-cluster nodes is set as the random numbers vary from 4 to 10, and the communication speed of links from 0.4 to 1.0. through 8 experiments, the performance of scheduling algorithms in the heterogeneous network environment is analyzed. fig.6(a) shows the impact of random measuring speed and communication speed on the makespan with the increasing number of clusters in the heterogeneous network environment. fig.6(b) presents the impact of random measuring speed and communication speed on energy-consuming in the order of tasks allocation. compared with fig.4 and fig.5, it can be seen that, the impact of measuring speed on the makespan and energy consumption is less than communication speed. the makespan decreases with the increasing number of clusters, and the energy consumption are reduced in the order of tasks allocation. an optimal task scheduling algorithm in wireless sensor networks 109 (a) (b) figure 4: impact of measuring speed and bandwidth on the makespan 110 l. dai, y. chang, z. shen (a) (b) figure 5: the impact of measuring speed and bandwidth on the energy consumption in in-cluster nodes an optimal task scheduling algorithm in wireless sensor networks 111 (a) (b) figure 6: impact of random measuring speed and bandwidth on the makespan and energy consumption 112 l. dai, y. chang, z. shen 5 conclusions as the wireless sensor network node with limited energy, so the tasks should be completed as quickly as possible, and the network resources should be fully utilized. in this paper, we present a multi-round task scheduling algorithm (otsa-wsn) in clustered wireless sensor networks. the goal of this algorithm is to minimize the makespan and fully utilize network resources, by finding an optimal strategy of splitting the original load received by sink into a number of chunks as well as distributing these chunks to the clusters in the right order. bibliography [1] v. bharadwaj, d. ghose, t. g.robertazzi, divisible load theory: a new paradigm for load scheduling in distributed systems. cluster computing, vol.6, no.1, pp.7-18, 2003. [2] m. moges, t.g. robertazzi, wireless sensor networks: scheduling for measurement and data reporting. ieee transactions on aerospace and electronic systems, vol.42, no.1, pp.327340, 2006. [3] h. liu, x. yuan, m. moges, an efficient task scheduling method for improved network delay in distributed sensor networks. in proceedings of tridentcom 2007, orlando, fl, usa, 1-8, 2007. [4] h. liu, j. shen, x. yuan, m. moges, performance analysis of data aggregation in wireless sensor mesh networks, in proceedings of earth & space 2008, akron, oh, usa, 1-8, 2008. [5] c. kijeung , t. g. robertazzi, divisible load scheduling in wireless sensor networks with information utility performance. in proceedings of ipccc 2008, austin, texas, usa, 9-17, 2008. [6] z. zeng, a. liu, d. li, a highly efficient dag task scheduling algorithm for wireless sensor networks, in proceedings of icycs 2008,zhang jia jie , hunan , china, 570-575, 2008. [7] j. lin, w. xiao, f. l. lewis, energy-efficient distributed adaptive multisensor scheduling for target tracking in wireless sensor networks. ieee transactions on instrumentation and measurement, vol.58, no.6, pp.1886 1896, 2009. [8] y. yang, r. van, der, k, h. casanova, multiround algorithms for scheduling divisible loads. ieee trans on parallel and distributed systems, vol.16, no.11, pp.1092-1102, 2005. [9] c. yeim-kuan, w. jia-hwa, c. chi-yeh, c. chih-ping, improved methods for divisible load distribution on k-dimensional meshes using multi-installment. ieee transactions on parallel and distributed systems, vol.18, no.11, pp. 1618-1629,2007. [10] w. heinzelman, a. chandrakasan, an application-specifid protocol architecture for wireless microsensor networks. ieee transaction on wireless communications, vol.1, no.4, pp. 660-670, 2002. [11] x. tang, j. xu, optimizing lifetime for continuous data aggregation with precision guarantees in wireless sensor networks. ieee/acm transactions on networking, vol.16, no.4, pp. 904 917,2008. ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 65-72 bayesian network classifier for medical data analysis beáta reiz, lehel csató beáta reiz biological research center, central labs, bioinformatics group 62 temesvári krt., hu-6701, szeged, hungary e-mail: beareiz@brc.hu lehel csató babeş bolyai university, faculty of mathematics and computer science 1 kogălniceanu str. ro-400084 cluj-napoca, romania e-mail: csatol@cs.ubbcluj.ro abstract: bayesian networks encode causal relations between variables using probability and graph theory. they can be used both for prediction of an outcome and interpretation of predictions based on the encoded causal relations. in this paper we analyse a tree-like bayesian network learning algorithm optimised for classification of data and we give solutions to the interpretation and analysis of predictions. the classification of logical – i.e. binary – data arises specifically in the field of medical diagnosis, where we have to predict the survival chance based on different types of medical observations or we must select the most relevant cause corresponding again to a given patient record. surgery survival prediction was examined with the algorithm. bypass surgery survival chance must be computed for a given patient, having a data-set of  medical examinations for  patients. keywords: bayesian networks, classification, medical data analysis, causal discovery. 1 introduction in this paper we analyse tree-like bayesian network (bn) implementation for medical data classification. we consider a general case for data attributes, where the observations can be both continuous and discrete, and general to almost all medical data missing observations also can occur. we aim to establish causal relationships between variables representing medical examinations. whilst interested in a good classification performance, we also want to interpret and analyse the predictions in terms of the encoded causal relations. the database we used consists of  medical examinations of  people containing both discrete and continuous observations. the task is thus to predict the surgery survival chance based on the available data – the medical examinations [1, 2], and analysis of impact of a specific examination on patient survival. partial observability characterises the database, the number of missing values is . our aim is to predict target variables value – survival – for a particular patient and to obtain the “most relevant” variables affecting the output of the classifier. of equal interest is to analyse the decisions in terms of encoded relationships between data attributes. this analysis is usually done to provide support for physicians. we encode the dependencies between the class variable and the observations using a tree with root node the class variable. the other attributes are inside the tree with coresponding conditional probability tables “learned” from the data-set. finding the most appropriate structure is an extremely difficult task. we reduce the complexity of constructing the tree of immediate causal relationships between copyright © 2006-2009 by ccc publications 66 beáta reiz, lehel csató class variable and observations [3]. a tree-like bayesian network structure was inferred from the data [4], where the root of the tree is the class variable and remaining nodes are attributes. direct causal relations between attributes and class variable were revealed in the first phase of the algorithm, constructing a naive bayesian network. attribute-attribute correlations were searched based on chow-liu’s algorithm in the second phase of the algorithm. in practical situations we also have to face the problem – general to almost all medical data – of missing observations for some patients, meaning incomplete data items; this issue can also be considered in a principled way with a bayesian network. the paper is organised as follows: next we present the bayesian networks, then a stochastic algorithm to extract a plausible network sructures from the data, and we also analise experimental results of applying the algorithm to real data-sets. 2 bayesian networks bayesian networks (bns) [5] are triplets (v,e, p), where (v,e) is a directed acyclic graph (dag) with nodes v , edges e, and a set of probability distributions p, called parameters, whose elements are assigned to the nodes of the graph. the nodes represent domain variables and edges mark direct causal relations between these variables. the network encodes a joint probability distribution function representative to the domain: p(x) = n∏ i= p(xi|par(xi)) where n is the number of domain variables, xi is a node from the bn and par(xi) is the set of xi’s parents. the aciclicity of the graph ensures the product to be finite. we employed a tree-like representation for the topology of bn in order to increase efficiency in class variable estimation and interpretation. in section 3. we describe this algorithm, where we construct a tree in such a way that the root of the tree will be the class variable and the remaining nodes are attributes. direct causal relations encoded by the bn are interpreted as the maximum of mutual respective conditional mutual information [6, 7, 8] between nodes. now we present the necessary information theoretical concepts [9] for our algorithm. we will use the following notations: x and y are random variables defined on probability spaces ωx respective ωy with corresponding distribution functions p(x) respective p(y). we use their joint and conditional probability functions, denoted with p(x,y) and p(x|y) respectively. information theory offers us numerical characterisation of uncertainty in domain variables. uncertainty is measured using the information entropy of the respective variable. information entropy can be understood as the average minimal message length that should be sent on a channel to encode the message and is defined as follows: h(x) = − ∑ x∈ωx p(x)log p(x) mutual information is the quantity of information two random variables contain about each other, defined as: i(x,y ) = ∑ x∈ωx ∑ y∈ωy p(x,y) log p(x,y) p(x)p(y) (1) in next section we present a two-phase tree-like bayesian network structure learning algorithm. the algorithm consists of an extension of naive bayesian structure learning algorithm with inner structure learning for finding causal relations between attributes. bayesian network classifier for medical data analysis 67 3 network topology learning bayesian network classification consists of emphasising the node corresponding to the class variable during inference. as an optimisation of the learning process and inference we construct the network topology such a way to optimise the efficiency of prediction and data attribute impact estimation on target variable. we set out the class variable and in the first phase we’re searching for direct dependencies between attributes and class variable, this way constructing a naive bayesian network. naive bayes classifiers [10, 11] are widely used in classification problems. they are called naive because of the independence assumption of the attributes. although this is strong assumption when facing real data-sets, the naive bayes classification is a powerful tool for its simplicity and often gives convenient results. during the naive bayesian network learning process direct dependencies between class variable and attributes has to be find. dependency relations are interpreted as class variable specifiers, so an edge from x to class variable y means that variable x has information about class variable y . mutual information between class variable and attributes, conditioning on attributes already placed between direct dependencies of class variable, gives the amount of new information the respective attribute has regarding the class variable [12]. considering the problem this solutions means that we choose some medical examinations which we place in the network and exclude the rest of the attributes. this is a strong restriction considering that some examinations are replaced by others in different hospitals. the second phase of the algorithm consists of applying chow-liu algorithm [13] to learn the inner structure of network and reveal attributeattribute correlations. the naive bayesian network is formed of class variable y respective variables x directly linked to the class variable. our next task is to place the excluded attributes in the bayesian network. we use mutual information maximisation to discover the causal relations between attributes from the network and excluded attributes. class variable could be ignored. mutual information maximisation is enough in this case, because dependency now has the meaning of replaceability. we are searching for the excluded attributes that carry almost the same information about class variable as the attributes already placed in the network. before presenting the algorithm, we introduce the notations used in the following: xxx set of attributes not yet placed in the net zzz set of attributes in the net x one attribute from xxx zi an element from zzz y the class variable i(x,y |zzz) conditional mutual information of i(x,y ) mutual information of x and y x and y given zzz our algorithm introduces a threshold parameter – denoted with α – which is the minimum “information” required when putting a new attribute in the network during the naive bayesian structure learning. this parameter controls the number of direct connections between class variable and attributes. the algorithm is presented in algorithm. 1. the threshold parameter α assures the selection of relevant attributes respect to the class variable, controlling the number of direct causal relations of class variable and attributes. the result is a tree-like bayesian network as in figure 2, where the root of the tree is the class variable, and the other nodes are attribute variables. the orientation of edges is from parent to the child, this way minimising the modification of network parameters during a learning step. the algorithm above is deterministic in sense that it generates the same network for the same data all the time. we introduce importance sampling [14] in order to avoid the determinism of the algorithm in case of selection from equal information quantities. the distribution used for sampling is based on mutual information. it has the maximum where the mutual information is maximal. we used two functions during the tests. the first function – denoted f – is the conversion of the 68 beáta reiz, lehel csató algorithm 1 tree-like bayesian network structure learning. 1: place the class variable y in the network 2: zzz = ∅ 3: {naive bayesian structure learning} 4: while i(x, y|zzz) ≥ α1 do 5: x̂ = argmax xxx i(x, y|zzz) 6: place x̂ in the network 7: xxx = xxx − {x̂} 8: zzz = zzz ∪ {x̂} 9: end while 10: {inner structure learning} 11: while xxx 6= ∅ do 12: [ x̂, ẑ ] = argmax xi,zj i(xi, zj) 13: place edge between x̂ and ẑ 14: xxx = xxx − {x̂} 15: zzz = zzz ∪ {x̂} 16: end while figure 1: tree-like bayesian network structure learning. x1 x2 x3 x4 x5 x6 x7 x8 x9 y figure 2: structure of a bn mutual information to a distribution function: f1(x) = i(x,y ) ∑ x ′∈xxx i(x ′,y ) (2) figure 3(b). illustrates what edges are inferred when using importance sampling with function f from artificial data. the generator network for the data is presented on figure 3(a). on the horizontal plane is the adjacency matrix of the graph and the non-zero columns represent the edges. figure 3(a). points the edges of the generator network, and figure 3(b). shows the frequency of learned edges during  tests. the second function – denoted f – uses the exponentiation of the mutual information. it has a β parameter which can be understood as a temperature parameter and it controls the constructed distribution function. the higher this parameter is the higher is the probability of selecting the maximum mutual information. on lower values of β the probabilities of selecting an attribute becomes closer to the uniform distribution. f(x) = exp(β ·f1(x))∑ x ′∈xxx exp(β ·f1(x)) (3) figure 3. shows the histogram of learned edges using the presented approaches and also the generator network topology of data on figure 3(a). in each graph on the horizontal plane is the adjacency matrix of the network topology, and the vertical columns represent the histogram edges. we consider the first bayesian network classifier for medical data analysis 69 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 1 child parent ed ge (a) generator network topology 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 50 100 150 200 250 child parent ed ge f re qu en cy (b) learned topologies with function f 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 50 100 150 200 childparent ed ge fr eq ue nc y (c) learned topologies with function f, β =  1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 100 200 300 childparent ed ge fr eq ue nc y (d) learned topologies with function f, β =  figure 3: generator network and histogram of bn edges attribute from the network as the class variable, so it is the root of the constructed tree. this means, there’s no arc from any attribute to the class variable, hence it’s column is  at each point. figure 3(a). represents the generator network topology for the data, hence each edge appears once. the other graphs – on figures 3(b), 3(c), and 3(d) – represent the frequency of edges in the inferred network topologies. although there is a randomness introduced with importance sampling in our first approach, the generated structure is relatively stable through the iterations when learning with function f. the direct causal relations between the class variable and attributes are almost the same during the  tests simulations, differences can be observed only in the causal relations between the attributes, more precisely the differences are on the third level of the tree. there in approximately  cases – out of  – a single edge is placed differently compared to the generator network. a bit more unstable structure (figure 3(c)) can be observed when learning with function f with parameter β = . this is due to the fact, that the separation between lower and higher values of mutual information is more sensitive for lower values of β . figure 3(d). represents the learned structures for β = . one can see that in this case the structure is fully stable, which assures the former statement. in next sections we will analyse the convergence of the learning process and the usage of the constructed network. 4 results in this section we will present the learned topologies in case of real data. to fully settle the bypass problem, we have to perform the binarisation of data. this is due to the very low number of data samples in bypass database considering conditional probability distribution function estimation. we made  test of the algorithm on the fully specified attributes from the database. figure 4. presents the results of these testings. one can observe a high order of uncertainty when learning with function f with β = . this is reduced by the increase of β to . function f highlights almost the same dependency relations as function f with β = , but there is an annoying level of uncertainty in these relations. further analysis of the algorithm meant to check stability of it on real data-set. for this reason leave-one-out method on attributes was used: we eliminated one attribute from the data, and tested the algorithm on the remaining ones. the results are showed on figure 5., where figure 5(a)., figure 5(c). 70 beáta reiz, lehel csató 1 2 3 4 5 6 7 8 9 10 1112 1 2 3 4 5 6 7 8 9 10 11 12 0 50 100 child parent ed ge fre qu en cy (a) histogram of edges with function f 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 0 20 40 60 child parent ed ge fre qu en cy (b) histogram of edges with function f, β =  1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 0 50 100 150 childparent ed ge fre qu en cy (c) histogram of edges with function f, β =  figure 4: learned topologies of fully specified attributes from the database and figure 5(e). depicts the histogram of learned edges, and on figure 5(b)., figure 5(d). and figure 5(f). the most frequent learned edges are drawn. figure 5(a). and figure 5(b). depicts the histogram of learned edges respective the most frequent edges learned with function f, β =  for all fully specified attributes from the bypass database. one can see, that there are two crucial attributes in the database, namely the thirrd and seventh, which are central players in attribute dependence relations. next sub-figures – figure 5(c). and figure 5(d). elimination of 3rd. attribute, respective figure 5(e). and figure 5(e). elimination of 3rd. attribute – depicts the learned bns when eliminating these attributes. one can see that most of the dependence relations are stable, although there is a reorganisation between dependencies, when eliminating a crucial attribute. the most observable instability in dependence relations is that the edge  →  becomes an edge  →  when eliminating either the third attribute or the seventh attribute. but when analysing the dependency of  → , respective  → , one can see that their is not so much significant difference between the frequency of the two edges when learning on all attributes. 5 conclusions in this paper we presented a tree-like bayesian network classifier algorithm developed for medical decision making problems and a stochastic algorithm to find the most appropriate structure of the network. we tried two functions for eliminating determinism from the algorithm, with the two functions f and f, defined with eq. 2, respective eq. 3. learned topologies with the presented algorithm and functions were presented both for artificial and real data. in this section we will present results considering the inference, and compare them with logistic regression and svm. table 1. shows the results of efficiency of the presented algorithms compared to logistic regression. comparing the first and second approach we described above the results are surprising. although the high order of uncertainty in some cases, the results of efficiency are similar for all cases. one can observe that the tree-like bayesian networks constructed with the presented algorithm perform better than logistic regression, but support vector machines with linear kernel obtain higher prediction accuracy than bn-s. it has to be mentioned, that although better accuracy on svm, they don’t allow interpretation of predictions, while bns do, and interpretation in case of tree-like bayesian networks, bayesian network classifier for medical data analysis 71 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 0 50 100 150 childparent ed ge fr eq ue nc y (a) histogram of edges all attributes 1 2 3 4 5 6 7 8 9 10 11 12 (b) most frequent edges all attributes 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 50 100 150 200 child parent ed ge fre qu en cy (c) histogram of edges loo 3. attribute 1 2 4 5 6 7 8 9 10 11 12 (d) most frequent edges loo 3. attribute 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 0 50 100 150 child parent ed ge fr eq ue nc y (e) histogram of edges loo 7. attribute 1 2 3 4 5 6 8 9 10 11 12 (f) most frequent edges loo 7. attribute figure 5: leave-one-out results on attributes method accuracy bayesian network f .% bayesian network f, β =  .% bayesian network f, β =  .% bayesian network f, β =  .% logistic regression .% svm with linear kernel .% table 1: efficiency of presented algorithms constructed as above, can be done efficiently. as for a summaryy of results it has to be mentioned that the learned structure by the algorithm is generally stable; the interpretation of the results is possible and partial observability is not a problem in case of prediction and interpretation. acknowledgements we acknowledge the program committee of the international conference on computers, communication and control 2008 for the recommendation and also thank for the problem description and the medical database to béla vizvári from department of operations research, eötvös loránd university, budapest. this work was partially supported by the romanian ministry of education and research through grant 11-039/2007. 72 beáta reiz, lehel csató bibliography [1] zs. csizmadia, p.l.hammer, b. vizvári. generation of artificial attributes for data analysis. rutcor research report rrr 42-2004, rutgers center for operations research, rutgers university, 2004. [2] zs. csizmadia, b. vizvári. methods for the analysis of large real-valued medical databases by logical analysis of data. rutcor research report rrr 42-2004, rutgers center for operations research, rutgers university, 2004. [3] judea pearl. causality: modeling, reasoning, and inference. cambridge university press, cambridge, 2000. [4] beáta reiz, lehel csató. tree-like bayesian network classifiers for surgery survival chance prediction. in proceedings of international conference on computers, communications and control, vol. iii, pp. 470-474, 2008. [5] kevin p. murphy. learning bayes net structure from sparse data sets. technical report, comp. sci. div., uc berkeley, 2001. [6] jie cheng, david a. bell, and weiru liu. an algorithm for bayesian belief network construction from data, 1997. [7] jie cheng, david a. bell, and weiru liu. learning belief networks from data: an information theory based approach. in cikm, pages 325–331, 1997. [8] mieczyslaw a. klopotek. mining bayesian network structure for large sets of variables. in ismis, pages 114–122, 2002. [9] thomas m. cover and joy a. thomas. elements of information theory. wiley-interscience, new york, ny, usa, 1991. [10] nir friedman, dan geiger, and moises goldszmidt. bayesian network classifiers. machine learning, 29(2-3):131–163, 1997. [11] david heckerman and christopher meek. models and selection criteria for regression and classification. technical report msr-tr-97-08, microsoft research, 1997. [12] f. fleuret. fast binary feature selection with conditional mutual information. journal of machine learning research, 5:1531–1555, november 2004. [13] c. chow and c. liu. approximating discrete probability distributions with dependence trees. information theory, ieee transactions on, 14(3):462–467, 1968. [14] christian p. robert and george casella. monte carlo statistical methods (springer texts in statistics). springer-verlag new york, inc., secaucus, nj, usa, 2005. lehel csató obtained his bsc and msc degrees at the babeş–bolyai university, cluj–napoca, and his phd degree from the neural computing research group at the university of aston, the united kingdom. he was interested in the applications of machine learning techniques, specifically to apply non-parametric methods in bayesian inference. his thesis investigated methods to approximate solutions of bayesian regression using stochastic gaussian processes, centring on sparse solutions that approximate the gaussian processes. he is teaching at the babes-bolyai university and he is interested in applications of bayesian techniques in modern data processing and probabilistic methods in robotics. he is heading the “data mining research group” at the same university. web–page: http://www.cs.ubbcluj.ro/∼csatol beáta reiz obtained her bsc and msc degrees at the babeş–bolyai university, cluj–napoca. currently she is a phd student in hungary, university of szeged and she is working in the bioinformatics group of the biological research center, from szeged under the supervision of sándor pongor and jános csirik. international journal of computers, communications & control vol. i (2006), no. 4, pp. 9-19 new discrete tanaka sugeno kang fuzzy systems characterization and stability domain mohamed benrejeb, dhaou soudani, anis sakly, pierre borne abstract: in this paper, an analytical approach to characterize discrete tanaka sugeno kang (tsk) fuzzy systems is presented. this characterization concerns the choice of the adequate conjunctive operator between input variables of discrete tsk fuzzy models, t-norm, and its impact on stability domain estimation. this new approach is based on stability conditions issued from vector norms corresponding to a vector-lyapunov function. in particular, second order discrete tsk models are considered and this work concludes that zadeh’s t-norm, logic product min, gives the largest estimation of stability domain. keywords: discrete nonlinear systems, discrete tsk fuzzy model, t-norm, stability domain, vector norm, arrow form matrix. 1 introduction fuzzy control of systems presents a major interest in several applications including industrial ones. however, closed loop system properties are not easily understood and the design of the fuzzy system is generally based on intuitive approaches. different fuzzy control strategies exist. in particular, tsk fuzzy approach permits the description and the control of a system by defining different models related via a rule base. the stability of tsk systems has been one of the central issues and is subject of many works either in the continuous case or in the discrete one. to do this, different approaches are considered mainly based on lyapunov functions [5, 10, 12]. in particular, the linear matrix inequality (lmi) formulation is used [11] and, according to the considered system, permits the stability problem resolution. in our previous work [1], the used approach is led through the convergence of a regular vector norm [3]. the vector norm approach, based on the comparison and overevaluating principle, has a major advantage that it deals with a very large class of systems, since no restrictive assumption is made on the matrices of state equations. so, in [1], the approach estimates the stability domain of continuous tsk fuzzy systems and its dependence on the choice of the conjunctive operator between inputs. in this way, many authors have presented and analyzed several of these operators defined by t-norms and so said t-operators [4, 6, 7]. in particular, in [6], six t-norms are used to represent this connective operator in the inverse pendulum control. in another work [9], are used the same t-norms to study their impact on fuzzy control performances of a second order process by defining a performance criterion based on error measurement of the closed loop system. however, then exist other operators to represent this connective such as mean operators developed in [14]. except [1], all these studies don’t treat the influence of the choice of the conjunctive operator between inputs on the stability conditions obtained and often only prod or min operators are used without theoretical argumentation and just for simplification reasons. therefore, in this way the study will be considered and constitutes a generalization of [1] in the discrete case seeing the soft implementation nature of this control strategy. by exploiting conditions or hypothesis obtained from stability analysis of discrete tsk fuzzy systems based on vector norms approach, the influence of the choice of t-norm is studied. similarly to [1], only second order tsk fuzzy models are considered for simplification reason. in the next section, is presented the structure of discrete tsk fuzzy models. in section 3, several definitions dealing with t-norm notion as well as its properties are given. in section 4, sufficient stability conditions of these tsk systems based on vector norms approach are presented. then, the study of the copyright c© 2006 by ccc publications 10 mohamed benrejeb, dhaou soudani, anis sakly, pierre borne impact of the choice of t-norm on the proposed stability conditions will be considered in section 5. in particular, second order tsk fuzzy models are considered. a dc motor is studied in section 6 as an application example validating this study. finally, some concluding remarks are pointed out. 2 tsk discrete models description an r-order tsk discrete fuzzy model of an n-order nonlinear system to be controlled is given by a rule base where the ith rule is in the form: ri : if x1 is g i 1 and x2 is g i 2 and···and xn is gin t hen { x(k + 1) = aix(k) + biu(k) y(k) = cix(k) i = 1, 2, ..., r (1) where gij, j=1,2,...,n, is the i th fuzzy set of the state vector x j. the state vector x ∈ ℜn, the control input u ∈ ℜ and the matrices ai, bi and ci are of appropriate dimensions. according to the parallel distributed compensation (pdc) concept [13], the rule base r′i of the fuzzy controller stabilizing the former system is in the form: r′i : if x1 is g i 1 and x2 is g i 2 and···and xn is gin t hen u(k) = −kix(k) i = 1, 2, ..., r (2) with ki = [k1i ,k 2 i ,...,k n i ]. by substituting u in the equation (1) above, it comes: x(k + 1) = r ∑ i=1 r ∑ j=1 hih j(ai −bik j)x(k) (3) with: hi = wi/ r ∑ i=1 wi (4) wi = t (g i 1(x1), g i 2(x2), ..., g i n(xn)) (5) and t a t-norm. when linear models of the system to be controlled are considered in the controllable form given by: ai =   0 1 ··· 0 ... . . . . . . ... 0 ··· 0 1 −a1i ··· −an−1i −ani   and bi = b =   0 ... 0 1   (6) relation (3) becomes: x(k + 1) = r ∑ i=1 r ∑ j=1 hih j(ai −bik j)x(k) = r ∑ i=1 r ∑ j=1 hih j(ai −bk j)x(k) = r ∑ i=1 r ∑ j=1 hih jaix(k)− r ∑ i=1 r ∑ j=1 hih jbk jx(k) = r ∑ i=1 hi r ∑ j=1 h jaix(k)− r ∑ j=1 h j r ∑ i=1 hibk jx(k) = r ∑ i=1 hiaix(k)− r ∑ j=1 h jbk jx(k) new discrete tanaka sugeno kang fuzzy systems characterization and stability domain 11 then finally: x(k + 1) = r ∑ i=1 hi(ai −bki)x(k) (7) 3 t-norms an important task to be performed in the design of tsk fuzzy systems is the choice of the conjunctive operator materializing the connective and between input variables in the rule base and so corresponding to the intersection operation between fuzzy subsets relatively to different inputs. often, this operator is defined by a t-norm t , whose definition and proprieties are presented as follows. definition 1. a triangular norm (t-norm) is a function t :[0,1]×[0,1] → [0,1] verifying for every u, v, w and t of [0,1] : i) t (u,v) = t (v,u) (commutativity) ii) t (u,t (v,w)) = t (t (u,v),w) (associativity) iii) t (u,v) ≤ t (w,t) si u ≤ w et v ≤ t (monotonicity) iv) t (u, 1) = u (one identity) (8) min operator is the largest of all possible t-norms, t (u,v) ≤ min (u,v). the intersection operation between fuzzy subsets is defined by a t-norm t such as: c = a∩b, then ∀ x ∈ x µc(x) = t (µa(x),µb(x)) (9) the commonly encountered t-norms are given in table 1. table 1: main t-norms t-norm name min(u, v) zadeh (logical operators) uv bandler (probabilistic operators) max(u + v−1, 0) lukasiewicz (bounded operators)    u if v = 1 v if u = 1 0 otherwise weber (drastic operators) definition 2. a t-norm t is said archimedean if and only if t (u, v) is continuous and t (u, u) < u for each u of ]0,1[. moreover, t is said strict archimedean if and only if t (u, v) < t (w,t) as soon as u < w and v < t. any function t :[0,1] × [0,1] → [0,1] is an archimedean t-norm if and only if it exists a continuous decreasing function f : [0,1]→[0,+∞[ such that f (1)=0 satisfying : t (u,v) = f −1∗( f (u) + f (v)) (10) where f −1∗ is the pseudo-inverse of f such as f −1∗ = ( f −1(w) if w ∈ [0, f (0)[ 0 if w ∈ [ f (0), + ∞[ . 12 mohamed benrejeb, dhaou soudani, anis sakly, pierre borne besides, t is strict if and only if f (0)= +∞. f is said the additive generator of the t-norm t . the additive generators associated to main parameterized archimedean t-norms are presented in table 2 [14]. table 2: main parametrized t-norms and their additive generators t-norm generator f (u) parameter name uv γ + (1−γ)(u + v−uv) 1 γ log [ γ + (1−γ )u u ] strict archimedean γ > 0 hamacher 1 [( 1 u )p + ( 1 v )p −1 ] 1 p 1 (1 + u) 1 p strict archimedean p > 0 schweizer & sklar 1 1 + [ ( 1u −1)λ + ( 1v −1)λ ] 1 λ 1 1 + u 1 λ strict archimedean λ > 0 dombi 1−min [1, ((1−u)ω + (1−v)ω ) 1ω ] (1−u)ω archimedean no strict ω > 0 yager uv max (u,v,α ) no archimedean α ∈ [0,1] dubois & prade 4 new stability conditions in [2], a change of base of (6) under the arrow form give: x(k + 1) = r ∑ i=1 himix(k) (11) where mi is a matrix in the arrow form and p is the corresponding passage matrix: mi = p −1(ai −bki)p (12) new discrete tanaka sugeno kang fuzzy systems characterization and stability domain 13 mi =   α1 0 ··· 0 β1 0 . . . . . . ... ... ... . . . . . . 0 ... 0 ··· 0 αn−1 βn−1 γ 1i ··· ··· γ n−1i γ ni   and p =   1 1 ··· 1 0 α1 α2 ··· αn−1 0 α 21 α 2 2 ··· α 2n−1 ... ... ... ··· ... 0 α n−11 α n−1 2 ··· α n−1n−1 1   (13) with: β j = n−1 ∏ q = 1 q 6= j (α j −αq)−1 ∀ j = 1,2,...,n−1    γ ji = −pi(α j) ∀ j = 1,2,...,n−1 pi(λ ) = λ n + n−1 ∑ q=0 (aq+1i + k q+1 i )λ q γ ni = −(ani + kni )− n−1 ∑ j=1 α j (14) the application of the classical borne-gentina criterion [3] leads to the following theorem. theorem 3. the discrete system described by (7) is asymptotically stable if there exist 0 < α j < 1, α j 6= αk, ∀ j 6= k, such as ∀x ∈ s: i) 1− ∣∣α j ∣∣ > 0 ∀ j = 1, 2, ..., n−1 ii) 1− ∣∣∣∣ r ∑ i=1 hiγ ni ∣∣∣∣− n−1 ∑ j=1 ∣∣∣∣ r ∑ i=1 hiγ j i β j ∣∣∣∣(1− ∣∣α j ∣∣ )−1 > 0 (15) if s = ℜn, the stability is global. furthermore, if there exist α j, j = 1, 2, ..., n−1, such as : i) 0 < α j < 1 j = 1, 2, ..., n−1 ii) r ∑ i=1 hiγ ni > 0 iii) r ∑ i=1 hiγ j i β j > 0 j = 1, 2, ..., n−1 (16) then the previous theorem can be simplified to the following corollary. corollary 4. the discrete system described by (7) is asymptotically stable if there exist 0 < α j < 1, α j 6= αk, ∀ j 6= k, such as ∀x ∈ s: bph < 0 (17) where matrices b ∈ ℜn×n, p∈ ℜn×r and h∈ ℜr×1 are such as : b =   β1 0 ··· 0 0 . . . . . . ... ... ··· βn−1 0 0 ··· 0 −1   , p =   p1 (α1) ··· pr(α1) ... ··· ... p1 (αn−1) ··· pr(αn−1) p1 (1) ··· pr(1)   and h =   h1 ... hr   (18) if s = ℜn, the stability is global. according to the choice of the coefficients α j, different conditions on the parameters hi can be obtained. 14 mohamed benrejeb, dhaou soudani, anis sakly, pierre borne 5 t-norm influence on the proposed stability conditions let us consider the following classical fuzzy partition of a second order tsk model given by figure 1, with: µi = g1i (xi) i = 1, 2, . . ., n (19) and: g1i (xi) = min (1, max (0, li −xi 2li )) and g2i (xi) = 1−g1i (xi) (20) µ figure 1: fuzzy partition of state variables for r=2 then, the whole fuzzy state space considered is the open subset ω =]−l1, l1[×]−l2, l2[×. . .×]−ln, ln[. so, the notion of global stability, whenever used in the literature on fuzzy control, refers to local stability within a such domain [8]. for second order tsk model, i.e. r=2, then h2 = 1−h1 and: h1 = w1 w1 + w2 = t (µ1,µ2, ..., µn) t (µ1,µ2,...,µn) + t (1− µ1,1− µ2,...,1− µn) (21) where t is a t-norm. propositions [1] 1. let µ1, µ2, . . ., µn and µmax ∈ [0, 1] such as µ1 ≤ µmax, µ2 ≤ µmax, ..., and µn ≤ µmax. then, we obtain: h1(µ1,µ2,...,µn) ≤ h1(µmax,µmax,...,µmax) (22) this proposition allows the determination of the domain s by its characteristic point m in figure 2. x 1 s x 2 x 1max 0 1 1 0.5 0.5 max x 2max l 1 l 2 m ω µ 1 2 µµ figure 2: correspondence between the state space variables domain and the membership values domain new discrete tanaka sugeno kang fuzzy systems characterization and stability domain 15 2. let us note ϕn(µ) = t (µ1, µ2, ..., µn) when µ 1=µ 2 =. . . =µ n=µ . ϕ n is an increasing function on [0, 1] with ϕn(0) = 0 and ϕn(1) = 1. if the following conditions are satisfied : i) ϕn is continuous ii) ∀ µ > 0 , ϕn(µ ) 6= 0 iii) ∀ µ1, µ2 ∈ ]0,1] with µ2 > µ1 , ϕn(µ2)µ2 ≥ ϕn(µ1) µ1 (23) then we have: { h1(µ ,µ ,...,µ ) ≥ µ if µ ≥ 0.5 h1(µ ,µ ,...,µ ) ≤ µ if µ ≤ 0.5 (24) this proposition means that for a given µ , the smallest coefficient h1 is obtained with the t-norm of zadeh, the logic product min; and so for the condition (22) we obtain the largest rectangular form domain s with this t-norm by taking µ max = c. 3. conditions (23) of the proposition 2 are satisfied for each strict archimedean t-norm such as ϕn(µ ) is derivable on ]0,1]. the proposed approach is illustrated by considering the following parameterized t-norms: • the hamacher one: t (µ1,µ2) = µ1 µ2γ+(1−γ)(µ1+µ2−µ1 µ2) for γ>0, • the yager one: t (µ1,µ2) = 1−min (1,((1− µ1)ω + (1− µ2)ω ) 1 ω ) for ω>0, • and the dubois one: t (µ1,µ2) = µ1 µ2max (µ1,µ2,α) for α ∈ [0,1]. 6 application example as an example, let consider in figure 3 the case of a dc motor with two linear models g1(p) and g2(p) with δ 1=0.5 and δ 2=1. )( 1 )( i i pp pg δ+ = u x i=1,2)(0 pb figure 3: dc motor discrete models b0(p) = 1−e −te p p is a zero order holder and te=0.2s is the sampling time. the discrete models of the dc motor are given by the following z-transmittances: gi(z) = ni(z) (z−1)(z−ψi) i = 1, 2 with ψi = e−δite and ni(z) = δite+e −δi te−1 δ 2i z + 1−e −δi te (1+δite) δ 2i . the two discrete dc linear models are considered in the following controllable form: a1 = [ 0 1 −0.905 1.905 ] , a2 = [ 0 1 −0.819 1.819 ] and b = [ 0 1 ] we suppose that for particular constraints the choice of ki is imposed such that the pole placement is different for the two models by taking: 16 mohamed benrejeb, dhaou soudani, anis sakly, pierre borne k1 = [ −0.7 1.2 ] and k2 = [ −1.1 1.2 ] according to [3], the minimal overvaluing matrix relatively to the regular vector norm p: p(x) = [|x1|,|x2|]t is such as: m(.) = [ |α| 1 |γ1| |γ2| ] with γ1 = (0.486−0.086α )h1 + α 2 −0.619α −0.281 γ2 = 0.086h1 + 0.619−α then, stability conditions deduced from the corollary are: i) 0 < α < 1 ii) 0.086h1 + 0.619−α > 0 iii) (0.486−0.086α)h1 + α 2 −0.619α −0.281 < 0 iv) 0.4h1 + 0.1 > 0 when i) is satisfied, relations ii) and iv) are too. then condition iii) leads to the following inequality h1 < − α 2 −0.619α −0.281 0.486−0.086α = c when 0.5 < c < 1 , let s a neighborhood of the equilibrium point 0, included in ω, ω =]−1, 1[×]−1, 1[, that verifies a such condition. s is an overvaluing domain of the fuzzy system and an estimation of a symmetrical domain s with respect to 0 imposes: 1−c < h1 < c. now, consider the study of the impact of the t-norm t on the width of the neighborhood s of the equilibrium point 0, and then the determination of the largest stability domain d included in s verifying the previous condition. for α = 0.345, we obtain the maximal value of c, c=0.82. thus, the overvaluing matrix m(·) is constant: m(·) = m = [ α 1 0 α ] whitch is triangular and not irreductible. however, for c = 0.80, this irreductibility is skirted and for α = 0.345, its comes the following overvaluing matrix m = [ 0.345 1 0.01 0.343 ] whitch is irreductible, whose principal eigenvalue is λm = 0.446, the corresponding vector is: um = [9.88 1] t and the largest estimated stability domain d is such as d = { x ∈ s/pt (x)um = 9.88|x1|+|x2| ≤ xmax } where s is the square form domain and xmax is its width. s depends on the condition h1 < c with c = 0.8 and so on the t-norm t . new discrete tanaka sugeno kang fuzzy systems characterization and stability domain 17 table 3: µmax and xmax corresponding to different t-norms t-norm µmax xmax zadeh 0.80 0.60 bandler 0.67 0.34 hamacher (γ = 0) 0.75 0.50 hamacher (γ = ∞) 0.58 0.16 yager (ω = 2) 0.62 0.24 dubois (α = 0.5) 0.70 0.40 for n = 2, table 3 gives µmax, corresponding to the membership values domain, and xmax, corresponding to the square form domain s, with respect to different t-norms. the results obtained in table 3 shows that for n = 2, the greatest value of µmax and so the largest domain s is obtained specifically for the logic product min. figure 4 presents an estimation of the largest stability domain d respectively for zadeh and bandler t-norms. x 1 x 2 1−1 1 -1 s 0.6−0.6 0.6 −0.6 0.06−0.06 d ω x 1 x 2 1−1 1 -1 0.34 s 0.34−0.34 −0.34 0.03−0.03 d ω a) zadeh’s t-norm (min) b) bandler’s t-norm (prod) figure 4: stability domains obtained for two different t-norms 7 conclusion in this paper, we are interested in the stability study of discrete tsk fuzzy systems and the correspondent domain estimation relatively to the used conjunctive operator, materialized by a t-norm. the stability approach is based on vector norms. when second order tsk models are considered, a mathematical study permits to conclude that zadeh’s t-norm, min operator, yields to the largest stability domain. a dc motor with two discrete models is considered as an illustrative example and the estimated stability domains for different t-norms confirm the former result. however, it suits to remark that this study can be generalized for r-order tsk models, in the two 18 mohamed benrejeb, dhaou soudani, anis sakly, pierre borne cases continuous and discrete, with r greater than 2 and then we must distinguish between the two cases, r odd or even. for two cases, the stability study can be leaded in different symmetrical rectangular zones surrounding the equilibrium point, from the smallest to the largest. references [1] benrejeb m., sakly a., ben othman k. and borne p.: choice of conjunctive operator of tsk fuzzy systems and stability domain study. to appear in matcom (mathematics and computers and simulation journal). [2] benrejeb m., borne p. and laurent f. : sur une application de la représentation en flèche à l’analyse des processus. rairo automatique, 16 (2). (1982) 133-146. [3] borne p., richard j. p. and radhy n. e. : stabilité, stabilisation, régulation : approche par les normes vectorielles, systèmes non linéaires, tome 2 : stabilité-stabilisation. coordonné par fossard a. j. et normand-cyrot d., responsable du tome : borne p., 45-90. editions masson, paris (1993). [4] butkiewicz b.s. : control error of fuzzy system with different reasoning and defuzzification methods. 7th international fuzzy systems association world congress (ifsa) , iii. praga, czech (1997). [5] cao s. g., rees n. w. and feng g. : quadratic stability analysis and design of continuous-time fuzzy control systems. int. j. syst. sci., 27(2). (1996) 193-203. [6] cardenas e., castillo j.c., cordon o., herrera f. and peregrin a. : applicability of t-norms in fuzzy control. busefal, 61. (1995) 28-37. [7] gupta m.m. and qi j. : design of fuzzy logic controllers based on generalized t-operators. fuzzy sets and systems, 40. (1991) 473-489. [8] palm r., driankov d. and hellendoorn h. : model based fuzzy control. springer-verlag, berlin heidelberg (1997). [9] sakly a., ben othman k. and benrejeb m. : sur le choix de l’opérateur de conjonction en commande floue basé sur la robustesse de critères de performances. 2ème conférence internationale jtea, tome 1, sousse nord (2002). [10] sugeno m. : on stability of fuzzy systems expressed by fuzzy rules with singleton consequences. ieee transactions on fuzzy systems, 7(2). (1999) 201-223. [11] tanaka k., ikeda t. and wang h.o. : fuzzy regulators and fuzzy observers : relaxed stability conditions and lmi-based designs. ieee transactions on fuzzy systems, 6(2). (1998) 1-16. [12] tanaka k. and sugeno m. : stability analysis and design of fuzzy control systems. fuzzy sets and systems, 45. (1992) 135-156. [13] tanaka k. and sano m. : a robust stabilization problem of fuzzy control systems and its application to backing up control of a truck-trailer. ieee transactions on fuzzy systems, ii. (1994) 119-134. [14] yager r. r. and filev d. p. : essentials of fuzzy modeling and control. john wiley & sons, inc., usa (1994). new discrete tanaka sugeno kang fuzzy systems characterization and stability domain 19 mohamed benrejeb1, dhaou soudani1, anis sakly1, pierre borne2 1ecole nationale d’ingénieurs de tunis unité de recherche lara-automatique bp 37, le belvédère, 1002 tunis, tunisie 2ecole centrale de lille, cité scientifique laboratoire d’automatique, génie informatique et signal bp 48, 59651 villeneuve d’ascq cedex, france e-mail: mohamed.benrejeb@enit.rnu.tn, dhaou.soudani@enit.rnu.tn, sakly_anis@yahoo.fr, pierre.borne@ec-lille.fr received: november 10, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 701-709 stable factorization of strictly hurwitz polynomials ö. eğecioğlu, b. s. yarman ömer eğecioğlu department of computer science university of california, santa barbara ca 93106, usa e-mail: omer@cs.ucsb.edu b. siddik yarman department of electric and electronics engineering college of engineering, istanbul university 34320 avcilar, istanbul, turkey e-mail: sbyarman@gmail.com abstract: we propose a stable factorization procedure to generate a strictly hurwitz polynomial from a given strictly positive even polynomial. this problem typically arises in applications involving real frequency techniques. the proposed method does not require any root finding algorithm. rather, the factorization process is directly carried out to find the solution of a set of quadratic equations in multiple variables employing newton’s method. the selection of the starting point for the iterations is not arbitrary, and involves interrelations among the coefficients of the set of solution polynomials differing only in the signs of their roots. it is hoped that this factorization technique will provide a motivation to perform the factorization of two-variable positive function to generate scattering hurwitz polynomials in two variables for which root finding methods are not applicable. keywords: routh-hurwitz stability, hurwitz polynomial, stable factorization, newton’s method. 1 introduction in many microwave communication system design, modeling and simulation problems, description of lossless two ports in one or two kinds of elements is essential [5]. in the design of microwave matching networks, amplifiers or in modeling passive one port devices such as antennas, lossless two ports are either described in terms of driving point immitance or reflectance functions [6,7]. the methods known as real frequency techniques (rft) are excellent tools for design and modeling [5, 8]. once the independent descriptive parameters are selected, numerical implementations of real frequency techniques demands the construction of strictly hurwitz polynomials. for example, in the simplified real frequency technique (srft), the numerator polynomial h(p) = h0 + h1p + · · · + hnpn of the driving point input reflectance s11(p) = h(p) g(p) completely specifies the scattering parameters of the lumped element reciprocal lossless two port as follows: s12 = s21 = f(p) g(p) and s22 = f(p) f(−p) h(−p) g(p) (1) provided that the monic-polynomial f(p) which is constructed on the transmission zeros of the system under consideration, is pre-selected. in this representation, the denominator polynomial g(p) = g0 + g1p + · · · + gnpn is generated as a strictly hurwitz polynomial from the equation g(p2) = g(p)g(−p) = h(p)h(−p) + f(p)f(−p) = g0 + g1p 2 + · · · + gnp2n (2) copyright c⃝ 2006-2010 by ccc publications 702 ö. eğecioğlu, b. s. yarman which is obtained by means of the lossless condition. once f(p) is selected, (2) is specified in terms of the real coefficients {h0, h1, . . . , hn} of h(p). for many practical problems, it may be sufficient to choose f(p) as f(p) = pk, k ≤ n. in this case, (2) results in a set of quadratic equations such that g0 = g 2 0 = h 2 0 g1 = −g 2 1 + 2g0g2 = −h 2 1 + 2h0h2 ... gi = (−1) ig2i + 2(g2ig0 + i∑ j=2 (−1)jgj−1g2j−i+1) = (−1) ih2i + 2(h2ih0 + i∑ j=2 (−1)jhj−1h2j−i+1) ... (3) gk = g(i=k) + (−1) k ... gn = (−1) ng2n = (−1) nh2n it should be mentioned that the general form of f(p)f(−p) may be described as f(p2) = f(p)f(−p) = f0 + f1p 2 + · · · + fnp2n. (4) then it is straightforward to revise (4.3) with the help of (4.4). at this point it is the crucial issue to generate g(p) as a strictly hurwitz polynomial either employing (2) or (4.3). if one employs (2), it is sufficient to find the roots of g(p2) and then, construct g(p) on the left halfplane roots of g(p2), yielding g(p) = g0 +g1p+· · ·+gnpn. this has been the common practice of the srft. however, if the problem under consideration demands the construction of lossless two-ports with two kinds of elements, then there is no way to carry out the computation by means of root finding techniques. in this case, one has to rewrite (2) in two variables as g(p, λ) = g(p, λ)g(−p, −λ) and revise (4.3) accordingly. eventually one needs to solve (4.3) to generate g(p, λ) as a “two variable scattering hurwitz polynomial" [1,2]. in this representation the complex variable p = σ+ jω is associated with first kind of elements and the complex variable λ = σ+jω is associated with the second kind of elements of the lossless two-port. actually, this way of posing the problem may be understood as the factorization of the two variable polynomial g(p, λ) as g(p, λ)g(−p, −λ), which in turn yields the scattering hurwitz polynomial g(p, λ). based on the knowledge of the authors, there is no explicit solution for the factorization of two variable polynomials in the current literature. however, for the single variable case, root finding techniques provide excellent results as described within srft. therefore, in this paper, to provide an insight to the general factorization problem, an attempt will be made to come up with a numerical procedure to solve (4.3) which is specified in single variable, with the hope that the numerical procedure presented in this paper may be extended to cover the two variable factorization case. 2 mathematical problem statement let g(z2) = g0 + g1z2 + g2z4 + · · · + gnz2n be a real polynomial with g0 > 0. consider a factorization of g of the form g(z2) = g(z)g(−z) (5) stable factorization of strictly hurwitz polynomials 703 for a real polynomial g(z) = g0 + g1z + g2z2 + · · · + gnzn as required in (4.3). call (5) a stable factorization of g, if the polynomial g is stable: that is, the real parts of the zeros of g are strictly negative. we also refer to a stable polynomial as strictly hurwitz. from physical considerations that give rise to the problem, g0, g1, . . . , gn are such that g admits a stable factorization. our aim is to determine the coefficients of g(z) as a function of g0, g1, . . . , gn. 2.1 on root finding this one dimensional problem is theoretically solvable quite easily by root finding: since g is a real polynomial, it can be factored as g(z2) = c(z2 − α1)(z 2 − α2) · · · (z2 − αn) with c > 0 and the αi complex. for i = 1, 2, . . . , n, let βi = ± √ αi, where the sign is picked so that βi has a negative real part. then g(z) = √ c(z − β1)(z − β2) · · · (z − βn), and the gi can be computed from this product. however, we wish to avoid this approach as the real motivation behind the treatment of the one variable case is the factorization problem in two variables to generate scattering hurwitz polynomials, for which root finding techniques do not apply. 2.2 basic elements of routh-hurwitz stability the conditions for a real polynomial g(z) = g0 + g1z + g2z 2 + · · · + gnzn (6) with g0 > 0 to be strictly hurwitz are given in terms of the positivity of the hurwitz determinants ∆i = det   g1 g3 g5 . . . g2i−1 g0 g2 g4 . . . g2i−2 0 g1 g3 . . . g2i−3 0 g0 g2 . . . g2i−4 . . . . . . . . . . . . . gi   . the indices in each row increase by two and the indices in each column decrease by one. the term gj is taken to be zero if j < 0 or j > n. note that ∆1 = g1. theorem 1. (routh-hurwitz stability) a necessary and sufficient condition that the polynomial (6) is strictly hurwitz is that ∆1, ∆2, . . . , ∆n be all positive [3]. since ∆n = gn∆n−1, the condition that ∆n−1 and ∆n be positive is equivalent to the requirement that ∆n−1 and gn be positive. furthermore, a necessary condition for (6) to be strictly hurwitz is that all coefficients g0 through gn be positive. 3 the main quadratic system comparing coefficients in (5), we derive a quadratic system of n+1 equations in the variables g0, g1, . . . , gn: gk = ∑ i+j=2k (−1)igigj, (k = 0, 1, . . . n) (7) 704 ö. eğecioğlu, b. s. yarman this is the system we are aiming to solve in the factorization problem. the additional constraint is that the polynomial (6) is stable. when n = 5, g0 = g 2 0 g1 = −g 2 1 + 2g0g2 g2 = g 2 2 + 2g0g4 − 2g1g3 g3 = −g 2 3 − 2g1g5 + 2g2g4 (8) g4 = g 2 4 − 2g3g5 g5 = −g 2 5 so in this case the stable factorization problem is to find a solution (g0, g1, g2, g3, g4, g5) of the quadratic system (8) in which each gi > 0, and in addition the constraints ∆2 = det [ g1 g3 g0 g2 ] > 0, ∆3 = det   g1 g3 0g0 g2 g4 0 g1 g3   > 0, ∆4 = det   g1 g3 g5 0 g0 g2 g4 0 0 g1 g3 g5 0 g0 g2 g4   > 0 are satisfied. in the general case g0, g1, . . . , gn with g0 > 0 are given as input. the output the solution required is real g0, g1, . . . , gn, with g0 > 0 such that g0, g1, . . . , gn is a solution of the associated quadratic system (7) of n + 1 equations and g(z) = g0 + g1z + · · · + gnzn is strictly hurwitz. we assume that the gk are given so that the system has a solution of the required type. 3.1 newton’s method we consider the vector valued function f : irn+1 → irn+1 which has as its set of real zeros the solutions to the quadratic system (7). for n = 5, f : ir6 → ir6 is f = (f0, f1, . . . , f5)t with f0 = x 2 0 − g0 f1 = −x 2 1 + 2x0x2 − g1 f2 = x 2 2 + 2x0x4 − 2x1x3 − g2 f3 = −x 2 3 − 2x1x5 + 2x2x4 − g3 f4 = x 2 4 − 2x3x5 − g4 f5 = −x 2 5 − g5 we compute the jacobian matrix as jf = 2   x0 0 0 0 0 0 x2 −x1 x0 0 0 0 x4 −x3 x2 −x1 x0 0 0 −x5 x4 −x3 x2 −x1 0 0 0 −x5 x4 −x3 0 0 0 0 0 −x5   . we calculate by elementary operations det(jf) = 2 6(−x0x5) det   −x1 x0 0 0 −x3 x2 −x1 x0 −x5 x4 −x3 x2 0 0 −x5 x4   = 26(−x0x5) det   x1 x3 x5 0 x0 x2 x4 0 0 x1 x3 x5 0 x0 x2 x4   stable factorization of strictly hurwitz polynomials 705 and det(jf) = 26(−x0)∆5. for general n we have a similar identity relating the jacobian of f and ∆n as det(jf) = 2 n+1(−1)nx0∆n. (9) thus the jacobian jf does not vanish at (g0, g1, . . . , gn) at if (g0, g1, . . . , gn) corresponds to a stable g(x). in other words, starting from an initial point that is close enough to the stable solution, the jacobian of f does not vanish. starting with an initial vector x0 = (x0, x1, . . . , xn)t we compute the iterates by newton’s method as xn+1 = xn − j −1 f (xn)f(xn) until successive iterates are within a given tolerance. the invertibility of jf at the point xn is guaranteed for xn close to a stable solution (g0, g1, . . . , gn). however a real solution g(z) of the quadratic system found by newton’s method is not necessarily strictly hurwitz. the polynomial we want is obtained from g(z) by flipping the sign of some of its roots and making each one have negative real part, even though we do not have access to the roots themselves. example 1. suppose g(x2) = g0 + g1x2 + g2x4 + g3x6 + g4x8 with g0 = 9.244, g1 = 72.286, g2 = 217.183, g3 = 296.638, g4 = 155.673. g(x2) = g(x)g(−x) where g(x) = g0 + g1x + g2x 2 + g3x 3 + g4x 4 with g0 = 3.040, g1 = 2.289, g2 = 12.749, g3 = 4.637, g4 = 12.476 is strictly hurwitz. starting with the initial random vector of coefficients (1.933, 2.008, 0.181, 0.870, 2.582), and tolerance 0.01, newton’s method converges to the polynomial 3.040 + 0.004x + 11, 887x2 − 0.003x3 + 12.477x4 of the quadratic system in 14 iterations. this polynomial is not stable. its roots are −0.0928 ± 0.6956j and 0.0929 ± 0.6972j. 3.2 an auxiliary problem the necessity of being able to “flip" the sign of certain roots of a given real polynomial as indicated above results in the following auxiliary problem: given a real polynomial g(x) = g0 + g1x + · · · + gnxn of degree n with g0 > 0, construct the real polynomial h(x) = h0 + h1x + · · · + hnxn with h0 = g0, such that the roots of h are ± roots of g and h is strictly hurwitz. if we could generate the polynomials h whose roots differ from the roots of g only in their sign, then we could test each polynomial generated by the routh-hurwitz criteria to see if it is stable. but there cannot be an analytic way involving radicals to do this: consider a generic fifth degree polynomial g(x) = g0 + g1x + · · · + g5x5 with g0 > 0. let r be a real root of g, and let h(x) = h0 + h1x + · · · + h5x5 be the polynomial with h0 = g0, which has identical roots as g(x), except for its fifth root it has −r instead of r. since g4 and h4 are the negative of the sums of the roots of g(x) and h(x) respectively, we have r = 1 2 (h4 − g4). we can also calculate g(x)/(x − r) by synthetic division and compute the roots of this quartic by radicals. thus if there were a way of computing the coefficients of h(x) from those of g(x) by means of radicals, then this would allow us to express the roots of a general fifth degree polynomial by radicals. 706 ö. eğecioğlu, b. s. yarman 4 algorithmic approaches to finding g(x) there are two essentially distinct approaches to find the strictly hurwitz polynomial g(x) given the input data g0, g1, . . . , gn with g0 > 0. both have a random component. a1 : generate an initial vector x0 = (x0, x1, . . . , xn)t and run newton’s method starting with x0. let the converged polynomial be h(x). if h(x) passes the routh-hurwitz criteria, then it is the strictly hurwitz polynomial desired and we are done. if not, generate another x0 and continue. a2 : generate an initial vector x0 = (x0, x1, . . . , xn)t and run newton’s method starting with x0. let the converged polynomial be h(x). if h(x) passes the routh-hurwitz criteria, then it is the strictly hurwitz polynomial desired and we are done. if not, use the coefficients of h(x) to generate another x0 and continue. a1 is simple to implement. on the other hand the number of executions of the newton method is fewer for a2, which essentially goes from a computed h(x) to another polynomial whose roots are negatives of some of the roots of h(x). we shall indicate a number of methods for a2. example 2. in [8], the data given for a monopole antenna is modeled using the linear interpolation technique proposed for positive real functions. we used this problem for the experimental evaluation of a1 and a2. for this model g(x2) = g0+g1x2+g2x4+g3x6+g4x8 with g0 = 9.244, g1 = 72.286, g2 = 217.183, g3 = 296.638, g4 = 155.673. employing a1, the strictly hurwitz polynomial g(x) = g0 + g1x + g2x 2 + g3x 3 + g4x 4 with g0 = 3.040, g1 = 2.289, g2 = 12.749, g3 = 4.637, g4 = 12.476 was found. the initial vectors x0 = (x0, x1, x2, x3, x4) t were generated by picking xi independently and uniformly in the range 0 < xi < √ g0. the average number of different starting points required for the newton method for convergence to g(x) with a tolerance of 0.001 is about 8 with a standard deviation of 5. next we consider two properties of the family of polynomials which are solutions to (4.3) and differ only in the signs of their roots. 4.1 selection of starting points for a2, we use the following idea: suppose we have two real solutions g(x) and h(x) to the quadratic system of equations (7). then g(x2) = g(x)g(−x) = h(x)h(−x) where g(x) and h(x) have the same roots up to signs. define f(x) = h(x)/g(x). since h(x)/g(x) = g(−x)/h(−x), f(x) satisfies the functional equation f(x)f(−x) = 1 . (10) put f(x) = c0 + c1x + c2x2 + · · · with c0 = 1. >from (10), we have 1 = c20 0 = −c21 + 2c2 0 = c22 + 2c0c4 − 2c1c3 0 = −c23 + 2c0c6 − 2c1c5 + 2c2c4 0 = c24 + 2c0c8 − 2c1c7 + 2c2c6 − 2c3c5 ... = ... stable factorization of strictly hurwitz polynomials 707 the general form of the k-th equation for k ≥ 1 is 0 = ∑ i+j=2k (−1)icicj. in this infinite system, each of c2, c4, c6, . . . can be expressed in terms of the coefficients c1, c3, c5, . . .. in fact, we can represent c2k as a polynomial in c1, c3, . . . c2k−1. >from the second equation, c2 = 1 2 c21. using this with the third equation we get c4 = − 1 2 c22 + c1c3 = − 1 8 c41 + c1c3 and c6 = 1 2 c23 + c1c5 − 1 2 c31c3 + 1 16 c61 . in the general case we can write c2k = 1 2 (−1)k+1c2k + k−1∑ i=1 (−1)i+1cic2k−i . (11) in (11), we repeatedly substitute the expressions obtained for the earlier coefficients with even indices, we arrive at the expression of c2k in terms of c1, c3, c5, . . .. therefore f(x) = 1 + c1x + 1 2 c21x 2 + c3x 3 + (c1c3 − 1 8 c41)x 4 + c5x 5 + (1 2 c23 + c1c5 − 1 2 c31c3 + 1 16 c61)x 6 + c7x 7 + · · · thus h(x) = g(x) ( 1 + c1x + 1 2 c21x 2 + c3x 3 + (c1c3 − 1 8 c41)x 4 + c5x 5 + · · · ) for some real numbers c1, c3, c5, . . .. we can use the form of the coefficients of f(x) to pick a new starting point if the solution g(x) we obtain from the newton’s method fails to be stable. for algorithm a2, we generate a new initial point h(x) for newton’s method from the current computed solution g(x) = g0 + g1x + · · · + gnxn with g0 > 0 by setting hk = ∑k i=0 gick−i for k = 0, 1, . . . , n with c0 = 1 and 0 = ∑k i=0 gick−i for k > n. we then express the even indexed ci in terms of the odd index ones. after this stage, the hk’s involve only c1, c3, . . . , cn−1 (or up to cn if n is odd.) we pick random values for these ci’s satisfying these constraints. example 3. for the data in example 2, we considered the experimental evaluation of a2. the initial vector x0 = (x0, x1, x2, x3, x4)t was generated by picking xi independently and uniformly in the range 0 < xi < √ g0. following that the algorithm jumps to the next initial vector using the ideas presented above. the average number of iterations to converge to the strictly hurwitz polynomial within a tolerance of 0.001 was 2, with a standard deviation of 1. 4.2 a linear algebraic property given a real polynomial g(x) = g0 + g1x + · · · + gnxn of degree n, we briefly consider the problem of constructing a new polynomial h(x) = h0 + h1x + · · · + hnxn whose roots depend on the roots of g, without actually finding the roots themselves. without loss of generality, gn = 1. suppose the roots of g are β1, . . . , βn and the required roots of h are p(β1), . . . , p(βn) for some polynomial p. consider the companion matrix of g defined by c =   0 1 0 0 0 0 1 0 ... . . . ... 0 1 −g0 −g1 · · · −gn−1   708 ö. eğecioğlu, b. s. yarman the characteristic polynomial of c is det(xi − c) = g(x). then h can be expressed in terms of only the coefficients of g as det(xi − p(c)) = h(x) without calculating the zeros β1, . . . , βn. for example for g(x) = g0 + g1x + x2 with zeros β1, β2, c = [ 0 1 −g0 −g1 ] and the characteristic polynomial of c2 − 3c has zeros β21 − 3β1, β 2 2 − 3β2. we compute c2 − 3c = [ 0 −2 3g0 + g 2 0 3g1 + g 2 1 ] and therefore h(x) = det( [ x 2 −3g0 − g 2 0 x − 3g1 − g 2 1 ] ) = 2g0(3 + g0) − g1(3 + g1)x + x 2 . the reason for this is that c is similar to an upper triangular matrix with β1, . . . , βn on the diagonal [4], bcb−1 =   β1 0 β2 ∗ ... . . . 0 . . . 0 βn   , so that bp(c)b−1 =   p(β1) 0 p(β2) ∗ ... . . . 0 . . . 0 p(βn)   . functions other than polynomials can be used for p (e.g. mixtures of exponential and certain rational functions). however for this approach to work, each βi must be transformed by the same function p. we only want to change the sign of one of the βi at a time. let i(i) be the matrix that is obtained from the identity matrix by changing the ith 1 to a −1. we would like to construct the matrix si(c) such that bsi(c)b −1 = i(i)bcb−1. (12) then the characteristic polynomial of si(c) has zeros β1, . . . , βi−1, −βi, βi+1, . . . , βn. >from (12), si(c) = bi(i)b−1c. if b1, . . . , bn are the column vectors of b and c1, . . . , cn are the row vectors of b−1, then si(c) and c are related by si(c) = (i − 2bici)c . (13) we do not need the matrix b exactly (this may involve finding eigenvalues, which are not permitted in this approach). the characteristic polynomial of the perturbed matrix in (13) will be used as a starting point for the next iteration of newton’s method, so bi and ci and the outer product bici can be approximate. 5 conclusions and further work we have proposed a stable factorization procedure generate strictly hurwitz polynomial from a given strictly positive even polynomial. the factorization process is carried out directly to find the solution of a set of quadratic equations in many variables employing newton’s method. it is hoped that the method presented in this paper generalizes to two-variable polynomials. this would make possible the generation of scattering hurwitz polynomials, which are the twodimensional analogues of strict hurwitz polynomials. stable factorization of strictly hurwitz polynomials 709 bibliography [1] aksen a., “design of lossless two-ports with mixed, lumped and distributed elements for broadband matching," phd. dissert., lehrstuhl für nachrichtentechnik, ruhr universitaet bochum, 1994. [2] fettweis a., “on the scattering matrix and the transfer scattering matrix of multi dimensional lossless two-ports," int. j. of communication, vol. 36, pp. 374-381. [3] henrici p., applied and computational complex analysis, vol. ii, wiley, new york, 1977. [4] lang s., linear algebra, addison-wesley, reading, ma, 1966, p. 183. [5] yarman b. s., “broadband networks," wiley encyclopedia of electrical and electronics engineering, vol. ii, pp. 589-604, 1999. [6] yarman b. s. and aksen a., “a reflectance-based computer aided modeling tool for high speed/high frequency communication systems," proc. ieee-iscas 2001; 4, pp. 270-273. [7] yarman b. s., aksen a. and kilinc a., “immitance data modeling via linear interpolation techniques," proc. ieee-iscas 2002; 3, pp. 527-530. [8] yarman b. s., kilinc a. and aksen a., “immitance data modeling via linear interpolation techniques: a classical circuit theory approach," int. j. of circuit theory and applications, 2004; 32, pp. 537-563. [9] yarman b. s. and carlin h. j., “a simplified real frequency technique applied to broadband multi-stage amplifiers," ieee trans. mtt; 30, pp. 2216-2222, 1982. international journal of computers, communications & control vol. ii (2007), no. 4, pp. 355-366 robust predictive control using a gobf model for miso systems ali douik, jalel ghabi, hassani messaoud abstract: in this paper we develop a new method for robust predictive control for miso systems represented on the generalized orthonormal basis functions. unknown but bounded error approaches are used to update the uncertainty domain of the resultant model coefficients. this method uses a worst case strategy solved by a min-max optimization problem taking into account the constraints relative to parameter uncertainties and to measurement signals. keywords: predictive control, robust, generalized orthonormal basis functions, miso, ubbe. 1 introduction there has been interest in the use of orthogonal basis functions for the purposes of robust model predictive control (rmpc) [1, 2, 3, 4]. the most common model structure employing these bases is the well known fir one. however, the number of terms in the series expansion is high, and this may lead to poor accuracy in the estimated uncertainty domain parameter as well as the control strategy. another approach is to use laguerre or kautz models that are more suitable to represent systems having near or oscillating dynamics [5, 6]. moreover, using the popular armax model structure [7] involves a small number of parameters but the criterion to be minimized is not convex which may complicate the optimization problem. this paper is a contribution overlapping these methods by developing a new rmpc algorithm for a miso system represented on the generalized orthonormal basis functions (gobf) [8, 9]. however, the main features of using gobf model in rmpc methods is that the common fir, laguerre and kautz model structures are special cases of this complete construction [10, 11, 12], it is not sensitive to sampling interval choice, it doesn’t requires a prior knowledge of the system delay and it operates on a small number of parameters. furthermore, the criterion is convex on the uncertainty domain of the gobf model coefficients. the uncertainty domain is determined with unknown but bounded error approaches (ubbe) that updates polytopes, orthotopes, parallelotopes, ellipsoids or limited complexity polytopes [13, 14, 15]. the optimal poles of these basis functions are estimated using a new technique of poles estimation [16, 17]. the paper is organized as follows: in section 2 we present the state space model for the miso system represented on the gobf. the predictor output is expressed in section 3. in section 4, robust predictive control method is detailed and the main results are developed. simulation examples are in section 5 and finally, some conclusions are given in section 6. 2 state-space model this paper considers a miso system having m input sequences {u1(k), u2(k),··· , um(k)} and an output sequence {y(k)} that are related according to: y(k) = m ∑ j=1 g j(q −1)u j(k) + e(k) (1) where q−1 is the backward shift (q−1u j(k) = u j(k − 1) ). { g j(q−1) } describe the unknown system dynamics (assumed stable) and e(k) is the model uncertainty. copyright © 2006-2007 by ccc publications 356 ali douik, jalel ghabi, hassani messaoud the discrete time state-space model for a miso system represented on the gobf is defined by: { x(k + 1) = ax(k) + bu(k) ŷ(k) = θ t x(k) (2) with: u(k) ∈ ℜm and ŷ(k) are the input signal vector and the model output respectively. x(k) is an n dimensional state vector of elements { x jn(k) } j=1,2,···,m n=0,1,···,n j defined by: x jn(k) = z −1 { b jn(z, ξ j) } u j(k) (3) where z−1 is the inverse transform of z. n j and ξ j are the truncating order and the poles vector respectively for the j-network of the gobf. n = m ∑ j=1 (n j + 1) is the number of the gobf model parameter for the miso system and { b j n(z, ξ j) } j=1,2,···,m n=0,1,···,n j is the gobf expression given by: b jn(z) = √ 1− ∣∣∣ξ jn ∣∣∣ 2 z−ξ jn n−1 ∏ k=0 ( 1− ξ̄ jk z z−ξ jk ) (4) where ξ jk and its conjugate ξ̄ j k are the poles for the k-filter of the gobf. θ ∈ ℜn is the parameter vector. a and b are (n × n) and (n × m) dimensional matrices respectively defined by: a = diag (a j) j=1,2,···,m , b = diag (b j) j=1,2,···,m (5) where the (1 + n j)×(1 + n j) dimensional matrix a j and the (1 + n j) dimensional vector b j are given by: a j(a, b) =    ξ ja−1 if a = b, fj(a, b) if a â b, 0 if a ≺ b. (6) fj(a, b) = (−1)a+b+1α ja−1(1−ξ j b−1ξ̄ j b−1) a−1 ∏ `=b+1 α j`−1ξ̄ j `−1 (7) b j(b) = (−1)b+1α jb−1 b−1 ∏̀ =1 α j`−1ξ̄ j `−1 (b = 1,··· , n j + 1) (8) and we assume: α j` = √ 1− ∣∣∣ξ j` ∣∣∣ 2 √ 1− ∣∣∣ξ j`−1 ∣∣∣ 2 , α j0 = √ 1− ∣∣∣ξ j0 ∣∣∣ 2 (9) 3 step-ahead predictor equation system (2) can be written in incremental form as: δ x(k + 1) = aδ x(k) + bδ u(k) (10) ŷ(k) = ŷ(k −1) + θ t δ x(k) (11) robust predictive control using a gobf model for miso systems 357 where: δ u(k) = u(k)−u(k −1), δ x(k) = x(k)−x(k −1) (12) when the error on the gobf model is unknown but bounded, the fourier coefficients are defined by uncertainty intervals. equation (11) can be then rewritten as: ŷ(k) = ŷ(k −1) + θ t (ε)δ x(k) (13) where ε ∈ ω is the vector of parameter uncertainties and ω the parameter uncertainty domain. from (13), the p-step ahead predictor can be written as: ŷ(k + p/k) = ŷ(k + p−1/k) + θ t (ε)δ x(k + p); p ≥ 1 (14) using (10) and by successive substitutions we can write: δ x(k + p) = apδ x(k) + p ∑ q=1 ap−qbδ u(k + p−1) (15) thus, by successive substitution of (15) into (14) we finally have: ŷ(k + p/k) = ŷ(k) + θ t (ε) [kp −in ] δ x(k) + θ t (ε) p ∑ q=1 kp−qbδ u(k + q−1) (16) where in is the identity matrix and kp is an (n ×n) dimensional matrix defined by: kp =    p ∑ q=0 aq for p ≥ 0 0 for p ≺ 0 (17) the p-step ahead predictor can be written as a sum of two components: the free part and the forced part: ŷ(k + p/k) = ŷl (k + p/k) + ŷ f (k + p/k) (18) with: ŷl (k + p/k) = ŷ(k) + θ t (ε) [kp −in ] δ x(k) (19) ŷ f (k + p/k) = θ t (ε) p ∑ q=1 kp−qbδ u(k + q−1) (20) we note by h1, h2 and hu (hu ≺ h2) the output prediction horizons and the control horizon successively. we assume that h1 = 1. on the prediction horizon [k + 1, k + h2], (18) can be written in matrix form as: ŷ (k, ε) = ŷf (k, ε) + ŷl (k, ε) (21) where ŷ (k, ε) is the predictor vector of dimension h2 defined by: ŷ (k, ε) =   ŷ(k + 1/k, ε) ... ŷ(k + h2/k, ε)   (22) the vectors ŷl (k) and ŷf (k) can be computed using (19) and (20) respectively for (p = 1, 2,··· , h2). thus, we can write: ŷf (k, ε) = g(ε)δu (k) (23) 358 ali douik, jalel ghabi, hassani messaoud with: δu (k) is the control increment vector of dimension (mhu) defined by: δu (k) =   δ u(k) δ u(k + 1) ... δ u(k + hu −1)   (24) where δ u(k + p) represent the control increment vector defined by: δ u(k + p) = u(k + p)−u(k + p−1) ∀ p ∈ [0, hu −1] (25) u(k + p) = p ∑ q=0 δ u(k + p−q) + u(k −1) (26) g(ε) is an h2 ×(mhu) dimensional matrix that represents the impulse response coefficients and defined by: g(ε) =   g1(ε) 0 ··· 0 g2(ε) g1(ε) ··· ... ... ... . . . ... ghu (ε) ··· ··· g1(ε) ... ... . . . ... gh2 (ε) ··· ··· gh2−hu+1(ε)   (27) with gtp (ε) is a vector of dimension m given by: gp(ε) = θ t (ε)kp−1b = p ∑ q=1 θ t (ε)aq−1b (p = 1, 2,··· , h2) (28) 4 robust predictive control algorithm 4.1 constraints the constraints are resulting from uncertainties on the gobf model coefficients and bounds on control signals and control increments over the control horizon hu. umin ≤ u(k + p) ≤ umax ∀ p ∈ [0, hu −1] (29) δ umin ≤ δ u(k + p) ≤ δ umax ∀ p ∈ [0, hu −1] (30) where: umax =   u1 max ... um max   , umin =   u1 min ... um min   (31) δ umax =   δ u1 max ... δ um max   , δ umin =   δ u1 min ... δ um min   (32) using (26), (29) and (30) we define the set δ ψ of constraints on control signals as follows: δ ψ = {δu /γδu ≤ v} (33) robust predictive control using a gobf model for miso systems 359 with γ is an (4mhu)×(mhu) dimensional matrix and v a vector of dimension (4mhu). γ =   imhu −imhu ∆ −∆   , v =   δumax −δumin umax −ϕ −umin + ϕ   (34) where imhu is the (mhu) dimensional identity matrix. the matrix ∆ of dimension (mhu)×(mhu) and the vector ϕ of dimension (mhu) are given by: ∆ =   1 0 ··· 0 1 1 . . . ... ... . . . . . . 0 1 ··· 1 1   , ϕ(k −1) =   u(k −1) ... u(k −1)   (35) umax, umin, δumax and δumin are (mhu) dimensional vectors defined as: umax =   umax ... umax   , umin =   umin ... umin   (36) δumax =   δ umax ... δ umax   , δumin =   δ umin ... δ umin   (37) 4.2 optimization criterion the robust predictive control algorithm using an uncertainty model, is based on a worst case strategy that consists to resolve a min-max optimization problem given by: min δu∈δ ψ max ε∈ω j(δu, ε) (38) the quadratic criterion to be minimized is defined by: j(δu, ε) = h2 ∑ p=1 (ŷ(k + p)−r(k + p))2 + m ∑ j=1 { hu−1 ∑ p=0 λ pj δ u 2 j (k + p) } (39) with: δ u(k + p) = 0 for p ≥ hu (40) where λ pj â 0 ( j = 1, 2,··· , m) is a weighting factor generally considered constant and equals to λ j. r(k + p) represent the reference signal defined on the prediction horizon [k + 1, k + h2]. the quadratic criterion j(δu, ε) can be written in matrix form as: j(δu, ε) = ∥∥ŷ (k, ε)−r(k) ∥∥2 + ∥∥∥λ1/2δu (k) ∥∥∥ 2 (41) >from (41), we can write: j(δu, ε) = ( ŷ (k, ε)−r(k) )t ( ŷ (k, ε)−r(k) ) + δu t (k)λδu (k) (42) 360 ali douik, jalel ghabi, hassani messaoud where r(k) is an h2 dimensional reference vector defined by: r(k) =   r(k + 1) ... r(k + h2)   (43) λ is an (mhu ×mhu) dimensional weighting diagonal matrix defined by: λ = diag(λ0, λ1,··· , λhu−1) λp = diag(λ1, λ2,··· , λm); p = 0,··· , hu −1 (44) using (21), the matrix form (42) can be rewritten as: j(δu, ε) = δu t φ (ε)δu + 2ρ t (ε)δu + β (ε) (45) where φ is an (mhu ×mhu) dimensional positive definite matrix: φ (ε) = gt (ε)g(ε) + λ (46) ρ is a vector of dimension (mhu): ρ(ε) = gt (ε) [ ŷl (k, ε)−r(k) ] (47) β is a scalar defined as follows: β (ε) = [ ŷl (k, ε)−r(k) ]t [ ŷl (k, ε)−r(k) ] (48) since the criterion is convex over the parameter uncertainty set, the maximization problem over this set can be reduced to the maximization over its vertices. when the parameter set is an ellipsoid, it is approximated by the orthotope containing it. therefore the optimization problem (38) becomes: min δu∈δ ψ max ε∈s j(δu, ε) (49) where s is the set of vertices of the orthotope. the number of constraints is given by: l = 2n + 4mhu (50) where 2n is the number of the vertices of the domain s for the miso system. the rmpc algorithm using a gobf model for a miso system can be summarized as follow: – compute the matrices a and b from (5), – determine the set of vertices, – select the parameters h2 and hu, – select the weighting matrix coefficients, – compute the matrices kp (p = 1,··· , h2) from (17), – compute the coefficients gp (p = 1,··· , h2) from (28), – compute the references. computation at each sampling period: – compute the free component ŷl (k) using (19), – compute the quadratic criterion using (45), – determine the control increment vector using (49). robust predictive control using a gobf model for miso systems 361 5 simulation examples in this section we will illustrate the utility of the robust predictive control method by presenting some simulation examples. to begin with, suppose we have a miso system with m = 2 input sequences and a number of h = 300 point data record generated by the following model: y(k) = 0.102z−1 −0.751z−2 1−0.745z−1 u1(k) + −(0.152z−1 + 0.255z−2) (1 + 0.7047z−1)(1−0.3547z−1) u2(k) + e(k) (51) where u1(k), u2(k), y(k) and e(k) are the inputs, the output and the model error respectively. the model error is assumed to be bounded such |e(k)| ≤ 4.51 and the input signals are uniformly distributed sequences. in this simulation we approximate this model by the gobf model where the truncating order and the optimal poles are: nopt = 4; ξopt = (0.7450 0 0.3547 −0.7047). the process output and the gobf model output are illustrated in figure 1. 0 100 200 300 −20 −10 0 10 20 25 process output gobf model output figure 1: process output and gobf model output the center and uncertainty intervals (ui) of the ellipsoid are given in table 1. the tuning parameters used in this simulation are: h2 = 8, hu = 2, λ1 = 1 and λ2 = 1. table 1: ellipsoid performances ellipsoidal center -0.6326 -0.9135 -0.2266 -0.1260 uncertainty intervals 0.3797 0.9320 0.7085 1.9076 to validate the control method we plot in figure 2 the gobf model output and the reference signal. the control signals and the control increment signals are illustrated in figure 3 and 4 successively. the picks of the control signals as well as the control increment signals are due to the changed reference signal from -40 to +40 at the iterations 100 and 200. therefore, we notice the rapid convergence of the model output to the reference signal. this is predictable since we optimize a tracking criterion. other simulation examples with different gobf models and reference signals have been studied and yielded the same results. 362 ali douik, jalel ghabi, hassani messaoud 0 100 200 300 −50 −40 0 40 50 gobf model output reference signal figure 2: reference signal and gobf model output 0 100 200 300 −40 −30 −20 −10 0 10 20 30 40 control signal u1 0 100 200 300 −15 −10 −5 0 5 10 control signal u2 figure 3: control signals 0 100 200 300 −20 −15 −10 −5 0 5 10 15 20 25 control increment signal 1 0 100 200 300 −25 −20 −15 −10 −5 0 5 10 15 20 25 control increment signal 2 figure 4: control increment signals robust predictive control using a gobf model for miso systems 363 on the other hand, the influence of the error bounds on the gobf model output in the case of an ellipsoid domain is studied by considering 3 different snr (signal to noise ratio). the table 2 gives the centers and the uncertainly intervals where the figure 5 illustrates the model outputs and the reference signal fixed arbitrary. this figure shows the similar convergence of the model outputs to the reference signal. thus, we conclude that for different error bounds, we obtain the same gobf model output. the control method has been tested with different reference signals and error bounds that yielded the same results. finally we study the influence of different uncertainty domains such an ellipsoid, an orthotope and a polytope. the table 3 regroups the centers and the uncertainty intervals of these domains. the model outputs correspondent are shown in figure 6. by examining this figure we notice that the model outputs converge simultaneously to the reference signal. so, we conclude that the type of the parameter domain has no influence on this control method. other experiences with different reference signals and domain parameter have been realized and yielded the same results. table 2: ellipsoid performances for different error bounds snr=5 center -0.5698 -1.0975 -0.2557 -0.0844 ui 0.7915 1.9507 1.4634 3.9237 snr=10 center -0.6071 -0.9886 -0.2377 -0.1086 ui 0.5517 1.3550 1.0246 2.7549 snr=20 center -0.6326 -0.9135 -0.2266 -0.1260 ui 0.3797 0.9320 0.7085 1.9076 table 3: domain performances (snr=20) ellipsoid center -0.6326 -0.9135 -0.2266 -0.1260 ui 0.3797 0.9320 0.7085 1.9076 orthotope center -0.6950 -0.7551 0.1082 -0.1356 ui 0.6403 1.6896 1.7069 4.2133 polytope center -0.6924 -0.7556 -0.1968 -0.1754 ui 0.0236 0.0307 0.0472 0.1095 0 100 200 300 −60 −50 0 50 60 gobf model output (snr=20) gobf model output (snr=10) gobf model output (snr=5) reference signal figure 5: model outputs for 3 different snr of an ellipsoid domain 364 ali douik, jalel ghabi, hassani messaoud 0 150 300 −40 −30 0 30 40 gobf model output (ellipsoid) gobf model output (orthotope) gobf model output (polytope) reference signal figure 6: model outputs for different uncertainty domains 6 conclusion this paper has presented a new robust predictive control method based on the gobf model for a miso system. a min-max problem is solved taking into account the uncertainties on the model coefficients and the constraints on the control signals. the uncertainty parameter domain can be an ellipsoid, an orthotope or a polytope and the performance criterion is optimized with respect to constraints relative to parameter uncertainties and measurement constraints. the implication of these results in the context of system controls is that the gobf can be used to deliver state space models suitable to synthesize a robust predictive control without affecting the computational complexity and the performance of the method. finally, it should also be noted that this control method provides best results and may be synthesized for a mimo system represented on the gobf. bibliography [1] g. oliveira, g. favier, g. dumont, and w. amara, predictive controller based on laguerre filters modeling, in proc. 13th ifac world congress, san francisco, usa, vol. g, pp. 375-380, 1996. [2] a. mbarek, h. messaoud and g. favier, robust predictive control using kautz model, in proc. 10th ieee international conf. electronics, circuits and systems, pp. 184-187, december 2003. [3] l.p. wang, discrete time model predictive control design using laguerre functions, journal of process control, 14:131-142, 2004. [4] e.m. el adel, m. ouladsine, and l. radouane, predictive steering control using laguerre series representation, in proc. 2003 american control conf., vol.1, pp. 439-445, june 2003. [5] b. wahlberg, system identification using laguerre models, ieee trans. on automatic control, 36(5): 551-562, 1991. [6] b. wahlberg, system identification using kautz models, ieee trans. on automatic control, 39(6):1276-1282, 1994. [7] a. gutierrez and e. camacho, robust adaptive control for processes with bounded uncertainties, in proc. 3rd ecc, roma, vol.2, pp. 1295-1300, 1995. robust predictive control using a gobf model for miso systems 365 [8] j. ghabi, a. douik and h. messaoud, a new modelling approach of mimo linear systems using the generalized orthonormal basis functions, in proc. of the 6th ispra’07, greece, pp. 192-196, february 2007. [9] j. ghabi, a. douik and h. messaoud, new methods of modelling and parameter estimation for mimo linear systems using generalized orthonormal basis functions, journal on systems and control, vol. 2, pp. 133-140, 2007. [10] b. ninness and f. gustafsson, a unifying construction of orthonormal bases for system identification, ieee trans. on automatic control, 42 (4): 515-521, 1997. [11] p. s. c. heuberger, p. m. j. van den hof, and o. h. bosgra, a generalized orthonormal basis for linear dynamical systems, ieee trans. on automatic control, 40(3):451-465, 1995. [12] paul van den hof, brett ninness, system identification with generalized orthonormal basis functions, in modelling and identification with rational orthogonal basis functions, springer verlag, chap.4, pp. 61-102, 2005. [13] g. favier and l. arruda, review and comparison of ellipsoidal bounding algorithms, in m. et al., editor, bounding approaches to system identification, plenum press, new york, chap.4, pp. 43-68, 1996. [14] h. messaoud and g. favier, recursive determination of parameter uncertainty intervals for linear models with unknown but bounded errors, in proc. 10th ifac symposium on system identification, copenhagen, denmark, pp. 365-370, 1994. [15] s. maraoui and h. messaoud, design and comparative study of limited complexity bounding error identification algorithms, ifac, symposium on system structure and control, prague, cheque republique, pp. 29-31, 2001. [16] j. ghabi, a. douik and h. messaoud, a new estimation method of the poles for the generalized orthonormal bases filters, in proc. of the 6th ispra’07, greece, pp. 197-202, february 2007. [17] j. ghabi, a. douik and h. messaoud, a new technique of poles estimation for generalized orthonormal basis functions, journal on systems and control, vol.2, pp. 125-132, 2007. ali douik, jalel ghabi and hassani messaoud ecole nationale d’ingénieurs de monastir (enim) département de génie electrique laboratoire atsi rue ibn el jazzar, 5019 monastir tunisie e-mail: ali.douik@enim.rnu.tn, jalel.ghabi@yahoo.fr, hassani.messaoud@enim.rnu.tn received: june 30, 2007 366 ali douik, jalel ghabi, hassani messaoud ali douik was born in tunis, tunisia. he received the master degree in 1990 and the ph.d. degree in 1996 of science electrical genius from the “ecole normale supérieur de l’enseignement technique de tunis”. he is currently “maitre assistant”in the “ecole nationale d’ingénieurs de monastir”and director of the “département de génie electrique”. his research is related to signal processing and automatic control. jalel ghabi was born in kairouan, tunisia. he received the diploma of graduate engineer in electrical genius from the “ecole nationale d’ingénieurs de monastir”, in 1997. he obtained her master of automatic and industrial data processing from “ecole nationale d’ingénieurs de sfax”, in 2003. he is currently preparing the phd. degree in control automatic in the laboratory atsi “automatique, traitement de signal et imagerie”. his research is related to the robust predictive control of mimo systems using generalized orthonormal basis functions. hassani messaoud was born in mahdia, tunisia. he received the master degree from the “ecole normale supérieur de l’enseignement technique de tunis”, in 1985 and the ph.d. degree in automatic control from the “ecole centrale de lille, france”, in 1993. in 2001, he received the ability degree from the “ecole nationale d’ingénieurs de tunis”. he is presently professor in the “ecole nationale d’ingénieurs de monastir”and director of the laboratory atsi. he has been the supervisor of several phd thesis and is author or co-author of several journal articles. his research is related to automatic control and signal processing. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 148-157 applying rbf neural nets for position control of an inter/scara robot fernando passold pontifical catholic university of valparaíso college of electrical engineering avenida brasil 2147, valparaíso, chile e-mail: fernando.passold@ ucv.cl abstract: this paper describes experimental results applying artificial neural networks to perform the position control of a real scara manipulator robot. the general control strategy consists of a neural controller that operates in parallel with a conventional controller based on the feedback error learning architecture. the main advantage of this architecture is that it does not require any modification of the previous conventional controller algorithm. mlp and rbf neural networks trained on-line have been used, without requiring any previous knowledge about the system to be controlled. these approach has performed very successfully, with better results obtained with the rbf networks when compared to pid and sliding mode positional controllers. keywords: manipulator robots, position-force control, neural networks. 1 introduction this paper describes and discusses practical results obtained with the use of computational intelligence techniques, specifically artificial neural networks, applied to the position control of a real manipulator robot. the neural controller proposed in this work was applied in a real scara robot installed at the industrial automation laboratory of the federal university of santa catarina, brazil. the work is the result of a cooperation between the automation and mechanical engineering departments. the robot was manufactured by the institute of robotics (ifr) of the eth (swiss federal institute of technology, http://www.ifr.mavt.ethz.ch/ ). differently from most industrial manipulator robots, this one has an open architecture, which allows the implementation of any type of control law. the main purpose was to evaluate new algorithms for position/force control, since the robot is also equipped with a force sensor. fig. 1 shows the inter/scara robot. manipulator robots are a type of non-linear and time variant systems. conventional controllers, such as pd and pid, are used among other advanced and robust controllers that require some knowledge about the dynamic model of the system under control. in the case of manipulator robots, it is difficult to obtain some parameters, as the inertia matrix and mass centers of any joint, with sufficient accuracy. therefore, either adaptive controller are required to overcome these inaccurate parameters or control laws based on lyapunov functions are developed to guarantee some kind of stability [1]. both approaches require some knowledge about the system. this work explores a computational intelligence technique, namely artificial neural networks, to deal with this situation. in particular, control algorithms based on neural networks and fuzzy logic techniques are considered intelligent control approaches that do not require any previous knowledge about the system to be controlled. the main goal of this work is to explore an effective computational intelligence technique to control this complex system using a structure as simple as possible, with preference to one that requires less change in the previous conventional controller that has installed in the system, do not overload the main processor and is robustness against disturbance and load effect variations. copyright © 2006-2009 by ccc publications applying rbf neural nets for position control of an inter/scara robot 149 q3–, z z ↓↓ q3+, z z ↑↑ q0 z0 q1 qq22yy00 xx00 xx yy xx yy θθ–– zzmáxmáx= 44.55 [cm]= 44.55 [cm] zzminmin= 18.45 [cm]= 18.45 [cm] l1 l2 rrminmin=25=25 [cm][cm] rrmáxmáx=50=50 [cm][cm] figure 1: inter/scara robot and its coordinate system. 2 neural controller types artificial neural networks (nns) have been applied to several cases of control systems, showing special adequacy when we have to deal with complexity, non-linearity or uncertainty [13]. the neural approach is interesting, notably in the cases where: a) mathematical models of the process are poor or do not even exist and linear models are inadequate to represent the system with sufficient accuracy; b) the system works satisfactorily with an existing controller but its performance deteriorates substantially when high performances (e.g. speeds) are required, so non-linear controllers become necessary. nns have proved their ability to approximate arbitrary nonlinear maps and the availability of methods for adjusting their parameters on basis of input and output data makes them particularly attractive in identifiers and controllers [2]. narendra also comments that it seems to be valuable to keep linear and non-linear components working in parallel, where the neural networks represent the non-linear components [2]. he also mentions the brief learning time periods and the increase of accuracy that result from this kind of integration. in the control systems area, a few neural models have been proved to be more suitable than others, mainly: 1) multilayer perceptron networks (mlp), and; 2) radial base function networks (rbf). among several ways to apply nns in a control scheme, we can cite: (i) inverse identification (requires undesirable off-line training), (ii) reference model structure, (iii) internal model control, (iv) predictive control (uses two nns, one of them trained off-line to identify the system), (v) optimal control (also requires two nets: the first one is used to quantify the state space of the system and the next acts as a 150 fernando passold classifier). katič and vukobratovič [3] and morris and khemaissia [4] discuss two learning architectures that seem to be the most appropriate and promising: a) feedback-error learning architecture; and b) adaptive learning architecture. the feedback error learning approach is characterized by the nn inserted in the feedback path to capture the nonlinear characteristics of the system. the ann weights are tuned on-line with no off-line learning phase and, when compared with the adaptive technique, we do not require any knowledge of the robot dynamics, linearity in the unknown system parameters or the tedious computation of a regression matrix. thus, this approach is model-free and represents an improvement over adaptive techniques [5]. 2.1 multilayer perceptron net this network consists of a set of sensory input units (source nodes) that constitute the input layer, one or more hidden layers and an output layer. the input signal propagates through the network in a forward direction, on a layer-by-layer basis [6]. multilayer perceptrons could be trained in a supervised manner using the back-propagation algorithm. back-propagation is based on the error-correction learning rule and uses a least-mean-square error algorithm to adjust its connection weights. the error back-propagation learning consists of two stages: first, a forward phase, when the input vector is applied to the sensory nodes of the network, and its effect propagates through the network layer by layer. finally, an output set is produced as the current response of the network. during the forward phase the weights of the network are kept unchanged. in the second phase, the backward phase, an error signal is propagated backward through the network against the direction of synaptic connections and the weights are adjusted to make the current response of the network move closer to the desired response based on a steepest descent algorithm, or back propagation weight update rule, also called generalized delta-rule [6]. 2.2 radial base functions net the basic structure of the rbf network consists of three layers. different from the mlp networks, the layers here have different tasks. the first layer is passive and only connects the model to the real world. the second layer is a unique hidden layer. it performs a non-linear transformation from the input vector space to the internal vector space. the last layer is the output layer and transforms internal vector space into output vector space in a linear manner. there are several algorithms available to train the network [6, 7, 8]. these two types of neural nets can be universal function approximators [6, 8]. 3 controller proposed the controller proposed here uses a conventional pd or pid that performs in parallel with an artificial neural network trained on-line. this kind of architecture for neural controllers is known as feedback error learning because the net uses the output signal generated by the conventional controller as its own error signal that is back propagated for learning purposes ([2, 5]). fig. 2 shows the architecture applied in this case. both types of nns tested deal with the same input data vector: xnn = [ q q̇ q̈d ] , where q is the vector of current joint positions; q̇ is the vector of current joint speeds (obtained through numerical differentiation); q̈d corresponds to the desired joint accelerations (like in other manipulators, there is no accelerometer available for each joint, so the desired acceleration computed by the path generator was used). these inputs were bounded into its maximum and minimum possible operational values for this robot and then scaled between the neural input range -0.9 up to +0.9 only for the mlp nets. note that, different from mlp nets, the rbf nets do not need a scale procedure sice that they could deal directly with rough data, but it was necessary to organize the input data into three different classes: 1) joint positions, 2) joint speeds and 3) joint accelerations – see fig. 3. the idea behind organizing the data applying rbf neural nets for position control of an inter/scara robot 151 path generator conventional controller robot robot q q�,dq�� qq �,dddqqq��� ,, fbτ nnτneuralnetwork finalτ + + + figure 2: feedback-error-learning neural controller used. in different classes comes from previous skills with fuzzy inference systems. rbf networks could be compared with fuzzy inference systems [9]. each class of input data could be understood as linguistic operations of fuzzy systems. each class of data is mapped using m gaussian functions and could be compared to the m membership functions that will be used in a fuzzy system. and finally, the rules and the way they are evaluated in a fuzzy system were performed by the output layer of a rbf network. each synaptic connection of the output layer could be compared to the fuzzy if-then-rules. the overall outputs are derived from the weighted sum done by the output layer [10]. hence, m gaussian functions were created to categorize each vector of each class of input data, as can be seen in fig. 3. it could be argumented that the massive amount of data required for the input layer (3 classes × 4 d.o.f. × m gaussian functions) is a drawback of this approach, but this solution was related to the final application in mind in this case. motions in the plane xy were done by the first two joints of the robot. height (z) and final orientation (θ) is performed by the last two joints of this robot but there is a mechanical coupling between them (a ball-screw-spline system), i.e., changes only in the final orientation of the robot result in a small change in the final height reached by the robot. that, represents an extra challenge to develop an effective controller to this kind of robot. the centers xi of the m desired gaussian functions are fixed, based on the range (minimal and maximal values) of the input vector. that, allows defining the maximum euclidian distance, dmax, between each gaussian centers as: dmax = (xmax − xmin) / (m − 1) and then fixing the standard deviation (or spread) of each gaussian function to be used according to: σ = dmax√ 2m (1) the traditional back-propagation algorithm expanded with momentum term was used to adjust in real-time the weights of the mlp and rbf networks [6]. the addition of the momentum term to the delta rule traditionally used to update the weights of the net (based on the method of the descending gradient of the error signal), speeds up this algorithm, it eliminates decurrent oscillations of the calculation of the gradient and prevents the net to get paralyzed into a point of minimum local (and not global) in its surface errors [6]. both networks end with 4 neurons, each one to evaluate the torque needed to command each joint motor of the robot. the final torque sent to each joint is defined as: τfinal = τfb + τnn (2) where τfb is related to the torque evaluated by the conventional feedback controller that performs in parallel with one of these networks. pd and pid controllers working in the joint space have been used. the equation for the pid used is given by: τfb = b̂(q) [ kpq̃ + ki ∫ q̃ dt + kd ˙̃q ] (3) 152 fernando passold ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 ϕ0 ϕi ϕn-1 green functions hidden layer output layer input layer 1q� 1dq�� σ00q� 0dq�� σ1 2q� 2dq�� σ2 3q� 3dq�� σ3 0q 1q 2q 3q 11−m ϕ 0nn τ 1nn τ 2nn τ 3nn τ 11−m ϕ 11−m ϕ 11−m ϕ ijw 0ϕ iϕ 0ϕ iϕ 0ϕ iϕ 0ϕ iϕ figure 3: structure of the rbf net implemented. where b̂(q) refers to the inertia matrix of the robot (estimated); q̃ = qd − q represents the error between the desired and the actual joint position; ˙̃q refers to the velocity error; kp is the vector of proportional gains for each joint; ki refers to the integral vector gains and kd is the derivative gain vector for each joint. to get a pd action over the system, the ki vector was not used (equal to zero). 4 experimental results the proposed controllers were implemented to the inter/scara robot (fig 1). the first two links of the inter/scara robot acts like an xy planar robot, and each one has 0.5 meters of length and its mechanical transmissions use harmonic drives (hd) to reduce motor-joints frictions at a minimal level. the last two joints use a ball-screw-spline mechanical scheme that allows movement in z direction and the definition of the final orientation of these robot (angle θ). this robot could be manipulated in the z direction between 18.45 (cm) and 44.55 (cm). tab. 1 shows the denavit-hartenberg parameters among others of this robot. the inter/scara uses the xo/2 real-time object oriented operational system (www.xo2.org) developed by the institute of informatics of the swiss federal institute of technology (eth). it includes a high level object oriented programming language called oberon which is a kind of successor of modula 2 and pascal (see http://www.oberon.ethz.ch. the robot runs a xo/2 version over a powerpc 200 mhz applying rbf neural nets for position control of an inter/scara robot 153 table 1: denavit-hartenberg parameters of inter/scara robot. joint αi ai di qi mli τmaxi 0 0 250 665 q0 ∼= 6.3 333.0 1 180o 250 0 q1 ∼= 19.5 157.0 2 0 0 q2 0 * 877.0 3 0 0 0 q3 * 16.7 (degrees) (mm) (mm) (kg) (nm) note: ml1 includes the last 2 joints(*). equipped with 16 mbytes of memory, which communicates with its i/o devices using an industrial vme bus (67 mhz). the user interface is done through a tcp/ip connection with a pc running the oberon system 3 for windows win32 2.3 (http://www.oberon.ethz.ch/) over the windows 2000 pro. the user develops the whole control system of the robot (including text command interface with the user, initialization and security functions) and through a cross compiler the execution programm is downloaded to the cpu of this robot (up to 4mbytes of code). the algorithms for the proposed neural controllers were implemented as a real-time task running within a sampling rate of 1 millisecond. in each millisecond is evaluated the action of conventional controller, also it is evaluated the forward phase of the neural net and still the backward phase when the trajectory error, q̃ > 0.0001(rad|m). the controller was tested over the trajectory shown by fig. 4. table 2 shows the joint positions, speeds and accelerations developed for each joint. all the four joints were moved simultaneously. −15 −10 −5 0 5 10 15 20 25 30 25 30 35 40 45 50 55 x [cm] y [ cm ] vista superior [xyphi] a b step=0.246[s] (a) xyθ view. −5 0 5 10 15 20 20 25 30 35 40 a b vista lateral [xz] x [cm] z [ cm ] step=0.246[s] (b) xz view figure 4: trajectory used for the tests. the pd/pid controller were digitally implemented using a 1(ms) sampling rate, and also an anti wind-up scheme was introduced with it to limit the integrative values up to 10000. table 3 shows the parameters used for the tested pd/pid controllers. their gains was settled initially based on zieglernichols parameters and then better adjusted using trial-and-error method. fig. 5 shows the output torques developed by different controllers for the joint 3 (the last and faster). note the different performances developed by the pd+mlp1c (mlp with one single hidden layer), pd+mlp2c (mlp with two hidden layers), pd+rbf(5) (rbf with 5 gaussian functions) and pid+rbf controllers tested. 154 fernando passold table 2: parameters of the trajectory used for the tests. parameter joint 0 joint 1 joint 2 joint 3 qa 2.45 -1.85 -0.25 -1.57 qb 1.25 0.75 -0.46 0.00 [rad] [rad] [m] [rad] q̇máx -0.71 1.19 -0.22 0.85 [rad/s] [rad/s] [m/s] [rad/s] q̈máx 0.85 1.00 0.47 -0.93 [rad/s2] [rad/s2] [m/s2] [rad/s2] table 3: pd/pid gains used. joint 0 joint 1 joint 2 joint 3 kp 4900 12100 90000 14400 kd 140 220 600 240 ki 478 1200 9200 1410 fig. 6 shows the trajectory error during all the time. during the initial one-third of the robot configuration change period the nns are in their learning time and the conventional controller still predominates in the joint control. but even before the end of this period of time, it could be seen that the nns output torque takes predominance over the final torque evaluated (fig. 6). it could be seen that the nn learns the dynamic behavior of the system and then does the dynamic compensation that results in higher performance compared to a conventional controller. the best results for the mlp nets were achieved with learning rate η = 0.035 and momentum term α = 0.5. related to the rbf nets, the best learning parameters founded were: η = 0.005 and α = 0.5. note that a pid performing with a rbf net, allows the better performance (fig. 5(d) and 5(e)) followed by the pd+rbf, pd+mlp and finally, the single pd. it was noted that the use of two hidden layers for the mlp nn does not imply in a better performance and moreover adds a small residual memory effect in presence of a disturbance on the system (this behavior has been observed in tests where an elastic string was placed in the middle of a linear trajectory). experimental results have also demonstrated that the addition of more than 5 gaussian functions in the rbf nn controller, slightly increase the performance, but at the expenses of a significant higher computational cost. 5 conclusions this paper has presented a practical and successful application of a neural controller performing in parallel with a conventional controller in the position and trajectory following control of a real robot. the use of a conventional controller performing in parallel with the nns is advantageous to maintain the robustness of the system when the nn become saturated (due to high learning rates) and it is important to force the readjustment of the synaptic weights of the nn used when the robot changes its configuration. as soon as the nn captures the dynamic behavior of the system, the final torque is given quite totally by the nn and a higher performance could be achieved. both the mlp and rbf ann perform very well, applying rbf neural nets for position control of an inter/scara robot 155 2 3 4 5 6 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time (s) (n m ) torques joint 3 (a) pd controller output torques. 2 3 4 5 6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time (s) (n m ) torques joint 3 fb final nn τfinal τnn τ fb (b) pd + mlp1c controller outputs torques. 3 4 5 6 7 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time (s) (n m ) torques joint 3 fb final nn τfinal τ nn τ fb (c) pd + mlp2c controller outputs torques. 3 4 5 6 7 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time (s) (n m ) torques joint 3 fb final nn τ final τnn τfb (d) d) pd + rbf(5) controller outputs torques. 2 3 4 5 6 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 time (s) (n m ) torques joint 3 fb final nn τ final τnn τ fb (e) pid + rbf(5) controller outputs torques. figure 5: controllers output torques. 156 fernando passold 300 400 500 600 700 800 900 1000 -5 0 5 10 15 x 10 -3 sampling time (k) (r a d ) joint 3 error position pd pd+mlp2c pd+rbf pid+rbf pd pd+mlp2c pd+rbf pid+rbf figure 6: joint 3 some tracking error. but rbf does it better and faster than a mlp, mainly if it works in parallel with a pid controller. an additional and unexpected advantage could be achieved with the pid+rbf controller: robot motion with lowest noise levels (quite silent). on the other hand, there is also a drawback: nn requires more processing power to work in parallel with the conventional controller – see table 4 and fig 7 that summarize the results achieved by the different controllers. table 4: power computer resources required. processing time controller min max pd 104 104 pd + mlp2c 194 385 pd + rbf(5) 333 579 pd + rbf(7) 425 679 pd + rbf(9) 104 809 note: values expressed in microseconds (µs). even if computer resources are short, a simple pd+mlp with one hidden layer allows better results than a pd controller. otherwise, if higher processing power is available, a pid+rbf achieves the best results. since the neural controllers proposed here have performed very successfully, future directions of this works intend to establish an integrated position/force control over a hybrid control architecture to deal with robot applications that imply some contact with the environment. applying rbf neural nets for position control of an inter/scara robot 157 vs c pi d pd pd +m lp 1c pd +m lp 2c pd +r bf (5) pd +r bf (7 ) 0 500 1000 1500 2000 pd +m lp 2c pi d+ m lp 2 c 0 500 1000 1500 2000 vs c pd pi d pd +m lp 1c pi d+ m lp 2c pd +r bf (5 ) 0 500 1000 1500 2000 flops l o g (m s e ) less (1e-7) larger (1e 0) test w/disturbance trajectory “b” trajectory “a” better relation cost × benefits� � larger errors larger cost � figure 7: relationship within computational cost × benefit of the controllers tested here. bibliography [1] sciavicco, l. and siciliano, b., modeling and control of robot manipulators, mcgraw-hill, 1996. [2] narendra, k.s., neural networks for real-time control. in 36th ieee conference on decision and control cdc’97, 1026–1031, san diego, california, usa, 1997. [3] katič, d. and vukobratovič, m., connectionist based robot control: an overview. in 13th ifac, volume 1b-05 6, 169–174. san francisco, usa, 1996. [4] morris, a.s. and khemaissia, s., artificial neural network based intelligent robot dynamic control. in a.m.s. zalzala and a.s. morris (eds.), neural networks for robotic control – theory and applications, chapter 2, 26–63, ellis horwood, great britain. 1996. [5] kim, y.h. and lewis, f.l., neural network output feedback control of robot manipulators. ieee transaction on robotics and automation, 15(2), 301–309, 1999. [6] haykin, s., neural networks a comprehensive foundation, prentice hall, new jersey, usa, 2nd edition, 1999. [7] gabrijel, i. and dobnikar, a., adaptative rbf neural network. in soco’97 conference, 164–170. nimes, france. url http://cherry.fer.uni-lj.si:80/∼gabriel/soco97/soco97.zip, 1997. [8] girosi, f. and poggio, t., networks and the best approximation property. in m.m. gupta and d.h. rao (eds.), neuro-control systems, theory and applications, 257–264. ieee pres, piscataway, new jersey, usa, 1993. [9] fritzke, b., incremental neuro-fuzzy systems. in applications of soft computing, spie international symposium on optical science, engineering and instrumentation, san diego, 1997. [10] kiguchi, k. and fukuda, t., intelligent position/force controller for industrial robot manipulators – application of fuzzy neural networks, ieee transactions on industrial electronics, 44(6), 753–761, 1997. http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 374-383 computation results of finding all efficient points in multiobjective combinatorial optimization milan stanojević, mirko vujošević, bogdana stanojević abstract: the number of efficient points in criteria space of multiple objective combinatorial optimization problems is considered in this paper. it is concluded that under certain assumptions, that number grows polynomially although the number of pareto optimal solutions grows exponentially with the problem size. in order to perform experiments, an original algorithm for obtaining all efficient points was formulated and implemented for three classical multiobjective combinatorial optimization problems. experimental results with the shortest path problem, the steiner tree problem on graphs and the traveling salesman problem show that the number of efficient points is much lower than a polynomial upper bound. keywords: multiple objective optimization, combinatorial optimization, complexity of computation. 1 introduction for all combinatorial problems cardinality of the feasible solution set grows exponentially with the problem size. for one group of combinatorial problems (e.g. the shortest path problem, the shortest spanning tree problem, assignment problem etc.) algorithms that can find a solution of a single-criterion problem in polynomial time are known. this problem class is denoted by p. for other combinatorial problems (e.g. traveling salesman problem, steiner tree problem, knapsack problem etc.) so called non deterministic polynomial algorithms exist. these problems belong to the class denoted by np. for this problem’s class it is not proved whether polynomial algorithms exist or not. there is a third class of problems (e.g. finding all spanning trees for a given graph) for which it is known that they can be solved only by exponential algorithms. in such problems result usually consists of exponential amount of data, so the exponential time is needed just to represent them. let’s denote this class by e. in all known literature which concerns multiobjective combinatorial optimization (moco), mostly the set of pareto optimal solutions is being observed, and it has been stated that its size can grow exponentially with the problem size. moreover, with sufficient number of uncorrelated criteria it is possible to achieve that every feasible solution is pareto optimal [1]. this implies that there is no efficient method of determining all pareto optimal solutions for problems of bigger dimensions, because such a procedure would not be even np hard, but strictly exponential, i.e. it would belong to class e. such results are confirmed for many known problems, such as: the shortest spanning tree, the shortest path problem, traveling salesman problem, assignment problem and knapsack problem [2, 3, 4, 5, 7]. in section 2 some multiobjective optimization models are introduced. section 3 presents the implemented algorithm which is applied in order to find all efficient points of multiobjective combinatorial optimization problems. experimental results described in section 4 show that the number of efficient points is even much lower than a polynomial upper bound. in section 5 some concluding remarks are formulated. 2 multiobjective optimization models the general model of multiobjective optimization problem can be briefly formulated as follows. min x∈x f (x) (1) copyright © 2006-2008 by ccc publications computation results of finding all efficient points in multiobjective combinatorial optimization 375 where x is the decision variable, x is the feasible solution set, and f = ( f1, . . . , f p) is the p-dimensional vector of objective functions. the solution x∗ ∈ x of problem (1) is pareto optimal if there is no other solution x ∈ x such that fk(x) ≤ fk(x∗) ∀k = 1, . . . , p, where at least one of these inequalities is a strict inequality. if x∗ is pareto optimal solution of problem (1), the point y∗ = f (x∗) is called the efficient point in the criteria space. the set of all pareto optimal solutions is called the pareto set and it is denoted by xpar. the set of all efficient points in the criteria space is called the efficient points set and it is denoted by ye f f . a solution obtained by minimizing the objective function fk(x) over x, is called the marginal solution for the k-th criterion of problem (1). one marginal solution which is pareto optimal is called pareto optimal marginal solution. if x is a pareto optimal marginal solution then f (x) is called efficient marginal point. remark 1. for each criterion k = 1, . . . , p at least one pareto optimal marginal solution exists. it can be obtained by lexicographic optimization putting k-th criterion to have the first priority. all notions regarding problem (1) can be applied to the next models which are defined as its particular cases. the model of multiobjective combinatorial optimization problem can be formulated as follows. min x∈χ f (x) (2) where x is the decision variable, χ is the feasible solution set of the model which is a subset of the power set of a finite set e (i.e. χ ⊂℘(e), e = {e1, ..., em}), and f = ( f1, ..., f p) is the p−dimensional vector of objective functions. moreover, x ∈ χ can be represented by a binary m-dimensional variable (x1, x2, ..., xm) ∈ {0,1}m where xk = 1 if and only if the corresponding element ek ∈ e belongs to x and xk = 0 if and only if the corresponding element ek ∈ e does not belong to x. the experiments related to the number of efficient points of multiobjective optimization problems were done on three types of multiple objective network problems: multiobjective shortest path problem (spp), multiobjective steiner tree problem on graphs (stp) and multiobjective traveling salesman problem (tsp). for all the three problems, an undirected graph g = (v, e) with |v | = v vertices, |e| = m edges and wk : e → z+, k = 1,2, ..., p weight functions on the edges is given. in addition, for spp starting vertex s ∈ v and target vertex t ∈ v and for stp set of terminal vertices t ⊂ v are given. for each of the problems, each feasible solution represents a specific graph structure. for spp it is a path from s to t and the feasible set χ is a set of all such paths. for stp, χ represents set of all steiner trees of graph g and terminal nodes t . and for tsp χ is a set of all hamiltonian cycles. for any of the problems, a feasible solution x ∈ χ is a set of edges that belong to a feasible graph structure. alternatively, a feasible solution is a vector (x1, x2, . . . , xm) ∈ {0,1}m that satisfies a set of constraints specific to each problem. the form of goal functions in each of above mentioned problems can be twofold, depending on the type of k-th criterion: • when a criterion represents length or weight, the corresponding goal function is linear as follows fk(x) = m ∑ j=1 c k j x j (3) and it is minimized. • when a criterion type represents capacity, the corresponding goal function is fk(x) = min 1≤ j≤m c k j x j (4) 376 milan stanojević, mirko vujošević, bogdana stanojević and it is maximized. problems of minimizing a function of type (3) are called minisum, while problems of maximizing a function of type (4) are called maximin or bottleneck problems. coefficients ckj, j = 1, . . . , m, k = 1, . . . , p in general case are real numbers that represent length, height, weight or capacity of elements of set e. in our experiments it is presumed that coefficients ckj, j = 1, . . . , m, k = 1, . . . , p have integer values. practically that does not mean a loss of generality because in real life problems coefficients are rational numbers which can be transformed to integers. in one multiobjective combinatorial optimization problem both kinds of goal function can exist. if functions of type (4) exist, they can be transformed to fk(x) = max 1≤ j≤m ( −ckj x j ) , (5) that have to be minimized, in order to match the general formulation (2). 3 applied algorithm in order to find all efficient points for mentioned problems an original algorithm was formulated and implemented. the algorithm is based on ε-constraints method which is usualy used in apriori approach (when the decision maker’s preferences about criteria are known before optimization). our method is developed for aposteriori approach (when optimization is done with purpose to present information about nondominated solutions to decision maker). f 2 1 f1 ε a d c b figure 1: sketch of applying algorithm for finding all efficient points of a combinatorial optimization problem with two objective functions min{( f1 (x) , f2 (x))|x ∈ x} the following algorithm was applied. algorithm 2. input: parameters of the problem. 1. for both criteria find efficient marginal points f k = ( f k1 , f k 2 ) , k = 1,2. 2. identify index s such as ∣ ∣ f 1s − f 2s ∣ ∣ = min { ∣ ∣ f 11 − f 21 ∣ ∣ , ∣ ∣ f 12 − f 22 ∣ ∣ } . use fs as a search criterion and another one, denoted by fo, as an optimization criterion. computation results of finding all efficient points in multiobjective combinatorial optimization 377 3. initialize ye f f = {( f 11 , f 1 2 ) , ( f 21 , f 1 2 )} and εs = f o s −1. 4. solve problem min{ fo (x)|x ∈ x , fs (x) ≤ εs} and denote by x∗ its solution. 5. ye f f = ye f f ∪{( f1 (x∗) , f2 (x∗))}. 6. put εs = fs (x ∗) −1. if εs > f ss then go to step 4, otherwise stop. output: set ye f f . an example of a part of criteria space and efficient points obtained by algorithm 2 is graphically represented in figure 1. points a and b represent eficient marginal points ( f 11 , f 1 2 ) , ( f 21 , f 2 2 ) of the problem. they were obtained by independent optimization of criteria f1 and f2 respectively and they are efficient points of the multiobjective problem. in this example f1 is the search criterion and f2 is the optimization criterion. points c and d are also efficient points of the problem and they were obtained in two succesive iterations. efficient point c is obtained in the first iteration. in the next iteration point d will be obtained by optimizing second objective function over the initial feasible set reduced by the additional constraint f1 (x) ≤ ε1. remark 3. algorithm 2 can be extended for problems with more than two criteria by putting one criterion to be optimization criterion and all others to be search criteria. efficiency of such procedure can be questionable because all search criteria have to be recursively checked. this implies time and resource consumption problems. also, efficient marginal points can be difficult to be determined in this case. 4 experiments problem spp, in its single objective version, belongs to the class p and its multiobjective version represents one of the most studied problems of moco. problem stp in its single objective version with a minisum criterion belongs to the class np, but if objective function is of type maximin, it belongs to the class p [9]. the single objective tsp, with any type of objective function (minisum or maximin) is an np hard problem. 4.1 description of the developed computer programs for each of the problems, a specific computer program was developed by authors. each program determines all efficient points (and one solution for each of them) using algorithm 2 adapted to the corresponding problem. the programs for spp and stp support instances with both kinds of objective functions minisum and maximin. program for tsp supports only instances with minisum criteria type. for all the experiments random instances with certain characteristics were generated. all instances had two non correlated criteria. each result of experiments is obtained as an average of 10 randomly generated instances with the same characteristics. for spp problem instances had specific structure in order to provide paths to have at least √ m edges. graph density varied between 36% and 60% depending on the number of vertices. instances with smaller number of vertices had higher density. instances for examining stp problem were generated so each vertex has a certain probability to be connected to any of other vertices. both, too dense or too spare graphs would not be proper for this kind of problem. average number of a vertex degree was 7 for all dimensions, e.g. average density was 35% for graphs with 20 vertices and 14% for graphs with 50 vertices. the number of terminals was 5 for all instances. 378 milan stanojević, mirko vujošević, bogdana stanojević tsp instances were generated in a similar way as stp, but density was higher, 50% for all graph dimensions. 4.2 example in order to present the procedure of performing experiments a short example of finding all efficient points of a small instance of stp problem is given below. the instance has the following characteristic: unoriented graph with 10 vertices and 20 edges (consequently, graph density is 44% and average number of vertex degree is 4), 5 terminal nodes, two criteria of type minisum. edges weights were generated randomly from interval [10,99]. criteria were not correlated. the upper triangular matrix of edges weights for both criteria is given below.                 0 98/95 45/17 92/12 41/45 0 67/58 12/89 32/47 0 65/98 22/61 71/67 19/32 0 33/49 83/32 0 18/70 11/93 51/47 10/53 0 44/51 0 12/29 0 0 15/25 0                 results obtained by developed program using algoritm 2 are presented in table 1. table 1: output results coordinates of efficient points no. first criterion values second criterion values remarks 1 130 286 supported point 2 174 276 3 176 236 supported point 4 199 234 5 232 231 6 236 200 supported point 7 275 186 supported point seven efficient points were obtained and their coordinates in criteria space are given in columns 2 and 3 of table 1. also, for each efficient point it is determined wether they are supported or non supported points (information given in column 4 of table 1). 4.3 types of the performed experiments tree groups of experiments were performed. the first group was inspired by a supposition that the upper bound for the number of efficient points depends on the length of the intervals from which edges lengths can get integer values. three such intervals were defined: i1=[10, 99], i2=[100, 999] and i3=[1000, 9999] (as sets of two, three and four digits numbers) which contain sets of integer values of cardinality 90, 900 and 9000, respectively. instances were generated so the lengths of edges would get random values from a certain interval, independently for each criterion. all combinations of the intervals for the first (c1) and second (c2) criterion were computation results of finding all efficient points in multiobjective combinatorial optimization 379 checked. all the experiments from this group were performed on graphs with 20 vertices. both criteria were of minisum type. for all problems, spp, stp and tsp, two values were observed: upper bound (ub) and actual numbers of efficient points (eff). the upper bound was calculated by the formula u b = min { f 2 1 − f 11 , f 12 − f 22 } + 1 (6) where ( f k1 , f k 2 ) , k = 1,2 are efficient marginal points of the k-th criterion. both ub and eff are calculated as the average of results obtained from 10 randomly generated instances. in paper [6] a different upper bound was also considered. although that upper bound has a polynomial growth with the problems size, it is more rough than ub. on the other side for its calculation were used only parameters of instances. upper bound ub presented in this paper is far more precise. but, in order to obtain it, p2 optimizations per instance are necessary to be performed in order to obtain efficient marginal points. the analysis and comparisons of upper bound and the actual number of efficient points were performed in order to get an idea about order of magnitude and relations between the values of the ub and eff. results of this group of experiments are given in table 2. table 2: dependence of the upper bound and efficient points number on the range of edge lengths for spp, stp and tsp prob: spp stp tsp c1 c2 ub eff ub eff ub eff i1 i1 136 9.6 133 7.5 483 40.5 i1 i2 147 6.6 172 8.9 546 44.1 i1 i3 166 7.6 159 7.9 498 39.3 i2 i2 1027 6.5 905 8.7 4951 44.0 i2 i3 1870 9.8 1804 9.3 5489 45.1 i3 i3 13967 8.5 13461 8.0 47606 39.1 average 8.1 8.4 42.0 the second group of experiments was performed in order to check the dependency of the number of efficient points on the graph size. because of the exponential complexity of the algorithms for finding all efficient points for all tree problem types when objective functions are of minisum type, the experiments were performed for instances with up to 50 vertices. performing experiments it was concluded that the number of efficient points for stp with both criteria types minisum and maximin, significantly more depends on the number of terminal vertices than on total number of vertices in graph. because of that, instances of problems spp and tsp with minisum criteria types were compared separately. experiments results for this group are represented in table 3. in order to demonstrate “independence” of efficient points number on graphs size for stp, some experimental results are given for maximin criteria types. for this problem, algorithm is polynomial, so instances with much bigger number of vertices were able to be solved. these results are given in table 4. the third group of experiments considered the types of criteria. three combinations were observed: when both criteria were of type minisum (s/s), when the first criterion was of type maximin and second was of type minisum (m/s) and when both criteria were of type maximin (m/m). this time the tsp problem was excluded from the experiments because the available software did not support solving tsp with maximin criterion. instances with both, 20 and 50 vertices were observed. 380 milan stanojević, mirko vujošević, bogdana stanojević table 3: dependence of the efficient points number on the graph size for spp and tsp problem spp tsp v ub eff ub eff 10 622 3.5 771 4.7 20 1096 8.3 4809 43.9 30 2158 15.0 8365 105.5 40 2333 19.1 14116 223.5 50 2371 16.8 18521 373.9 table 4: depedence of the efficient points number on the graph size for maximin stp intervals: i1 i2 i3 average for size v ub eff ub eff ub eff eff 50 35 5,1 224 3,9 3928 7,1 5,4 100 33 5,7 235 3,6 4269 7,2 5,5 200 24 4,0 267 5,5 3233 5,0 4,8 500 26 4,3 181 3,1 2357 3,7 3,7 1000 13 2,3 153 4,1 1858 3,9 3,4 2000 14 3,6 161 4,9 1830 4,1 4,2 average for interval 4,2 4,2 5,2 4,5 the results of the third group of experiments are represented in table 5. table 5: dependence of the efficient points number on the type of criteria for spp and stp criteria type: c=s/s c=m/s c=m/m problem v ub eff ub eff ub eff spp 20 2886 8.1 938 5.4 309 2.6 50 5689 20.0 1141 12.8 739 5.4 stp 20 2772 8.4 908 7.8 667 5.5 50 2815 8.9 818 9.6 674 5.8 5 conclusion we can make the following conclusions which are based on results presented in tables 2, 3, 5. although the problems spp, stp and tsp have very different nature, their number of efficient points show very similar characteristics. the most interesting are the values in columns eff. first of all, they are surprisingly small, and second, the influence of the observed parameters to it is very low or even insignificant. observing table 2, it is obvious and expected that upper bound ub grows with the size of the intervals from which edges take their values. very unexpected is that the actual number of efficient points does computation results of finding all efficient points in multiobjective combinatorial optimization 381 not show any dependence on the size of the intervals for all three problems. it is also obvious that tsp has about five times bigger number of efficient points than spp and stp which have similar number. explanation is that for instances we used, tsp solutions contain more edges than solutions of spp and stp. consequences are that the distance between the two efficient marginal points is bigger, because of that ub is also bigger and it is expected that bigger number of efficient points can be between them. observing the results from table 3 a little deviation can be noticed for spp between graphs with 40 and 50 vertices. namely, the number of efficient points on this stage starts to decrease. however, we concluded that the deviation is accidental, especially because in the next group of experiments, on different instances with the same characteristics (spp, 50 vertices, s/s) is obtained value 20.0 (shown in table 5) which matches the value expected in table 3. here the number of efficient points is bigger for tsp and moreover, it grows faster than for stp. this is in accordance to the previous explanation because the number of edges in solution for tsp grows linearly with number of vertices and for spp is approximately √ m. finally, the results from table 5 show that the number of efficient points is smaller for maximin than for minisum type of criteria, i.e. if more criteria are of maximin type, smaller will be the number of efficient points. a slightly deviation of that rule is in the last row where for m/s combination of criteria types is a bigger number of efficient points than for s/s. still we consider this as an accidental deviation. it was mentioned before and presented in table 4 that the number of efficient points for stp does not depend much on the number of vertices and it is also obvious from the last two rows of table 5. in all the considerations in this paper it was assumed that criteria are not correlated. on the other hand, the number of efficient points decreases with the increase of correlation between criteria. since it is known that between many criteria used in practice correlation exists (the length, time and price of path, price and reliability etc.), we can expect even less number of efficient points when it comes to practical problems. bibliography [1] m. ehrgott, multicriteria optimization, springer-verlag, 2000. [2] m. ehrgott, x. gandibleux, a survey and annotated bibliography of multiobjective combinatorial optimization, or spektrum, vol. 22, pp. 425-46 2000. [3] v.a. emelichev, v.a. perepelitsa, on cardinality of the set of alternatives in discrete manycriterion problems, discrete math. appl. vol. 2, pp. 461-471, 1992. [4] h.w. hamacher, g. ruhe, on spanning tree problems with multiple objectives, ann. oper. res., vol. 52, pp. 209-230, 1994. [5] i.v. sergienko, v.a. perepelitsa, finding the set of alternatives in discrete multicriterion problems, cybernetics vol. 23, pp. 673-683, 1987. [6] m. stanojević, m. vujos̆ević, b. stanojević, number of efficient points in some multiobjective combinatorial optimization problems, international journal of computers, communications & control, vol.iii (supl. issue), pp. 497-502, 2008. [7] m. visée, j. teghem, m. pirlot, e.l. ulungu, two-phases method and branch and bound procedures to solve the bi-objective knapsack problem, j. glob. optim. , vol. 12, pp. 139-155, 1998. [8] m. vujošević, m. stanojević, multiobjective traveling salesman problem and a fuzzy set approach to solving it. in: d. ivanchev, m.d. todorov (eds), applications of mathematics in engeneering and economics, heron press, sofia, pp. 111-118, 2002. 382 milan stanojević, mirko vujošević, bogdana stanojević [9] m. vujošević, m. stanojević, a bicriterion steiner tree problem on graph”, yugosl. j. oper. res., vol. 13, pp. 25-33, 2003. milan stanojević university of belgrade faculty of organizational sciences 154 jove ilića, 11000 belgrade, serbia e-mail: milans@fon.bg.ac.yu mirko vujošević university of belgrade faculty of organizational sciences 154 jove ilića, 11000 belgrade, serbia e-mail: mirkov@fon.bg.ac.yu bogdana stanojević transilvania university of braşov department of computer science 50 iuliu maniu, braşov, romania e-mail: bpop@unitbv.ro computation results of finding all efficient points in multiobjective combinatorial optimization 383 milanstanojević was born in belgrade, serbia in 1965. he graduated at university of belgrade, faculty of organizational sciences in 1990. he obtained doctoral degree at the same faculty in 2005. since 1993 he works at faculty of organizational sciences, in the begining as a teaching assistant and now as an assistant professor of operational research. he has published more than 40 papers in national and international journals, and conference procceedings in the field of operational research. his research interest includes multiobjective optimization, combinatorial optimization and software for operational research. mirko vujošević was born in podgorica, yugoslavia in 1951. he graduated in electrical engineering at university of belgrade where he also finished his postgraduate studies and earned his doctorate. from 1976 to 1995 he worked at mihailo pupin institute, belgrade, and now he hold the chair of operational research and statistics at the faculty of organizational sciences, university of belgrade. he has published more than 150 professional papers on different topics of operational research, reliability, maintenance, inventory control and applied mathematics. he is author and co-author of two monographs, (one of them published by elsevier), five textbooks, and several chapters in monographies. he is member of editorial boards of several scientific and professional journals and associated editor of yujor yugoslav journal of operational research. he is member of programme committees of several national and interanational conferences, as well as several professional societies: dopis yugoslav operational research society (he was its president for eight years), prim serbian society for applied and industrial mathematics, ieee institute of electric and electronic engineers, ors operational research society (u.k.), isir international society for inventory research and informs institute for operations research and management science. he is member of academy of engineering sciences of serbia. bogdana stanojević was born in oradea, romania in 1972. she graduated mathematics and computer science specialization at “transilvania” university of braşov, in 1995 and she obtained her doctoral degree in mathematics in 2003 from the romanian academy. currently she is an associate professor at computer science department of transilvania university of braşov. her research interests include different aspects of fuzzy optimization, multiple objective optimization and mathematical fundamentals of computers. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 326-334 a framework for enhancing competitive intelligence capabilities using decision support system based on web mining techniques i. anica-popa, g. cucui ionuţ anica-popa academy of economic studies of bucharest, romania e-mail: ionut.anica@ase.ro gabriel cucui valahia university of targoviste, romania abstract: nowadays competitive intelligence (ci) represents one of the most important pieces in strategic management of organizations in order to sustain and enhance competitive advantage over competitors. there are some studies that claim that a successful strategic management is influenced by the accuracy of external environment’s evaluation and, in the same time, in order to have correct and complete business strategies it is necessary to be sustained by competitive advantage. but till at the beginning of ’80 the things were totally different. this paper will present the evolution and the objectives of ci, the results of using ci in organizations and how can be improved the ci process using tools and techniques provided by business intelligence (bi). the study will propose a framework of a decision support system based on web mining techniques in order to enhance capabilities of organization’s competitive intelligence. keywords: competitive intelligence, information system, decision making process, web mining 1 introduction several studies ([13], [27], [30], [28], [32]) consider that starting with the second half of the 20th century a series of researches were focused on the enhancing competitiveness of the organization based on concept of intelligence as a process. [3], [37] state that the accuracy of external environment’s evaluation has a big influence over a successful strategic management and correct and complete business strategies must be sustained by competitive advantage. in the context of using methods and tools provided by information technology and communication (itc), the increasing significance of using information and knowledge in order to obtain a competitive advantage and the enhancing ability of organization in order to maximize the efficiency of using internal and external linkages through new data and information flows [32] represent an activity which must be closely supervised in every organization. there are studies claiming that competitive intelligence (ci), as a research area, attracted growing attention over the last two decades and especially in the last years ([7], [5]). some of the main factors which had a great influence over this evolution are: (1) spectacular development of the information technology and communication (itc) domain, (2) methods and tools provided by itc, (3) exponentially use of the internet, many ci researchers considering that internet represents the one of the major information data sources used by ci ([36], [41], [5]). the research objectives of this study are outlined below: • presenting a short overview of competitive intelligence (ci) evolution and possible ways of developing in future; " identifying the objectives of using competitive intelligence (ci) in organizations; • presenting a short overview of some specific tools and techniques provided by business intelligence (bi) which can be used in competitive intelligence; • identifying the results of using competitive intelligence (ci) in organizations; copyright c© 2006-2009 by ccc publications a framework for enhancing competitive intelligence capabilities using decision support system based on web mining techniques 327 • proposing a framework for a decision support system using web mining techniques. an extensive review of literature will be conducted in order to accomplish the goals of this study. 2 definition and evolution of competitive intelligence the literature related to intelligence suggests that are three directions for this area [5]: • the first is represented by the military domain where can be identified one of the earliest studies regarding intelligence, which is the art of war by sun tzu (translated by griffith in 1963); • the second is represented by the national security as a policy issue [4]; • the third is represented by the economic domain, where the intelligence determines an increasing competitiveness of organizations [12]. [21] consider that information is factual because consist in numbers, indicators, data about competitors, customers, suppliers regarding past actions of them, but intelligence represents a collection of cleaned, filtered and analyzed information that support managers in decision making process. the modern approach of competitive intelligence (ci) was appeared after the second world war and started to become important in the ’80 [15], the indicators that are sustaining this being: • the number of conferences having the topic competitive intelligence (ci) which is increasing constantly; • the increasing number of books, articles, studies, papers and other types of publication about competitive intelligence (ci); • the increasing number of academic courses and professional programs dedicated to competitive intelligence (ci); • the developing and increasing role of society of competitive intelligence professionals (scip) which is a global organization with declared mission to "be the global organization of choice for professionals engaged in competitive intelligence and related disciplines" and to "be the premier advocate for the skilled use of intelligence to enhance business decision-making and organizational performance" (www.scip.org) and having the declared vision: "better decisions through competitive intelligence". starting with the 1980 an important number of researchers tried to define the concept of competitive intelligence (ci). ci it is represented by information which describe how competitive is an organization and, in the same time, it is being able to predict moves of the business environment actors (competitors, customers, suppliers, government etc) [16]. ci represents an iterative and systematic process for gathering and analyzing data and information about activities of competitors, business environment and business trends in order to fulfill the goals of organization [21]. ci represents a process that predicts behavior and moves of the actors (competitor, customer, suppliers, government etc) which interact with organization or influence either the business environment or the behavior of organization [6]. the results provided by ci are used in order to identify potential business opportunities and to minimize the possibility of appearance for unpredictable situations, those facts define the goal of the ci: to predict the future situations (what is going to happen) rather than debate past situations (what did happen). 328 i. anica-popa, g. cucui ci is a process that aims to monitor the external business environment of organization in order to identify relevant information for decision making process [9]. competitive intelligence represents a process that consists of two levels [25]: • accessing legal and ethical data sources (publicly or semipublicly) in order to gather data for building new data sources regarding competitors, competition, environmental conditions, past, present or future trends etc. • analyzing those new data sources in order to transform data into usable and valuable information and knowledge that will support the decision making process. summarizing all those points of view we consider that competitive intelligence represents a continuous process of gathering data, information and knowledge about actors (competitors, customers, suppliers, government etc) which interact with organization in the business environment in order to support decision making process for enhancing competitiveness of organization. the ci process consists in the following steps: monitoring business environment (external data, information and knowledge), gathering, analyzing, filtering and disseminating intelligence that will support decision making process in order to increase competitiveness and improve position of organization. figure 1: competitive intelligence (ci) process [33] considers that evolution of ci could be divided in following stages: (1) "competitive intelligence gathering" occurred through the 60s and 70s; (2) "industry and competitor analysis" occurred through 1980 and 1987; (3) "competitive intelligence for strategic decision making" occurred through 1987 and 2000; (4) "competitive intelligence as a core capability" which represent the present stage in ci evolution. in the competitive intelligence gathering stage of ci the key defining event was the book "competitive strategy" published by michael porter in 1980. personnel involved in ci activities were located mostly in library or marketing department and the primary skill was capability to find information [33]. despite the fact that organization was collected large amount of data, over gathered data rarely were applied some static analyses. another important thing was represented by very weak connection between ci and decision making process. development of skills in information acquisition was the key issue of this stage. in the industry and competitor analysis stage of ci the key defining event was the founding of the society of competitive intelligence professionals (scip). personnel involved in ci activities were located mostly in planning or marketing department, over gathered data were applied quantitative analyses, and between ci and decision making process was a weak connection [33]. building a business case for ci, spy image and analytical skill development were the keys issues of this stage. a framework for enhancing competitive intelligence capabilities using decision support system based on web mining techniques 329 in the competitive intelligence for strategic decision making stage of ci the key defining event was the establishment of the competitive intelligence review. personnel involved in ci activities were located mostly in planning, marketing or ci unit, over gathered data were applied quantitative and qualitative analyses, and between ci and decision making process was a strong connection. demonstrating bottom-line input, role of information technology, ci technology, international ci, demands vs. supplydriven ci, counter-intelligence were the keys issues of this stage [33]. in the competitive intelligence as a core capability stage of ci the key defining event is represented by ci courses taught in universities and in business school across the world. personnel involved in ci activities are located mostly in ci units, planning or marketing, over gathered data are be applied qualitative emphasis analyses and information and knowledge provided by ci represent a raw material for decision making. managing the parallel process, intelligence infrastructures for multinationals, ci as learning, network analysis are the keys issues of this stage. 3 the objectives and results of using ci in organizations from the beginning is important to emphasize that is not necessary that every organization to develop and implement an organized ci activity. in many cases formal information gathered from external sources (internet, media, government etc) and informal data and information collected, analyzed and filtered by managers represent a very flexible and efficient informal ci. but in the case of some organization, an informal ci is not enough in order to support tactic and strategic decision making process, fact that conduct to develop and implement an organized ci system. the ci can be used in order to increase the capabilities of the organizational memory (om) of the enterprise because the om contains organizational memory information systems which are based on knowledge management techniques [39]. in the last years, enterprises are constantly working to improve and to enhance their operations [40]. the reasons which are staying at the base of decision to implement a ci in organization are various [21]: • the globalization process which determine an increasing level of competition among organizations because the number of competitor is increasing and, in the same time, the quantity and quality of goods and services provided by them growing continuously. • the new products, services, methods and tools provided by information technology and communication domain. • the rapidly changing of the business environment where new business opportunities appear and disappear very fast and the period of time allocated for decision making processes is decreasing constantly. • political changes which affect and influence the business environment as well as the evolution of organizations. a review of the literature related to objectives of using ci in organization reveals quite a wide and ambitious arrangement of objectives for ci [31]. [1] consider that objectives of using an organized information system of ci are: (1) identifying and analyzing new business opportunities or the market trends; (2) developing or updating software using latest technologies, methods and tools for software developing; (3) maximizing revenues and minimizing expenses; (4) identifying, understanding and analyzing strategies, already implemented or in the phase of implementation. [31] consider that objectives of using an organized information system of ci are: (1) help organization in order to gain a competitive edge; (2) reveal opportunities and threats by surveying weak signals; 330 i. anica-popa, g. cucui (3) process and combine data, information and knowledge in order to produce new knowledge about competitors, customers, suppliers etc.; (4) provide useful information for managers in decision making process and reduce the period of time used by decision making process. in our opinion, the objectives of using an organized information system of ci in organizations are: • enhancing organization’s competitiveness. • predicting, with a high level of trust, business environment’s evolutions, competitors’ actions, customers’ requirements, even influences generated by political changes. • providing a better and better support for strategic decision making process. there are studies that identify some benefit derived from using organized information system of ci [16]: (1) increasing analytical skill for managers and the ability to anticipate moves of the other actors from organization’s business environment; (2) sharing ideas and knowledge inside organization in order to develop new ideas or knowledge or to integrate the existing into organization. some authors identified new benefits from using organized information system of ci [21]: (1) discovering new potential competitors or customers and supporting starting of new businesses (2) identifying and analyzing new technologies, products and processes that influence organization’s activities and behavior; (3) identifying and analyzing political or legislative standards or regulations that influence organization’s activities and behavior; (4) identifying and analyzing situations, from competitors, customers, suppliers or other, that evolved into successes or into failures. 4 decision support system and web mining in the last years, due to the economic evolution, the amount of data and information which must be used in order to adopt better decision has increase extraordinary; therefore the decisional process from organizations has a spectacular evolution [42]. companies gathering data from a various sources and deposit them in data warehouses which represent a collection of subject-oriented, integrated, timevariant and non-volatile data used in order to support the process of decision-making [20]. each person involved in the process of decision-making can and must be supported in performing his activities by specialized it tools [14]. [8] consider that decision support systems (dss) represents a specific class of information system that supports business and organizational decision-making activities. [19] state that business intelligence represents the ability of companies of analyzing and studying the behavior and actions from previous periods of time in order to understand actual position of organization and to predict or try to change what is going to happen in future period of time. [35] consider that business intelligence is composed from following components: (1) extraction, transformation and loading etl; (2) data mining; (3) online analytical processing olap; (4) enterprise reporting. in last decade, the internet growing was spectacular and the amount of information which reside on the internet is huge and nowadays the world wide web became represents one of the major source of data and information for all activities [11]. in order to extract relevant information from the web it is necessary to examine and to analyze the content, structure and usage of web resources using techniques of data mining [26]. because the scope of data mining is the identify patterns which are hidden in large databases [29], in the last decade, the web mining technologies developed in this period determine an increasing of volume of valuable material which can easily browsed and identified over the internet [18]. web data mining represents a group of three concepts (figure 2): web content mining, web structure mining and web usage mining and it is very important to make a clear distinction between these concepts ([10], [24], [22]). [34] consider that web content mining represents "the process of searching for contextually relevant sources of web data whose embedded information can be extracted and used to generate actionable knowledge". [24] consider that "web structure mining tries to discover the model underlying a framework for enhancing competitive intelligence capabilities using decision support system based on web mining techniques 331 the web hyperlink structure". [34] consider that the web usage mining represents "the process of searching for user behavior patterns by mining the data stored in referrer logs, server access logs, and other web user behavior data repositories". figure 2: structure of web data mining there are studies ([23]; [38]) that consider that web content mining and web structure mining can be used to gather data about business competitors in order to enhance business decision-making and organizational performance 5 proposed framework for a decision support system using web mining capabilities because a modern company’s information system must also contain data and information acquired from the web which are extremely dynamically. in the same time, during the decision making process, the information system must be updated with the latest data, information and knowledge. in this section will be presented a framework for decision support system using web mining techniques based on architecture consist of three tiers (figure 3): decision tier, logic tier and data tier. the decision tier, which is the top-most level of the model, receives the request from the user and invokes the logic tier for resolving the request after translating the request. after the receiving of results from logic layer, the decision layer transposes these into a format that help user to understand and use them. the logic tier, which is the middle level of the model, has the following functions: • gather data, information and knowledge from company’s information system, invoking data mining algorithms, performing calculation, making evaluations and finally transformation of the obtained data into useful information [2]; • gather data, information and knowledge from the web using specific web mining techniques and provide them to the data tier. data tier store and retrieve information from all databases contained by company’s information system and transmit then to the logic tier for processing. 6 conclusions understanding business environment dynamics and predicting its evolution is a challenging and difficult task for every information system of ci, but represents, in the same time, one of the most expected needs and requirements from organizations. an information system of ci used in an efficient way will determine an increasing level of efficiency of adopted and applied decisions. information system of ci 332 i. anica-popa, g. cucui figure 3: framework for dss based on web mining techniques is recommended to be developed, implemented and used in order to create a competitive advantage over competitors and became more and more evident that ci process is necessary in every organization which intends to increase the existing level of intelligence. bibliography [1] s. alampalli, role of ci in opportunity assessment online version. 2002, available from: http://www.scip.org/publications/cimarticledetail.cfm?itemnumber=985 (downloaded: 21 september 2006). [2] l. anica-popa, i. anica-popa, decision support in global organization, accounting and management information system journal, supplement 2006, pp. 536-54, 2006. [3] t.s. bateman, s.a. snell, management: competing in the new era 5th ed, new york, ny, mcgrawhill higher education, 2002. [4] b.d. berkowitz, a.e. goodman, strategic intelligence for american national security. princeton, nj, princeton university press, 1989. [5] f. bouthillier, t. jin, , competitive intelligence and webometrics, journal of competitive intelligence and management, volume 3, no. 3, pp. 19-39, 2005. [6] j. calof, increasing your ciq the competitive intelligence edge. ecdevjournal online version, 1998. available from: http://www.ecdevjournal.com (downloaded: 24 june 2006). [7] c. carr, g.s. erickson, h.n. rothberg, intellectual capital, competitive intelligence and the economic espionage act, international journal of learning and intellectual capital, volume 1, pp. 152-164, 2004. [8] m. castellano, g. mastronardi, a. aprile, m. minardi, p. catalano, v. dicensi, g. tarricone, a decision support system base line flexible architecture to intrusion detection, journal of software, volume 2, no. 6, pp. 30-41, 2007 [9] h. chen, m. chau, d. zeng, ci spider: a tool for competitive intelligence on the web, decision support systems, volume 34, pp. 1-17, 2002. a framework for enhancing competitive intelligence capabilities using decision support system based on web mining techniques 333 [10] r. cooley, b. mobasher, j. srivastava, web mining: information and pattern discovery on the world wide web, in proceedings of the 9th ieee international conference on tools with artificial intelligence (ictai’97), newport beach, ca, 1997. [11] i. dzitac, i. moisil, advanced ai techniques for web mining, proc. of 10th wseas international conference on mathematical methods, computational techniques and intelligent systems, corfu, greece, pp. 343-346, 2008. [12] r. ecells, p. nehemkis, corporate intelligence and espionage: a blueprint for executive decision making. new york, ny, macmillan, 1984. [13] w.r. fair, the corporate cia a prediction of things to come, management science, volume 12, no. 10, pp.b489-b503, 1966. [14] f.g. filip, decision support and control for large-scale complex systems, annual reviews in control, volume 32, no. 1, pp. 61-70, 2008. [15] c.s. fleisher, an introduction to the management and practice of competitive intelligence, in c.s. fleisher, d.l. blenkhorn (eds.), managing frontiers of competitive intelligence, westport, ct, quorum books, pp. 3-18, 2001. [16] b. gilad, the role of organized competitive intelligence in corporate strategy. columbia journal of world business, volume 24, no. 4, pp. 29-36, 1989. [17] s.e. griffith, sun tzu: the art of war, new york, oxford university press, 1963. [18] l. hâncu, data-mining techniques for supporting merging decisions, international journal of computers, communications & control, vol. iii, suppl. issue: proceedings of icccc 2008, pp. 322-326, 2008. [19] c. imhoff, m. galemmo, j.g. geiger mastering data warehouse design relational and dimensional techniques, indianapolis, in, wiley publishing, 2003. [20] w. inmon, building the data warehouse. fourth edition, indianapolis, in, wiley publishing, 2005. [21] l. kahaner, competitive intelligence: from black ops to boardrooms how businesses gather, analyze, and use information to succeed in the global marketplace, new york, ny, 1996. [22] j.s. kim, customized recommendation mechanism based on web data mining and case-based reasoning, intelligent agents for data mining and information retrieval, hershey, pa, idea group publishing, 2004. [23] b. liu, y. ma, p.s. yu, discovering unexpected information from your competitors’ web sites, proceedings of the seventh acm sigkdd international conference on knowledge discovery and data mining, san francisco, usa, 2001. [24] s. madria, s.s. bhowmick, w.k. ng, e.p. lim, research issues in web data mining, proceedings of data warehousing and knowledge discovery, first international conference, florence, italy, 1999 [25] j.j. mcgonagle, c.m. vella, a case for competitive intelligence, the information management journal, july/august edition, vol. 36 no.4, pp.35-40, 2002. [26] b. mobasher, web mining overview, encyclopedia of data warehousing and mining, heshey, pa, ideagroup, 2006. 334 i. anica-popa, g. cucui [27] d.b. montgomery, g.l. urban, marketing decision-information systems: an emerging view, journal of marketing research, volume 7, pp. 226-234, 1970. [28] d.b. montgomery, c.b. weinberg, toward strategic intelligence systems, journal of marketing, volume 43, pp. 41-52, 1979. [29] m. pater, d.e. popescu, multi-level database mining using afopt data structure and adaptive support constrains, international journal of computers, communications & control, vol. iii, suppl. issue: proceedings of icccc 2008, pp. 437-441, 2008. [30] f.t. pearce, business intelligence systems: the need, development and integration, industrial marketing management, volume 5, pp. 115-138, 1976. [31] m. peltoniemi, e. vuori, competitive intelligence and co-evolution within an organisation population, proceedings of 6th european conference on knowledge management, september 8-9, 2005, university of limerick, ireland, 2005. [32] m.e. porter, v.e. millar, how information gives you competitive advantage, harvard business review, volume 63, no. 4, pp. 149-161, 1985. [33] j. prescott, the evolution of competitive intelligence: designing a process for action, proposal management, pp. 37-52, 1999 [34] d.s. soper, a framework for automated web business intelligence systems, proceedings of the 38th annual hawaii international conference on system sciences, usa, 2005. [35] z.h. tang, j. maclennan, data mining with sql server 2005, indianapolis, in, wiley publishing, 2005. [36] t.s.h. teo, w.y. choo, assessing the impact of using the internet for competitive intelligence, information and management, volume 39, no. 1, pp. 67-83, 2001 [37] a.a. thompson, a.j. strickland, strategic management concepts and cases 13th ed. new york, ny, mcgraw-hill higher education, 2003. [38] l. vaughan, j. you, mining web hyperlink data for business information: the case of telecommunications equipment companies. proceedings of the first ieee international conference on signalimage technology and internet-based systems, yaoundé, cameroon, 2005. [39] m. vrincianu, l. anica-popa, i. anica-popa, organizational memory: an approach from knowledge management and quality management of organizational learning perspectives, amfiteatru economic, no. 26, pp. 473-81, 2009. [40] s. wadhwa, j. madaan, a multi criteria decision model for alternative selection in reverse logistics system, studies in informatics and control, vol. 16, no. 3, pp. 271-282, 2007. [41] g. windle, how can competitive intelligence practitioners avoid over-relying on the internet, in fleisher, c. s., blenkhorn, d. l. (eds.), controversies in competitive intelligence westport, pp. 85-97, 2003. [42] p. zarate, decision making process: a collaborative perspective, studies in informatics and control, vol. 17, no. 2, pp. 225-230, 2008. [43] *** http://www.scip.org international journal of computers, communications & control vol. ii (2007), no. 3, pp. 269-278 efficient variable length block switching mechanism jaidhar c.d, a.v. reddy abstract: most popular and widely used packet switch architecture is the crossbar. its attractive characteristics are simplicity, non-blocking and support for simultaneous multiple packet transmission across the switch. the special version of crossbar switch is combined input crossbar queue (cicq) switch. it overcomes the limitations of un-buffered crossbar by employing buffers at each crosspoint in addition to buffering at each input port. adoption of crosspoint buffer (cb) simplifies the scheduling complexity and adapts the distributed nature of scheduling. as a result, matching operation is not needed. moreover, it supports variable length packets transmission without segmentation. native switching of variable length packet transmission results in unfairness. to overcome this unfairness, fixed length block transfer mechanism has been proposed. it has the following drawbacks: (a) fragmented packets are reassembled at the crosspoint buffer (cb). hence, minimum buffer requirement at each crosspoint is twice the maximum size of the block. when number of ports are more, existence of such a switch is infeasible, due to the restricted memory available in switch core. (b) reassembly circuit at each crosspoint adds the cost of the switch. (c) packet is eligible to transfer from cb to output only when the entire packet arrives at the cb, which increases the latency of the fragmented packet in the switch. to overcome these drawbacks, this paper presents variable length block transfer mechanism. it does not require internal speedup, segmentation and reassembly circuits. using simulation it is shown that proposed mechanism is superior to fixed length block transfer mechanism in terms of delay and throughput. keywords: crossbar switch, un-buffered crossbar switch, buffered crossbar switch, combined input crossbar queue switch. 1 introduction packet switching technology has become the predominant technology for high speed data networks and has begun to be used for applications like voice communication which have traditionally relied on circuit switching. recently, many large-scale fast routers have used input queued (iq) switches. in an input queued switch, variable length packets arriving at the inputs are segmented into fixed size packets known as cells for transmission over the switch and reassembled into packets at the output before being transmitted. cell transmission time is fixed and is called as cell time or time slot. when a packet size is not an integral multiple of cell size, padding bytes are needed for the last fragment and is called as segmentation overhead. smaller cell size generates more number of cells per packet and leads to a large switch header overhead. in high-speed switches/routers, segmentation results in heavy load. moreover, if an optical switching technology is introduced, it is even more difficult to segment optical domain packets. in high speed optical networks, it is more reasonable that incoming ip packets pass through a switch fabric based on packet by packet switching scheme. variable length packet switching considers the entire ip packet as a single switching unit, doing away with padding bytes and reassembly buffers. for high speed switches/routers, non-existence of reassembly buffers and circuits is an attractive feature. in ip networks, the speed at which a scheduler can switch cells is not really significant, as even if only one cell is remaining for switching in an input queue, it is impossible to reassemble a complete ip packet in the reassembly buffer. hence, it is reasonable to compare the packet switching with cell switching, from the point of view of quality of service (qos). copyright © 2006-2007 by ccc publications 270 jaidhar c.d, a.v. reddy in general, latency problem in packet switching scheme is worse than in cell switching scheme because of a decrease in the statistical multiplexing effect. however, from the packet latency view point, packet switching scheme performs better than cell switching scheme. in addition, packet latency is much better than that of cell latency for qos requirement, because each packet represents complete information. variable length packets dominate network traffic (e.g., ip packets in ethernet frames). thus, a study of high-speed switches that support variable length packet switching is needed. a high performance variable length packet switching mechanism is proposed, for efficiently switching variable length ip packets. performance of the proposed mechanism is evaluated in terms of packet latency and throughput. overall, performance of our mechanism is better than earlier one. 2 previous work buffers in an input queued (iq) switch can be a single queue or multiple queues. simplest one is single first in first out (fifo) queue, in which cells are served according to their arrival order i.e., first come first served (fcfs) basis. due to the head of line (hol) blocking problem, fcfs service discipline limits the maximum throughput to 58.6% [1]. to overcome hol blocking problem several techniques have been proposed. one of the techniques is virtual output queue (voq) [2] in which each input maintains separate queue for each output. voq approach overcomes the hol blocking problem. however, it creates an input contention. output contention occurs when more than one input wishes to send a packet to the same output at the same time. to resolve both input and output contentions, schedulers are used, whose function is to find one to one conflict free match between inputs and outputs in every time slot. recently many scheduling algorithms have been proposed for input queued switch [3– 8]. to cope with the overheads and the scheduler inefficiencies, internal speedup is used as an alternative solution. the switch speedup s is defined as the ratio of the switch bandwidth to the bandwidth of the line rates. internal speedup is a good solution but, it incurs significant cost. if the speedup is n for n ×n switch, arriving cells at the inputs get immediately transferred to their corresponding outputs. hence, buffers are used only at the output side and this kind of architecture is named as output queued (oq) switch. an oq switch can provide qos guarantees to individual data flow or groups of data flow [9]. however, oq switch is inherently less scalable when number of ports is more or link rate is higher. this makes an iq switch an attractive candidate when line rate is higher or number of ports is more. but, iq switch fails to provide guaranteed qos. to satisfy both the requirements of high switching capacity and guaranteed qos simultaneously, buffered crossbar switch was proposed as an alternative. buffered crossbar (bc) switch overcomes the limitation of un-buffered crossbar switch by employing buffers at each crosspoint. adoption of crosspoint buffer (cb) drastically improves the overall performance of the switch. the first bc switch was implemented as a large multi cabinet unit [10]. pure buffered crossbar (pb) switch employs buffers only at each crosspoint and nowhere else. incoming cells at the input, enter directly into the switch core to reside in their corresponding cb. pb switch consists of a fifo cb, preceded by an address filter (af) was proposed [11]. yet another pb switch with a restricted cb of size 16 kb was introduced [12]. there is a possibility for packet loss due to the restricted cb size. to prevent packet loss completely, larger cb is needed, but cb size is inversely proportional to switch size. when port size increases, it forces larger memory requirement to switch core. the requirement of larger cb could be minimized by employing buffers at the input side, in addition to cbs. such an architecture is known as combined input crossbar queue (cicq) switch. it separates input and output contentions. schedulers at each input and output port work independently and in parallel. cicq switch to use fifo input buffer was proposed [13, 14]. using simulation it is shown that the throughput of the fifo input buffered cicq switch is limited to 91% due to the hol blocking problem [13]. to overcome the hol blocking problem, voq’s have been used in most of the proposed efficient variable length block switching mechanism 271 cicq architectures. in the rest of the paper, virtual output queued cicq switch is referred as cicq switch. the cicq switch having voq was first proposed in [15]. to schedule the cells, oldest cell first (ocf) selection strategy is employed at all the contention points. cicq switch in which cb size is one cell, has been proposed [16] in which the longest queue first (lqf) scheduling is used at the input side and round robin (rr) scheduling is used at the output side. yet another cicq switch architecture, where cb is restricted to a single cell, has been proposed [17] in which rr scheduling style used at all the contention points. all these scheduling algorithms were just simple mapping of earlier algorithms, proposed for un-buffered crossbar switch into the new cicq switch architecture. 3 combined input crossbar queue switch (cicq) architecture our n ×n cicq switch model is shown in fig. 1 and has a structure as described below. figure 1: combined input crossbar queue switch with round robin scheduling at all the contention points. input queue: there are n voq’s at each input, one for each output. packets arriving at the input i destined for output j are stored in voqi, j. internal fabric consists of n2 crosspoint buffers. the cbi, j stores the packets coming from input i destined to output j, where i, j = 1, 2,. . . , n and its size is set to 2250 bytes. scheduler: each input and output port has its own scheduler and each of them work independently and in parallel. at all the contention points round robin (rr) scheduling is used. input scheduler selects voq from among the active voqs. a voqi, j is said to be active for being scheduled in the input scheduling process, if it is not empty and the corresponding cbi, j has enough space to accommodate the incoming block. i.e., the value of its credit counter is greater than or equal to the size of its head block. the output scheduler is responsible for: (a) selecting the next eligible flow (cb) in its column; (b) initializing the transmission of packets to the specific switch output and sending a credit back to the appropriate input credit scheduler. a flow is eligible when the corresponding cb is not empty. if there is more than one eligible flow, the output scheduler has to select one of them in a rr fashion. flow control: a credit based flow control mechanism is used in order to provide lossless transmission between input port and cb [18]. each input i maintain n credit counters, one for each voq. initially, value of these counters is set to the cb size. whenever an input scheduler forwards a block from a voq, it decrements its respective credit counter by the size of the forwarded block. when a block departs from cbi, j, its corresponding output scheduler sends a credit back to the respective voqi, j. 272 jaidhar c.d, a.v. reddy 3.1 variable length packet switching significant advantage of the cicq switch is their capacity to directly switch variable length packets without segmenting it. all the input and output schedulers operate independently and in parallel. hence, there is no global “time-frame” that constrains the system to transmit fixed size packets. this does not hold good for unbuffered crossbar switch. native switching of variable length packets eliminates the internal speedup and reassembly circuit at all the outputs. however, native switching of variable length packets results in unfairness. consider two voq’s at a port i, where voqi,1 is saturated with large packets and voqi,2 is saturated with small packets. in this scenario, rr polling alternatively selects voqi,1 and voqi,2 regardless of packet size and voqi,1 achieves high transfer rate than voqi,2. fig. 2 shows unfairness caused by rr selection strategy for a 2 × 2 switch. to overcome this unfairness, fixed length block transfer mechanism has figure 2: native switching of variable length packets. been proposed [19]. in this mechanism, voq is eligible to transfer predefined block bytes of data (i.e., 1500 b) to its cb, when it gets the chance. each block consists of a set of entire packets and/or packet segments and packet reassembly is performed at the cb. hence, minimum cb requirement at each crosspoint is twice the maximum size of the block. due to restricted memory available to switch core, it does not work when port size is larger. packet is eligible to transfer from cb to output port only when entire packet has arrived at the cb. as a result, latency of the fragmented packet is increased. consider the worst case scenario where packet p1 of size 40 b and p2 of size 1500 b alternatively arrive at the input port. each block contains a fragmented packet. fragmented packet is delayed at the cb till the arrival of the complete packet, even when there is no output contention. moreover, number of reassembly circuits is square of the switch size, which adds to the cost of the switch. to overcome these problems variable length block transfer mechanism is proposed in this paper. variable length block transfer mechanism transfers up to a block of bytes, of a data packet from a selected voq to cb. block size may vary from block to block and its maximum size is restricted to 2250 bytes. block may contain set of entire packets or a single complete packet. packets that share a common destination, are packed inside the block continuously one after other. when entire packet cannot be accommodated in a single block, it is packed into a new block instead of fragmenting it. unlike cell switching, our mechanism does not use padding bytes to fill the block. hence, speedup is eliminated. fig. 3 shows variable length block transfer mechanism for the input port 1. the block 1 at the voq1,1 consists of set of entire packets p1,1 and p1,2. sum of the size of p1,1p1,2 and p1,3 is greater than 2250 bytes. hence, packet p1,3 is packed into new block, block 2 without fragmenting it. under heavy load, block size may be maximized. as a result, header overhead is reduced and crossbar operates very close to maximum efficiency. table 1 compares the proposed mechanism and fixed length block transfer mechanism. efficient variable length block switching mechanism 273 figure 3: variable length block transfer mechanism. table 1: comparison of the proposed mechanism and fixed length block transfer mechanism. characteristics variable length block transfer mechanism fixed length block transfer mechanism cross-point buffer size 2250 bytes 3000 bytes segmentation and reassembling circuit no yes scheduler round robin round robin packet segmentation no yes block size variable size fixed size 4 simulation experiment three simulation experiments were designed in order to compare the performance of the proposed mechanism with earlier ones. for all experiments, a 32 × 32 switch, port speed of 10 gbps, no internal speedup and single priority is assumed. round trip time (rtt) between line cards and switch fabric has been set to 40 b times (corresponding to 32 ns at 10 gbps line rate) which is the sum of the following delays (a) input arbitration (b) the transmission of a packet from an input port to the switch crossbar (c) the output arbitration and (d) the transmission of the flow control information back from the crossbar to the input port. delay is measured as the time interval between the first byte of the packet arriving at the input port and its first byte departing from the output port. the reported delay is averaged over all packets. experiment #1: poisson arrivals of variable length packets are assumed and each of the 32 input ports chooses an output port with a uniform distribution over the 32 output ports (λi, j = ρ/n for all i and j). every input port has identical offered load ranging from 80 to 98%. experiment #2: each input i hosts two active flows, flow i → i and i → (i + 1) mod n. the former flow consumes two thirds (2/3) of the incoming load and the latter consumes the remaining one third (1/3). poisson arrival of variable length packets is assumed and the offered load ranges from 50 to 98% and 80 to 98% for small and large size packets respectively. experiment #3: both variable length and fixed length block transfer mechanisms are modeled under non-uniform traffic such as unbalanced traffic as defined in [17]. it uses a probability w, as the 274 jaidhar c.d, a.v. reddy fraction of the input load directed to a single predetermined output, while the rest of the input load is directed to all outputs with uniform distribution. let us consider input port s, output port d, and the offered load for each input port ρs,d . the traffic load from input port s to output port d, ρs,d , is given by ρs,d =    ρ ( w + 1−wn ) , if s = d ρ ( 1−w n ) , otherwise when w = 0, the offered traffic is uniform. on the other hand, when w = 1 the traffic is completely directional from input i to output j, i.e., i = j. poisson arrivals of variable length packets are assumed and the throughput is measured as a fraction of the maximum possible one (320 gbps in our simulation). 5 experimental results fig. 4(a) shows the results for experiment #1 under bimodal packet size distribution in which packet size of 40 b and 1500 b alternatively arrived at the input ports. average delay of the proposed mechanism is lower than fixed length block transfer mechanism. in a fixed length block transfer mechanism, each block contains a fragmented packet. when the block arrives at the cb, the fragmented packets’ reassembly is delayed until the next packet arrives at the cb. segmentation and reassembly delay increases the latency of the packet. these types of delay are non-existent in our mechanism. hence, our mechanism exhibits shorter delay than the earlier mechanism. block of data bytes are eligible for transfer from cb to output, when cb gets the chance to transfer. if there is no output contention in a column, block of data bytes can immediately be transferred without waiting for the next packet. fig. 4(b) shows the results of experiment #1 in which packet size is uniform. our mechanism shows lower average delay than fixed length block transfer mechanism due to the non existence of segmentation and reassembly delay. figs. 5(a) and 5(b) show the results for the experiment #2 for small and large packets respectively. mean delay of block transfer mechanism is higher for larger packets than output queued switch. however, it shows smaller average delay for small packets. presence of two-stage buffering in a cicq switch introduces priority, based on packet lengths. the transfer time required for packets from a voq to a cp is proportional to the size of the packet. thus, a smaller packet requires less transfer time from a voq to a cp. suppose the transfer of a small packet from port 1 to cb1,1 and the transfer of a large packet from port 2 to cb2,1 begin at the same time. the small packet arrives at a cb1,1 before the large packet does at a cb2,1. thus, the small packet will be transmitted before the large packet, to an output link if the remaining cbi,1 for all ports i are empty. the effect is demonstrated by the smaller mean delay than that of the oq switch, for small packets, at a high offered load. the block transfer mechanism further adds the packet size-based priority within each port. in the block transfer mechanism, a multiple of small packets of a single block, are eligible for transfer from a single voq in the rr polling at an input port, giving higher priority to smaller packets over larger packets within the input port. this explains the lower small packet mean delay of the block transfer mechanism than the output queued switch for all offered loads considered. fig. 6 shows the results for the experiment #3. it is observed that our mechanism shows higher throughput than earlier ones. under heavy load, block size is maximized and as a result header overhead is reduced. 6 conclusions and future work in this paper, variable length block transfer mechanism is proposed to overcome the limitations of fixed length block transfer mechanism. arriving packets at the inputs are not segmented as a result padding bytes and internal speedup is not required. in addition it eliminates reassembly circuit and efficient variable length block switching mechanism 275 1 10 100 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 m ea n sw it ch de la y (n an os ec on ds ) offered load (%) fixed length block transfer mechanism 3 3 3 3 3 3 3 3 variable length block transfer mechanism + + + + + + + + (a) bimodel packet size 1 10 100 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 m ea n sw it ch de la y (n an os ec on ds ) offered load (%) fixed length block transfer mechanism 3 3 3 3 3 3 3 3 variable length block transfer mechanism + + + + + + + + output queued switching 2 2 2 2 2 2 2 2 (b) uniform packet figure 4: delay performance of the proposed mechanism, fixed length block transfer under uniform traffic. 276 jaidhar c.d, a.v. reddy 0.1 1 10 100 0.5 0.6 0.7 0.8 0.9 1 m ea n sw it ch de la y (m ic ro se co nd s) offered load (%) output queued switch 3 3 3 3 3 3 3 3 3 3 3 3 3 3 fixed length block transfer mechanism + + + + + + + + + + + + + + variable length block transfer mechanism 2 2 2 2 2 2 2 2 2 2 2 2 2 2 (a) small packets 1 10 100 0.8 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 m ea n sw it ch de la y (m ic ro se co nd s) offered load (%) output queued switch 3 3 3 3 3 3 3 3 fixed length block transfer mechanism + + + + + + + + variable length block transfer mechanism 2 2 2 2 2 2 2 2 (b) larger packets figure 5: results for diagonal experiment. efficient variable length block switching mechanism 277 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1 0 0.2 0.4 0.6 0.8 1 t hr ou gh pu t unbalanced probability factor w variable length block transfer mechanism 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 fixed length block transfer mechanism + + + + + + + + + + + + + + + + + + figure 6: throughput experiment under unbalanced traffic with load 100%. buffers which reduces the cost of the switch. block size is maximized under heavy load resulting in reduction of header overhead, scheduler rate and power consumption. mean switch delay of the proposed mechanism is lower than earlier because of the not existence of the segmentation and reassembly. memory requirement at the each crosspoint is 25% lesser than the earlier one and it is feasible to implement. through simulation, proposed mechanism is compared with earlier one and found to be superior in terms of switch throughput and packet mean delay. our mechanism may produces the unfairness in terms of service rate when different voq’s have different arrival rate which we are trying to rectify in our further work. unfairness problem can be overcome by maintaining a counter called service counter for each voq and cb (vsci, j and cbsci, j). initial value of these counters is set to zero and the value may vary at the time of scheduling. during the time of scheduling, input port scheduler examines the content of the service counter vsci, j. if the value of vsci, j is greater than or equal to threshold value, voqi, j is not eligible in the current round and its value is updated as vcsi, j = vcsi, j—threshold value. otherwise voqi, j is eligible in the current round and its service counter value is updated as vcsi, j =vcsi, j+ voqi, j [block size] − minimum block size. bibliography [1] m. j. karol, m. g. hluchyj and s. p. morgan, input versus output queuing on a space-division packet switch, ieee transactions on communications, vol. 35, pp. 1347–1356, 1987. [2] t. anderson, s. owicki, j. saxe and c. thacker, high speed switch scheduling for local area networks, acm transactions on computer systems, vol. 11, pp. 319–352, 1993. [3] n. mckeown, the islip scheduling algorithm for input-queued switches, ieee/acm transactions on networking, vol. 7, pp. 188–201, 1999. [4] d. n. serpanos and p. i. antoniadis, firm: a class of distributed scheduling algorithms for high-speed atm switches with multiple input queues, proceedings of the ieee infocom, pp. 548–555, 2000. 278 jaidhar c.d, a.v. reddy [5] h. j. chao and j. s. park, centralized contention resolution schemes for a large-capacity optical atm switch, proceedings of the ieee atm workshop, 1998. [6] y. l. s. panwar and h. j. chao, on the performance of a dual round-robin switch, proceedings of the ieee infocom, pp. 1688–1697, 2001. [7] n. mckeown, v. anantharam and j. walrand, achieving 100% throughput in an input-queued switch, proceedings of the ieee infocom, pp. 296–302, 1996. [8] a. mekkittikul and n. mckeown, a starvation-free algorithm for achieving 100% throughput in an input-queued switch, proceedings of the ieee icccn, pp. 226–231, 1996. [9] g. keridis and n. mckeown, output-buffer atm packet switching for integrated services communication networks, proceedings of the ieee international conference on communications, montreal, canada, 1997. [10] e. rathgeb, t. theimer and m.huber, buffering concepts for atm switching networks, proceedings of the ieee globecom, pp. 1277–1281, 1988. [11] a. k. gupta, l. o. barbosa and n. d. georganas, 16×16 limited intermediate buffer switch module for atm networks, proceedings of the eee globecom, pp. 939-943, 1991. [12] a. l. gupta and n. d. georganas, analysis of a packet switch with input and output buffers and speed constraints, proceedings of the ieee infocom, pp. 694–700, 1999. [13] a. k. gupta, l. o. barbosa and n. d. georganas, limited intermediate buffer switch modules and their interconnection networks for b-isdn, proceedings of the ieee international conference on communications, pp. 1646–1650, 1992. [14] m. lin and n. mckeown, the throughput of a buffered crossbar switch, ieee communications letters, vol. 9, pp. 465–467, 2005. [15] m. nabeshima, performance evaluation of a combined input and crosspoint queued switch, ieice transactions on communications, vol. e83-b, pp. 737–741, 2000. [16] t. javid, r. magil and t. hrabik, a high throughput scheduling algorithm for a buffered crossbar switch fabric, proceedings of the ieee international conference on communications, pp. 1586– 1591, 2001. [17] r. r. cessa, e. oki, z. jing and h. j. chao, cixb-1 combined input-one cell-crosspoint-buffered switch, proceedings of the ieee workshop on high performance switching and routing, pp. 324– 329, 2001. [18] h. t. kung and r. morris, credit-based flow control for atm networks, ieee network magazine, vol. 9, pp. 40–48, 1995. [19] k. yoshigoe and k.j. christensen, an evaluation to crossbar switches with virtual output queuing and buffered cross points, ieee network, vol. 17, pp. 48–56, 2003. jaidhar c.d. department of computer science and engineering national institute of technology tiruchirappalli – 620 015, india e-mail: csk0305@nitt.edu a.v reddy department of computer applications national institute of technology tiruchirappalli – 620 015, india e-mail: reddy@nitt.edu received: march 30, 2007 revised: may 19, 2007 international journal of computers, communications & control vol. ii (2007), no. 2, pp. 174-184 ant systems & local search optimization for flexible job shop scheduling production noureddine liouane, ihsen saad, slim hammadi, pierre borne abstract: the problem of efficiently scheduling production jobs on several machines is an important consideration when attempting to make effective use of a multimachines system such as a flexible job shop scheduling production system (fjsp). in most of its practical formulations, the fjsp is known to be np-hard [8][9], so exact solution methods are unfeasible for most problem instances and heuristic approaches must therefore be employed to find good solutions with reasonable search time. in this paper, two closely related approaches to the resolution of the flexible job shop scheduling production system are described. these approaches combine the ant system optimisation meta-heuristic (as) with local search methods, including tabu search. the efficiency of the developed method is compared with others. keywords: flexible production, ant colony, tabu search, job shop scheduling, makespan, optimisation. 1 introduction modern hybrid heuristics are by their nature non-exhaustive, and so there is often scope for different approaches to better previous solution methods according to the execution speed or the quality of feasible solutions. traditional approaches to resolve the fjsp are as varied as the different formulations of the problem, but include fast, simple heuristics [2][12], tabu search [15], evolutionary approaches [5] and modern hybrid meta-heuristics that consolidate the advantages of various different approaches [1][13]. the ant colony optimisation (aco) was described by dorigo in his phd thesis [6] and was inspired by the ability and the organisation of real ant colony using external chemical pheromone trails acting as a means of communication. ant system algorithms have since been widely employed on the np-hard combinatorial optimisation problems including problems related to continuous design spaces research [4], and job shop scheduling [16]. however, they have not previously been applied to the fjsp described in what follows. local search methods encompass many optimisation approaches and have been shown that the efficiency of their use with an ant system approach [7]. the approach described in this paper for the fjsp shows the quality of solutions found, using benchmark problems. the performances of the proposed approach are evaluated and compared with the results obtained from other methods. in this paper, an application of the ant system algorithms combined by the tabu search heuristic is proposed for solving the fjsp. thus, the fjsp is described and formulated in section 2. then, in section 3, the suggested approach by aco with the tabu search is described. an illustrative example is given in section 4. the last section will be devoted to the presentation of some results and some conclusions relating to this research work. 2 problem formulation the fjsp may be formulated as follows. consider a set of n independent jobs, noted ℑ = {j1, j2, ..., jn, 1 ≤ j ≤ j}, which are carried out by k machines mk, m = {m1, m2, ..., mk, 1 ≤ k ≤ k}. each job j j consists of a sequence of n j operations oi, j, copyright © 2006-2007 by ccc publications ant systems & local search optimization for flexible job shop scheduling production 175 i = 1, 2, ...n j. each routing has to be performed to achieve a job. the execution of each operation i of a job j j requires one ressource selected from a set of available machines. the assignment of the operation oi, j to the machine mk ⊆ m entails the occupation of the latter one during a processing time, noted pi, j,k. the problem is thus to both determine an assignment scheme and a sequence of the operations on all machines that minimize some criteria. • a set of j independent jobs. • each job is characterized by the earliest starting time r j and the latest finishing time d j. • denote by pti, j and ri, j respectively the processing time and the ready date of the operation oi, j. the pi, j,k represent the processing time pti, j with the machine mk. • a started operation can not be interrupted. • each machine can not perform more than one operation at the same time. • the objective is to find an operation ordering set satisfying a cost function under problem constraints. in this paper, the considered objective is to minimize the makespan cmax. 3 aco and tabu search for fjsp scheduling in this stage, the application of the combined ant systems with tabu search techniques in the resolution of fjsp problem are described. 3.1 construction graph and constraints generally, the fjsp can be represented by a bipartite graph with two categories of nodes: oi, j and mk. a task is mapped to a oi, j node; a machine is mapped to a mk. there is an edge between the oi, j node and the mk node if and only if the corresponding task can be assigned to the corresponding machine while respecting the availability of the machine and the precedence constraints among the operations of different jobs. the cost of assignment is directly related to the processing time of the task upon the machine. to model the process in a more straightforward manner, we use the construction graph that is derived from the utilization matrix. below is a sample construction graph. table 1: construction graph of 4 machines and 7 tasks. m1 m2 m3 m4 o1,1 10 7 6 13 o2,1 4 5 8 12 o3,1 9 5 6 12 o1,2 15 12 8 6 o2,2 9 5 7 13 o1,3 7 16 5 11 o2,3 9 16 8 11 with this construction graph, we can transform the fjsp into a traveling ant problem. specifically, given the representative table of n rows and m columns, and each of its cells is associated with pi, j,k, representing this one distance among oi, j and mk. an ant seeks to travel across the table in such a way 176 noureddine liouane, ihsen saad, slim hammadi, pierre borne that all of the following constraints will be satisfied: one and only one cell is visited for each of the rows. in the rest of this paper, "tour" and "solution" are used interchangeably; a pair of (operation, machine) means: operation is assigned to machine, table 2. table 2: solution of construction graph table 1 m1 m2 m3 m4 o1,1 6 o2,1 4 o3,1 5 o1,2 6 o2,2 5 o1,3 5 o2,3 8 3.2 ant systems scheduling the ant system approach was inspired by the behaviour of the real ants. the ants depose the chemical pheromone when they move in their environment, they are also able to detect and to follow pheromone trails. in our case, the pheromone trail describes how the ant systems build the solution of the fjsp problem. the probability of choosing a branch at a certain time depends on the total amount of pheromone on the branch, which in turn is proportional to the number of ants that used the branch until that time. the probability p fi jk that an ant will assign an operation oi, j of job j j to an available machine mk. each of the ants builds a solution using a combination of the information provided by the pheromone trail τi jk and by the heuristic function defined by ηi jk = pi, j,k. formally, the probability of picking that an ant f th will assign an operation oi, j of job j j to the machine mk is given in equation 1. p fi jk =    (τi jk)α∗(ηi jk)−β ∑ l∈d (τi jk)α∗(ηi jk)−β i f j ∈ d 0 i f j /∈ d (1) in this equation, d denotes the set of available non-executed operations set and where α and β are parameters that control the relative importance of trail versus visibility. therefore the transition probability is a trade-off between visibility and trail intensity at the given time. 3.3 updating the pheromone trail to allow the ants to share information about good solutions, the updating of the pheromone trail must be established. after each iteration of the ant systems algorithm, equation 2 describes in detail the pheromone update used when all ants have completed an own scheduling solution denote lants, that represent the length of ant tour. in order to guide the ant systems towards good solutions, a mechanism is required to assess the quality of the best solution. the obvious choice would be to use the best makespan lmin = cmax of all solutions given by a set of ant. ∆τ fi jk = { lmin lants i f i, j, k ∈ lants 0 otherwise (2) ant systems & local search optimization for flexible job shop scheduling production 177 after all of the ants have completed their tours, the trail levels on all of the arcs need to be updated. the evaporation factor ρ ensures that pheromone is not accumulated infinitely and denotes the proportion of śoldš pheromone that is carried over to the next iteration of the algorithm. then for each edge the pheromone deposited by each ant that used this edge are added up, resulting in the following pheromonelevel-update equation: τi jk = ρ.τi jk + nba ∑ f =1 ∆τ fi jk (3) where nba defines the number of ants to use in the colony. 3.4 tabu search optimisation a simple tabu search was also implemented for this optimisation fjsp problem. the proposed approach is to allow the ants to build their solutions as described in section 3.2 and then the resulting solutions are taken to a local optimum by the local search mechanism. each of these ant solutions is then used in the pheromone update stage. the local search is performed on every ant solution, every iteration, so it needs to be fairly fast. in the case of the fjsp problem, the method is to pick the machine responsible to the cmax and check if any operations oi, j could be swapped between other machines which would result in a lower makespan. following their concept, the local search considers one problem machine at a time and attempts to swap one operation from the problem machine with any other (non-problem) machine in the solution (non-problem operations). then the ants are used to generate promising scheduling production solutions and the tabu search algorithm is used to try to improve these solutions. the tabu search is performed on each problem machine and continues until there is no further improvement in the makspean value of the solution. an example of this algorithm is shown in section 4. 3.5 the set up parameter values the set up parameter values used in the ant system scheduling algorithms are often very important in getting good results, however the appropriate values are very often entirely problem dependent [7], and cannot always be derived from features of the problem itself: • α determines the degree to which pheromone trail is used as the ants build their solution. the lower the value, the less ‘attention’ the ants pay to the pheromone trail, but the higher values implicate the ants then perform too little exploration, after testing values in the range 0.1-0.75 this algorithm works well with relatively high values (around 0.5-0.75). • β determines the extent to which heuristic information is used by the ants. again, values between 0.1-0.75 were tested, and a value around 0.5 appeared to offer the best trade-off between following the heuristic and allowing the ants to explore the research space. • τ is the value to which the pheromone trail values are initialized. initially the value of the parameter should be moderately high to encourage initial exploration, while the pheromone evaporation procedure will gradually stabilise the pheromone trail. • ρ is the pheromone evaporation parameter and is always set to be in the range [0 < ρ < x]. it defines how quickly the ants ‘forget’ past solutions. a higher value makes for a more aggressive search; it tests a value of around 0.5-0.75 to find good solutions. 178 noureddine liouane, ihsen saad, slim hammadi, pierre borne • nba defines the number of ants to use in the colony, a low value speeds the algorithm up because less search is done, a high value slows the search down, as more ants run before each pheromone update is performed. a value of 10 appeared to be a good compromise between execution speed and the quality of the solution achieved. it is interesting to note that for each value of parameters the ant systems scheduling meta-heuristics yields a good solution. moreover, its convergence speed depends essentially on the number of used ants nba. 3.6 building a solution steps the main steps in the strategy of the fjsp system by ant systems and tabu search algorithm are given below. • initialize parameters nba, α , β , τ0, ρ . • create an initial solution and an empty tabu list of a given size. in order to generate feasible and diverse solutions, initial ants are represented by solutions issued from heuristic rules [12] (spt, dl, fifo, etc) and a random method. heuristics are used to approximate an optima solution as near as possible. • repeat the following steps until the termination criteria are met: – find new solution by ant systems procedure scheduling given in section 3.2. – evaluate the quality of the new solution. – if a new solution is improved then the current best solution becomes new solution – else if no new solution was improved then apply the tabu search optimisation given in section 3.4. – add solution to the tabu list, if the tabu list is full then delete the oldest entry in the list. – apply the updating pheromone trail procedure given in section 3.3. • end repeat 4 illustration example let us consider a flexible job shop scheduling problem, this example is to execute three jobs j j (j=1,2,3) and six machines mk (k = 1, . . ., 6) described in table 1. applying the ant systems meta-heuristic, the simulation propose four different scheduling with cmax = 19 ut (unit of time), shown in table 2 to 7. the solution given in the table 7 has a makespan equal to 19 ut. the machine m5 is the cause of this value of makespan. to solve this problem, the tabu search optimisation is applied for this solution. indeed, this method finds the operation o2,2 for job j2 on m2 that can be swapped with other machines which will reduce makespan to 18 ut. and this method finds that the operation o1,3 for the job j1 executed by m2 and can be swapped with m5 who will execute the operation o2,2 for the job j2. finally, the obtained solution by the tabu search is better than before, table 8. ant systems & local search optimization for flexible job shop scheduling production 179 table 3: example benchmark 3 jobs 6 machines : processing time and ordering operation. m1 m2 m3 m4 m5 m6 j1 o1,1 10 7 6 13 5 1 o2,1 4 5 8 12 7 11 o3,1 9 5 6 12 6 17 o4,1 7 8 4 10 15 3 j2 o1,2 15 12 8 6 10 9 o2,2 9 5 7 13 4 7 o3,2 14 13 14 20 8 17 j3 o1,3 7 16 5 11 17 9 o2,3 9 16 8 11 6 3 o3,3 6 14 8 18 21 14 table 4: solution 1 for benchmark 3 jobs 6 machines. nba = 10; α = 0.5; β = 0.5; τ0 = 0.01; ρ = 0.5 s1 o1 o2 o3 o4 j1 m6: [0,1] m1: [1,5] m2: [11,16] m6: [16,19] j2 m4: [0,6] m2: [6, 11] m5: [11,19] *** j3 m3: [0,5] m3: [5,13] m1: [13; 19] *** table 5: solution 2 for benchmark 3 jobs 6 machines. nba = 10; α = 0.75; β = 0.25; τ0 = 0.01; ρ = 0.5 s2 o1 o2 o3 o4 j1 m6: [0,1] m1: [1,5] m2: [5,10] m6: [10,13] j2 m4: [0,6] m5: [6,10] m5: [10,18] *** j3 m3: [0,5] m3: [5,13] m1: [13,19] *** table 6: solution 3 for benchmark 3 jobs 6 machines. nba = 10; α = 0.25; β = 0.75; τ0 = 0.01; ρ = 0.5 s3 o1 o2 o3 o4 j1 m6: [0,1] m1: [1,5] m5: [5,11] m6: [11,14] j2 m4: [0,6] m2: [6,11] m5: [11; 19] *** j3 m3: [0,5] m6: [5,8] m1: [8,14] *** table 7: solution 4 for benchmark 3 jobs 6 machines. nba = 10; α = 0.3; β = 0.7; τ0 = 0.01; ρ = 0.5 s4 o1 o2 o3 o4 j1 m6: [0,1] m1: [1,5] m5: [5,11] m6: [10,13] j2 m4: [0,6] m2: [6,11] m5: [11,19] *** j3 m3: [0,5] m6: [5,8] m1: [8,14] *** 180 noureddine liouane, ihsen saad, slim hammadi, pierre borne table 8: tabu search optimisation solution. o1 o2 o3 o4 j1 m6; 0; 1 m1; 1; 5 m2; 5; 10 m6; 10; 13 j2 m4; 0; 6 m5; 6; 10 m5; 11; 18 *** j3 m3; 0; 5 m6; 5; 8 m1; 8; 14 *** table 9: results of problem sets solution. results problem sets from [11] problem set kacem et al genace ant systems and tabu search optimisation fjsp 4-5 16 11 11 fjsp 10-7 15 12 11 fjsp 10-10 7 7 7 fjsp 15-10 23 12 12 results problem sets from [3] fjsp 10-6 32 29 28 fjsp 10-15 86 68 68 table 10: result example : fjsp 10-10 from [11] nba = 10; α = 0.1; β = 0.9; τ0 = 0.1; ρ = 0.25 * o1 o2 o3 j1 m7 :[0,2] m3 :[2,3] m4 :[3,4] j2 m1 :[1,3] m10 :[3,4] m10 :[4,6] j3 m10 :[0,1] m8 :[1,2] m8 :[2,4] j4 m9 :[0,1] m3 :[3,6] m4 :[6,7] j5 m9 :[1,3] m9 :[3,4] m4 :[4,5] j6 m6 :[1,3] m9 :[4,6] m9 :[6,7] j7 m1 :[0,1] m3 :[1,2] m4 :[2,3] j8 m5 :[0,2] m2 :[2,5] m2 :[5,7] j9 m3 :[0,1] m7 :[2,3] m6 :[3,4] j10 m6 :[0,1] m4 :[1,2] m7 :[3,5] ant systems & local search optimization for flexible job shop scheduling production 181 table 11: result example : fjsp 10-6 from [3] nba = 10; α = 0.25; β = 0.75; τ0 = 0.2; ρ = 0.5 * o1 o2 o3 o4 o5 o6 j1 m6 :[0,1] m6 :[4,9] m1 :[9,10] m2 :[15,21] m6:[23,26] m2 :[27,28] j2 m4 :[1,3] m6 :[9,12] m5 :[13,15] m3 :[16,19] m3 :[19,21] m1 :[21,24] j3 m1 :[2,3] m1 :[5,7] m2 :[14,15] m5 :[15,17] m4 :[21,22] m5 :[24,27] j4 m5 :[0,2] m6 :[3,4] m2 :[8,14] m1 :[14,15] m4 :[15,20] m4 :[20,21] j5 m1 :[0,2] m2 :[2,5] m4 :[5,11] m1 :[11,13] m4 :[13,15] m3 :[24,27] j6 m5 :[2,5] m3 :[8,12] m6 :[12,14] m1 :[15,17] m2 :[21,27] m6 :[27,28] j7 m4 :[0,1] m5 :[5,7] m1 :[7,9] m5 :[10,13] m6 :[20,23] m4 :[24,27] j8 m3 :[1,4] m2 :[5,8] m1 :[10,12] m5 :[17,20] m5 :[20,24] m1 :[24,27] j9 m3 :[4,8] m3 :[12,16] m6 :[16,17] m1 :[17,21] m3 :[21,24] m4 :[27,28] j10 m6 :[1,3] m1 :[3,5] m5 :[7,10] m4 :[11,12] m6 :[17,20] m4 :[22,24] 5 validation and comparison all ant systems and tabu search optimisation results presented are for 1000 iterations with 10 the number of ants, and each run was performed 10 times. the algorithms have been coded in vb language and tested using a p4 pentium processor 2.4 ghz and windows xp system. to illustrate the effectiveness and performance of the algorithm proposed in this paper, six representative benchmark fjsp instances (represented by problem n × m) based on practical data have been selected to compute. these benchmark instances are all taken from of brandimarte [3] and from kacem [11] as well as those from genace [14]. the different results obtained by proposed approach is presented and compared with the other methods in table 9. concerning the fjsp instances, the different results show that the solutions obtained are generally acceptable and satisfactory. the values of the different objective functions show the efficiency of the suggested approach, table 9. moreover, the proposed method enables us to obtain good results in a polynomial computation time. in fact, the efficiency of this approach can be explained by the quality of the ant system algorithms combined by the tabu search heuristic to the optimization of solutions. 6 conclusion in this paper, a new approach based on the combination of the ant system with tabu search algorithm for solving flexible job-shop scheduling problems, is presented. the results for the reformulated problems show that the ant systems with local search meta-heuristic can find optimal solutions for different problems that can be adapted to deal with the fjsp problem. the performances of the new approach are evaluated and compared with the results obtained from other methods. the obtained results show the effectiveness of the proposed method. ant system algorithms and the tabu search techniques described are very effective and they alone can outperform all the alternative techniques. references [1] a. c. f. alvim, f. glover, c. c. ribiero and d. j. aloise. a hybrid improvement heuristic for the bin packing problem, 2002. available from: http://citeseer.nj.nec.com/557429.html. [2] t. d. braun, h. j. siegel, n. beck, l. l. bölöni, m. maheswaran, a. i. reuther, j. p. robertson, m. d. theys, b. yao, d. hensgen and r. f. freund. a comparison of eleven static heuristics for 182 noureddine liouane, ihsen saad, slim hammadi, pierre borne mapping a class of independent tasks onto heterogeneous distributed computing systems. journal of parallel and distributed computing, 61(6):810-837, 2001. [3] brandimarte p., routing and scheduling in a flexible job-shop by tabu search, annals of operations research, vol. 2, pp. 158-183, 1993. [4] bilchev, g., parmee, i.c. : the ant colony metaphor for searching continuous design spaces. lecture notes in computer science, 993,pp. 25-39, 1995. [5] a. l. corcoran and r. l. wainwright. a parallel island model genetic algorithm for the multiprocessor scheduling problem. in selected areas in cryptography, pp. 483-487, 1994. [6] m. dorigo. optimization, learning and natural algorithms. phd thesis, dei, polytecnico di milano, milan, 1992. [7] m. dorigo and t. stützle. the ant colony optimization metaheuristic: algorithms, applications, and advances. in glover, f. and kochenberger, g., editors, handbook of metaheuristics, vol. 57 of international series in operations research and management science, pp. 251-285. kluwer academic publishers, 2002. [8] m. garey, d. johnson, r. sethi. the complexity of flow shop and job-shop schedules. mathematics of operations research, vol. 1(2), pp. 117-129, 1976. [9] m. garey and d. johnson. computers and intractability: a guide to the theory of np-completeness. freeman and company, san francisco, 1979. [10] i. kacem, s. hammadi and p. borne. approach by localization and multiobjective evolutionary optimization for flexible job-shop scheduling problems. ieee transactions on systems, man and cybernetics, vol. 32(1), pp. 1-13, 2002. [11] i. kacem, s. hammadi and p. borne. pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. mathematics and computer in simulation, vol. 60, pp. 245-276, 2002. [12] n. liouane, s. hammadi and p. borne. robust methodology for scheduling production in uncertain environment. imacs multi-conference on computational engineering in systems applications, cesa’98, hammamet, 1998. [13] k. mesghouni. application des algorithmes évolutionnistes dans les problèmes d’optimisation en ordonnancement de production. thèse de doctorat, université de lille1, lille, 1998. [14] j. c. tay and n. b. ho. genace: an efficient cultural algorithm for solving the flexible jobshop problem. proceedings of the ieee congress of evolutionary computation, pp. 1759-1766, 2004. [15] a. thiesen,. design and evaluation of tabu search algorithms for multiprocessor scheduling. journal of heuristics, vol. 4, pp.141-160, 1998. [16] s. van der zwaan and c. marques. ant colony optimisation for job shop scheduling. in proceedings of the third workshop on genetic algorithms and artificial life, gaal 99,1999. noureddine liouane1, ihsen saad2,3, slim hammadi2, pierre borne2 1atsi : ecole nationale d’ingénieurs de monastir, rue ibn el jazzar, 5019 monastir, tunisie ant systems & local search optimization for flexible job shop scheduling production 183 2ecole centrale de lille, cité scientifique laboratoire d’automatique, genie informatique et signal bp 48, 59651 villeneuve d’ascq cedex, france 3ecole nationale d’ingénieurs de tunis unité de recherche lara-automatique bp 37, le belvédère, 1002 tunis, tunisie e-mail: noureddine.liouane@enim.rnu.tn, ihsen.saad@enit.rnu.tn, slim.hammadi@ec-lille.fr, pierre.borne@ec-lille.fr noureddine liouane was born in kairouan, tunisia, in 1963. he received the master degree of science electrical genius in 1988 from the “ecole normale supérieur de l’enseignement technique de tunis”. he received the ph.d. degree from ecole centrale de lille, france, in 1998. he is currently “maitre assistant” in the “ecole nationale d’ingénieurs de monastir” and director of the “institut supérieure des sciences appliquées et de la technologie de kairouan”. his research is related to the evolutionary optimization methods for discrete events systems, computer science and operational research. ihsen saad was born in monastir, tunisia, in 1977. he received the engineer diploma degree in electrical automatic control engineering from the “ecole nationale d’ingénieur de gabès”, tunisia, in 2002. he obtained the master of automatic and signal treatment in 2004 at the “ecole nationale d’ingénieur de tunis”. he is currently preparing the ph.d. degree in automatic and computer science within the framework of lagis-ec-lille and lara-enit cooperation. his research is related to the evolutionary optimization methods for discrete events systems, computer science and operational research. slim hammadi is a full professor of production planning and control at the ecole centrale de lille (french “grande ecole”). born in gafsa (tunisia) in 1962, he has obtained by 1988 the master degree in computer science from the university of lille (france). pr hammadi obtained a p.h.d degree in job-shop scheduling and control in 1991 at ecole centrale de lille. he is a senior member of ieee/smc and has served as a referee for numerous journals including the ieee transactions on smc. pr. s. hammadi was co-organizer of a symposium (ims) of the imacs/ieee smc multiconference cesa’98 held in hammamet (tunisia) in april 1998. he has organized several invited sessions in different smc conferences where he was session chairman. he was chairman of the international congress on “logistic and transport” lt’2004, mhosi’2005 and lt’2006. his teaching and research interests focus on the areas of production control, production planning, computer science, discrete and dynamic programming and computer integrated manufacturing. 184 noureddine liouane, ihsen saad, slim hammadi, pierre borne pierre borne was born in corbeil, france in 1944, he received the master degree of physics in 1967, the masters of electronics, of mechanics and of applied mathematics in 1968. the same year he obtained the diploma of "ingénieur idn" (french “grande ecole”). he obtained the phd in automatic control of the university of lille in 1970 and the dsc of the same university in 1976. he became doctor honoris causa of the moscow institute of electronics and mathematics (russia) in 1999 and of the university of waterloo (canada) in 2006. he is author or coauthor of about 200 journal articles and book chapters, and of 30 plenary lectures and of more than 250 communications in international conferences. he has been the supervisor of 64 phd thesis and is author of 20 books. he has been president of the ieee/smc society in 2000 and 2001. he is presently professor “de classe exceptionnelle” at the ecole centrale de lille and director of the french pluriformations national group of research in automatic control. international journal of computers, communications & control vol. i (2006), no. 4, pp. 101-109 computation on the optimal control of networked control systems with multiple switching modes over high speed local area networks gang zheng, wenli zeng, fanjiang xu abstract: the optimal control problem for the networked control system with multiple switching modes over high speed local area networks is addressed, where an initial state is a parametric vector. because in the general case, the time delay is much less than the sampling period and the possibility of the packets collision is much lower, it can be assumed that the influence of the time delay and the packets loss on the optimal controller design can be ignored. on the basis of the assumption, the networked control systems with multiple switching modes are modeled as a hybrid system. moreover, based on the bellman type inequality for the hybrid systems, a dynamic program to solve the optimal control with a parameter vector is proposed, in every step of the technique, the feasible region is divided into evenly distributed grid points, and then, the optimal control law is transformed into maximizing the lower bound of the cost to go function in grid points. finally, an experiment setup of the networked control system with multiple switching modes is constructed and a simulation example is given to illustrate the optimal control computation results. keywords: networked control systems, hybrid systems, optimal control, dynamic program, multiparametric program 1 introduction networked control systems (ncs) are feedback control systems wherein the control loops are closed through a real-time network[1]. the defining feature of an ncs is that information (reference input, plant output, control input, etc.) is exchanged using a network among control system components (sensors, controller, actuators, etc.). the use of a communication network offers advantages in terms of reliability, enhanced resource utilization, reduced wiring, and reconfigurability. networked control systems typically involve switching between several different modes, depending on the range of operation. in order to improve the performance of the system and save the operation cost, it is important to design an optimal control law for the systems with different switching modes. at present the methodologies of designing the optimal controllers for such networked control systems are few. [2] assumes that the controller-plant communication in ncs is periodic, the optimal controller design problem is formulated as one for sampled-data feedback systems with periodic discrete-time components, and give a necessary and sufficient condition for existence of discrete time periodic controller in terms of lmis, and derive a controller construction algorithm. [3]discusses the optimal h∞ control problem for networked systems with limited communication constraint, which is formulated as a periodic control problem, and proposes a heuristic search approach in conjunction with the convex optimization of controller to solve the optimization problem. the switching process in [2] and [3] is time-controlled. however, in practice, the switching may be completely determined by the system state, for such networked control systems, the whole state space is divided into cells which each correspond to a particular control mode, so that each cell has its own continuous dynamics associated to it. this type of the system is state-controlled and can be regarded as a hybrid system. hybrid systems have attracted considerable attention in recent years [4]. also, in practice, the initial state of networked control systems may be not determined, and for those with multiple switching modes, the unpredicted initial states may make the optimization process more complex. this paper model the class of networked control systems with multiple switching modes as a hybrid system, based on the model, a general cost function is defined and the optimal control problem copyright c© 2006 by ccc publications 102 gang zheng, wenli zeng, fanjiang xu for a general cost function is addressed, where a initial state is a parametric vector and is not predicted. furthermore, a solution to the optimal feedback control law is proposed, which combine the dynamic program and multiparametric program. finally, an example is given to illustrate the optimal computation results. 2 problem formulation 2.1 modeling networked control systems with multiple switching modes consider a class of networked control systems shown in figure 1. the plant, the sensors, the controller and the actuators are spatially distributed and connected together through a control network. in general, there are multiple control modes in the controller of the class of systems, and every mode corresponds to the range of the continuous state of the physical plant. we assume that the control network is a high speed local area network, e.g. ethernet, and the transmitting data policy is scheduled releasing policy, the time delay is much less than the sampling period in practice and the possibility of message collision is much lower, therefore, in this paper, it is reasonable to ignore the influence of the time delay and packets loss on the optimal controller design in the networked control systems with multiple switching modes. figure 1: the networked control system with multiple control modes on the basis of the assumption, the class of networked control systems with multiple modes can be modeled as a hybrid system. hybrid systems contain continuous dynamics and discrete events [4]. the controller in networked control systems can calculate the state of the plant and determine the control modes, and the switching between different modes corresponds to the occurrence of the discrete event in hybrid systems. we assume that clock-driven sensors sample the plant outputs periodically at sampling instants, then the networked control system can be modeled as a hybrid system as following: { x(k + 1) = fq(k)(x(k), u(k)) q(k + 1) = v(x(k), q(k)) (1) where continuous state variable x ∈ x , rn, continuous input variableu ∈ u , rm, k denotes k-th sampling period, k = 0, 1, 2, ... , q ∈ q, q is a finite countable set, whose elements correspond to the modes in the networked control system, fq : x × u → x denotes the continuous dynamics in discrete mode q, v : x × q → q denotes the discrete dynamics, which is a transition process between operation modes. without the loss of the generality, we think the transition between two modes occurs in the sampling time instant. computation on the optimal control of networked control systems with multiple switching modes over high speed local area networks 103 the hybrid system model (1) of the networked control system with multiple modes can also be denoted a hybrid automaton[5]. in addition, if the continuous dynamics can be denoted by the linear time invariant system, the model can transformed into the piecewise affine system[6], where different modes correspond to different ranges of state variable x. 2.2 optimal control formulation based on the model (1), the optimal control formulation in finite time horizon is discussed as follows. firstly, define the cost function of the networked control system j(un , x(0)) = fq(n)(xn ) + ∑n−1k=0 [ fq(k)(xk, uk) + g(xk, q(k), q(k + 1)) ] (2) where n is the time horizon, starting from the state x0 = x (0), xk denotes the continuous state vector at time k and q(k) denotes the discrete state vector corresponding operation mode at time k, the column vector un ,[ut0 , ... , utn−1]t ∈ rm, fq(n)(xn ) > 0 is a cost at end time, fq(k)(xk, uk) > 0 is a cost for continuous evolution in an operation mode and g(xk, q(k), q(k + 1)) ≥ 0 is a cost for switching from one mode to another mode, if there is no switching, i.e. q(k) = q(k + 1), g(xk, q(k), q(k + 1)) = 0. note that, we don’t consider the problem of infinitely many jumps in transition time instants. also, it should be noted that q(0) is not written in the left of cost function (2), because the operation modes correspond to the range of the state variable, if the initial condition x(0) is given, and the discrete mode q(0) is fixed, too. the optimal control problem of the networked control system is j∗(x(0)) ∆ = min {un} j(un , x(0)) (3) s.t.    xk+1 = fq(k)(xk, uk) q(k + 1) = v(xk, q(k)) xn ∈ x f x0 = x(0) (4) where x f is the terminal region, in addition, x j denotes the set of states x j at time j for which (3) is feasible. in general, the optimal control problem (3)-(4) may not have a minimum for some feasible x(0). this is caused by discontinuity of the hybrid system in the input space. we will consider problem (3)-(4) assuming that a minimizer u∗n (x(0)) exists for all feasible x(0). note that in this paper we will distinguish between the current state x(k) of the system (1) at time k and the variable xk in the optimization problem (3)-(4), that is the predicted state of the system (1) at time k obtained by starting from the state x0 = x(0) and applying the input sequence u0, ..., uk−1to system (1) . analogously, u(k) is the input applied to system (1) at time k while uk is the k-th optimization variable of the optimal control problem (3)-(4). in the optimal control problem (3)-(4), the initial state x(0) is a vector of parameters, the goal in this paper is to solve (3)-(4) for all values of x(0) of interest, and to make this dependence explicit. therefore, the optimal control problem of the networked control system with multiple modes is a multiparameter program problem. 3 solution to the optimal control of the networked control systems for the networked control systems with multiple modes, the optimal control problem can be viewed as a parametric programming one. the parametric program is one of the important optimization techniques in mathematical program, where the optimality is affected by the uncertainty of the parameters 104 gang zheng, wenli zeng, fanjiang xu in the cost function or the constrained conditions. because the parameters are either unknown or that will be decided later, parametric programming need to subdivide the space of parameters into characteristic regions, which depict the feasibility and corresponding performance as a function of the uncertain parameters, and hence provide the decision maker with a complete map of various outcomes [6]. in the networked control system, different operation modes correspond to different range of the state variable, the switching sequence between different modes is related with the initial condition of the system, which is not fixed. if the switching sequence is fixed, the optimal control problem is equivalent to a finite time optimal control problem for a hybrid system, which can be solved by multiparametric program, in this case, the optimal solution is a optimal control candidate for the networked control system. if all of the switching sequences in the networked control system are given, the solution to the optimal control problem (5) can be obtained by comparing the values of cost function corresponding to the optimal control candidate in different switching sequences. however, with the increase of the control modes, the computing process gets more complex and the computing efficiency gets much lower because we must enumerate all the possible switching sequences of the networked control system, which is a little same as the famous traveling salesman problem (tsp) in the optimization theory. in order to decrease the computation complexity and improve the computation efficiency, the dynamic program technique is proposed to solve the optimal control problem of the networked control system with multiple control modes. the dynamic programming solution of the optimal control problem is denoted as follows: j∗n (xn) ∆ = min {un} {[ fq(n)(x(n), u(n)) + g(x(n), q(n), q(n + 1)) ] + j∗n+1(x(n + 1)) } (5) s.t. x(n + 1) ∈ xn+1, n = n −1, ..., 0 (6) with terminal conditions: xn = x f (7) j∗n (x(n)) = fq(n)(xn ) (8) where x j is the set of all initial states for which dynamic program problem (5)-(8) is feasible,x j = {x ∈ rn|∃u, fq( j)(x, u) ∈ x j+1}. the first step of dynamic program is as follows: j∗n−1(x(n −1)) , min{un−1} {[fq(n−1)(x(n −1), u(n −1)) + g(x(n −1), q(n −1), q(n))] + j∗n (x(n))} (9) s.t.    fq(n−1)(x(n −1), un−1) ∈ x f j∗n (x(n)) = fq(n)(xn ) = fq(n)( fq(n−1)(x(n −1), un−1)) (10) it is clear that the optimal control problem (9)-(10) is a multiprarametric program problem, where x(n −1) is a parametric vector. in terms of terminal region x f and the system equation (1), the feasible region xn−1 at time n − 1 is obtained. [7] discuss the discretized computation on the optimal control of hybrid systems, where the initial state and the terminal state are determined and the key point is to search the maximum lower bound of the value function. the parameter vector increases the complexity of computing the optimal control feedback law. based on the algorithm in [7], the value function vq(x) is introduced, when x = x0, q = q0, vq0 (x0) is a lower bound on the cost for optimally bring to the system from determined initial state (x0, q0) to the terminal state (xt f , qt f ). it should be noted that without the loss of the generality, we discuss the case where continuous state space is two-dimensional system. computation on the optimal control of networked control systems with multiple switching modes over high speed local area networks 105 let e1 = [1 0]t , e2 = [0 1]t , ∀x ∈ xn−1, let x jk n−1 = xn−1 + jhe1 + khe2, x jk n−1 ∈ xn−1, and j, k ∈z, y jk n−1 , {x : x = x jk n−1 + θ1he1 + θ2he2,−1 ≤ θ1 ≤ 1,−1 ≤ θ2 ≤ 1}, ( f jk q(n−1) ) i = min x∈y jkn−1,u∈u { fq(n−1)(x, u)ei } , f jk q(n−1) = min x∈y jkn−1,u∈u { fq(n−1)(x, u) } , i = 1, 2 v jk q(n−1) = vq(n−1)(x jk n−1), ∆iv jk q(n−1) = (vq(n−1)(x jk n−1 + hei)−vq(n−1)(x jk n−1))/h, ∆−iv jk q(n−1) = (vq(n−1)(x jk n−1)−vq(n−1)(x jk n−1 −hei))/h, i = 1, 2. introduce new vector variables, λ jk q(n−1) ∈r2 for ( j, k) at time n −1, construct the following inequalities:    0 ≤ ( λ jk q(n−1) ) 1 + ( λ jk q(n−1) ) 2 + f jk q(n−1) ( λ jk q(n−1) ) |i| ≤ ( f jk q(n−1) ) |i| ∆iv jk q(n−1), i = −2,−1, 1, 2 ( λ jk q(n−1) ) |i| ≤ ( f jk q(n−1) ) |i| ∆iv jk q(n−1) 0 ≤ v jk q(n) −v jk q(n−1) + g(x jk n−1, q(n −1), q(n)), x jk n−1 ∈ sq(n−1),q(n) 0 ≥ v xn q(n), xn ∈ x f (11) if there exists v jk q(n−1) such that inequalities (11) hold, which are bellman type inequalities. it can be proved that that v jk q(n−1) is the lower bound of the cost to go function jn−1(xn−1) , and the proof is given in [7]. however, any function that meets the constraints is a lower bound on the cost to go function, thus to yield the useful bounds, it is necessary to find an maximum of all grid points in the feasible region xn−1, j∗(x(n −1)) ∆= max x jk n−1∈xn−1, j,k∈z { v jk q(n−1)(x jk n−1) } (12) assuming that v j0k0 q(n−1) = max x jk n−1∈xn−1, j,k∈z { v jk q(n−1)(x jk n−1) } (13) 106 gang zheng, wenli zeng, fanjiang xu when j = j0, k = k0, for x = x j0k0 + θ1he1 + θ2he2 ∈ y j0k0 n−1, define the interpolating function: vq(n−1)(x) = (1−θ1)(1−θ2)v j0k0q(n−1) + θ1(1−θ2)v ( j0+1)k0 q(n−1) +(1−θ1)θ2v j0(k0+1)q(n−1) + θ1θ2v ( j0+1)(k0+1) q(n−1) (14) from (14), the optimal feedback control law can be calculated as un−1 = arg min u∈u { ∂vq(n−1) ∂ x fq(n−1)(x, u) + fq(n−1)(x, u) } (15) so far, the optimal control law at the first step is finished. from the second step n = n − 2 to the last one n = 0, the cost to go function is defined on the feasible region xn+1, we will solve the problem (5), which is still a multiparametric program problem, the computing process is analogous as the first step, which is presented as follows: (i) divide the feasible region xn into evenly distributed grid points, and introduce x jk n , y jk n , ( f jk q(n) ) i , ( f jk q(n) ) i , f jk q(n), v jk q(n), ∆iv jk q(n), ∆−iv jk q(n), i = 1, 2; (ii) solve the linear program problem: j∗(x(n)) , max x jk n ∈xn, j,k∈z { v jk q(n)(x jk n ) } s.t.    0 ≤ ( λ jk q(n) ) 1 + ( λ jk q(n) ) 2 + f jk q(n) ( λ jk q(n) ) |i| ≤ ( f jk q(n) ) |i| ∆iv jk q(n), i = −2,−1, 1, 2 ( λ jk q(n) ) |i| ≤ ( f jk q(n) ) |i| ∆iv jk q(n), i = −2,−1, 1, 2 0 ≤ v jk q(n+1) −v jk q(n) + g(x jk n , q(n), q(n + 1)), x jk n ∈ sq(n),q(n+1) (16) (iii) after solving the maximum value of v jk q(n), define the interpolating function vq(n)(x), then calculating the optimal feedback input un = arg min u∈u { ∂vq(n) ∂ x fq(n)(x, u) + fq(n)(x, u) } (17) it should be noted that the dynamic program methodology to compute the optimal control feed back input in this paper is different from [6]. in [6], the cost function is quadratic and the optimal controller design is for the piecewise affine (pwa) system, if the hybrid system can not be modeled as a pwa system, and the methodology in computing the optimal controller needs to be further discussed. also, in [7], the initial state and the terminal state are determined, thus there are no parameters in the optimal control problems. in this paper, the initial state is a vector parametric vector, the solution to optimal control must make an dynamic enumeration to search the maximum lower bound in every sample period, the problem is different from [7]. 4 simulation example we use the local area network in the laboratory to construct a networked control system, where the network contains ethernet and the communication between nodes is done using tcp/ip sockets. the experiment setup is shown in figure 2. computation on the optimal control of networked control systems with multiple switching modes over high speed local area networks 107 figure 2: the networked control system experiment setup in our experiment setup, one computer (computer 1) works as a plant, and the other computer (computer 2) works as a controller, these two computers and the other computers are connected over the local area net in the lab. computer 1 simulate the dynamics of the plant, which can obtain the control signal from the net, make the output calculation, and send the computation results to the controller computer. computer 2 obtains the plant output, and calculates the control signal, then send the control signals to the plant computer. note that the networked control systems with multiple switching modes can be carried out in the experiment setup. based on the hybrid system model of the networked control system, the different dynamics of the plant can be simulated in the plant computer, and the controller computer calculates the control results and sends them to the plant computer and control the dynamics of the plant in different modes. because tcp/ip is used in the ethernet in the lab, the end to end data transmission is reliable, and the packets loss between the plant computer and the controller computer can not be considered. but the network-induced delay needs to be considered when the plant computer and the controller computer exchange data across the network. we test the delays between two computers in the network, it can be found that the time delay generally maintains a fixed value, in our experiment setup, the fixed value is much less than the sampling period. therefore, it is reasonable that the networked-induced delay can not be considered in this paper, and the model and the solution to the optimal control can be validated in this simulation. the networked control system simulated in the experiment setup is given as follows. x(k + 1) = aqi x(k) + bu(k), i = 1, 2 (18) where aq1 = [ √ 2 2 − √ 2 2√ 2 2 √ 2 2 ] , aq2 = [ √ 2 2 √ 2 2 − √ 2 2 √ 2 2 ] , b = [ 0 1 ] , sq1,q2 = {x : [ 1 0 ] x(k) < 0}, sq1,q2 = {x : [ 1 0 ] x(k) ≥ 0}, x(k) ∈ [−10, 10]×[−10, 10], u(k) ∈ [−1, 1], (19) 108 gang zheng, wenli zeng, fanjiang xu define the cost function j(un , x(0)) ∆ = xtn pxn + ∑n−1k=0 xtk qxk + utk ruk (20) where p = q = [ 700 0 0 700 ] , r = 1, terminal region x f = [−0.01, 0.01]×[−0.01, 0.01], n = 3. figure 3: the optimal trajectory of the state variable x figure 4: the optimal control input when x = [−1 1]t the optimal control problem is minimizing the cost function and solving the optimal control feedback input. in terms of the steps presented in section 3 and some toolbox related with multiparametric programming [8] and optimal control [9], the solving program is designed, and then the optimal control can be obtained. when x0 = [−1 1]t , the optimal trajectory of the state variable x is shown in fig. 3, and the control input is shown in fig. 4. 5 conclusion in networked control systems with multiple switching modes, it is necessary to calculate the optimal control feedback input, which can improve the system performance and save the cost. this paper models computation on the optimal control of networked control systems with multiple switching modes over high speed local area networks 109 the class of networked control systems as a hybrid system and addresses a optimal control problem, where initial state is a parametric vector. consider switching modes and unknown initial states, the dynamic program techniques are proposed to solve the optimal control problem, where every step calculation need enumerate the grid points in feasible region to find a maximum lower bound of the cost function and solve the optimal feedback input. finally, an example is given to illustrate the techniques. it should be noted that, the switching modes in networked control systems make the calculation of the optimal control input more complex, dynamic program can reduce the calculation complexity than the heuristic enumeration. in the future research, it is an important task to improve the computation efficiency and reduce the complexity. in addition, time delays are common in networked control systems, it is an interesting area to work into the optimal control problem with delay. references [1] w. zhang, m. s. branicky , s. m. phillips . stability of networked control systems. ieee control systems magazine, vol. 21, pp. 84-99, 2001. [2] h. fujika, k. ito. performance optimization for a class of networked control systems with communication constraints. proceedings of the american control conference, pp. 248-253, 2003. [3] l. lu, l. xie, m. fu. optimal control of networked systems with limited communication: a combined heuristic and convex optimization approach. proc. of 42th ieee int. conf. on cdc, pp. 11941199 2003. [4] a. van der schaft, h. schumacher,an introduction to hybrid dynamical systems,berlin: springerverlag, 2000. [5] r. alur,c. courcoubetis, t. a. henzinger. hybrid automata: an algorithmic approach to the specification and verification of hybrid systems. in: grossman r l, nerode a, ravn a p, et al, eds. hybrid systems, lecture notes in computer science,berlin: springer-verlag, vol. 736, pp. 209-229, 1993. [6] f. borrelli, constrained optimal control of linear and hybrid systems, berlin: springer-verlag, 2003. [7] s. hedlund, a. rantzer. optimal control of hybrid systems. proc. 38th ieee int. conf. on cdc,pp. 3972-3977, 1999. [8] m. kvasnica, p. grieder, m. baotic, et al, multi-parametric toolbox. eth, swiss federal institute of technology, 2004. [9] s. hedlund, a. rantzer, cdp tool: a matlab tool for optimal control of hybrid systems. department of automatic control, lund institute of technology, 1999. authors: gang zheng, wenli zeng, fanjiang xu laboratory of integrated information systems technology institute of software, chinese academy of sciences no.4 south fourth street, zhongguancun, beijing, china,100080 e-mail: gangzhengcn@yahoo.com.cn received: november 6, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 314-324 image segmentation using euler graphs t.n. janakiraman, p.v.s.s.r. chandra mouli t.n. janakiraman department of mathematics national institute of technology, trichy, india. e-mail: janaki@nitt.edu p.v.s.s.r. chandra mouli school of computing science and engineering v.i.t. university, vellore, india. e-mail: mouli.chand@gmail.com abstract: this paper presents a new algorithm for image segmentation problem using the concepts of euler graphs in graph theory. by treating image as an undirected weighted non-planar finite graph (g), image segmentation is handled as graph partitioning problem. the proposed method locates region boundaries or clusters and runs in polynomial time. subjective comparison and objective evaluation shows the efficacy of the proposed approach in different image domains. keywords: image segmentation, graph theory, euler graphs, cycles. 1 introduction image segmentation can be treated as a graph partitioning problem which is solved by making use of cuts in a weighted graph based on certain criterion. the proposed method deals the image segmentation problem in a diverse manner. an excellent review for image segmentation is available in [8], [9], [15]. earlier approaches to image segmentation are categorized into three groups: (1) cluster the low level feature, such as histogram thresholding by [14], k–means / k–centroid by [12], [27] and mixture of gaussians (mog) by [2], (2) edge linking such as dynamic programming by [26], relaxation approach by [16] and saliency network by [25] and (3) region operations, such as region splitting and merging by [24], [23], region growing methods by [3] and by [13], by [17], by [11] and region competition by [20]. applications of segmentation are abundant. it is heavily used in medical imaging. for example, segmentation of internal brain nuclei in mri images as discussed in [38]. this work is aimed to bring robust image segmentation using graph theoretic concepts like euler graphs and cycles. the proposed method finds the cycles of a given graph so that the image regions are formed by connecting all relevant pixels together. the relevancy of pixels is determined based on two parameters namely, edge weight similarity and node label similarity, which are described in the subsequent sections. the algorithm may end up at a particular stage when there is no possibility of refinement due to constraints imposed on cycle formation. such paths are tried for further refinement. if the refinement is not possible then those paths are treated as open paths and may be treated as cuts. all the procedures of the proposed method run in polynomial time. the rest of the paper is organized as follows. in section 2, a brief review on graph based segmentation is discussed. the basic definitions related to euler graphs and some of its properties are presented in section 3. in section 4, the proposed algorithm and the experimental results are presented. section 5 concludes the work. 2 graph approaches recently graph based image segmentation has attracted growing interest. graph theory and its concepts has been dominating in image processing research. the concepts of graph theory like maximum copyright c© 2006-2010 by ccc publications image segmentation using euler graphs 315 flow, maximum clique, shortest path, minimum spanning tree etc have been used for image processing problems. [21] discussed the various types of graph algorithms in computer vision. a special issue on graph based image processing is published in [32]. early graph-based methods include by [4], [18] and more recent formulations in terms of graph cuts by [22], [31] and spectral methods by [30]. the notion of a connectivity graph was introduced by [19] to allow for image processing on a foveal sensor. this notion is introduced specifically to model the sampling of the macaque retina in [5]. the work of zahn (1971) presents a segmentation method based on the minimum spanning tree (mst) of the graph. the segmentation criterion in zahn’s method is to break mst edges with large weights. the algorithm proposed by urquhart (1982) normalizes the weight of an edge using the smallest weight incident on the vertices touching that edge. work by wu and leahy (1993) introduced such a cut criterion, but it was biased toward finding small components. this bias was addressed with the normalized cut criterion developed by shi and malik (2000), which takes into account self-similarity of regions. these cutbased approaches to segmentation capture non-local properties of the image, in contrast with the early graph-based methods. weiss (1999) has shown how the eigenvector-based approximations developed by shi and malik relate to more standard spectral partitioning methods on graphs. however, all such methods are too slow for many practical applications. an alternative to the graph cut approach is to look for cycles in a graph embedded in the image plane. [10] described the quality of each cycle is normalized in a way that is closely related to the normalized cuts approach. [7] described an efficient graph-based segmentation in which they defined a predicate for measuring the evidence for a boundary between two regions. using that predicate, an algorithm is developed which makes greed decisions to produce segmentations that satisfy global properties. the literature in the most recent times reveal many improvements over these existing methods but for comparison and evaluation, the methods by shi and malik, pedro f. felzenzwalb etc are treated as benchmark works. a method to build a hierarchy of partitions of an image is introduced by [29] in which they build a hierarchy of partitions of an image by comparing in a pairwise manner the difference along the boundary of two components relative to the differences of components’ internal differences. they stated the drawback of this method as the maximum and minimum criterion introduced are very sensitive to noise, although in practice it has a small impact. a mst pyramid based segmentation is carried out by [28] using dual graph contraction. for evaluating the segmentation results of the proposed methods with other existing methods, precision, recall and f-measure have been implemented since berkeley images [34] for segmentation have been evaluated using these three measures. the methods considered for comparison are [35], [36] and [37]. 3 background leonhard euler discussed [6] graphs for the first time while solving the famous seven bridges of k .. onigsberg problem. the following are some of the terms and their definitions used in this work. these definitions are taken as they are defined in [1]. 3.1 basic definitions let g(v,e) be the given graph with v and e representing the vertex set and edge set respectively. definition 1. a trail that traverses every edge of g is called an euler trail. it is named as euler trail because euler was the first to investigate the existence of such trails in graphs. definition 2. an euler tour is a tour which covers all the edges of g. definition 3. a graph is an euler graph or eulerian if it contains an euler tour. euler proved the following theorem and corollary through which a graph has euler tour can be determined. the following characterizations are taken as they are defined and proved in bondy and murty (1982). 316 t.n. janakiraman, p.v.s.s.r. chandra mouli theorem 4. a non-empty connected graph is eulerian if and only if it has no vertices of odd degree. corollary: a connected graph has an euler trail if and only if it has at most two vertices of odd degree. 3.2 extraction / development of euler graphs from non-euler graphs if a graph does not have an euler circuit, it still might be interested in knowing how it could be traveled with as few retraced edges as possible (starting and ending at the same vertex). eulerian can be obtained in two ways. (i) by adding one spurious multiple edge which joins two adjacent odd degree vertices and (ii) by deleting the edges joining two adjacent odd degree vertices. 4 proposed method the euler graph and its properties are exposed in this work for solving image segmentation problem. the basic idea is that euler graph is decomposed into edge disjoint cycles. the steps of the proposed method are given below: ¨ ¥ step-1: representation of image as a grid graph step-2: conversion of grid graph into eulerian step-3: segmentation procedure step-4: refinement of segments ­§ these stages are discussed in detail in the following sub-sections. 4.1 representation of image as a grid graph the image to be segmented is represented as a graph g(v, e). to do so, each pixel is treated as a vertex of the graph. edges are defined based on 8–connectivity of the neighborhood vertices. an edge (vi, v j) ∈ e corresponds to a pair of neighboring vertices. the graph g, thus obtained is an undirected weighted non-planar graph. clearly, an image of size n × n contains n vertices, (n − )n vertical edges, n(n − ) horizontal edges and (n − ) diagonal edges. thus, in total there are (n − )n + n(n − ) + (n − )= n − n +  edges. let m = n − n + . the graph thus formed is visualized as a grid and hence called as grid graph. a sample grid graph of size  ×  is shown in figure 1. the weights are assigned to the edges by using the absolute intensity difference between the adjacent pixels. figure 1: grid graph of an image image segmentation using euler graphs 317 4.2 conversion of grid graph into eulerian the grid graph thus obtained is a connected non-eulerian because some of the vertices have odd degree. the procedure for the conversion to eulerian guarantees the formation of cycles covering all edges since all the vertices are of even degree. border vertices are the vertices on the first row, last row, first column and last column. for this reason, the grid graph can be converted to eulerian so that all vertices have even degree. this can be achieved in two ways. in the first case i.e., by adding one extra multiple edge for each of disjoint pair of adjacent odd degree vertices. the same weight is allocated to both duplicated and original edge to avoid ambiguity. the process is repeated until no such pair exists. in figure 2, (a) and (d) show two grid graphs of size  × and  ×  respectively. figure 2(b) and (c) represent the two possible euler graphs of (a), (e) and (f) represent the euler graphs of (d). figure 2: grid graph and its corresponding euler graphs in the second case, instead of adding duplicate edges to the pair of adjacent vertices of odd degree, alternate edges are removed at the boundary to maintain even degree. it is found that there is no loss of information from images by removing such edges because all the edges removed are due to border vertices. in practice, there is not much information available at the border vertices and experimentally it is found that there is no variation in the segments formed in either way. 4.3 segmentation procedure once the given image is represented as eulerian, the segmentation procedure is carried out over the eulerian. the algorithms for image segmentation and segments_formed are given below. ¨ ¥ 1. color all the edges as white. 2. call segments_formed procedure. 3. call regions_refinement procedure. ­§ ¨ ¥ 1. select arbitrarily a white colored edge. 2. the selected edge is included in the temporary_growing_vector if it satisfies the threshold. 3. if the temporary_growing_vector forms a cycle then the closed path is stored in cycles_formed vector. 3a. the cycle formed is treated as a region. in the region formed, the edges in the closed path represent the boundary edges of the region. the edges present inside the region are internal edges of that region. the corresponding vertices are called boundary vertices and internal vertices respectively. 3b. the boundary edges of the region are colored black and internal edges are colored gray. 318 t.n. janakiraman, p.v.s.s.r. chandra mouli 4. if the temporary_growing_vector has no cycle then choose the next minimum weighted white colored adjacent edge satisfying the threshold and goto step-2. 4a. if there is no edge available or which satisfies the threshold then backtrack its parent and search for next white colored adjacent edge satisfying the threshold. 4b. if no parent exits then the temporary_growing_vector is stored in open_paths vector. color all the edges in open_paths as black. 4c. else 4d. remove the last included edge in the temporary_growing_vector. 4e. choose the next white colored adjacent edge and goto step-2. 5. if all the vertices are not covered or all edges are not colored gray or black then goto step-1. 6. if all the vertices are covered in the region either as boundary or as internal vertices then it induces the initial segmentation for the given threshold. 7. if all the edges are colored either gray or black representing the internal or boundary edges then the segmentation is subjected for refinement. ­§ the algorithm uses a color structure which labels the edges as given below: • initially all edges are in white color • a visited edges is in gray color • an edge in black color indicates that it is a part of the boundary of a region. the black colored edges are marked permanently so that they are not considered for refinement. only white and gray colored edges are subjected for refinement. the criteria that is imposed on every edge to form a segment is defined in equation (1). the equation (1) refers to the difference of the maximum and minimum vertex labels in the cycle formed. in this case, it is used as the difference of the maximum and minimum vertex labels in the temporary_growing_vector. t = maxv − minv  (1) the algorithm starts by randomly choosing a white colored edge. at the first execution, the edge chosen is included directly in the temporary_growing_vector. since a cycle cannot be formed with one edge, line 4 is executed where the algorithm tries to choose a white colored edge adjacent to the previously chosen edge. the edge is selected based on the threshold criteria. if no minimum weighted, white colored adjacent edge is available then, the algorithm backtracks to its parent and searches for another minimum weighted white colored adjacent edge. if it finds, then the last included edge in the temporary_growing_vector is removed since the algorithm could not traverse from that edge and adds the newly selected edge into temporary_growing_vector. line 3 of the algorithm checks for any cycle in temporary_growing_vector. to check this, bfs algorithm is used. each cycle is treated as one region. if cycle is formed, then the closed path is stored in cycles_formed vector. the edges of the closed path are colored black indicating that they are boundary vertices. these edges are not chosen for forming any other cycles. the edges present inside the region are colored gray. these edges may be used for forming cycles once the white colored edges are exhausted. this will help in avoiding self overlapping region formation that means that the traversal starts from an image segmentation using euler graphs 319 internal edge and traverses to outside the region is termed as self overlapping. self overlapping is avoided at the initial stage in order to get maximum number of non–overlapping regions but it is carried out in region refinement stage, if necessary. during the execution of the algorithm, if it chooses a white colored edge outside any region and on its traversal, overlaps the existing region, then it is allowed because the internal edges of one region act like boundary edges of another region. another possibility during the traversal is that the temporary_growing_vector may not grow further because no further edge satisfies the criteria at any level (neither at the current edge nor at any of its parent edges), then the temporary_growing_vector stops traversing. by nature, eulerian guarantees cycle formation but due to the threshold criteria, it may not form cycles all the cases. in such case, the temporary_growing_vector contains an open path and such paths are stored separately in open_paths vector. in this way, the algorithm tries to traverse until it covers all vertices. this completes the first stage where, it induces an initial segmentation of image. refinement of regions formed at this stage, all the edges are labeled to either gray or black. refinement of black colored edges is not possible because they represent the boundaries of the regions already formed. the gray colored edges are subjected for refinement. the same procedure is used to form regions by choosing any randomly selected gray colored edge and for further traversals. in this way, the algorithm tries to refine the segmentation for regions formation. too much of refinement leads to over segmentation and no refinement leads to under segmentation. a moderate level of refinement is necessary. this is controlled by threshold selection. 5 experimental results the proposed method is tested on standard berkeley image database. two trivial synthetic images have been created and tested the algorithm on them. the results of the two synthetic images and the corresponding results are shown in figure 3. the results presented in figure 3 are the induced segmentations obtained before refinement process. figure 3: segmentation results-i of synthetic images in figure 3, (a) and (c) are the two synthetic images created and the corresponding segmentations are shown in (b) and (d). these two synthetic images are created in such a way to study the behavior of the algorithm in open_paths case. as mentioned in the algorithm, the temporary_growing_vector stops traversing when there is no suitable edge satisfying the criteria. in such case the path is not closed and hence it is stored in open_paths vector. in figure 3b, the segmentation result shows two open_paths 320 t.n. janakiraman, p.v.s.s.r. chandra mouli (cross lines). the two different ends of the two open_paths are adjacent to one region formed. thus, segmentation output gives a visualization that there are two closed regions labeled 1 and 2; and three open regions labeled 3, 4 and 5. in figure 3d, the segmentation output shows two open_paths for which no end is adjacent to any other region. the four open regions formed by the two open_paths are labeled 1,2,3 and 4 in figure 3d. after applying the refinement procedure, the segments obtained are shown figure 4: segmentation results-ii of synthetic images in figure 4. in figure 4b, the segmentation output shows five regions labeled. similarly in figure 4d, there are 4 closed regions. the refinement process, in these cases, tried to get closed regions and in that process lead to over segmentation. this may be true in real images also. hence, the refinement procedure is executed depending on the user’s choice. the results of some real images taken from berkeley image database are shown in figure 5. in figure 5, the first and third columns represent the original image and second and fourth columns represent the segmentation result obtained. figure 5: segmentation results of some sample images in berkeley image database the proposed algorithm is executed on the 100 images in the database. the results of 50 images have been tabulated in table 1. from the table, the following observations have been made. it is observed that those images having uniform background or average intensity range obtained best results; images having overlapping of objects or having complex structures, the statistical results are almost equivalent to the other existing methods chosen for comparison and for those images having high overlapping of objects or very dark images which cannot be visualized perfectly with the human eye, the proposed method could not segment the images and the statistical results revals that the f-measure for such images for the existing methods is better compared to the proposed method. the graphical representation of the results is shown in figure 6 respectively. image segmentation using euler graphs 321 figure 6: comparison of segmentation evaluation results table 1: comparison of segmentation evaluation results with other existing methods image name bel gpb xren eg image name bel gpb xren eg 119082 0.7 0.74 0.8 0.75 89072 0.68 0.71 0.71 0.69 42049 0.92 0.91 0.85 0.92 126007 0.72 0.78 0.76 0.75 167062 0.67 0.76 0.75 0.75 296007 0.66 0.69 0.69 0.65 24077 0.74 0.76 0.76 0.76 175032 0.49 0.62 0.63 0.6 38092 0.78 0.78 0.73 0.74 103070 0.68 0.68 0.62 0.65 101085 0.74 0.83 0.78 0.76 285079 0.71 0.72 0.71 0.69 41033 0.62 0.68 0.68 0.66 167083 0.61 0.75 0.75 0.7 291600 0.57 0.61 0.59 0.6 271035 0.73 0.73 0.71 0.71 130026 0.52 0.51 0.47 0.52 12084 0.48 0.52 0.49 0.5 241004 0.85 0.81 0.81 0.85 69015 0.79 0.82 0.79 0.75 147091 0.71 0.77 0.75 0.75 58060 0.5 0.55 0.58 0.49 189080 0.78 0.8 0.77 0.79 163085 0.49 0.5 0.6 0.49 14037 0.65 0.7 0.65 0.71 220075 0.62 0.64 0.62 0.59 62096 0.79 0.79 0.78 0.78 45096 0.76 0.79 0.78 0.73 227092 0.75 0.88 0.85 0.88 16077 0.57 0.61 0.54 0.58 253027 0.63 0.65 0.69 0.68 219090 0.71 0.74 0.74 0.72 229036 0.67 0.76 0.72 0.75 300091 0.57 0.79 0.76 0.65 3096 0.9 0.89 0.88 0.85 156065 0.66 0.67 0.64 0.63 170057 0.66 0.68 0.7 0.66 76053 0.61 0.61 0.62 0.59 157055 0.73 0.76 0.79 0.74 304034 0.47 0.49 0.47 0.41 295087 0.71 0.78 0.78 0.75 86016 0.39 0.52 0.42 0.48 78004 0.79 0.8 0.8 0.77 8023 0.41 0.5 0.42 0.4 43074 0.66 0.67 0.78 0.65 108082 0.43 0.46 0.47 0.43 86000 0.62 0.7 0.7 0.67 69040 0.5 0.55 0.57 0.52 322 t.n. janakiraman, p.v.s.s.r. chandra mouli 6 conclusion in this paper, a novel algorithm for segmenting an image into different regions using euler graphs has been proposed. the algorithm starts by randomly choosing an edge and tries to form closed regions. in cases, open paths are formed. the color look up table is used for edges to trace their transition. a white color indicates unvisited edge, a gray color indicates visited and may go for refinement and black color indicates visited and marked permanently for no refinement since it is already a part of a region boundary. the procedures discussed run in polynomial time. the mst and cycles method performs better compared to euler graph method in terms of precision, recall and f measures. bibliography [1] j.a. bondy and u.s.r. murty. graph theory with applications, fifth printing. elsevier science publishing co., inc., 52, vanderbilt avenue, new york, 1982. [2] h.greenspan c.carson, s.belongie and j.malik. blobworld: image segmentation using expectationmaximization and its application to image querying. ieee transactions on pattern analysis and machine intelligence, 24(8):1026–1038, 2002. [3] c.r.brice and c.fennema. scene analysis using regions. artificial intelligence, 1(3–4):205–226, 1970. [4] c.t.zahn. graph theoretical methods for detecting and describing gestalt clusters. ieee transactions on computation, 20:68–86, 1971. [5] e.l.schwartz. spatial mapping in the primate sensory projection: analytic structure and relevance to perception. biological cybernetics, 25(4):181–194, 1977. [6] euler. solutio problematis ad geometriam situs pertinentis comment. academiae sci. i. petropolitanae, 8:128–140, 1736. [7] pedro f. felzenszwalb and daniel p. huttenlocher. efficient graph-based image segmentation. international journal of computer vision, 59(2):167–181, 2004. [8] k.s. fu and j.k. mui. a survey of image segmentation. pattern recognition, 13:3–16, 1981. [9] r.m. haralick and l.g. shapiro. survey, image segmentation techniques. computer vision, graphics and image processing, 29:100–132, 1985. [10] i.jermyn and h.ishikawa. globally optimal regions and boundaries as minimum ratio weight cycles. ieee transactions on pattern analysis and machine intelligence, 23(4):1075–1088, 2001. [11] l.vincent and p.soille. watersheds in digital spaces: an efficient algorithm based on immersion simulations. ieee transactions on pattern analysis and machine intelligence, 13(6):583–598, 1991. [12] r.velthuizen l.hall d.goldgof l.clarke m.clark and m.silbiger. mri segmentation using fuzzy clustering techniques. ieee engineering in medicine and biology magazine, 13(5):730–742, 1994. [13] o.monga. an optimal region growing algorithm for image segmentation. prai, 1(4):351–375, 1987. [14] n. otsu. a threshold selection method from grey level histograms. ieee transactions on system, man and cybernetics, 9:62–66, 1979. image segmentation using euler graphs 323 [15] n.r. pal and s.k. pal. a review on image segmentation techniques. pattern recognition, 26:1277– 1294, 1993. [16] p.parent and s.w.zucker. trace inference, curvature consistency, and curve detection. ieee transactions on pattern analysis and machine intelligence, 11(8):823–839, 1989. [17] r.adams and l.bischof. seeded region growing. ieee transactions on pattern analysis and machine intelligence, 16(6):641–647, 1994. [18] r.urquhart. graph theoretical clustering based on limited neighborhood sets. pattern recognition, 15(3):173–187, 1982. [19] p.w.ong. r.wallace and e.schwartz. space variant image processing. international journal of computer vision, 13(1):71–90, 1994. [20] s.c.zhu and a.l.yuille. region competition: unifying snakes, region growing, and bayes/mdl for multiband image segmentation. ieee transactions on pattern analysis and machine intelligence, 18(9):884–900, 1996. [21] m.pelillo s.dickinson and ramin zabih. introduction to the special section on graph algorithms in computer vision. ieee transactions on pattern analysis and machine intelligence, 23(10):1049– 1052, 2001. [22] j. shi. and j. malik. normalized cuts and image segmentation. ieee transactions on pattern analysis and machine intelligence, 22(8):888–905, 2000. [23] s.l.horowitz and t.pavlidis. a graph-theoretic approach to picture processing. jacm, 7(2):282– 291, 1976. [24] s.l.horowitz and t.pavlidis. picture segmentation by a tree traversal algorithm. jacm, 23(2):368– 388, 1976. [25] s.ullman and a.shaashua. structural saliency: the detection of globally salients structures using a locally connected network. technical report, cambridge, ma, usa, 1988. [26] u.montanari. on the optimal detection of curves in noisy pictures. communications. acm, 14(5):335–345, 1971. [27] a.r. weeks and g.e. hague. color segmentation in the hsi color space using the k-means algorithm. in spie, p. 143-154, nonlinear image processing viii, edward r. dougherty; jaakko t. astola; eds, volume 3026, pages 143–154, 1997. [28] y.haxhimusa and w.kropatsch. hierarchy of partitions with dual graph contraction. lecture notes in computer science, 2781:338–345, 2003. [29] y.haxhimusa and w.kropatsch. segmentation graph hierarchies. in proceedings of structural, syntactic, and statistical pattern recognition, volume 3138, pages 343–351. lncs, 2004. [30] y.weiss. segmentation using eigenvectors: a unifying view. in proceedings of the international conference on computer vision, volume 2, pages 975–982, 1989. [31] z.wu and r.leahy. an optimal graph theoretic approach to data clustering: theory and its application to image segmentation. ieee transactions on pattern analysis and machine intelligence, 15(11):1101–1113, 1993. 324 t.n. janakiraman, p.v.s.s.r. chandra mouli [32] dickinson, s., pelillo, m. and zabih, r. introduction to the special section on graph algorithms in computer vision ieee transactions on pattern analysis and machine intelligence, 23(10):1049– 1052, 2001. [33] d. martin and c. fowlkes and d. tal and j. malik a database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics proc. 8th int’l conf. computer vision, volume 2, pages 416–423, 2001. [34] http://www.eecs.berkeley.edu/research/projects/cs/vision/bsds/ [35] piotr dollar, zhuowen tu, and serge belongie supervised learning of edges and object boundaries proc. ieee computer vision and pattern recognition, cvpr, june, 2006. [36] michael maire, pablo arbelaez, charless fowlkes and jitendra malik using contours to detect and localize junctions in natural images proc. ieee computer vision and pattern recognition, cvpr, 2008. [37] xiaofeng ren multi-scale improves boundary detection in natural images proc. eccv conference, 2008. [38] marius george linguraru, miguel á ngel gonz á lez ballester, nicholas ayache deformable atlases for the segmentation of internal brain nuclei in magnetic resonance imaging international journal of computers, communications & control, volume 2, no. 1, pages 26–36, 2007. t. n. janakiraman (born on february 14, 1953) received his ph.d. in graph theory and its applications from madras university, india in 1991. he did his p.d.f. from the same university in graph theory and its applications in 1994. he is currently associated with department of mathematics, national institute of technology, trichy, india. he has two sponsored research projects to his credit and published around 40 papers in refereed international journals. his main research interests are in graph theory and its applications in digital image processing, wireless ad hoc networks and digital video processing. p.v.s.s.r. chandra mouli (born on may 21, 1976) received his ph.d. from national institue of trichy in 2010. he is currently working as associate professor in school of computing science and engineering, vit university, vellore. his research interests include image segmentation, pattern classification and wireless ad–hoc networks. he has published 10 refereed research papers in various international journals and conferences. he was co–investigator to research project sponsored by defence research development organization (drdo), new delhi and also worked as a research fellow in another research project sponsored by drdo, new delhi, india. he is a life member of iste, and also member of csi. he is reviewer for many international journals. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 852-861 agent technology in monitoring systems b. pătruţ, c. tomozei bogdan pătruţ, cosmin tomozei “vasile alecsandri” university of bacău, romania, 600115, calea mărăşeşti, 157 e-mail: bogdan@edusoft.ro, cosmin.tomozei@ub.ro abstract: the aim of this paper is to make a brief presentation of the results obtained by the authors regarding agent technology application in distributed monitoring systems development. consequently, we would like to present magelan and conttest as monitoring systems based on intelligent agents technology. formal aspects regarding intelligent agents will be mentioned. quantitative issues concerning efficiency, maintenance and reengineering are also to be taken into account. keywords: intelligent agents, distributed systems; monitoring systems; hyper-encyclopedia, reengineering. 1 intelligent agents in distributed computing software applications are nowadays in position and necessity to solve some problematical situations by their own, in order to save time and reduce cost. intelligent agent integration in distributed computing proved to be an important way of achieving this objective in the last years. furthermore, the union distributed computing with intelligent agents theoretical perspective offers a good practical basis to distributed artificial intelligence [2]. intelligent agents have to be reliable, robust in order to offer accuracy in the results, in dissimilar, open or unpredictable environments [7], [8]. software agents are situated in particular environments and capable of autonomous actions, in order to fulfill their objectives. the concept of autonomy and the fact that intelligent agents are enriched with it presume that human action is minimized. in [8] it is affirmed that the agent is an entity which can perceive the environment by sensors and acts in order to realize its objectives by effectors. on the other hand, distribution of hardware, software and data offers the possibility for the agents to be replicated on diverse nodes on the computer network. 2 developing students’ metacognitive competences metacognitive skills development is an important formative intellectual object in education of the students, as reaching this level involves a route through effective education, appropriate to each one in particular [7]. metacognitive skills suppose that students are aware of their own cognitive activity, i.e. learning activity, and self-adjustment mechanisms consisting in cognitive controls (rules, procedures, strategies). next we will introduce the notions of environment, agent, s-agent, necessary to develop some intelligent systems as those described in chapter 5 of this article. the following theoretical concepts are different from the fipa standard [9] ones or from the concepts defined by authors like wooldridge in [8], and are necessary for the implementation of the systems magelan and conttest. the following statements are to introduce theoretical concepts regarding intelligent agents and distributed technology. copyright c⃝ 2006-2010 by ccc publications agent technology in monitoring systems 853 definition 1. we use the name of environment for a set of elements e = {e0, e1, e2, e3, ..., en} among which there is a relation of partial order marked with "<". we use the notation e 6 f for the fact that e < f or e = f, respectively f > e if e < f. the environment can be, at a certain point, in a certain state e, which we will express by st(e) = e. at first, the environment leaves an initial state e0, for which e0, e1, ∀i ∈ {1, 2, ...n} . the state en is called final state for which it is considered that ei, en, ∀i ∈ {1, 2, ...n}. definition 2. we use the name of agent for a triple of the type (3.1) a = (s, s0, r) where s is a finite set of states, s0 in s is called the agent’s initial state, and r is a set of evolution rules. if agent a is in state s, then we express this by st(a) = s. among the states of s there is a special state marked with λ. at first st(a) = s0, and when st(a) = λ we say that the agent is inactive. for the rest, the agent is active. the rules in r are of the type (1) or (2): r1 = (a, s, e) → (a, t, f) (2.1) r2 = (b, s, e) → (b, t, f) (2.2) rule (1) states that if st(a) = s, st(e) = e, then st(a) becomes t and st(e) becomes f, if e 6 f. the second rule (2) states that agent a ceases its implementation (st(a) becomes λ), transferring the control to agent b, for which st(b) becomes t, and the environment remains in the same state. if st(e) = e and there are two agents a and b with st(a) = a ̸= λ and st(b) = b ̸= λ and (a, s, e) → (c, z, f) and (b, t, e) → (d, z′, f′), then we will consider st(e) = max(f, f′) if f and f′ are comparable, one of them respectively, if f and f′ are not comparable, and st(a) = 0 and st(c) = z if f < f′, respectively st(b) = 0 and st(d) = z′, if f < f′. this can be generalized for more active agents. definition 3. we use the name of s-agent for an n-uple of the type (3) s = (c, a1, a2, ..., an) (2.3) where c is an agent called coordinating agent, and a1, a2, ..., an are agents corresponding to the definition above that are called effectors or atomic agents. the coordinating agent will interact directly with the user and the architecture and its functionality depends on the concrete implementation (the examples will be offered in the following chapters). because inside an s-agent, the agents transfer the control form one to another, an s-agent behaves like a communicative multi-agent system. definition 4. let there be s = (c, a1, a2, ..., an) an s-agent. if s1, s2, ..., sn are the states of the atomic agents that make up s (without the coordinator c), we then say that (s1, s2, ..., sn) is the state of s (at a given moment). definition 5. let there be s = (c, a1, a2, ..., an) an s-agent in the environment e, that cannot be modified by the user. if the initial state of s is of the type (0, λ, λ, ..., λ) we say that s is a normal s-agent (s01 marks the initial state of the agent a1). directly, we obtain the following lemma: lemma 1. in a normal s-agent, {s1, s2, ..., sn} = {s, λ, λ, ..., λ} is enacted, with s ̸= λ, at any point of time t. 854 b. pătruţ, c. tomozei proof. the s-agent being normal, it follows that its initial state (at the moment t0) is (0, λ, λ, ..., λ), therefore {s01, s02, ..., s0n} = {s01, λ, λ, ..., λ}, and s01 ̸= λ. let us suppose that the state in the moment ti is {s, λ, λ, ..., λ}, with s ̸= λ. this means that an active ai agent exists and that it is unique, with and st(ai) = s ̸= λ and st(aj) = λ, ∀j ̸= i. if there is a relation of evolution of the type (ai, s, e) → (ajt, f), then by applying this relation of evolution, we will obtain in the moment ti+1 : st(ai) = λ and st(aj) = λ, with t ̸= λ. therefore the state of the s-agent will become (no matter the situation) (λ, λ, ..., λ, t, λ, ...λ), with t ̸= λ, on the position j, therefore. if there is no relation of evolution with (ai, s, e) on the left side, then the s-agent will remain in the state {s, λ, λ, ..., λ}, with s ̸= λ. the fact that the agent will remain in that certain state will be called blockage, a notion that we will eventually formally define. definition 6. we use the name of multi-agent monitoring system (mams) of the environment e, based on s-agents (or on groups) for a triple of the type (4) mams = (sa, l, e) (2.4) where sa is a set of s-agents, having the same structure, e is the environment within which these exist and are implemented, and l are communication or linkage rules of the type ci → cj, where ci and cj are coordinating agents of some s-agents from sa. the communication relations among the s-agents form an oriented graph depending on the architecture and the concrete implementation of the multi-agent system, as we will see in the following chapters. our interest lies in some evolution rules of the environment within an s-agent and the structure and graphic representation of an s-agent. a mams containing only normal s-agents is called a normal mams. definition 7. the purpose of an s-agent is to take the environment e to a state as close as possible to its final en state. if the relation (5) can be obtained, we then say that the aim of the s-agent can be carried out. st(e) = e ∧ ¬∃f ∈ e, f ̸= en : e < f (2.5) by extension, we can say that the aim of mams is reached if all the targets of the component s-agents are achieved. definition 8. two rules of evolution of the type r1 = a → b and r2 = b → c, where a, b, and c are triples of the type of those in (1) or (2), they are called adjacent. definition 9. let there be r1, r2, ..., rk a line of adjacent rules of evolution, two by two. we will use the notation (6) and we will call this relation as the derivation relation (see (6)). r1 ⇒ rk (2.6) within an s-agent, the following results are obvious: proposition 1. if st(e)=e, there is an agent a with st(a)=s ̸= λ, (a, s, e) ⇒ (a’, s’, e’) and there is no f ̸= en, so that e′ < f, then the aim of the s-agent can be reached (with the environment in state e′). (from the very beginning, we have noted the final state of the environment with en). most of the times, set e is not fully ordered. if, however, a fully ordered relation "<" is found, then the following sentence is enacted. agent technology in monitoring systems 855 proposition 2. if the relation "<" is fully ordered, then the purpose of the s-agent can be reached with the environment in the final state (en) if there is a derivation of the type (a, sa0 , e0) ⇒ (b, t, en). proposition 2 affirms that the purpose of the s-agent can be reached if there is a derivation which leads the environment to the state en, starting from the environment’s initial state e0 and the initial state of any agent (a), without the user’s intervention (in the case of a fully ordered relation "<"). if |{a; st(a) ̸= λ}| = 1, for any e = st(e) (therefore a single agent is active at a given moment, as in lemma 1), then the mams operates sequentially. this is what happens most of the times. we consider that the environment e modifies its current state in two cases: • as a result of applying an evolution rule, by one of the system’s agents; • as a result of the direct intervention of a human user. we can also consider, in some exceptional cases, that the state a certain agent is in can be modified by the evolution rules as by the user as well. therefore, we cannot hold control over what is going to happen, or how the state of the environment is going to evolve within a certain interval of time. if, ideally, the human user cannot randomly modify neither the environment e nor the current state of the agents, then the system is entirely deterministic. 3 blockages and infinite cycles our interest does not lie simply in building absolutely sequential systems or deterministic systems, but in specifying in the best possible way the evolution rules so that blockages cannot occur. definition 10. if relation (7) is certified, then we say that the s-agent is under blockage. ∃a ∈ s : st(a) = s, st(e) = e, e ̸= en ∧ ¬∃(a, s, e′) → (b, s′, f), f, e′ ̸= en (3.1) therefore, we say that an s-agent is under blockage when an atomic agent of the system gets into a state s, and the environment is in a non-final state e, and there is no evolution relation that can allow for the agent’s passing out from the state s, although the environment is suddenly modified by the user, into another non-final state e′. in (7) f and e′ are certain non-final states of the environment (e′ and f may also be even e), and s′ a certain state of a certain agent b from the s-agent, being even possible for b to be a. in other words, there is no evolution rule, with s on the left side, which can lead to another state of a or within another agent b, no matter the evolution of the environment e. definition 11. in an s-agent a derivation of the type (a, s, e) ⇒ (a, s, e) is called infinite cycle. this occurs when, if the user does not intervene through modifying the environment, the execution of the s-agent’s agents cycles infinitely, without the environment reaching the final state. in this case, the user may intervene to take the mams out of the cycle. blockages and infinite cycles can be identified easier if we represent the s-agents and the mms. graphically, a multi-agent monitoring system (mams) can be represented in the shape of a graph oriented thus (figure 1): • optionally, more s-agents are represented in the shape of some polygons or other geometrical figures, containing more s-agents, the internal structure being represented only for one of them; • optionally, the links among the s-agents will have the shape of some curves; graphically only one s-agent will be represented, because all s-agents are considered to have the same internal structure; 856 b. pătruţ, c. tomozei • the generic s-agent will be represented through a geometrical figure where all atomic agents are represented; • the atomic agents are represented through some rectangles labeled with their names; inside those squares there will be circles representing the different states of the respective agent; • each state will represent a point in an oriented graph, where the edges are the evolution relations, labeled with a pair of clues for the states of the environment: the starting state and the state that is finally reached. figure 1: a simple s-agent containing a blockage in a1 and an infinite cycle in a2 figure 2: a normal s-agent and its reduced s-agent this is an ideal example of mams functioning, illustrated by the bold arcs in figure 2. obviously, the other arcs except the bold ones are useless in this graph, because they will never be passed through. if, however, the user interferes, for example the moment the mams is in state 2 from the atomic agent a1, modifying the state of the environment from e2 to e3, then the evolution (a1, 2, e3) → (a2, 1, e4) will occur, expressed in figure 3 through the dotted arc. we can obviously "endow" an s-agent with many evolution rules. inside a co-operating working environment, different users will introduce different rules of evolution. the question is, if under the circumstances of some normal agents, some of those rules will ever be applicable, will ever come into action. it is as if we had a program with functions or pieces of codes which are not resorted to by anywhere, cannot be touched, or an expert system with production rules whose part of the premises will never be fulfilled. thus, we will show that normal agents can be reduced to other normal agents, on the basis of an algorithm, so that certain evolution rules could become useless and could be eliminated from the system, the later behavior being not affected. on the contrary, the systems become more simple. by an s-agent’ behavior we mean the applicability of the rules of its component agents. therefore, if a certain evolution rule could ever be applied, it will be a part of the s-agent’s agent technology in monitoring systems 857 behavior, and if not, then it will not be a part of this behavior. definition 12. let there be s1 and s2 two normal s-agents, functioning simultaneously within the same environment e. if the behavior of s1 is identical with the one of s2 at all moments, meaning that the same evolution rule is applied both in s1 and s2, we say that the two agents are equivalents. equivalence also refers to the situations of blockages or infinite cycles. 4 reducing the normal s-agents we will further consider a normal s-agent. we will show that the following theorem is enacted. theorem 1. a normal s-agent s can be reduced to a normal s-agent t that is equivalent with s, by eliminating some evolution relations, according to the following algorithm. reduction algorithm(s-agent s, s-agent t); {local variables: a, s, e, ai, blockage, obj_realized, m, t = ∅; step 1: for each ai from s ; if st(ai) ̸= λ then (a, s, e) ← (ai, st(ai), st(e)); end for ; step 2: m = ∅; cycle = false; blockage = false; obj_realized = false; while (not cycle) and (not obj_realized) and (not blockage); {m = m ∪ (a, s, e); if in s exists edge (a, s)→ (b, t) labeled with (e, f) then {; add t in vertex s in agent a; vertex t in agent b ; add edge (a, s) → (b, t) between s and t; label edge (a, s) → (b, t) with (e, f); if f = en then obj_realized = true else; if ¬ ∋ f’ > f and f’ ̸= en then obj_realized = true; else if (b, t, f) ∈ m then cycle=true }; else blockage=true } }. proof. according to lemma 1, the s-agent s has always a state made up of n-1 inactive states (λ) and a single active state belonging to one single agent. this means that the ist part in an algorithm will determine a unique agent a with a singular active state s, and e will be the current state of the environment. the cycle "while" from the second part ends because inside it all possible cases are brought into discussion on the "if-then-else" branches. building the s-agent t is done using the instructions in the framed part. we have used the graph representation of s and t. the instructions inside the dotted frame realize the inclusion in t of the agents a and b (unless they are already there), of their states s and t (unless they are already there) and of the relation of evolution (a, s, e) → (b, t, f). the algorithm will extract out of the graph of s a chain t, until the final state has been reached, the "largest" final state, a blockage will occur or an infinite cycle will be entered into. t will thus be a normal s-agent, because if, at a given moment, according to lemma 1, {s1, s2, ..., sn} = {t1, t2, ..., tn} and s1, s2, ..., sn = {s, λ, λ, ..., λ} is enacted, it also results that {t1, t2, ..., tn} = {s, λ, λ, ..., λ}. observation 1. the previous result is equivalent, in the theory of formal and automatic languages, with the elimination of inaccessible and unusable states from a finite deterministic automate [1]. corollary 1. an s-agent s gets blocked if and only if its reduced agent t gets blocked. 858 b. pătruţ, c. tomozei corollary 3.2. an s-agent s has an infinite cycle if and only if its reduced agent t has an infinite cycle. according to the algorithm in theorem 1, the s-agent t is equivalent to the s-agent s, therefore the implementations of s and t are identical. if s gets blocked, then t gets blocked and reciprocally. if t has an infinite cycle, then s has the same cycle too (though it may have some others as well). the algorithm in theorem 1 can be completed with a sequence of pseudo code, in order to display the configuration in which both s and t get blocked or enter an infinite cycle. 5 practical implementations one first example of mams is that where the environment is given by an intelligent hyperencyclopedia. we described in [4] the concept of intelligent hyper-encyclopedia, which, intuitively means an encyclopedia distributive developed by several users and which uses artificial intelligence tools. for the time being, we only mention the fact that the environment e is made up of the content of the hyper-encyclopedia. by the content of hyper-encyclopedia, we understand the totality of its entries. each entry is defined by a word, a definition of this and the references to the other related entries. the states of the environment are states of the content of this hyperencyclopedia at a certain moment, that is the totality of the entries introduced by the respective moment. we certainly have an initial state e0 when the hyper-encyclopedia contains nothing, but also a final state en, when the hyper-encyclopedia is considered by the users to be definite, complete. the order relation "<" between the states of the hyper-encyclopedia is a relation of partial order, because we can say that one state is smaller than the other only if the contents of the encyclopedia at a certain moment is included in the contents of the encyclopedia at another (later) moment. however, we cannot compare two states in which the hyper-encyclopedia has completely different contents, or has only one common part. the aim of the mams is to develop the hyper-encyclopedia as much as possible. the s-agents will be local multi-agent systems. each user who contributes to the enlargement of the hyper-encyclopedia has his/her own s-agent. in [3], [4] we presented a real architecture of such an s-agent. within each s-agent there is a series of atomic agents bearing different tasks. we presented the agents responsible for monitoring the microsoft word editing activity of the content of the hyper-encyclopedia, while we have dealt with the agents that monitor the web search by using the internet explorer browser. the encyclopedia behaves intelligently in these directions: it raises certain questions in order to generate new information, based on the existing ones; it answers certain questions from the users in order to provide them with the information necessary to generate new knowledge; it adapts itself to the users’ language and to their way of working (consults and modifies the databases or interacting with the others; it provides an intelligent mediation in the communication among users, so that these may be able to learn from each other, and the encyclopedia from them. the intelligent hyper-encyclopedia having so many "human" traits, even in its limited alternative will have a network structure where each knot will detain a local data basis, a human user and a system of intelligent agents, thus: an agent which observes the user’s behavior while consulting the encyclopedia and adapts itself to it; an agent which observes the user’s behavior while updating the local data basis (modifying, deleting, adding data or generating rules) and acts accordingly; an agent which alone modifies the local data basis in order to adapt it to the user from that knot (in order to ease his/her work). all the above mentioned agents communicate among themselves and cooperate to learn from each other and to modify their own local data bases, but also the way in which they interact with the users from the knots. communication among agents and human users will often be achieved by natural language, through certain agent technology in monitoring systems 859 conversational agents. they are also capable of "metamorphosis’ in order to adapt themselves to the users, or, in case this cannot be done, agents can move from one knot to another. the magelan [9] operates to solve tasks characteristic of artificial trainers which assist (monitor, help and manage) several students (users) in developing an intelligent hyper-encyclopedia. one rule of evolution of the type (a, s, e) → (a, t, f) can be thus interpreted: if the hyperencyclopedia is in state e, and the agent a notices that the user searches the web for the term s, then the hyper-encyclopedia passes to the state f (its content is improved by creating some new links between the articles or by some other means) and the user is suggested to search for the term t. obviously, the user may or may not follow the system’s piece of advice. a second example is given by an instructive system, conttest [5]. the environment is represented by the knowledge of the learner. in this case, first of all we assume that the student knows nothing, therefore the environment lies in the state e0. when the student has achieved what we had had in mind the environment is in its final state. the aim of the mams is to make the student know everything, or at least as much as possible. if we assume that the s-agents are multi-agent systems, each of them responsible for one lesson or one learning unit, then each s-agent will contain atomic agents which will have specific pedagogical tasks. for example, an agent will be responsible for teaching some content, another will be responsible for offering examples, another one for generating tests. the states of an s-agent are stages in teaching, illustration, testing and so on. let us consider the agents as being didactic actions. for example, agent a can mark the teaching, and agent b, the testing. one rule of evolution of the type (a, s, e) → (a, t, f) will communicate to us something like this: if we have taught (a) the notion s, and the student’s level is e, then we are to teach the notion t next and the student will reach level f. one rule of evolution of the type (a, s, e) → (b, t, f) will communicate to us that if we have taught the notion s and the student’s level is e, we can then pass on to testing (agent b) the student through exercise t and we expect the student to reach the (superior) level f. 6 reengineering mms systems multi-agent monitoring systems are being submitted to the process of reengineering in order to achieve new objectives. software reengineering proves to be [6] valuable in large-scale application development. by applying this procedure, we will keep a valuable software system, such as magelan hyper-encyclopedia in working condition for a longer period of time. the cost is significantly reduced and the new tasks are efficiently accomplished. if we take into consideration the application’s functionalities, the following formula (8) will describe the elements regarding the connection of the modules that remain unchanged. elements which are to be modified or deleted will be identified as well, for the entire application to become a powerfully connected system. ir = n∪ i=1 functi0 + n∪ i=1 functi1 − n∪ i=1 delfuncti (6.1) ir represents the indicator of reengineering, functi0 is the functionality in the initial moment, functi1 is the functionality in the present moment added due to reengineering, consequently delfuncti is the functionality eliminated by reengineering, and n represents the number of functionalities. conttest (figure 3) significantly evolved due to reengineering, the agents being enriched with new teaching and learning methods and procedures. therefore, evolution in objectives brought about evolution in the functionalities of agents. pedagogical tasks of agents have been 860 b. pătruţ, c. tomozei considerably improved. consequently, higher educational objectives and elevated results in the evaluation process have been obtained. figure 3: validation of answers we may state that each software project has been enhanced with a higher level of quality, evolving correspondingly with the evolution in demands, by integrating reengineering. 7 conclusions our aim was to summarize the results obtained in development and maintenance of distributed applications and multi-agent monitoring systems. practical examples, such as magelan and conttest have been given, in order to implement and to test the theoretical approaches. multi-agent monitoring systems bring quality and efficiency in almost every area of activity, including scientific research, education, healthcare or defense. by implementing the solid theoretical concepts of artificial intelligence and reuniting them to the infinite resources of distributed systems and the internet, we get the possibility to increase the quality of the results and reduce the duration of reaching the objectives. reengineering maintains the multi-agent systems and expands their utility in time and functionality. consequently, software which proved to be precious in the activity continues to be efficient in service for a longer period of time. bibliography [1] atanasiu, a., 2007, formal languages and automata, infodata publishing house, clujnapoca, romania [2] dzitac, i., bărbat, b.e., artificial intelligence + distributed systems = agents, int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844, 4(1):17-26, 2009 [3] pătruţ, b., pandele, i., 2008, how to compute the references emergencies in a hyperencyclopedya, in "recent advances in systems engineering and applied mathematics. selected papers from the wseas conferences in istanbul, may 27-30, 2008", isbn 978-9606766-91-6, issn 1790-2769, istanbul, turkey, pp.72-75 [4] pătruţ, b., socaciu, t., 2008, constructing a hyper-enciclopedya: how to transfer the emergencies between the nodes, in proceedings of the fourth international bulgarian-greek conference (computer science’ 2008), 18-19 september 2008, kavala, greece, pp. 468-473 agent technology in monitoring systems 861 [5] pătruţ, b., vârlan s. e., socaciu, t., 2008, conttest a multiagent system for accounting education, in proceedings of the third international multi-conference on computing in the global information technology, iccgi 2008, july 27 august 1, 2008, athens, greece [6] tomozei, c., 2009, security engineering and reengineering on windows 2008 server based distributed systems, journal of information technology & communication security, secitc 2009, bucharest, pp. 63-73 [7] vlassis, n., 2007, a concise introduction to multiagent systems and distributed artificial intelligence. synthesis lectures on artificial intelligence and machine learning, department of production engineering and management, technical university of crete, morgan and claypool publishers [8] weiss, g. (ed.), 1999, multiagent systems a modern approach to distributed artificial intelligence, mit press, isbn 978-0-262-23203-6 [9] fipa standards specifications: http://www.fipa.org/specifications/index.html ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 291-300 p systems computing the period of irreducible markov chains mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font mónica cardona-roca, m. ángels colomer-cugat dpt. of mathematics, university of lleida av. alcalde rovira roure, 191. 25198 lleida, spain e-mail: {mcardona, colomer}@matematica.udl.es agustín riscos-núñez research group on natural computing dpt. of computer science and artificial intelligence university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: ariscosn@us.es miquel rius-font department of applied mathematics iv universitat politécnica de catalunya edifici c3, despatx 016, av. del canal olímpic, s/n, 08860 castelldefels, spain e-mail: mrius@ma4.upc.edu received: april 5, 2009 accepted: may 30, 2009 abstract: it is well known that any irreducible and aperiodic markov chain has exactly one stationary distribution, and for any arbitrary initial distribution, the sequence of distributions at time n converges to the stationary distribution, that is, the markov chain is approaching equilibrium as n → ∞. in this paper, a characterization of the aperiodicity in existential terms of some state is given. at the same time, a p system with external output is associated with any irreducible markov chain. the designed system provides the aperiodicity of that markov chain and spends a polynomial amount of resources with respect to the size of the input. a comparative analysis with respect to another known solution is described. keywords: markov chain, p sytems, membrane computing 1 introduction a discrete-time markov chain is a stochastic process such that the past time is irrelevant to predict the future, given knowledge of the present time. that is, given the present time, the future does not depend on the past time: the result of each event depends only on the result of the previous event. in order to study the evolution in time of a markov chain as well as the existence of the stationary distribution, it is suitable to classify its states. this classification depends on the path structure of the chain. one of the central issues in markov theory is the study of the asymptotic behavior of markov chains. it is well known that for any irreducible and aperiodic markov chain: (a) there exists at least one stationary distribution (that is, a probability distribution on the state space which is an invariant for the transition matrix associated with the chain), and (b) for any initial distribution, µ () and for any stationary distribution π for the markov chain, the sequence (µ (n))n∈nnn converges to π in total variation as n → ∞ (that is, the markov chain is approaching equilibrium as n → ∞). copyright c© 2006-2009 by ccc publications 292 mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font in paper [2], a classification of states of a finite and homogeneous markov chain is provided by using p systems. moreover, the period was calculated for recurrent classes. the design of the p systems was inspired in properties used in classic algorithms that deal with the problem of the classification. especially, this solution allows us to decide whether an irreducible markov chain is aperiodic or not. the main goal of this paper is to design a p system associated with an irreducible markov chain which provides an answer to the aperiodicity of the chain. if the answer is negative, then the system provides the period of the chain. the solution presented is based on a characterization of the aperiodicity in existential terms of some state and a natural number, and it is semi–uniform, in the sense that for each markov chain, a p system associated with it is constructed. besides, the solution spends a polynomial amount of resources in the sense of the computational complexity theory in membrane computing. the solution presented in the paper improves the solution obtained in [2], because less computational resources are used. the paper is organized as follows. in the following section, we recall some basic notions and results that we use in the paper. in section 3, a p system associated with an irreducible markov chain is constructed in order to study the periodicity of that class. in section 4, the solution presented is compared with another solution given in [2]. finally some conclusions are presented. 2 preliminaries a discrete markov chain is a sequence {xt | t ∈ n} of random variables whose values are called states, that verifies the following property: p(xt+ = j/x = i, x = i, . . . , xt = it ) = p(xt+ = j/xt = it ). without loss of generality, we can suppose that the state space is the set of nonnegative integers. the value of variable xt is interpreted as the state of the process at instant t. in this paper we work with markov chains having a finite state space s = {s, . . . , sk}. a discrete markov chain is characterized by the transition probability pi j(t) = p(xt = s j/xt− = si), ∀t ≥ , where pi j(t) provides the transition from state si to state s j at time t − . the matrix of transition probabilities p(t) = (pi j(t))≤i, j≤k , is a stochastic matrix, that is, is nonnegative for all t and the sum of each row is equal to 1, ∑k j= pi j(t) = . we say that the chain is time homogeneous or stationary if pi j(t) = pi j for each t and it verifies the kolmogorov-chapman equation: p () i j = pi j, p () i j = k∑ l= pil pl j, . . . , p (n) i j = k∑ l= pil p (n−) l j , where p (n) i j is the transition probability of state si to state s j at time n. we denote the initial distribution by means of the vector µ () = (µ () , . . . , µ () k ) = (p(x = s), p(x = s), . . . , p(x = sk)), and the distribution of the markov chain at time n is µ (n) = (µ (n) , . . . , µ (n) k ) = (p(xn = s), p(xn = s), . . . , p(xn = sk)). p systems computing the period of irreducible markov chains 293 then, µ (n) = µ () · p(n), where p = (pi j) is the transition matrix of the homogeneous markov chain. next, we introduce some concepts and results related to the states of a homogeneous markov chain. we say that a state s j communicates with another state si (and we denote it by si → s j), if there exists a natural number n >  such that p (n) i j >  (that is, if the chain has a positive probability of ever reaching s j when we start from si. we say that the states si and s j intercommunicate (and we denote it by si ↔ s j) if si → s j and s j → si. in the finite state space s = {s, . . . , sk} of a markov chain, the relation ↔ is an equivalence relation and we can consider the corresponding quotient set {s, . . . , sk}/ ↔ whose elements are the classes of equivalence by ↔. a markov chain with state space s = {s, . . . , sk} is said to be irreducible if there exists only equivalence class with respect to ↔; that is, if for all si, s j ∈ e we have si ↔ s j. otherwise, the chain is said to be reducible. we say that a state si is recurrent or essential if for each natural number m and for each state s j verifying p (m) i j >  there exists a natural number n such that p (n) ji > . otherwise, the state is said to be transient. a recurrent class is the equivalence class determined by a recurrent state. it is easy to prove that from a recurrent state, only recurrent states belonging to the same class are reachable. a recurrence time of si is a natural number n >  such that p (n) ii > . the period of a state si is defined as d(i) = g.c.d. {n ≥  | p (n) ii > }, that is, it is the greatest common divisor of the recurrence times associated with it. all states belonging to the same class have the same period. then, we can define the period of a class of a given markov chain in a natural manner: it is the period of any state of the class (see [3] and [4] for more details). definition 1. a markov chain is said to be aperiodic if all its states are aperiodic; that is, their periods are equal to 1. otherwise, the chain is said to be periodic. next, we provide a method to compute the period of a recurrent class and a characterization of the periodicity of a class. theorem 2. let a = {s, . . . , sr} be a recurrent class. the period of a is d = g.c.d. {n | p (n) ii > ;  ≤ i, n ≤ r}. proof. as all states have the same period d, we have d = d() = d() = . . . = d(r) = g.c.d. {n ≥  | p (n) ii > ;  ≤ i ≤ r}. let d ′ = g.c.d.{n| p (n) ii > ;  ≤ i, n ≤ r}. let us see that d = d ′. for that, let n > r be a time of recurrence associated with a state si ∈ a, that is, p (n) ii > . there exists a state si such that p (n) ii ≥ p (n′) ii · p (n) ii · p (n′′) ii > , where n = n′ + n + n ′′. thus, n and n ′ + n′′ are also times of recurrence. if n > r or n ′ + n′′ > r, then we repeat the process until we obtain a decomposition p (n) ii ≥ p (n′) ii · p (n) ii · p (n) ii . . . p (nt ) it it · p (n′′) it i > , with  ≤ i, . . . , it ≤ r, n = n ′ + n + . . . + nt + n ′′ verifying n′ + n′′ ≤ r and n, . . . , nt ≤ r. finally, let us notice that substituting p (n) ii , with n > r, by a suitable sequence of p (m) ii , with m ≤ r, the g.c.d. is the same. lemma 3. let a = {a,··· , ar} be a set of natural numbers. let us suppose g.c.d. {a,··· , ar} = . let us denote by a+ the set of all positive linear combinations λa + ··· + λrar, with λi ∈ z +,  ≤ i ≤ r. then, there exists a natural number n such that n ∈ a+ for all n ≥ n. 294 mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font proof. see, e.g., the appendix of [1] next, we characterize the aperiodicity of a recurrent class of a finite markov chain through the existence of a state s j reachable from each state si. theorem 4. let {xt | t ∈ n} be a markov chain with state space s = {s, . . . , sk} and transition matrix p = (pi j). (1) if {xt | t ∈ n} is aperiodic, then there exists a natural number n such that p (n) ii > , for all i ( ≤ i ≤ k) and all n ≥ n. (2) if {xt | t ∈ n} is irreducible and aperiodic, then there exists a natural number m such that p (n) i j > , for all i, j ( ≤ i, j ≤ k) and all n ≥ m. proof. see, e.g., chapter 4 from [3] theorem 5. let a = {s, . . . , sr} be a recurrent class of a finite markov chain. the following are equivalent: (1) class a is aperiodic. (2) there exists a state s j ∈ a and a natural number m ∈ n such that p (m) i j >  for all state si ∈ a. proof. let us suppose that class a is aperiodic. then all states in a have the same period d = . from theorem 4 there exists a natural number n such that p (n) ii > , for all i ( ≤ i ≤ r) and all n ≥ n. given j ( ≤ j ≤ r), we define ni( j) = min{n | p (n) i j > }, for each si ∈ a, n( j) = max{n( j), . . . , nr( j)}, and m = n + n( j). let us see that p (m) i j > , for each i ( ≤ i ≤ r). we have p (m) i j ≥ p (ni( j)) i j p (m−ni( j)) j j >  because of p (ni( j)) i j >  by definition of ni( j), and p (m−ni( j)) j j >  by theorem 4. conversely, let us suppose that there exists m ≥  and a state s j ∈ a such that ∀ si ∈ a we have p (m) i j > . in particular, p (m) j j >  so m is a recurrence time. on the one hand, if d is the period of the class, then m is a multiple of d. on the other hand, if si ∈ a is a state such that p ji > , then  < p (m) i j p ji ≤ p (m+) ii , so m +  is a multiple of d. hence, d = . 3 a p system associated with an irreducible markov chain the goal of this paper is to study the aperiodicity of an irreducible markov chain with state space s = {s, . . . , sk}, k ≥ , by using p systems. in the affirmative case, the answer of the system is y es, on the contrary, the system sends an object encoding the period of the class to the environment. 3.1 the design of the p system let pk = (pi j)≤i, j≤k be a boolean matrix associated with a class with a finite and homogeneous markov chain of order k such that pi j =  if the transition from si to s j is possible, and pi j =  otherwise; that is, pk is the adjacency matrix of the directed graph associated with the recurrent class. the solution presented in this paper is a semi–uniform one in the following sense: we give a family πππ = {π (pk) | k ∈ nnn}, associating with pk a p system with external output, such that (a) there exists a deterministic turing machine working in polynomial time which constructs the system π (pk) from pk; and (b) the output of the p system π (pk) provides the classification of the recurrent class of the markov chain as well as the period of the states. we associate with the matrix pk the p system of degree 4 with external output, p systems computing the period of irreducible markov chains 295 π (pk) = (γ (pk), µ(pk), m, m, m, m, r) defined as follows: • working alphabet: γ (pk) = {si j, ti j, τi j |  ≤ i, j ≤ k} ∪ {si jr |  ≤ i, j, r ≤ k} ∪ {tr |  ≤ r ≤ k} ∪ {βl |  ≤ l ≤ k − } ∪ {bi, pi |  ≤ i ≤ k} ∪ {ci, di |  ≤ i ≤ α} ∪ {yes,y es, σ } where α = k + ⌈ k  ⌉. • membrane structure: µ(pk) = [ [ [ [ ] ] ]]. • initial multisets: m = {t pi j i j |  ≤ i, j ≤ k} ∪ {β}; m = {sii |  ≤ i ≤ k} m = {bi |  ≤ i ≤ k} ∪ {d}; m = /0 • the set r of evolution rules consists of the following rules: r = [ti j → τi jt k i j],  ≤ i, j ≤ k r = [βi → βi+],  ≤ i ≤ k −  r = [βk−] → c k  r = [crsi jτ p j j . . . τ p jk jk ] → [s p j i . . . s p jk ik c γ j r+]s p j ir+ . . . s p jk ikr+t p ji r+,  ≤ i, j ≤ k,  ≤ r ≤ α − , γ j = ∑k l= p jl r = [σ ] → σ r = [s jr . . . sk jr] → [σ ] yes,  ≤ j ≤ k,  ≤ r ≤ α r = [trbr → pr],  ≤ r ≤ k r = [pi pi+l → pi pl ],  ≤ i ≤ k,  ≤ l ≤ k − i r = [p  i → pi],  ≤ i ≤ k r = [di → di+],  ≤ i ≤ α −  r = [dα pr] → pr[ ],  ≤ r ≤ k r = [dα p] → yes[ ] r = [yes] → y es[ ] r = [pr] → pr[ ],  ≤ r ≤ k 3.2 an overview of computations initially, membrane 1 contains objects ti j that codify the elements pi j of the boolean matrix associated with the transition matrix of the markov chain, together with the counter β. this counter allows us to dissolve membrane 1 at a certain instant. membrane 2 contains initially objects sii that codify the states si of the chain. membrane 3 contains objects bi that will be used in order to avoid that repeated recurrence times smaller than or equal to k appear. the counter d in membrane 2 will be used to trigger the answer at the suitable instant. the design of the p system π (pk) implements a process that is structured by stages. the first one consists of k steps which allow the production of sufficiently many new copies τi j of objects ti j. this is done by applying rules of type r and r in membrane 1 at k −  first steps and applying at step k rule r that dissolves membrane 1. 296 mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font at the second stage, all paths between states with length at most k, as well as recurrence times smaller than or equal to k, are generated. this stage starts at step k +  and it spends at most k steps. first, rules of type r are applied producing objects si jr in membrane 3 that codify the existence of a path with length r from state si to state s j, as well as the objects tr codifying the existence of a recurrence time equal to r. simultaneously, it is checked if there exists a state s j and a natural number m such that p (m) i j > , for all states si. in that case, an object σ is produced in membrane 2 and the system expels an object y es to the environment. the third stage is only applied if an object y es has not been expelled to the environment. at this stage, the period of the class is computed and it takes k + ⌈ k  ⌉ steps. by applying rules of type r, objects pr encoding recurrence times smaller than or equal to k, are obtained. such recurrence times are different from each other. by applying rules of types r and r, the greatest common divisor of these times is computed. if the period of the class is equal to , then the system sends an object y es to the environment, otherwise, the system expels an object pn that encodes the period of the class to the environment. 4 results and discussions in [2] a p system was constructed which allows us to classify the states of a markov chain. thus, that p system can be adapted to characterize the aperiodicity of such a chain. specifically, if pk = (pi j)≤i, j≤k is the boolean matrix associated with the states of a recurrent class of a finite and homogeneous markov chain of order k, then we define the system π ′(pk) = (γ ′(pk), µ ′(pk), m ′ , m ′ , m ′ , m ′ , r ′, ρ ′), as follows: • working alphabet: γ ′(pk) = {a, ri, ti j |  ≤ i, j ≤ k} ∪ {cr |  ≤ r ≤ k + } ∪ {ti jur |  ≤ i, j, u ≤ k,  ≤ r ≤ k} ∪ {βi |  ≤ i ≤ γ + } ∪ {si jr |  ≤ i, j ≤ k,  ≤ r ≤ k} ∪ {di |  ≤ i ≤ (k − )} where γ = k +  + ⌈lgk⌉ + (k−)(k+)  . • membrane structure: µ ′(pk) = [ [ [ [ ] ] ] ]. • initial multisets: m′ = /0; m ′  = {β}; m ′  = {c}; m ′  = {sii t pi j (k−) i j |  ≤ i, j ≤ k}. • the set r of evolution rules consists of the following rules: – rules in the skin membrane labeled by 1: r = {dp → (rp, out) |  < p ≤ k} r = {d → (a, out)} – rules in the membrane labeled by 2: r = {βi → βi+ |  ≤ i ≤ γ} ∪ {βγ+ → λ }. r = {d  j → d j |  ≤ j ≤ k} r = {d jd j+l → d jdl |  ≤ j ≤ k,  ≤ j + l ≤ k} p systems computing the period of irreducible markov chains 297 – rules in the membrane labeled by 3: r = {ti jur → (ti j su j(r+), in) | pi j = , u 6= j,  ≤ i, j, u ≤ k,  ≤ r < (k − )} r = {ti ju(k−) → (ti j, in) | pi j = , u 6= j,  ≤ i, j, u ≤ k} r = {ti j jr → (ti j, in) dr+ | pi j = ,  ≤ i, j ≤ k,  ≤ r < (k − )} r = {ti j j(k−) → (ti j, in) | pi j = ,  ≤ i, j ≤ k} r = {cr → cr+ |  ≤ r ≤ (k − ) + } ∪ {c(k−)+ → λ } – rules in the membrane labeled by 4: r = {suirt pi i . . .t pik ik → (t pi iur . . .t pik ikur, out) |  ≤ u, i ≤ k,  ≤ r ≤ (k − )}. • there is only a priority relation in the membrane labeled by 2: {r > r}. in order to study the efficiency of the p system π (pk) constructed in this work, we will compare the results with those obtained by the p system π ′(pk) described above. for that purpose, a comparative analysis of the computational resources required in both p systems is given first. secondly, an analysis of the times of execution obtained on designed simulators for both p systems with some case studies is presented. 4.1 computational resources required the resources required initially to construct the systems π (pk) and π ′(pk), and the number of steps taken by the systems, are the following: π (pk) π ′(pk) size of the alphabet θ (k) θ (k) initial number of membranes 4 4 sum of the sizes of initial multisets θ (k) θ (k) number of rules θ (k) θ (k) maximal length of a rule θ (k) θ (k) number of priority relations 0 θ (k) number of steps θ (k) θ (k) in the previous table, let us notice that the amount of resources requested by π (pk) is smaller than the ones requested by π ′(pk). indeed, the size of the alphabet and the number of rules pass from power 3 to power 4, and the system π (pk) has no priority relation. the number of steps is of the same asymptotic order. 4.2 case studies we have realized a simulator for each system π (pk) and π ′(pk). these simulators have been written in c++ language and they have been executed on a pentium 4 computer with 512 mb ram and 3.20 ghz. in both simulators objects ti j have been represented by means of arrays of dimension 2; objects si j have been represented by vectors of dimension 2 and recurrent times have been represented by onedimensional vectors. the simulator of the system π (pk) generates the trajectories with a length at most k + ⌈k/⌉ in a sequential way, keeping the times of recurrence smaller than or equal to k. if assertion () in theorem 5 is fulfilled, the simulator halts displaying the time of execution and the aperiodicity of the markov chain. otherwise the simulator computes the g.c.d. of the recurrence times obtained where all of them are different. 298 mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font similarly, a simulator for the system π ′(pk) has been implemented. the main difference with respect to the previously mentioned one is that it can keep more than a copy of the times of recurrence. all trajectories of the markov chain with a length smaller than or equal to (k − ) and their recurrence time are computed. then the g.c.d. of these times is obtained. when the markov chain is aperiodic, the p system π (pk) can finish before all trajectories with a length k + ⌈k/⌉ are computed. in case it is necessary to calculate the period, bearing in mind that all recurrence times are different, system π (pk) is faster than π ′(pk) in computing the g.c.d. of these times. when the markov chain is periodic the length of the trajectories computed by π (pk) are longer than those computed by π ′(pk). nonetheless, in order to compute the period, recurrence times used in π (pk) are all different. the simulators designed have been executed on eight recurrent markov chains with 100 states. four of these markov chains are periodic and the others are aperiodic. table 1 shows the values equal to 1 of the adjacency matrix of the graph associated with the recurrent markov chains. the execution times are described in table 2. example 1 pi,i+ =   ≤ i ≤  p, =  2 pi,i+ =   ≤ i ≤  pi, =   ≤ i ≤  3 p j+i, j+i+ =   ≤ i ≤   ≤ j ≤  p j, j− =   ≤ j ≤  p j+, j+ =   ≤ j ≤  p, =  4 p j+i, j+i+ =   ≤ i ≤   ≤ j ≤  p j, j− =   ≤ j ≤  p j+, j+ =   ≤ j ≤  p, =  p, =  5 p j+i, j+i+ =   ≤ i ≤   ≤ j ≤  p j, j− =   ≤ j ≤  p j+, j+ =   ≤ j ≤  p, =  p, =  6 p j+i, j+i+ =   ≤ i ≤   ≤ j ≤  p j, j− =   ≤ j ≤  p j+, j+ =   ≤ j ≤  p, =  7 pi,i+ =   ≤ i ≤  pi+,i =   ≤ i ≤  p+i,+i =   ≤ i ≤  8 pi,i+ =   ≤ i ≤  pi+,i =   ≤ i ≤  p+i,+i =   ≤ i ≤  p, =  table 1. adjacency values of the examples 5 conclusions markov chains have applications in different fields such as physics, economics, biology, statistics, social sciences, etc. in these applications it is important to know whether the markov chain associated with the process is convergent or not. when the markov chain is aperiodic, the transition matrix converges and the process becomes stable. in other cases, the process does not reach an equilibrium. in this work, a characterization of the aperiodicity of a markov chain has been given in terms of the p systems computing the period of irreducible markov chains 299 example period π ′(pk) π (pk) 1 100 0 0 2 1 146 0 3 10 0 0 4 1 122 35 5 1 1 2 6 5 11 20 7 2 381 169 8 1 1101 104 table 2. observed run times existence of a state reachable from any other state. based on this property, a computational p system has been constructed that allows us to know whether the markov chain is aperiodic and calculate its period if not. in [2], every finite and homogeneous markov chain has associated a p system that provides a classification of its recurrent classes. that p system can be adapted to study the aperiodicity of a markov chain and then its period can be calculated. the solution presented in this work improves the solution derived from the p system described in [2]. for that purpose, simulators have been constructed for these p systems and the respective times of execution on eight examples have been analyzed. for the computational study of the aperiodicity of a markov chain it would be interesting to design new p systems that incorporate additional features such as electrical charges, active membranes, etc. and that improve quantitatively the amount of computational resources used. acknowledgement the authors wish to thank mario j. pérez-jiménez for his advices, suggestions and constant help. among the numerous virtues of this excellent professor, we would like to highlight his enviable capacity of work and his great human quality. as it is usually said, behind a great man there is a great woman and so we cannot end theses line without expressing our gratitude to queta for her immense patience with all of us. the third author acknowledges the support of the project tin2006–13425 of the ministerio de educación y ciencia of spain, cofinanced by feder funds, and the support of the project of excellence with investigador de reconocida valía of the junta de andalucía, grant p08-tic-04200. bibliography [1] p. brémaud: markov chains: gibbs fields, monte carlo simulation, and queues. springer, new york, 1998. [2] m. cardona, m.a. colomer, m.j. pérez–jiménez, a. zaragoza: classifying states of a finite markov chains with membrane computing. lecture notes in computer science. springer,vol 4361, pp. 266278, 2006. [3] o. häggstöm: finite markov chains and algorithmic applications. london mathematical society, cambridge university press, cambridge, 2003. [4] r. nelson: probability, stochastic processes, and queing theory. springer, new york, 1995. 300 mónica cardona-roca, m. ángels colomer-cugat, agustín riscos-núñez, miquel rius-font mónica cardona-roca received his degree in mathematics in 2000, from the barcelona university. he is associate professor at the department of mathematics of the university of lleida where he has been teaching for eight years. here main research areas are natural computing and membrane computing. she has co-authored two books in mathematics. she has co-authored 5 papers on international journals in natural computing. she has co-authored 3 papers in statistics published in proceedings of spanish conferences. m. ángels colomer-cugat received his degree in engineer agronomist from the upc (politecnic universitiy of catalonia) and doctor degree in mathematics in 1996 from the upc. currently, she is titular professor of statistics and operative investigation where she has been teaching for more than twenty five years. in the current moment she is the head of the emergent research group on models of membrane computation applied to ecosystems. she has published seven books on statistics and quality control. she has published twelve scientifics papers in international journals. her main research area are models of computation with membranes applied to the ecology and biology processes. hers first researches were centred on the stocastics models, concretely markov chain applied to natural processes where she has some works. agustín riscos-núñez got his master degree in mathematics in 2000, and then his phd degree on 2004. currently he is an associate professor at the department of computer science and artificial intelligence in the university of sevilla (spain). he is a member of the research group on natural computing in the same university, and his main research interests within the membrane computing area are complexity theory, models for biological processes, and computer simulation. he has co-authored about 30 papers on international journals in the last years, and he has also participated in 15 conferences and workshops. miquel rius-font received his bachelor degree in mathematics form the universitat autónoma de barcelona and his doctor degree in mathematics from university of barcelona. he is currently teaching mathematics at catalonian techology university and his research area is graph theory and natural computing. his interest involves isoperimetric problems as well as graph labeling problems. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 3, pp. 295-303 tissue p systems with cell division gheorghe păun, mario j. pérez-jiménez, agustín riscos-núñez abstract: in tissue p systems several cells (elementary membranes) communicate through symport/antiport rules, thus carrying out a computation. we add to such systems the basic feature of (cell–like) p systems with active membranes – the possibility to divide cells. as expected (as it is the case for p systems with active membranes), in this way we get the possibility to solve computationally hard problems in polynomial time; we illustrate this possibility with sat problem. keywords: tissue-like p systems, cell division rule, sat problem, np-complete problem 1 introduction in membrane computing, there are two main classes of p systems: with the membranes arranged hierarchically, inspired from the structure of the cell, and with the membranes placed in the nodes of a graph, all of them at the same level, inspired from the cell inter-communication in tissues. a particularly interesting sub-class of the first class are the systems with active membranes, where the membrane division can be used in order to solve hard problems, e.g., np-complete problems, in polynomial or even linear time, by a space-time trade-off. in the tissue p systems, the communication among cells is performed by means of symport/antiport rules, well-known in biology. details can be found in [8], [10], as well as in the comprehensive page from the web address http://ppage.psystems.eu). in this paper we combine the two definitions, and consider tissue p systems (with the communication done through symport/antiport rules) with cell division rules of the same form as in p systems with active membranes, but without using polarizations. the rules are used in the non-deterministic maximally parallel way, with the restriction that if a division rule is used for dividing a cell, then this cell does not participate in any other rule, for division or communication (the intuition is that when dividing, the interaction of the cell with other cells or with the environment is blocked); the cells obtained by division have the same labels as the mother cell, hence the rules to be used for evolving them or their objects are inherited (the label precisely identifies the available rules). this natural extension of tissue p systems provides the possibility of solving sat problem in polynomial time (with respect to the number of variables and of clauses), in a confluent way: at precise times, one of the objects yes or no is sent to the environment, giving the answer to the question whether the input propositional formula is satisfiable. the construction is uniform: in a polynomial time, a family of recognizing tissue p systems with cell division is constructed, which, receiving as inputs encodings of instances of sat, tells us whether or not these instances are satisfiable. 2 tissue p systems with cell division we assume the reader to be familiar with basic elements of membrane computing and we directly define the class of p systems which is investigated in this paper. a tissue p system with cell division of degree m ≥ 1 is a construct π = (o, e, w1, . . . , wm, r, io), where: copyright © 2006-2008 by ccc publications 296 gheorghe păun, mario j. pérez-jiménez, agustín riscos-núñez 1. m ≥ 1 (the initial degree of the system; the system contains m cells, labeled with 1, 2, . . . , m; we will use 0 to refer to the environment); 2. o is the alphabet of objects; 3. w1, . . . , wm are strings over o, describing the multisets of objects placed in the m cells of the system at the beginning of the computation; 4. e ⊆ o is the set of objects present in the environment in arbitrarily many copies each; 5. r is a finite set of evolution rules, of the following forms: (a) (i, x/y, j), for i, j ∈ {0, 1, 2, . . . , m}, i 6= j, and x, y ∈ o∗; communication rules; 1, 2, . . . , m identify the cells of the system, 0 is the environment; when applying a rule (i, x/y, j), the objects of the multiset represented by x are sent from region i to region j and simultaneously the objects of the multiset y are sent from region j to region i; (b) [ a ] i → [ b ] i[ c ] i, where i ∈ {1, 2, . . . , m} and a, b, c ∈ o; division rules; under the influence of object a, the cell with label i is divided in two cells with the same label; in the first copy the object a is replaced by b, in the second copy the object a is replaced by c; all other objects are replicated and copies of them are placed in the two new cells. 6. io ∈ {1, 2, . . . , m} is the output cell. therefore, we use antiport rules for communication (for a rule (i, x/y, j) we say that the maximum of the lengths of x and y is the weight of the rule), and division rules as in p systems with active membranes. the rules of a system as above are used in the non-deterministic maximally parallel manner as customary in membrane computing. in each step, all cells which can evolve must evolve in a maximally parallel way (in each step we apply a multiset of rules which is maximal, no further rule can be added), with the following important mentioning: if a cell is divided, then the division rule is the only one which is applied for that cell in that step, its objects do not evolve by means of communication rules. this is like saying that a cell which divides first cuts all its communication channels with the other cells and with the environment; the dotter cells will participate to the interaction with other cells or with the environment only in the next step – providing that they are not divided once again. their label precisely identify the rules which can be applied to them. the computation starts from the initial configuration and proceeds as defined above; only halting computations give a result, and the result is the number of objects present in the halting configuration in cell io; the set of numbers computed in this way by the various halting computations in π is denoted by n(π). in the present paper we are not interested in the computing power of systems as above – already systems without membrane division are known to be turing complete (see [8], [6], etc.), but in their computing efficiency. that is why we introduce a variant of tissue p systems with membrane division, namely recognizing systems with input following the definitions of complexity classes in terms of membrane computing (see [9]). such a system has the form π = (o, σ, e, w1, . . . , wm, r, iin), where: • (o, e, w1, . . . , wm, r, 0) is a tissue p system with cell division of initial degree m ≥ 1 (as defined in the previous section, but with the environment, indicated by taking io = 0, used for reading the output of a computation), and w1, . . . , wm are strings over o−σ. • the working alphabet o has two distinguished objects yes and no, present in at least one copy in some initial multisets w1, . . . , wm, but not present in e. • σ is an (input) alphabet strictly contained in o. • iin ∈ {1, . . . , m} is the input cell. tissue p systems with cell division 297 • all computations halt. • if c is a computation of π, then either the object yes or the object no (but not both) must have been released into the environment, and only in the last step of the computation. the computations of the system π with input w ∈ σ∗ start from a configuration of the form (w1, w2, . . . , wiin w, . . . , wm; e), that is, after adding the multiset w to the contents of the input cell iin. we say that the multiset w is recognized by π if and only if the object yes is sent to the environment, in the last step of the corresponding computation. we say that c is an accepting computation (respectively, rejecting computation) if the object yes (respectively, no) appears in the environment associated with the corresponding halting configuration of c. definition 1. we say that a decision problem x = (ix , θx ) is solvable in polynomial time by a family π = {π(n) | n ∈ n} of recognizer tissue-like p systems with cell division if the following holds: • the family π is polynomially uniform by turing machines, that is, there exists a deterministic turing machine working in polynomial time which constructs the system π(n) from n ∈ n. • there exists a pair (cod, s) of polynomial-time computable functions over ix (called a polynomial encoding of ix in π) such that: − for each instance u ∈ ix , s(u) is a natural number and cod(u) is an input multiset of the system π(s(u)); − the family π is polynomially bounded with regard to (x , cod, s), that is, there exists a polynomial function p, such that for each u ∈ ix every computation of π(s(u)) with input cod(u) is halting and, moreover, it performs at most p(|u|) steps; − the family π is sound with regard to (x , cod, s), that is, for each u ∈ ix , if there exists an accepting computation of π(s(u)) with input cod(u), then θx (u) = 1; − the family π is complete with regard to (x , cod, s), that is, for each u ∈ ix , if θx (u) = 1, then every computation of π(s(u)) with input cod(u) is an accepting one. we denote by pmct d the set of all decision problems which can be solved by means of recognizer tissue-like p systems with cell division in polynomial time. this class is closed under polynomial–time reduction and under complement. we close this section with an important remark about the previous way of solving decision problems. specifically, we have said nothing about the way the computations proceed; in particular, they can be non-deterministic, as standard in membrane computing. it is important however that the systems always stop and always they send out an object which is the correct answer to the input problem. from the soundness and completeness conditions above we deduce that every p system π(n) is confluent, in the following sense: every computation of a system with the same input multiset must always give the same answer. 3 solving sat in polynomial time as expected, the possibility to divide cells means the possibility to create an exponential space in a linear time, and this space can be used in order to obtain fast solutions to computationally hard problems. theorem 1. tissue p systems with active membranes can solve sat in polynomial time. (otherwise stated, sat ∈ pmct d.) 298 gheorghe păun, mario j. pérez-jiménez, agustín riscos-núñez proof. let us consider a propositional formula γ = c1 ∧···∧cm, consisting of m clauses c j = y j,1 ∨···∨ y j,k j , 1 ≤ j ≤ m, where y j,i ∈ {xl ,¬xl | 1 ≤ l ≤ n}, 1 ≤ i ≤ k j (there are used n variables). without loss of generality, we may assume that no clause contains two occurrences of some xi or two occurrences of some ¬xi (the formula is not redundant at the level of clauses), or both xi and ¬xi (otherwise such a clause is trivially satisfiable, hence can be removed). we codify γ , which is an instance of sat with size parameters n and m, by the multiset cod(γ) = {si, j | y j,r = xi, 1 ≤ i ≤ n, 1 ≤ j ≤ m, 1 ≤ r ≤ k j} ∪ {s′i, j | y j,r = ¬xi, 1 ≤ i ≤ n, 1 ≤ j ≤ m, 1 ≤ r ≤ k j}. (we replace each variable xi from each clause c j with si, j and each negated variable ¬xi from each clause c j with s′i, j, then we remove all parentheses and connectives. in this way we pass from γ to cod(γ) in a number of steps which is linear with respect to n·m.) the instance γ will be processed by the tissue p system π(s(γ)) with input cod(γ), where s(γ) = 〈n, m〉 = (n+m)·(n+m+1)2 + n. we construct the recognizing tissue p system (of degree 2) with input π(〈n, m〉) = (o, σ, e, w1, w2, r, 2), with the following components: o = σ∪{ai,ti, fi | 1 ≤ i ≤ n}∪{ri | 1 ≤ i ≤ m} ∪ {ti, fi | 1 ≤ i ≤ n}∪{ti, j, fi, j | 1 ≤ i ≤ n, 1 ≤ j ≤ m + 1} ∪ {bi | 1 ≤ i ≤ 3n + m + 1}∪{ci | 1 ≤ i ≤ n + 1} ∪ {di | 1 ≤ i ≤ 3n + nm + m + 2}∪{ei | 1 ≤ i ≤ 3n + nm + m + 4} ∪ { f , g,yes,no}, σ = {si, j, s′i j | 1 ≤ i ≤ n, 1 ≤ j ≤ m}, e = o−{yes,no}, w1 = yes no b1 c1 d1 e1, w2 = f g a1 a2 . . . an, and the following rules. 1. division rules: [ ai ] 2 → [ ti ] 2[ fi ] 2, for all i = 1, 2, . . . , n. (membrane 2 is repeatedly divided, each time expanding one object ai, corresponding to a variable xi, into ti and fi, corresponding to the values true and false which this variable may assume. in this way, in n steps, we get 2n cells with label 2, each one containing one of the 2n truth-assignments possible for the n variables. the objects f , g are duplicated, hence a copy of each of them will appear in each cell.) 2. communication rules: (1, bi/b2i+1, 0), for all i = 1, 2, . . . , n + 1, (1, ci/c2i+1, 0), for all i = 1, 2, . . . , n + 1, (1, di/d2i+1, 0), for all i = 1, 2, . . . , n + 1, (1, ei/ei+1, 0), for all i = 1, 2, . . . , 3n + nm + m + 3. (in parallel with the operation of dividing cell 2, the counters bi, ci, di, ei from cell 1 grow their subscripts. in each step, the number of copies of objects of the first three types is doubled, hence tissue p systems with cell division 299 after n steps we get 2n copies of bn+1, cn+1, and dn+1. objects bi will check which clauses are satisfied by a given truth-assignment, objects ci are used in order to multiply the number of copies of ti, fi as we will see immediately, di are used to check whether there is at least one truth-assignment which satisfies all clauses, and ei will be used in order to produce the object no, if this will be the case, in the end of the computation.) (1, bn+1cn+1/ f , 2), (1, dn+1/g, 2). (in step n + 1, the counters bn+1, cn+1, dn+1 are brought in cells with label 2, in exchange of f and g. because we have 2n copies of each object of these types and 2n cells 2, each one containing exactly one copy of f and one of g, due to the maximality of the parallelism of using the rules, each cell 2 gets precisely one copy of each of bn+1, cn+1, dn+1. note that cells 2 cannot divide any more, because the objects ai were exhausted.) (2, cn+1ti/cn+1ti,1, 0), (2, cn+1fi/cn+1fi,1, 0), for each i = 1, 2, . . . , n, (2, ti, j/titi, j+1, 0), (2, fi, j/ fifi, j+1, 0), for each i = 1, 2, . . . , n and j = 1, 2, . . . , m. (in the presence of cn+1, the objects ti, fi introduce the objects ti,1 and fi,1, respectively, which initiates the possibility of introducing m copies of each ti and fi in each cell 2. the idea is that because we have m clauses, in order to check their values for a given truth-assignment of variables, it is possible to need one value for each variable for each clause. note that this phase needs 2n steps for introducing the double-subscripted objects ti,1, fi,1 – for each one we need one step, because we have only one copy of cn+1 available – then further m steps are necessary for each ti,1, fi,1 to grow its second subscript; all these steps are done in parallel, but for the last introduced ti,1, fi,1 we have to continue m steps after the 2n necessary for priming. in total, we perform 2n + m steps.) (2, bi/bi+1, 0), (2, di/di+1, 0), for all i = n + 1, . . . , (n + 1) + (2n + m)−1. (in parallel with the previous operations, the counters bi and di increase their subscripts, until reaching the value 3n + m + 1. this is done in all cells 2 at the same time. simultaneously, ei increases its subscript in cell 1.) (2, b3n+m+1tisi, j/b3n+m+1r j, 0), (2, b3n+m+1 fis′i, j/b3n+m+1r j, 0), for all 1 ≤ i ≤ n and 1 ≤ j ≤ m, (2, di/di+1, 0), for all i = 3n + m + 1, . . . , (3n + m + 1) + nm−1. (in the presence of b3n+m+1 – and not before – we check the values assumed by clauses for the truth-assignments from each cell 2. we have only one copy of b3n+m+1 in each cell, hence we need at most nm steps for this: each clause contains at most n literals, and we have m clauses. in parallel, d increases the subscript, until reaching the value 3n + nm + m + 1.) (2, d3n+nm+m+iri/d3n+nm+m+i+1, 0), for all i = 1, 2, . . . , m. (in each cell with label 2 we check whether or not all clauses are satisfied by the corresponding truth-assignment. for each clause which is satisfied, we increase by one the subscript of d, hence the subscript reaches the value 3n + nm + 2m + 1 if and only if all clauses are satisfied.) (2, d3n+nm+2m+1/ f yes, 1). (if one of the truth-assignments from a cell 2 has satisfied all clauses, then we reach d3n+nm+2m+1, which is sent to cell 1 in exchange of the objects yes and f .) 300 gheorghe păun, mario j. pérez-jiménez, agustín riscos-núñez (2,yes/λ , 0). (in the next step, the object yes leaves the system, signaling the fact that the formula is satisfiable. in cell 1, the counter e will increase one more step its subscript, but after that it will remain unchanged – it can leave cell 1 only in the presence of f , but this object was already moved to cell 2.) (1, e3n+nm+2m+2 f no/λ , 2), (2,no/λ , 0). (if the counter e reaches the subscript 3n + nm + 2m + 2 and the object f is still in cell 1, then the object no can be moved to a cell 2, randomly chosen, and from here it exits the system, signaling that the formula is not satisfiable.) in order to show that the family π = {π(〈n, m〉) | n, m ∈ n} is polynomially uniform by deterministic turing machines we first note that the sets of rules associated with the system π(〈n, m〉) are recursive. hence, it is enough to note that the amount of necessary resources for defining each system is quadratic in max{n, m}, and this is indeed the case, since those resources are the following: 1. size of the alphabet: 6nm + 17n + 4m + 12 ∈ θ(nm). 2. initial number of cells: 2 ∈ θ(1). 3. initial number of objects: n + 8 ∈ θ(n). 4. number of rules: 4nm + 10n + 3m + 16 ∈ θ(nm). 5. upper bound for the length of the rules: 3 ∈ θ(1) from the previous explanations, one can see that, starting with the multiset cod(γ) added to cell 2, which is the input cell, the system correctly answers the question whether or not γ is satisfiable. the duration of the computation is polynomial in terms of n and m: the answer yes is sent out in step 3n + nm + 2m + 2, while the answer no is sent out in step 3n + nm + 2m + 4. this concludes the proof. 2 the antiport rules from the previous construction are of weight at most 3, but the weight can be reduced to two, at the expense of some slowdown of the system. for instance, instead of the rule (1, e3n+nm+2m+2 f no/λ , 2) we can consider the rules (1, e3n+nm+2m+2 f /h, 0), (1, h no/λ , 2), where h is a new object. we can proceed in the same way with the rules (2, b3n+m+1tisi, j/b3n+m+1r j, 0), (2, b3n+m+1 fis′i, j/b3n+m+1r j, 0), for 1 ≤ i ≤ n and 1 ≤ j ≤ m, but in this way instead of at most nm steps for finding the satisfied clauses we will need at most 2nm steps. the details are left to the reader. taking into account that sat is an np–complete problem and the class pmct d is closed under polynomial–time reduction and under complement, we have: corollary 2. np ∪ co-np ⊆ pmct d 4 final remarks we have proven that by adding the membrane division feature to tissue p systems (with the communication done by antiport rules of a small weight) we can solve np-complete problems in polynomial time. we exemplify this possibility with sat problem. it remains as a research topic to consider the same extension for other types of systems, for instance, for cell p systems with symport/antiport rules, or for neural p systems (with states associated with cells and multiset rewriting rules for processing the objects. the difficulty in the case of cell p tissue p systems with cell division 301 systems with symport/antiport comes from the fact that only the skin membrane can communicate with the environment; on the other hand, the skin membrane cannot be divided, hence we need exponentially many objects for communication with inner membranes, and such objects should be brought in from the environment. in turn, neural p systems with the maximal use of rules and replicated communication are already known to be able to solve np-complete problems in polynomial time; the challenge now is not to use replication). in spite of these difficulties, we expect results similar to the above one also in these cases. another problem which remains open is to consider tissue p systems with the communication using only symport rules. a previous version of the present paper was circulated in the volume of the second brainstorming week on membrane computing, held in sevilla, in february 2004, and in the meantime several papers have considered tissue-like p systems with cell division as a framework for devising polynomial solutions to np-complete problems. for instance, [2] deals with the subset sum problem, [3] deals with the partition problem, [5] deals with the vertex cover problem, and [4] considers the 3–coloring problem. what is not yet investigated is the possibility to also solve pspace problems, as it is the case, for instance, for cell-like p systems with division of non-elementary membranes (see [11]) or with membrane creation (see [7]). this last possibility for producing working space, cell creation rules, has been only recently considered for tissue p systems [1]. let us recall that this kind of rules does not perform replication of objects, as it happens with cell-division rules, and it is an open question whether tissue p systems with communication and membrane creation rules can solve efficiently computationally hard problems. acknowledgements. the support of this research through the project tin2006-13425 of the ministerio de educación y ciencia of spain, cofinanced by feder funds, and the support of the project of excellence tic-581 of the junta de andalucía, is gratefully acknowledged. bibliography [1] d. díaz–pernil: sistemas celulares de tejidos: formalización y eficiencia computacional, phd thesis, university of sevilla, 2008. [2] d. díaz–pernil, m.a. gutiérrez–naranjo, m.j. pérez–jiménez, a. riscos–núñez: solving subset sum in linear time by using tissue p systems with cell division. in j. mira, j.r. alvarez, eds. bioinspired modeling of cognitive tasks, second international work–conference on the interplay between natural and artificial computation, iwinac 2007, la manga del mar menor, spain, june 2007,part i, lncs 4527, springer, 2007, 170–179. [3] d. díaz–pernil, m.a. gutiérrez–naranjo, m.j. pérez–jiménez, a. riscos–núñez: solving the partition problem by using tissue-like p systems with cell division. in d. díaz, c. graciani, m.a. gutiérrez, gh. păun, i. pérez–hurtado, a. riscos, eds., proceedings of the sixth brainstorming week on membrane computing, report rgnc 01/08, fénix editora, 2008, 123–134. [4] d. díaz–pernil, m.a. gutiérrez–naranjo, m.j. pérez–jiménez, a. riscos–núñez: a linear-time tissue p system based solution for the 3-coloring problem, electronic notes in theoretical computer science, 171 (2007), 81–93. [5] d. díaz–pernil, m.j. pérez–jiménez, a. riscos–núñez, a. romero–jiménez: computational efficiency of cellular division in tissue-like membrane systems, submitted, 2008. 302 gheorghe păun, mario j. pérez-jiménez, agustín riscos-núñez [6] p. frisco, h.j. hoogeboom: simulating counter automata by p systems with symport/antiport. in gh. păun, g. rozenberg, a. salomaa, c. zandron, eds., membrane computing. international workshop wmc 2002, curtea de argeş, romania, revised papers, lncs 2597, springer, 2003, 288–301. [7] m.a. gutiérrez–naranjo, m.j. pérez–jiménez, f.j. romero–campero: a linear time solution for qsat with membrane creation. in r. freund, gh. păun, g. rozenberg, a. salomaa, eds., membrane computing, 6th international workshop, wmc 2005, vienna, austria, july 18-21, 2005, revised selected and invited papers, lncs 3850, springer, 2006, 241–252. [8] gh. păun: computing with membranes: an introduction, springer, berlin, 2002. [9] m.j. pérez–jiménez: an approach to computational complexity in membrane computing. in g. mauri, gh. păun, m.j. pérez-jiménez, g. rozenberg, a. salomaa, eds., membrane computing, 5th international workshop, wmc5, revised selected and invited papers, lncs 3365, springer, 2005, 85–109. [10] m. pérez–jiménez, a. romero–jiménez, f. sancho–caparrini, teoría de la complejidad en modelos de computatión celular con membranas, editorial kronos, sevilla, 2002. [11] p. sosik, a. rodríguez-patón: membrane computing and complexity theory: a characterization of pspace, international journal of foundations of computer science, 73, 1 (2007), 137–152. gheorghe păun1,2, mario j. pérez-jiménez2, agustín riscos-núñez2 1institute of mathematics of the romanian academy po box 1-764, 014700 bucureşti, romania 2 research group on natural computing department of computer science and artificial intelligence technical higher school of computer science engineering university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: {gpaun, marper, ariscosn}@us.es mario j., pérez–jiménez received his degree in mathematics from the barcelona university and doctor degree in mathematics from the sevilla university. in the past, he was associated professor at the university of barcelona. currently, he is titular professor of computer science and artificial intelligence at the university of sevilla, where is the head of the research group on natural computing. his main research fields are computational complexity theory, unconventional models of computation, natural computing, membrane computing, bioinformatics, and computational modelling for systems biology. he has published twelve books in computer science and mathematics, and over 100 scientific papers in international journals (collaborating with many researchers worldwide). he is the main researcher in various european, spanish and andalusia research grants. he has been and independent expert to the evaluation of nest (new and emergent science and technology) proposals under the sixth framework programme of the european community, and from may 2006 he is an european science foundation peer reviewer. tissue p systems with cell division 303 gheorghe păun, graduated the faculty of mathematics, university of bucharest, in 1974 and received his ph.d. in mathematics (with specialization in computer science) from the same university in 1977. he held a research position at the university of bucharest, and from 1990 he is at the institute of mathematics of the romanian academy, where he is currently a senior researcher. he visited numerous universities in europe, asia, and north america, with frequent and/or longer stays in turku (finland), leiden (the netherlands), magdeburg (germany, including an alexander von humboldt fellowship, in 1992-93), tarragona, madrid, and sevilla (spain, including a ramon y cajal scholarship, in 2001–2006), london-ontario (canada), rome, milano, pisa (italy), tokyo (japan), warsaw (poland), vienna (austria), budapest (hungary), etc. his main research areas are formal language theory and its applications, computational linguistics, dna computing, and membrane computing; this last research area was initiated by him, in 1998, and the respective models are now called p systems, see http://ppage.psystems.eu). he has published a large number of research papers (collaborating with many researchers worldwide), has lectured at over 100 universities, and gave numerous invited talks at recognized international conferences. he has published eleven monographs in mathematics and computer science (some of them translated in japanese, chinese, russian), has (co)edited over seventy collective volumes and special issues of journals, and also published many popular science books, books on recreational mathematics (games), and fiction books. he is a member of the editorial board of more than a dozen international journals and was/is involved in the program/steering/organizing committees for many recognized conferences and workshops. in 1997 he was elected a member of the romanian academy and from 2006 he is a member of academia europaea. he also got other honors, in romania or abroad (professional and literary prizes, honorary citizenship titles, doctor honoris causa of the silesian university in opava, czech republic, etc.). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 427-438 fuzzy controller based qos routing algorithm with a multiclass scheme for manet b. sun, c. gui, q. zhang, h. chen baolin sun, chao gui, qifei zhang school of computing hubei university of economics wuhan 430205, china e-mail: blsun@163.com, guichao@126.com, cheffly@gmail.com hua chen college of science wuhan university of science and engineering wuhan 430073, china e-mail: qiuchen_1022@163.com abstract: a mobile ad hoc network (manet) consists of a set of mobile hosts that can communicate with each other without the assistance of base stations. due to the dynamic nature of the network topology and restricted resources, quality of service (qos) and multicast routing in manet are challenging tasks which attract the interests of many people. in this paper, we present a fuzzy controller based qos routing algorithm with a multiclass scheme (fqra) in mobile ad hoc networks. the performance of this scheduler is studied using ns2 (network simulator version 2) and evaluated in terms of quantitative measures such as packet delivery ratio, path success ratio and average end-to-end delay. simulations show that the approach is efficient, promising and applicable in ad hoc networks. keywords: mobile ad hoc networks, fuzzy controllers, routing algorithm, qos 1 introduction mobile ad hoc networks (manet) consist of mobile nodes that autonomously establish connectivity via multihop wireless communications. there is no use of a static network infrastructure such as base station or any centralized administration in manet. in ad hoc network, if two nodes are not within radio range, all message communication between them must pass through one or more intermediate nodes. all the nodes are free to move around randomly, thus changing the network topology dynamically [1-10]. these type of networks have many advantages, such as self reconfiguration and adaptability to highly variable mobile characteristics like the transmission conditions, propagation channel distribution characteristics and power level. they are useful in many situations such as military applications, conferences, lectures, emergency search, and rescue operations. however, such benefits come with new challenges which mainly resides in the unpredictability of the network topology due to mobility of nodes and the limited available bandwidth due to the wireless channel. these characteristics demand a new way of designing and operating these type of networks. for such networks, an effective routing protocol is critical for adapting to node mobility as well as possible channel error to provide a feasible path for data transmission [1-10]. aodv is an on-demand distance vector routing protocol [2]. the protocol is well known for the use in ad hoc networks. the use of multicasting with the network has many benefits. multicasting reduces the communication cost for applications that sending the same data to many recipients [3, 5-8]. instead of sending via multiple unicast, multicast reduces the channel bandwidth, sender and router processing and delivery delay. in addition, multicast gives robust communication whereby the receiver address is unknown or modifiable without the knowledge of the source within the wireless environment. copyright c© 2006-2009 by ccc publications 428 b. sun, c. gui, q. zhang, h. chen quality of service (qos) support for multimedia applications is closely related to resource allocation, the objective of which is to decide how to reserve resources such that qos requirements of all the applications can be satisfied [3, 6-11, 16, 21]. the goals of qos routing are twofold: finding a suitable route through the network between the source and the destination that will have the necessary resources available to meet the qos constraints; and achieving global efficiency in the utilization of resources. however, it is a significant technical challenge to provide reliable high-speed end-to-end communications in these networks, due to their dynamic topology, distributed management, and multi-hop connections. the provision of qos requirements is of utmost importance for the development of future networks. for supporting qos-aware applications, qos based routing algorithms such as ticket base routing (tbr) [3] and core extraction dynamic source routing (cedar) [4] are proposed. in cedar, each host compares degree with its neighbors. the host with the largest degrees among its neighbors is selected as the core node. the core node is responsible for recording all information for its members. when a source host requests to establish a qos routing path to some destination host, its core node must construct a qos routing path. the advantage of core-based management is that it reduces the number of control packets during path construction. chang proposes a two-level management approach for efficiently constructing and maintaining a qos routing path in ad hoc wireless networks, significantly reducing the quantity of control packets [5]. in the first phase, the mobile hosts are partitioned into a number of complete graphs, each represented by a supernode managed by an agent. in the second phase, some agents of a larger degree than neighboring agents are selected as core nodes. lorenz and orda demonstrate in the literature [16] that this uncertainty places additional constraints on qos provisioning. xiao et al proposed a dynamic backup routes routing protocol (dbr2p), a backup node mechanism for quick reconnection during link failures [20]. dbr2p is an on-demand routing protocol and it can set up many routes to reach a destination node in a given period. these algorithms determine a path that satisfies the required qos. fuzzy logic exploits the pervasive imprecision, uncertainty and partial truth of the real world using simple linguistic statements and thereby achieves tractability, robustness, and low solution cost [11, 1319, 23]. fuzzy logic based decision algorithm influences caching decisions of multiple paths uncovered during route discovery and avoids low quality paths [11, 14-19]. differentiated resource allocation considering message type and network queue status is evaluated using fuzzy logic scheme [11]. fernandez, hu, kazemian, zhang et al propose the use of fuzzy logic controllers for the dynamic reconfiguration of edge and core routers [13-15, 23]. this reconfiguration allows for adjusting the network provisioning according to the incoming traffic and the qos level achieved. hu and peter, utilize a self tuning fuzzy controller to apply an end-to-end rate-based feedback flow control algorithm for the available bit rate (abr) service in atm [14]. sheng, et al propose an adaptive routing algorithm in which the link cost was dynamically assigned using a fuzzy system [18]. their results show the traffic in the networks is rerouted to have less congestion or spare capacity. sheu and chen propose a fuzzy bandwidth allocation controller (fbac) to support services including restricted time-bounded service such as voice and video in wireless networks [19]. their results show the traffic in the network is rerouted to have less congestion or spare capacity. in those studies, the parameters and rules were further calibrated to obtain a more efficient evaluation. because the ad hoc network traffics have self-similarity, a common statistical method has been widely used to verify self-similarity of time-series, so that the characteristics of the ad hoc wireless networks can be grasped. in this paper, we present a fuzzy controller based qos routing algorithm with a multiclass scheme (fqra) in mobile ad hoc networks. fqra proposes to deal with route table management for keeping the active routes’ lifetime. fqra applies a fuzzy logic system to dynamically evaluate the route expiry time. the fuzzy logic is chosen because there are uncertainties associated with node mobility and the estimation of link crash; moreover, there is a mathematical model capable of estimating the node mobility. in addition, fqra is able to take some controlling factors into consideration. therefore, fqra is a multiclass scheme fuzzy evaluation for qos routing protocol. the performance of the fqra is studied using ns2 [24] and evaluated in terms of quantitative measures such as improved path success ratio, fuzzy controller based qos routing algorithm with a multiclass scheme for manet 429 reduced average end-to-end delay and increased packet delivery ratio. the rest of the paper is organized as follows. in section 2, we introduces the ad hoc network model and route issues. in section 3, we presents the fuzzy qos controller. in section 4, we evaluate the performance of the algorithm and present the simulation results. finally, section 5 concludes the summary of the work and future challenges. 2 network model and routing issues a network is usually represented as a weighted digraph g = (n, e), where n denotes the set of nodes and e denotes the set of communication links connecting the nodes. |n| and |e| denote the number of nodes and links in the network respectively [3-11, 16]. in g(n, e), considering a qos constrained multicast routing problem from a source node to multi-destination nodes, namely given a non-empty set m={s, u, u, . . . , um}, m ⊆ n, s is source node, u ={u, u, . . . , um} is a set of destination nodes. multicast tree t = (nt , et ), wherent ⊆ n, et ⊆ e, if c(t ) is the cost of t , pt (s, u) is the path from source node s to destination u ∈ u in t , dt (s, u) and bt (s, u) are the delay and usable bandwidth of pt (s, u). definition 1. the cost of multicast tree t is: c(t ) = ∑ e∈et c(e), e ∈ et . definition 2. the bandwidth, and delay route of multicast tree t is the value of link bandwidth, and delay in the path from source node s to each destination node u ∈ u . i.e. bt (s, u)= min(b(e), e ∈ et ). dt (s, u)= max( ∑ e∈pt (s, u) d(e), u ∈ u ). definition 3. assume the minimum bandwidth constraint of multicast tree is b and the maximum delay constraint is d, given a multicast demand r; then, the problem of bandwidth and delay constrained multicast routing is to find a multicast tree t , satisfying: (1) bandwidth constraint: bt (s, u) ≥ b, u ∈ u . (2) delay constraint: dt (s, u) ≤ d, u ∈ u . suppose s(r) is the set, and s(r) satisfies the conditions above; then, the multicast tree t which we find is: c(t ) = min (c(ts), ts ∈ s(r)) 3 fuzzy qos controller 3.1 fuzzy logic controller the fuzzy logic was introduced by zadeh as a generalization of the boolean logic [22]. the difference between these logics is that fuzzy set theory provides a form to represent uncertainties; that is, it accepts conditions partially true or partially false. fuzzy logic is a good logic to treat random uncertainty, i.e., when the prediction of a sequence of events is not possible. fuzzy logic control system is rule-based system in which a set of so-called fuzzy rules represents a control decision mechanism to adjust the effects of certain causes that come from the system. the aim of the fuzzy control system is normally to substitute for or replace a skilled human operator with a fuzzy rule-based system. specifically, based on the current state of a system, an inference engine equipped 430 b. sun, c. gui, q. zhang, h. chen with a fuzzy rule base determines an on-line decision to adjust the system behavior in order to guarantee that it is optimal in some certain senses. there are generally two kinds of fuzzy logic controllers. one is the feedback controller, which is not suitable for the high performance communication networks. another one, which is used in this paper, is shown in figure 1. the output of the fuzzy logic controller in figure 1 is used to tune the controlled system’s parameters based on the state of the system. this control mechanism is different from the conventional feedback control and considered as an adaptive control [11, 14, 19, 23]. figure 1: the fuzzy logic controller the specific features of the fuzzy controller depend on the model under control and performance measurement. however, in principle, in the fuzzy controller we explore the implicit and explicit relationships within the system and subsequently develop the optimal fuzzy control rules as well as a knowledge base. in the route discovery process, new routes are created. the creation of new routes makes use of forward packet (table 1) and backward packet (table 2). a forward packet is broadcasted by the sender and will be relayed by the neighbors of the sender. when the forward packet reaches the destination node, it extracts the information collected by the forward packet and destroys it and subsequently creates a backward packet which follows the track of the forward packet, but in the reverse direction. table 1: forward packet. source address destination address sequence number number of hops qos metric intermediate node table 2: backward packet. source address destination address number of hops qos metric intermediate node the packets flow through router is presented in figure 2. the aim was to decrease tcp and udp traffic settling, rise and fall times; decrease overshoots and undershoots; and to stabilize throughput in the router’s output connections to let the model adapt for load and link capacity variations. fuzzy controller based qos routing algorithm with a multiclass scheme for manet 431 figure 2: schematic presentation of packets flow through router 3.2 scheduler controller the packet scheduler used in our architecture is wrr (weighted round robin). in this scheduler, queues are served according to a configurable weight that can be changed during network operation. this allows having control of the bandwidth assigned to each service class. the packet delay and discard rate for each queue (class) can be controlled by changing this weight. an example of membership function of schedule controller is showed in figure 3. the fuzzy scheduler proposed here calculates the priority index of each packet. here we consider all the inputs which decide the priority associated with the packet, unlike the previous scheduling schemes. other membership functions are: packet delay in the expedited forwarding queue and discard rate due to queue overflow in the besteffort class. the output membership functions are also defined as trapezoid functions by the same previous reasons. we make use of the center of gravity defuzzification method, since it gives better results. the output membership function gives the weights assigned to each class in the wrr scheduler. figure 3: scheduler membership functions 3.3 fuzzy rule base (fuzzy routing) fuzzy systems reason with multi-valued fuzzy sets instead of crisp sets. the fuzzy logic controller (flc) (figure 1) has two inputs: residual bandwidth and traffic class and one output: fuzzy routing decision [12, 22]. mamdani fuzzy-rule based systems constitute of a linguistic description in both the antecedent parts and the consequent parts. each rule (table 3) is a description of a condition-action statement that may be clearly interpreted by the users. rule base is an if-then rule group with fuzzy sets that represents the desired behavior of a fuzzy system. it can be defined in agreement with the administrative policy. if x is ai and . . . and xn is ain then y is ci, i = 1, 2, . . . , l where l is the number of fuzzy rules, x j ∈ u j, j=1, 2, . . . , n, are the input variables, y is the output variable, ai j are the fuzzy sets of the input linguistic variable x j and ci is called the set of the output linguistic variable y. ai j and ci are characterized by both membership functions. inputs are of the form: x is a′, x is a ′ , . . . , xn is a ′ n where a ′ , a ′ , . . . , a ′ n are fuzzy subsets of u, u, . . . un, which are the universe of discourse of inputs. 432 b. sun, c. gui, q. zhang, h. chen table 3: fuzzy rule base qos classes and application type. qos class application type 1 video conference 2 sdtv-quality voice 3 cd-quality audio 4 high-quality voice 4 simulation 4.1 random graph generation in generating random graphs, we have adopted the method used in kazemian, where vertices are placed randomly in a rectangular coordinate grid by generating uniformly distributed values for their x and y coordinates [15]. the remaining edges of the graph are chosen by examining each possible edge (u,v) and generating a random number 0 ≤ r <1. if r is less than a probability function p(u, v) based on the edge distance between u and v, then the edge is included in the graph. the distance for each edge is the euclidean distance denoted as d(u, v) between the nodes that form the end-points of the edge. we use the probability p(u, v) = β exp[− d(u,v)α l ]. where d(u, v) is geometric distance from node u to node v and l is maximum distance between two nodes. the parameters α and β are in the range (0, 1) and can be used to obtain certain desirable characteristics in the topology; parameter α can be used to control short edge and long edge of the random graph, and parameter β can be used to control the value of average degree of the random graph. 4.2 simulation model to conduct the simulation studies, we used randomly generated networks on which the algorithms were executed. this ensures that the simulation results are independent of the characteristics of any particular network topology. using randomly generated network topologies also provides the necessary flexibility to tune various network parameters such as average degree, number of nodes, and number of edges, and to study the effect of these parameters on the performance of the algorithms. the platform used was the ns2 (network simulator version 2) [24]. ns2 is a discrete event simulator targeted at networking research. ns2 provides substantial support for simulation of tcp, routing, and multicast protocols over wired and wireless networks. fuzzy routing decision was implemented using the fuzzy logic toolbox in matlab [25]. the simulator ran with various input configuration settings and the statistics collected were analyzed in comparison with other well-known on demand routing protocol aodv [2]. our simulation modeled a network of mobile nodes placed randomly within 1000 × 1000 meter area. each node had a radio propagation range of 250 meters and channel capacity of 10 mbps. two-ray propagation model was used. the ieee 802.11 distributed coordination function was used as the medium access control protocol. a random waypoint mobility model was used: each node randomly selected a position and moves toward that location with a speed ranging from just above 0 m/s to 10 m/s. when the node reached that position, it became stationary for a programmable pause time; then it selected another position and repeated the process. the simulation was repeated with different seed values. a traffic fuzzy controller based qos routing algorithm with a multiclass scheme for manet 433 generator was developed to simulate cbr (constant bit rate) sources. the size of the data payload was 512 bytes. data sessions with randomly selected sources and destinations were simulated. each source transmitted data packets at a minimum rate of 4 packets/sec. and maximum rate of 10 packets/sec. traffic classes were randomly assigned and simulation was carried out with different bandwidth requirements. there were no network partitions throughout the simulation. each simulation was executed for 600 seconds of simulation time. multiple runs with different seed values were conducted for each scenario and collected data was averaged over those runs. table 4 lists the simulation parameters which are used as default values unless otherwise specified. table 4: simulation parameters number of nodes 100 terrain range 1000m × 1000m transmission range 250 m average node degree 3-5 node’s mobility speed 0-10 m/s mobility model random way point propagation model free space channel bandwidth 5 mbps links delay 20-200 ms traffic type cbr data payload 512 bytes/packet node pause time 0-10 seconds 4.3 performance measures the following measures are used in computing the scheduler performance. these measures were derived from one suggested by the manet working group for routing protocol evaluation. packet delivery ratio: packet delivery ratio is the ratio of the number of data packets actually delivered to the destinations to the number of data packets supposed to be received. this estimate gives us an idea about how successful the protocol is in delivering packets to the application layer. a high value of packet delivery ratio indicates that most of the packets are being delivered to the higher layers and is a good indicator of the algorithm performance. path success ratio: the ratio of the number of connection request discover to the destinations to the number of routed connection requests. the successful routing request is defined as the path computed and established by the algorithm satisfies the delay and bandwidth constraints. this number presents the effectiveness of the algorithm. average end-to-end delay: this indicates the end-to-end delay experienced by packets from source to destination. the average end-to-end packet delay is computed as the ratio of total end-to-end delays to the aggregate number of packets successfully delivered to the destination nodes during a simulation run. a higher value of end-to-end delay means that the network is congested and hence the routing algorithm does not perform well. 434 b. sun, c. gui, q. zhang, h. chen 4.4 simulation results in this performance evaluation the following performance measures were evaluated: packet delivery ratio, percentile of path success ratio and edge-to-edge delay. for each evaluation, we used cbr. all simulations started with initial scheduler configuration with 60% of the bandwidth for each class. to eliminate simulation results with an empty network, we started collecting results 30 seconds after the beginning of the simulation. after optimization procedure was executed, we could verify the result comparing packet delivery ratio, path success ratio, and average end-to-end delay. figure 4 shows the performance analysis of the packet delivery ratio vs. network size for the fqra, aodv, and non-qos (not quality of service metric constraints) in ad hoc network. using non-qos constraints algorithm as a base line for comparison, the result shows that both fqra and aodv are much better than the non-qos constraints algorithm, fqra is considerably better than aodv. this is because that aodv needs to rediscover the route to retransmit data packets that are lost due to the node’s mobility or unreal route paths during the communication. the advantage of fqra is resulted from choosing the right routing path or updating the unreal route paths just in time by the virtue of the suitable route lifetime estimation. figure 4: packet delivery ratio vs. networks size figure 5 shows the comparison of the three algorithms with respect to the average end-to-end delay vs. number of nodes. it shows that the end-to-end delay increases usually with the increasing node. from the figure 5, we can see that when the nodes increase, fqra algorithm average end-to-end delay is lower than that of aodv and non-qos algorithm. this is because the fuzzy scheduler controller has stability routes and gives more precedence to the packets. both the aodv and non-qos algorithm need more time and more control overhead than the fqra does to recover unreal paths (broken paths) and to discover new paths. as the nodes increase, more packets are received and thus end-to-end delay increases. the end-to-end delay is important as many real time applications require a small latency to deliver usable data within stipulated period of time. figure 6 depicts a comparison path success rate to find the path through fqra, aodv and non-qos in ad hoc network. with the relaxation of bandwidth constraints, the path success rate becomes higher for non-qos. the success rate is still higher than that of non-qos, which means more suitable for the routing choosing under timely data transmission application and dynamic network structure. the average and-to-end delay performance as shown in the figure 7, proves that the end-to-end delay improves when scheduler is included. as the mobility varies from 0-10 m/s, the fuzzy controllers scheduler provides an end-to-end delay reduced by around 0.01 seconds to 0.05 seconds. it shows that the end-to-end delay increases usually with the increasing speed. it also shows that fqra is much better than the other two. both the non-qos and the aodv need more time and more control overhead than the fqra does to recover unreal paths and to discover new paths. fuzzy controller based qos routing algorithm with a multiclass scheme for manet 435 figure 5: average end-to-end delay vs. networks size figure 6: path success ratio vs. bandwidth figure 7: average end-to-end delay vs. node’s mobility speed 436 b. sun, c. gui, q. zhang, h. chen 5 conclusion and future work our qos routing algorithm has produced significant improvements in throughput, average end-toend delay and path success ratio. the fuzzy controllers scheduler algorithm attaches a qos class to each packet in the queue of the node. unlike the normal sorting procedure for scheduling packet, the crisp qos class is calculated by the fuzzy scheduler based on the above inputs which are derived from the network. the membership functions and rule bases of the fuzzy scheduler are carefully designed. the use of fuzzy logic improves the handling of inaccuracy and uncertainties of the ingress traffic into the domain. in this paper, we present a fuzzy controller based qos routing algorithm with a multiclass scheme in mobile ad hoc networks. the performance of this scheduler is studied using ns2 and evaluated in terms of quantitative measures such as path success ratio, average end-to-end delay and throughput. simulation shows that the approach is efficient, promising and applicable in ad hoc networks. future work includes comparison with "crisp" versions of the fuzzy algorithm to isolate the contributions of fuzzy logic, as well as applications of fuzzy control to power consumption and directional antennas in manets. we also intend to compare fqra with other qos routing algorithm. acknowledgement the authors thank the editors and the anonymous reviewers for their valuable comments that helped to improve the paper. this work is supported by china postdoctoral science foundation of china (no. 20070410955), the young and middle-aged elitists’ scientific and technological innovation team project of the institutions of higher education in hubei province (no. t200902), and key scientific research project of hubei education department (no. d20081904, q20091903, b20091904). bibliography [1] m. a. rajan, m. g. chandra, l. c. reddy and p. hiremath, concepts of graph theory relevant to ad-hoc networks. international journal of computers, communications & control, vol. 3, no. suppl, pp. 465-469, 2008. [2] c. perkins, e. belding-royer and s. das, ad hoc on-demand distance vector (aodv) routing. ietf rfc 3561, july 2003. [3] s. chen and k. nahrstedt, distributed quality of service routing in ad hoc networks. ieee journal on selected areas in communication, vol. 17, no. 8, pp. 1488-1504, 1999. [4] r. sivakumar, p. sinha and v. bharghavan, cedar: core extraction distributed ad hoc routing. ieee journal on selected areas in communication, vol. 17, no. 8, pp. 1454-1465, 1999. [5] c. y. chang, c. t. chang, t. s. chen and h. r. chang, hierarchical management protocol for constructing a qos communication path in wireless ad hoc networks. information sciences, vol. 177, no. 13, pp. 2621-2641, 2007. [6] b. l. sun and l. y. li, a qos multicast routing optimization algorithms based on genetic algorithm, journal of communications and networks, vol. 8, no. 1, pp. 116-122, 2006. [7] b. l. sun, l. y. li, q. yang and y. xiang, an entropy-based stability qos multicast routing protocol in ad hoc network, lecture notes in computer science, vol. 3947, springer-verlag, pp. 217-226, 2006. fuzzy controller based qos routing algorithm with a multiclass scheme for manet 437 [8] b. l. sun, s. c. pi, c. gui, et al, multiple constraints qos multicast routing optimization algorithm in manet based on ga. progress in natural science, vol. 18, no. 3, pp. 331-336, 2008. [9] b. l. sun, h. li, y. zeng and q. q. qin, fuzzy qos controllers in mobile ad hoc networks using genetic algorithms. journal of computational information systems, vol. 3, no. 6, pp. 2255-2260, 2007. [10] b. l. sun and l. y. li, a distributed qos multicast routing protocol in ad hoc networks. journal of systems engineering and electronics, vol. 17, no. 3, pp. 692-698, 2006. [11] a. thomas, c. chellappan and c. jayakumar, anthoc qos: quality of service routing in mobile ad hoc networks using swarm intelligence. in: the second asia pacific conference on mobile technology, applications and systems, guangzhou, china, 1517 november, 2005. [12] y. h. wang and c. f. chao, dynamic backup routes routing protocol for mobile ad hoc networks, information sciences, vol. 176, no. 2, pp. 161-185, 2006. [13] m. p. fernandez, a. de castro, p. pedroza and j. f. de rezende, qos provisioning across a diffserv domain using policy-based management. in: globecom 2001, san antonio, usa, nov. 2001. [14] r. q. hu and d. peter, a predictive self-tuning fuzzy logic feedback rate controller. ieee/acm transactions on networking, vol. 8, no. 6, pp. 697-709, 2000. [15] h. b. kazemian and l. meng, a fuzzy control scheme for video transmission in bluetooth wireless. information sciences, vol. 176, no. 9, pp. 1266-1289, 2006. [16] d. h. lorenz and a. orda, qos routing in networks with uncertain parameters. ieee/acm transactions on networking, vol. 6, no. 6, pp. 768-778, 1998. [17] s. rea and d. pesch, multi-metric routing decisions for ad hoc networks using fuzzy logic. in: proc. of 1st intl. symposium on wireless communication systems, mauritius, 20-22 september, pp. 403-407, 2004. [18] h. m. sheng, j. c. wang, h. h. huang and d. c. yen, fuzzy measure on vehicle routing problem of hospital materials. expert systems with applications, vol. 30, no. 2, pp. 367-377, 2006. [19] s. t. sheu and m. h. chen, a fuzzy bandwidth allocation controller to support real-time traffic over wireless network. in: proc. of ieee wireless communications and networking conference, new orleans, la, vol. 1, pp. 1348-1352, 1999. [20] y. xiao, c. l. p. chen and y. wang, optimal admission control for multi-class of wireless adaptive multimedia services, ieice transaction on communications, special issue on mobile multimedia communications, vol. e84-b, no. 4, pp. 795-804, 2001. [21] b. l. ye, m. y. guo, d. x chen and s. l. lu, a degree-constrained qos-aware routing algorithm for application layer multicast, information sciences, vol. 177, no. 17, pp. 3613-3626, 2007. [22] l. a. zadeh, fuzzy sets. information and control, vol. 8, no. 3, pp. 338-353, 1965. [23] r. zhang and y. phillis, fuzzy control of queueing system with heterogeneius servers. ieee trans. fuzzy systems, vol. 7, no. 1, pp. 17-26, 1999. [24] the network simulator ns-2, http://www.isi.edu/nsnam/ns/. [25] fuzzy logic tool box (for use with matlab) users’ guide version 2, the mathworks inc., http://www.mathtools.net/matlab/fuzzy_logic/. 438 b. sun, c. gui, q. zhang, h. chen baolin sun (born in 1963), graduated in mathematics (the huazhong normal university, wuhan, china) and received ph.d. in computer science (wuhan university of technology, wuhan, china). he is currently a professor, and one of editorial board guest members of world scitech r&d, one of the paper reviewers of chinese of journal electronics, journal of electronics & information technology, high technology letters, and kgcm, iccit program committee members, and also an international standard draft organizing members of iso/iec jtc1/sc6. his research interests include qos multicast routing, distributed computing, network optimization and ad hoc networks. professor sun has published over 100 research papers and is the author of four books. he was awarded the province special prize by the hubei province government in 2007. chao gui (born in 1964), graduated in physics (the wuahn university, wuhan, china) and received m.s. degree in electrical engineering (wuhan university of technology, wuhan, china). he is currently a associate professor in computer science. his research interests include wireless communication, performance analysis and analytical modeling. he has published over 30 research papers. qifei zhang (born in 1977), graduated in computer science (the jianghan university, wuhan, china) and received ph.d. in information and communication engineering (huazhong university of science and technology, wuhan, china). he is currently a lecturer in computer science. his research interests include wireless local area networks, mesh networks, network protocol and congestion control. he has published over 30 research papers. hua chen (born in 1977), graduated in graduated in mathematics (the huazhong normal university, wuhan, china) and received m.s. degree in mathematics (huazhong university of science and technology, wuhan, china). she is currently a lecturer in mathematics. her research interests include wireless communication, performance analysis, network model and algorithm. she has published over 20 research papers. international journal of computers, communications & control vol. i (2006), no. 1, pp. 73-79 grigore c. moisil: a life becoming a myth solomon marcus “all what is correct thinking is either mathematics or feasible to be transposed in a mathematical model.” grigore c. moisil (1906 1973) grigore c. mosil, romanian mathematician, professor at the university of bucharest faculty of mathematics and computer science, member of the romanian academy, member of the academy of sciences in bologna and of the international institute of philosophy, computer pioneer award of ieee computer society (ieee 1996). grigore c. moisil belongs to the fifth generation of romanian mathematicians. the first generation includes the founders spiru haret and david emmanuel, both with doctorates at sorbonne (paris). they were born at the middle of the xixth century and have the merit to initiate the high level mathematical research in romania. (we leave aside transylvania, with janos bolyai, who already in the first half of the xixth century discovered non-euclidean geometry). the second generation includes the first romanian mathematicians with a long career of scientific research: gh. ţiţeica, d. pompeiu (both with doctorates at sorbonne), al. myller and vera myller (both with doctorates at gottingen, germany). they had already an important impact on moisil’s formation as a mathematician. the third generation includes victor valcovici, traian lalescu and simion stoilow (considered as the most important romanian mathematician until the sixties of the xxth century), born in the eighties of the xixth century. lalescu died very young (in 1929), but valcovici and stoilow became great professors not only before, but also after the second world war. we have then a fourth generation of mathematicians born in the last decade of the xixth century: octav onicescu (the initiator of the romanian school of probability theory), petre sergescu (the organizer of the first two congresses of romanian mathematicians, before the second world war), dan barbilian (the same as the poet ion barbu), alexandru froda and gheorghe vranceanu (the greatest romanian geometer after ţiţeica). directly or indirectly, all these mathematicians had an impact on moisil’s personality. born in tulcea (dobrogea), with a long genealogic tree of high intellectuals in the north-western part(bistriţa-năsăud) of romania, with school training partly in bucharest, partly in iasi (moldova), moisil’s childhood and adolescence are well known from his own diary published in the recent years by moisil’s widow viorica moisil, who took great care of the whole scientific and human heritage of her husband. the main teachers of the child moisil were his parents; his father was an important historian, while his mother was just an educator for elementary school. the child grigore enjoyed to look around, to give free expression to his curiosity and wonder, to ask questions, to read books of a large diversity, from science to literature and from practical jobs to philosophy. he felt always the need to react to what he was seeing, listening and reading. his diary is an excellent mirror of this fact. his main pleasure was always of an intellectual nature, he was not attracted to play with other children or to practice various sport games. his mother taught him to count and to make calculations and only in a second step to read and to write. the most important part of the learning process took place at his home, with his parents and some time with his brothers and his sister, all of them becoming copyright c© 2006 by ccc publications 74 solomon marcus intellectuals. moisil’s diary should be known by the children of the new generations. the attitude of the child moisil towards learning remained his attitude towards life. he enjoyed to interact with people, to read, to write and to learn. he did all these things with pleasure and with humor, he was able to contaminate people with his capacity to discover something new where most people see nothing new; to invent questions where most people believe that everything was already answered. his attraction for mathematics did not diminish his interest for the other school disciplines. his curiosity was total and remained total during his whole life. but his passion for mathematics and his way to understand mathematics lead him to see the world through the glasses of mathematics; so mathematics was not for him only a profession, a job, it was a way to look at the life and at the universe. when moisil had to become a university student, choosing math was equivalent for most people with choosing engineering, so his parents pressed him to choose polytechnical school, where he became a student in 1924; but one year before he became also a student of the faculty of science, mathematical section. he did not like engineering, so he never finished polytechnical school, but the irony of life decided that moisil had to return to engineering much later, when he discovered that logic and engineering share some very important features. on the other hand, the university student moisil attended many classes of philosophy, of history and of art. his teachers were ţiţeica, lalescu, davidoglu and others, but the university teacher who impressed him the most and became his spiritual model was dimitrie pompeiu. his phd thesis (1929) was about the analytic mechanics of continuous systems. as a characteristic feature of his works published in the twenties and the thirties of the past century, we observe that most of them were at the interference of differential equations (with partial derivatives), differential geometry, function theory and mechanics. the main reason of this situation was that moisil was devoted to the topics most considered by his predecessors and his colleagues (pompeiu, with his areolar derivative, vrânceanu, with his neolonomic varieties, nicolae teodorescu with his papers on finsler spaces etc.), but he also paid attention to the work of some great western mathematicians of his time: eli cartan, w. blaschke, and mainly vito volterra and jacques hadamard. having the opportunity to work with volterra (1931-1932) in rome, moisil became a pioneer of the functional methods in differential geometry and mechanics (let us recall that volterra is one of the initiators of functional analysis). but before this, moisil was in paris, working with great french mathematicians such as hadamard (1930-1931); he spent a second period in paris after returninf from rome. so, in this atmosphere moisil obtained a generalization of volterra’s conjugate functions and he also generalized hadamard’s total geodesic varieties. from the same period let us recall the joint paper by moisil and teodorescu on holomorphic functions in the space (1931), the first joint work in romanian mathematics. joint works remained a rare phenomenon until the middle of the past century. at nevember 1, 1932, moisil is named a provisional associate professor of algebra at the university of iasi. at that moment, moisil was already the author of an important number of scientific papers, but no of them was in the field of algebra. his first algebraic paper (in the field of non-associative algebra) was published only in 1934. so, this fact came as a surprise. but for a good observer, nothing surprising was in this fact. behind the diversity of topics, moisil was, in most of his mathematical papers, mainly an algebraist, his genuine thinking was almost always of an algebraic nature. in everything he did, he projected an algebraic spirit. within the framework of his traditional preoccupations of analysis, geometry and mechanics (monogeneity, function theory, geodesics in some riemann spaces, partial differential equations etc.), he works with algebraic tools such as functional groups, parametric groups, monogenic quaternions, hypercomplex numbers, ideals of polynomials, areolar polynomials, polynomials associated to some bilinear differential expressions with constant coefficients, interpretation of the fundamental group of a differential variety etc. to the above fact, we have to add an event having an important role in moisil’s life: the publication, in the first part of the fourth decade of the past century, of the book of van der waerden, "moderne algebra". it was an important sign of the move of algebra from the quantitative to the qualitative, from the algorithmic to the structural phase of its evolution. it was a turning moment in moisil’s mathematical life, an event having a huge impact on moisil’s further evolution. in this order of ideas, we should observe that moisil is the first to introduce bourbaki’s ideas in romania, at a moment when bourbaki’s mathematical structuralism, strongly influenced by the german school of structural algebra, was only a project. in his course of general analysis (analiza genarala) published towards the end of the thirties of the past century, moisil gives an account of henri cartan’s theory of filters, while uniform spaces were also presented there. but moisil was not the first to teach in iaşi modern structural algebra; he was preceded in this respect by vera myller. on the other hand, emmanuel and lalescu had also, at some moments, the opportunity to teach some ideas on groups and fields. however, it seems that moisil was the first to give to this structural style the whole amplitude. only barbilian will go further in this respect, but this will happen grigore c. moisil: a life becoming a myth 75 in the second half of the fourties of the past century. moisil became full associate professor of algebra at january 1, 1935, but at november 1, 1936 he got a position of professor of differential and integral calculus and then full professor of calculus in november 1939, all of them at iaşi university. moisil spent ten years at iaşi university (1931-1941). it was a period in which he alternated his old interests in continuous mathematics, with applications to mechanics and physics, with his new interests in discrete mathematics, mainly in algebra and logic. moisil was very impressed by an article due to the polish logician jan lukasiewicz, on the logic with three values (then the interest moved to several values) and by the analogy proposed by lukasiewicz between the non-classical logics, on the one hand, and the non-euclidean geometries, on the other hand. as the initiator of the logic of three values, lukasiewicz was considered as the lobatchevski of logic. it was one more reason for moisil to be attracted by logic: his philosophical interests lead him to pay great attention to the philosophical consequences of quantum mechanics, where aristotle logic is no longer valid. indeed, the principle of excluded middle is here replced by a principle of included middle. in the thirties of the past century, important authors, such as john von neumann, paid attention to the logic of quantum mechanics. it was also the principle of universal determinism which was under question; certainty is replaced sometimes by probability. moisil and some of his colleagues (onicescu, procopiu, barbilian etc.) organized some debates on this topic and reading his writings in this respect one can understand how this interest motivated him to orient his attention towards mathematical logic, a field where he published his first paper in 1936, in a volume devoted to the 75th birthday of vitto volterra. he will never leave this field, but concomitantly he will remain also stable in his old interests. only in the last decade of his life he will be devoted exclusively to discrete mathematics. but, being first of all an algebraist, moisil will project in his studies in logic the same algebraic spirit. his main project was to build for lukasiewicz’s logic of several values an algebraic framework in a way similar to the way george boole has proposed in the xixth century an algebraic model for aristotle’s logic (based on the principles of identity, non-contradiction and excluded middle). moisil called this framework "lukasiewicz algebras", but ultimately these algebras received the more appropriate name "lukasiewicz-moisil algebras"; this name became the title of a monograph published at north holland publishing house by a team lead by professor sergiu rudeanu. his move from iaşi to bucharest university, at the end of the year 1941. was a dramatic one. not only moisil, but also vrânceanu, barbilian and miron nicolescu were competing for the same position of professor. among them, moisil was the youngest and with the smallest chance to win. the winner was vrânceanu. then, moisil had the happy idea to convince the ministry of education, ion petrovici, to create three different chairs and so all of them became professors; it was the great chance for the next generation (that of the author of these lines) to benefit of such great professors. after the second world war, moisil had many interesting initiatives. one of them was related to an idea proposed by shannon in his phd thesis and independently by some russian engineers, to associate electric circuits with binary logic, because each of them works with two values: yes or no in logic, while the circuit is open or closed. moisil succeeded to develop this idea in many variants, stimulating a whole team of researchers to articulate engineering, classical and non-classical logics and various types of algebraic structures with some ideas from number theory. another fruitful idea was to associate some matrices to some systems of linear partial differential equations. but perhaps more important was the way moisil understood, in the early fifties, that the emergence of the new paradigm of information, communication and computation could change to a large extent the social, cultural and scientific life of the next decades. in 1949, he initiates a whole school in the field of the algebraic theory of automatic mechanisms as a professor of the bucharest university, he was the first to teach there mathematical logic. articulating logic and automata, moisil was well prepared to organize the romanian development in the emergent field of computer science. he monitorized the building of he first romanian computer, by victor toma, at the institute of atomic physics, in 1957, and, on the other hand, he organized courses in the field of computation at the faculty of mathematics, university of bucharest. he also directed the first promotion of students in mathematics to work with the team of victor toma, at the institute of atomic physics; they were trained to learn programming at the new computers cifa (calculatorul institutului de fizica atomica). the first romanian team of mathematicians included dragos vaida, i..moldovanu, gh. zamfirescu, g. klarsfeld. so, we can say that 1957 is the date of birth of romanian computer science, under the guidance of professor moisil and by the collaboration between engineers and mathematicians. in 1962, moisil initiates a new section "computing machines" at the faculty of mathematics and physics of the univ of bucharest and, associated with this section, the computing center of the univ of bucharest (ccub); as a matter of fact, ccub was under the guidance of the chair of algebra, whose chief was moisil. in 1963, 76 solomon marcus ccub is endowed with the computer cifa 3, the third version of the first romanian electronic computer, and with an analogic computer of meda type. moisil is very active in preparing the corresponding mathematical background: learning of algol 60, organization of a seminar of algebraic theory of automatic mechanisms (started in 1954), organization of a course of logic applied to electric circuits and of a seminar of mathematical logic (started in 1966); numerical analysis and combinatorics are also stimulated. in a further step, mathematical biology and mathematical linguistics as well as perspectives of computation in various fields of the humanities: history, archeology, musical composition etc. in 1968, ccub is endowed with a computer ibm 360/30 of the third generation and the learning of fortran and cobol is introduced. ccub became a place where people from all cultural horizons came to learn from professor moisil how could they take profit in using in their own field the mathematical and computational thinking. lawyers and musicians (among them, aurel stroe), engineers and economists, linguists and philosophers, biologists and medical doctors, painters and writers were visiting ccub and the main reason of this fact was the presence there of professor moisil, who had the gift to leave the mathematical jargon and to address non-mathematicians in the simplest possible language; and in this simple language he was able to explain the mathematical and computational way of thinking. the capacity of moisil to seduce and to fascinate the auditory became very fast an element of attraction for mass media. newspapers, radio and television began to invite him and moisil became a star whose fame was in competition with that of the most popular singers and actors. his unique voice, his way to transform the speech in a song, his spontaneity, his humor, his permanent state of joy made moisil so popular, that even today, 33 years after his death in may 1973, his statements are still in the attention of the public. "new ideas appear first as paradoxes, then they become common truth and ultimately they die as prejudices"; "is logic a practical science ? yes, because you learn from it how to take decisions" ; "you lose a lot of time when you believe that you know what in fact you don’t know". many of his jokes have a mathematical structure. here is a joke illustrating the recursive thinking: "every man has right to a glass of wine; but when you drink a glass of wine, you become another man" (the corollary: every man has right to infinitely many glasses of wine). a joke illustrating self-reference: a child asked him: "professor moisil, do you like dreams ?" – "yes, i had once a dream in which i was sleeping during a session and when i waked up i was really in a session". jokes having the same pattern, being so able to be produced algorithmically: "the water is bad, even in the shoes"; "everything can be proved; even the truth"; "you can fall in love with any women; even with your wife"; "every joke can make you to be in the best mood; even the above ones". all these jokes have as a common denominator the confusion between normality and exceptionality: the water in the shoes, the proof of a truth; to be in love with your wife. as soon as you understood the pattern, you can produce infinitely many jokes of similar type. at 11 february 1971, moisil sends a letter to the rector of the bucharest university, proposing a whole program of organization of education in the field of computers and their mathematics. in january 1973, he sends another letter to the dean of the faculty of mathematics, where he explains that this faculty has a great responsibility concerning the formation of the teachers of computer science with a solid mathematical background. moisil explains that the main job in this respect is to assure the computational literacy of the coming generations, because in the emergent period of the information and computation all professions will need in some way familiarity with computing and programming. very few people were aware at that moment of this truth which today is obvious. in this respect, we can consider moisil as a kind of spiru haret of the second half of the past century: haret was an important fighter against illiteracy, while moisil was an important fighter against computational illiteracy. due to his multiple interests, moisil succeeded to form a lot of disciples in various directions: in mechanics of solids (nicolae cristescu, p.p.teodorescu, m. predeleanu, george dinca), in logic (sergiu rudeanu, george georgescu, afrodita iorgulescu), in computer science (dragoş vaida, constantin popovici, paul constantinescu), in logic of electric circuits (l. livovschi), in algebra, in analysis, in differential geometry. if the child moisil revealed a total curiosity, the same totality characterizes the creative work of the adult moisil. within mathematics, he interrelates all its domains; beyond mathematics, he is looking for the way mathematics may have an impact on natural and social sciences; beyond science, he is questioning the relation between math and philosophy, between math and art; beyond culture, he is interested in the impact of math in the everyday life. scholars are of two types: the ant type, looking for what happens in a specific area of knowledge and trying to deepen more and more the respective segment of investigation; but there is also the bee type, going from flower to flower and changing frequently the area of investigation. obviously, moisil was of the second type. but, looking with more attention at his behavior, we realize that he was sometimes of a mixed type, because he liked to go back to flowers already visited. i remember his renewed interest in the sixties in the problem of mechanics he discussed long time ago in his phd thesis. after the second world war, his growing interest in discrete mathematics was concomitant with the continuation of his work in continuous mathematics. his general grigore c. moisil: a life becoming a myth 77 strategy was to trust the unity of mathematics and the potential solidarity between its different parts, including the case when these parts seem to be completely away each other. for this reason, he used to oblige his phd students to pass examinations on some chapters of math which apparently were very far from the object of direct interest of the respective student. this is the reason why most of his papers combine different branches of math. another interesting feature of moisil’s works is their strong link with the works of his colleagues and of his professors. a typical example are his papers of geometry. arrived in iaşi at the end of the year 1931, when he was only 26, but with his thesis published by gauthier-villars (paris, 1929), moisil found an adequate atmosphere in the seminar lead by al. myller, predominantly concerning differential geometry. at that moment, he was considered, in view of his already published works, the founder of the theory of infinite dimensional riemann spaces. to this, he added the study of infinite lie groups and of mechanical systems with infinitely many degrees of freedom. but the geometric methods used by moisil were for him a tool to investigate the mechanics of systems of material points with infinitely many degrees of freedom. for him, the respective geometric model consists of infinite dimensional subvarieties in an adequate hilbert space. in other situations, he is oriented towards the geometrization of systems of equations with partial derivatives. so, analysis, geometry, mechanics form an organic mathematical entity. see, for more, in this respect, the article by acad. radu miron in "academica" (forthcoming, 2006), from which we have borrowed some elements. in order to illustrate the style of work done by moisil in the field of math and humanities, we will indicate some ideas he developed in the field of what he called "the mechanical grammar of romanian". he proposed some new classifications of romanian nouns and verbs. two ideas deserve to be mentioned. the first one concerns the possibility to use, in the declension of nouns and conjugation of verbs, of what he calls the method of variable letters, by means of which he copes, in a very elegant way, with the phenomenon called in linguistics "morphological alternances". the variable letters are like the functions defined by means of two or several analytic expressions, each of them for a specific part of the domain of definition of the function. another idea proposed by moisil concerns the conjugation of verbs, where a classification is made according to the behavior of what is called "the more than the perfect" (mai mult ca perfectul). another paper concerns a comparative analysis between the linguistic conjunction "and" and the mathematical conjunction "and", in the case of romanian language, but things remain valid, to a large extent, for other languages too. for instance, it is shown the contrast between the possibility to iterate indefinitely the use of "and" in logic, and the impossibility of doing the same in linguistics. to his own works in this respect, moisil added his capcity to stimulate and to guide the first steps in the development of mathematical and of computational linguistics in romania. he guided the first algorithm of automatic translation (english-romanian) by erica nistor, the similar work by minerva bocsa in timisoara, the work done by the team lead by p. schveiger in cluj-napoca and the work done by eliza roman in the field of automatic abstracts and automatic documentation. the author of this lines remains indebted to moisil for his major help jointly with the linguist alexandru rosetti, concerning the first steps of mathematical and computational linguistics in romania. moisil and rosetti made possible the organization of the first university courses with this profile; they founded "cahiers de linguistique theorique et appliquee", a journal of an interdisciplinary nature, devoted to the interferences among linguistics, mathematics, computer science and poetics. the remarkable fact, in these articles, is the capacity of moisil to develop the mathematical way of thinking in absence of the usual mathematical jargon, consisting of formulas, equations, calculations etc. he never leaves in these texts the natural language. another aspect of moisil’s personality can be seen in his philosophical writings. mathematics and philosophy were for him two faces of the same coin, each of them requiring the other. already during his childhood and adolescence, his interrogative nature and his readings prepared the way towards his philosophical personality. he reads poincare and selects in his diary statements such as : "science deserves to be studied for the glory of human spirit" and "for the enormous pleasure offered by the knowledge of truth", more than "for its practical utility". somewhere he notes: "life is a work of art. it is a pleasure to think to what happened sometimes in the past and will never happen again !". in another place he notes: "pleasure is more attractive when you are looking for it than when you feel it". a lot of remarks related to his readings in the field of history, of literature, of natural sciences, of religion etc. all of them, when he was 7, 8, 9, 10, 11, 12, 13, 14. here is a comment about the cause of wars: "if we cancel the fights having no rational motivation, only a few of wars remain in the memory of the history". a word of wisdom: "you don’t have to exagerate in love, because you risk to end by exagerating in hate". the articles in the field of philosophy deserve a special attention. the first one, chronologically, was published in 1937 and concerns the successive steps in the development of the mathematical knowledge. moisil was at that time under the strong influence of the ideas of vito volterra, who pays attention to the way mathematical knowledge is born from the pre-mathematical knowledge. in a first step, qualitative descriptions are converted 78 solomon marcus in quantitative ones, by means of measurements and counting. then the mathematics of quantity are developed, until the moment when qualitative aspects are again in attention. the development of physics and of mathematical analysis are followed concomitantly. the mechanical stage, the energy stage and the einsteinian stage of the generalized relativity theory are analyzed. then he directs his attention towards the development of qualitative mathematics and the main example is here the notion of a group, observed on the particular cases of the group of rotations and the group of permutations. we are lead in this way to what moisil will call structural mathematics and the way is prepared to connect it to the general emergence of structuralism (in psychology, in linguistics, in anthropology and before them in chemistry, with the idea of isomerism). moisil will be among the first to observe the big change brought by the new fields of topology, functional analysis, combinatorics, graph theory, mathematical logic, abstract algebra. in the same way, moisil stresses the importance of the theory of complex numbers and of their structural aspects. moisil analyzes the way classical infinitesimal calculus lead to general topology. the idea of a differential is both quantitative and structural (having the structure of a polynomial). logistics is a clear example of reduction of quantity to structure and this is the task of russell’s and whitehead’s "principia mathematica". starting from the contrast observed by other authors between the quantitative aspect of mathematics and the qualitative aspect of the acts of thinking, moisil observes that the acts of thinking have a structural rather than a qualitative aspect and so the mathematician’s job is to investigate the algebraic structure of the acts of thinking. so, concludes moisil, "ce n’est pas a l’ancienne logique de la qualite qu’on devra s’adresser, mais a la nouvelle algebre de la structure. ce n’est pas en effet trop tot si on essaie de construire une theorie coherente de la vie spirituelle". in his "la logique formelle et son probleme actuel" (1939), moisil investigates the principles of classical logic (identity, contradiction, excluded middle) and their modifications in brouwer-heyting’s intuitionistic logic, in kolmogorov’s intuitionistic logic, in lukasiewicz’s ternary logic; he also discusses the very nature of axiomatic deductive systems, with special attention to hilbert, russell and poincare. this investigation is continued in "sur l’autonomie des mathematiques" (1941), where he is using the term "panmathematisme" understood as the process of approaching mathematically the natural sciences and those of the human spirit (sciences de l’esprit)". in this order of ideas, he characterizes the mathematical activity as being irreducible, i.e., independent of empirical investigations and of any previous rational development. this is for him the autonomy of mathematics. moisil meets, in this respect, the way old greeks (pythagoras, platon), then kant and goethe, conceived mathematics (for kant, mathematics is what is called in german geisteswissenschaft). the utilitarian function of mathematics is in most cases a consequence of its cognitive function, but the temporal distance between the cognitive moment and the utilitarian one is usually imprevisible. we stress this fact, because in his writings after 1950, in view of the ideological constraints, he will no longer state explicitly the autonomy of mathematics, but he will defend strongly the need to develop pure mathematics, mathematics for its own sake, as a condition to reach applied mathematics. moisil considers that the human spirit can reach the center of a deductive discipline; mathematics can bridge the self and the non-self. he is consistent with the idea emergent much later, according to which the subject-object distinction will no longer be considered as sharp as in the classical science; consequently, the distinction between natural and human sciences is under question. as a matter of fact, mathematics is for moisil by excellence a human discipline. the last philosophical article he published before the communist regime was his "closure lecture at the university of iaşi" (16 january 1942): "the perspectives of axiomatic philosophy". we learn from this lecture that romanian scientists paid a great attention to the philosophical problems of their science, mainly those related to non-euclidean geometries and to relativity and to quantum mechanics. philosophers like ion petrovici, physicists like st. procopiu, mathematicians like victor valcovici, simion stoilow, octav onicescu, dan barbilian and gr. c. moisil were involved in hot discussions on these topics. ultimately, moisil stresses the human side of mathematics. "the axiomatic freedom of mathematics does not fit with something similar in the real life" observes moisil and this premonitory statement is followed by other similar statements: "human creative work is by excellence one of expression. the deep human desire is to be understood by other peoples. this expression which succeeds to be communicated is just what we call culture". will this communication remain possible ? such thoughts expressed in the hot year 1942, when the war knew dramatic changes and the future became increasingly unsure are just the thoughts of moisil at the moment when his stage in iasi ends and a new university life will begin in bucharest. at some moment, moisil makes reference to "goedel paradox". clearly, he has in view the famous 1931 goedel incompleteness theorem, but it is clear that this theorem had to wait until it will be understood in its deep meaning and huge consequences for the whole mathematics. this was not only moisil’s shortcoming, but a shortcoming of the quasi totality of the mathematical community. during the summer of the year 1942, stoilow and barbilian had a daily correspondence about foundations of mathematics, but the reference to goedel 1931 theorem did not exist grigore c. moisil: a life becoming a myth 79 in their dialogue. sometimes, moisil is very near to some ideas emergent much later. for instance, in "determinism si inlantuire" (1940), he refers to georges bouligand in connection with the fact that small changes in the initial data may have a big impact on the further development of a phenomenon. "throwing a small stone may have some influence on the movement of the sun", observes moisil. does not anticipate it the modern "butterfly effect"? in another place, he refers to the involvement of continuous nowhere differentiable functions in the study of brownian motion. so, chaotic systems and fractals are suggested to a contemporary reader. let us recall that several decades later brownian motion will be recognized as a strange fractal (whose hausdorff dimension is an integer). in one respect only, moisil failed. he did not succeed to organize his life in order to make it more efficient. moreover, he did not try this. ho died at 67, when his head was still full of ideas and projects. he did not know how to alternate work and rest, how to pay attention to his health. i remember my last meeting with him.it was in an evening of the spring of the year 1973. we left together the university and we were walking in the direction of his home, armeneasca street, 14. when we arrived at his house, he told me: "you know that sudan is the real author of the first recursive function that is not primitive recursive ?" (all treatises of mathematical logic claim that the author of such an example is g. ackermann). very interesting, i said. where did you find this ? then, moisil said: "it is too late now, i will tell you this at a next occasion". this "next occasion" never arrived. moisil left next days for canada, where he died on 21 may 1973. today is may 18. in three days we can say: moisil died just 33 years ago. but my curiosity to find out what is behind the mysterious message left to me by moisil obliged me to accomplish the respective research. together with two young students, cristian calude and ionel tevy, we took piece by piece all the published papers of gabriel sudan. no of them had in its title or in its introduction something suggesting the presence of such an example. it is perhaps a rule of the nature that more interesting is something, more hidden it is and more effort we need to discover it. this was the reality. the respective example was hidden in the last part of an article which was explicitly concerned with a problem having nothing to do with a recursive function which is not primitive recursive. clearly, sudan was not aware of the fact, like moliere’s hero, jourdain, who remained a symbol of such situations. i had the happy opportunity to edit a part of the scientific work of moisil, in three volumes published by the publishing house of the romanian academy. other writings of moisil were published also after his death, some of them under the care of viorica moisil. i edited his "lectii depre logica rationamentului nuantat" and his articles in the newspaper "contemporanul", under the label "stiinta si umanism". the articles published in "viata economica" were edited in a small book "indoieli si certitudini". now, we have in front of us the duty to publish his papers of "mechanical grammar of romanian" and his philosophical papers. moisil’s heritage belongs to the romanian culture and the new generations deserve to know this unusual personality. solomon marcus romanian academy e-mail: solomon.marcus@imar.ro editor’s note about the author: solomon marcus member of the romanian academy born: march 1, 1925, bacău, romania. elementary and high school in bacau. diploma of merit in mathematics, university of bucharest. asistant professor(1950), lecturer, associate professor, professor (1966) at the faculty of mathematics and computer science, university of bucharest. phd in mathematics 1956, doctor in science 1967, corresponding member of the romanian academy 1993, full member of the romanian academy 2001. research and teaching in mathematical analysis, theoretical computer science, linguistics, semiotics, poetics, history and philosophy of science, fields where he published about 50 books in romanian, english, french, german, italian, spanish,russian, greek, hungarian, czech, serbocroatian and about 400 research articles in specialized journals in almost all european countries, in usa, canada, south america, japan, india, new zealand etc. more than 1000 authors quoted his works. he is recognized as one of the initiators of mathematical linguistics and of mathematical poetics. hundreds invited lectures at various international scientific meetings. member of the editorial board of several tens of international scientific journals. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 953-960 using qsps in developing and realization of a production line in automotive industry n. tudor, v.c. kifor, c. oprean nicolae tudor continental automotive systems test department e-mail: nicolae.tudor@continental-corporation.com vasile claudiu kifor “lucian blaga” university of sibiu, director of the research department constantin oprean “lucian blaga” university of sibiu rector abstract: using the qsps (quality system for the production software) for industrial projects and not only therefore, has led to accurate running of the production line from beginning of the sop (start of production). this paper presents the application way of the qsps at one of the strongest european automotive company. by using of this system several significant costs savings and quality improvement can be observed. the content of this paper will show step by step how to use qsps for the integration of a production line in the traceability system from a big company in automotive industry. the production line involved contains 56 production equipments, which have to be passed trough by the product before being packet and deliver to the customer. the control of the line is done by this traceability system, so the impact of this system with the quality of the product is very high. the structure of this system contains 7 steps. all of these steps are followed and executed in each system (test, pilot and production environment). keywords: quality improvement, control, savings, efficiency, capability. 1 introduction the traceability software for the production lines becomes more and more important and is a very significant process while running complex production lines with a high difficulty degree. the entire customer claims issues, statistics, the control of the process, cpk (process capability index) studies, fpy (first pass yield) and ppm (defective parts per million) reports are done very simple, based on a strong traceability system. therefore a lot of techniques for implementing the traceability software were tested and checked, some of them successful and some less successful depending on the kind of the project. the paper below describes the practical usage of the qsps system in real situation for the implementation of the traceability software of a complex line which contains 56 stations. the qsps system, should improve the quality of work, cost and time saving at one side, but on the other side the system should be very simple and easy to be used in order to simplify the work activities and not to make it more complicated. copyright c⃝ 2006-2010 by ccc publications 954 n. tudor, v.c. kifor, c. oprean also the system should cover and prevent all the risk which can appear in all 3 qsps phases (test, pilot and production) because of non conformity of improper software. figure 1: qsps framework the next chapters describe step by step the implementation strategy of the traceability software, based on qsps, of the already specified production line. all of the steps are described in the test (model) system, which have to be implemented and build up much closed (or even identical) to the characteristics of the production system. those steps should be followed in all of the 3 environments systems of the qsps (test, pilot and production). 2 step i: time and cost evaluation this phase of the project should help to understand the deepness of the project, the difficulty level, and cost of the project, to make very clear and transparent the resources needed (time resources and headcounts) and to define a due date very closed to the reality. therefore the project should be split out in work packages, which can be better followed up, controlled and evaluated. the table 1 shows how the project was divided in work packages and subprojects. subproject work packages difficulty level process definition 2 process description 2 process review 2 technical requirements specification 3 target specification 3 software implementation concept 3 programming 3 documentation of the software 2 installation and configuration of the 56 modules 2 testing the 56 modules 2 advising and user support 2 project evaluation(the time for evaluation itself) 2 internal software release compliance to technical requirements 3 compliance to the software iso norms 2 calibration and adjustments(bug solving) 3 capability measurements 2 usage work instruction 2 user manual 2 ergonomics and design 2 customer software release efficiency analyze 3 defects analyze 3 corrective actions 2 analyze after corrective actions 2 customer release reports 2 validation and verification of the implemented software package lifetime test 3 test procedure for modification issues 2 continued on next page using qsps in developing and realization of a production line in automotive industry955 table 1 – continued from previous page subproject work packages difficulty level approval procedure 2 final releases 2 functional follow up of the software during production software audit 2 statistical rate of the occurred errors 2 customer claims problem recording 1 analyze and solving procedure 2 analyze report 1 table 1 project segmentation with this information the time evaluation can be done more accurate using the pert algorithm. the results of the time evaluation can be observed in figure 2. resource, time and costs evaluation project name version date employees rep. vo vn vp va total deviation process definition 1,0 30 30 32 30,3 30,3 0,1 2 2821 process description 1,0 16 20 20 19,3 19,3 0,4 2 1798 process review 1,0 8 10 10 9,7 9,7 0,1 2 899 technical requirements specification 1,0 80 90 90 88,3 88,3 2,8 3 14486,66667 target specification 1,0 40 50 50 48,3 48,3 2,8 3 7926,666667 software implementation concept 1,0 80 85 85 84,2 84,2 0,7 3 13803,33333 programming 1,0 160 160 170 161,7 161,7 2,8 3 26513,33333 documentation of the software 1,0 40 50 50 48,3 48,3 2,8 2 4495 installation and configuration of the 56 modules 1,0 40 50 50 48,3 48,3 2,8 2 4495 testing the 56 modules 1,0 40 50 50 48,3 48,3 2,8 2 4495 advising and user support 1,0 8 10 10 9,7 9,7 0,1 2 899 project evaluation(the time for evaluation itself) 1,0 4 5 5 4,8 4,8 0,0 2 449,5 internal software release 1,0 0,0 0,0 0,0 0 compliance to technical requirements 1,0 40 50 50 48,3 48,3 2,8 3 7926,666667 compliance to the software iso norms 1,0 8 9 9 8,8 8,8 0,0 2 821,5 calibration and adjustments(bug solving) 1,0 16 18 18 17,7 17,7 0,1 3 2897,333333 capability measurements 1,0 8 10 10 9,7 9,7 0,1 2 899 usage work instruction 1,0 8 8 8 8,0 8,0 0,0 2 744 user manual 1,0 8 8 8 8,0 8,0 0,0 2 744 ergonomics and design 1,0 8 8 8 8,0 8,0 0,0 2 744 customer software release 1,0 0,0 0,0 0,0 0 efficiency analyze 1,0 4 4 4 4,0 4,0 0,0 3 656 defects analyze 1,0 4 4 4 4,0 4,0 0,0 3 656 corrective actions 1,0 4 4 4 4,0 4,0 0,0 2 372 analyze after corrective actions 1,0 4 4 4 4,0 4,0 0,0 2 372 customer release reports 1,0 2 3 3 2,8 2,8 0,0 2 263,5 validation and verification of the implemented software package 1,0 0,0 0,0 0,0 0 lifetime test 1,0 8 9 9 8,8 8,8 0,0 3 1448,666667 test procedure for modification issues 1,0 4 5 6 5,0 5,0 0,1 2 465 approval procedure 1,0 8 8 8 8,0 8,0 0,0 2 744 final releases 1,0 8 8 8 8,0 8,0 0,0 2 744 functional follow up of the software during production 1,0 0,0 0,0 0,0 0 software audit 1,0 4 5 6 5,0 5,0 0,1 2 465 statistical rate of the occurred errors 1,0 4 6 6 5,7 5,7 0,1 2 527 customer claims 1,0 0,0 0,0 0,0 0 problem recording 1,0 0,5 0,5 0,5 0,5 0,5 0,0 1 30 analyze and solving procedure 1,0 3 3 3 3,0 3,0 0,0 2 279 analyze report 1,0 0,5 0,5 0,5 0,5 0,5 0,0 1 30 total 626 705 717 693,8 693,8 21,2 93549 work package (wp) costs (euro) time[h] dificulty level traceability project of production line 24.11.2009 number figure 2: project time and cost evaluation 3 step ii: internal software release this step is the first evaluation of the software package from quality point of view. at the same time it is the first control tool used to signalize if the software was done in the right way, accordingly to the requirements, to the quality norms and not at least to assure the production of qualitative products. therefore each of the steps below has to be verified. 3.1 compliance to customer specification this check has to be done based on the target specification. each step from this chapter must be checked. for help a check table can be used and the characteristics from the target specification should be proved. for the line in our example following characteristics were verified: 956 n. tudor, v.c. kifor, c. oprean • program flow; • special cases in real life (like emergency stop, current interruption); • fail /pass /scrap situations; • handshake protocol between the industrial equipment and traceability software; • communication syntax; • repair scenarios; • limitation of the nr. of repair process; • check in/check out process; • process parameter; • process results, cpk measurements; • statistics of the process; • statistic of the failure; • product logistic on the line (process flow); • line flow control; • back flushing to the main database, in order to administrate material stocks; • label scanning; • label syntax; • packing. check if the product pass all the processes in the line before being packed; • quality alert; • alert notification. 3.2 check the implemented software package for software techniques and standards for this point it was used the iso/iec 9899, for programming language c. based on technical corrigenda 1:2001 the source code was reviewed. also the next criteria were inspected at the very early beginning: • is the right software? • the target is reached? • interface to the users is clear and unique while using it? • at least one diagnostic message? • the programming editor was used correctly? (tabulator, empty spaces etc.) • requirements resulted from coded character set. • requirements resulted from binding techniques. • comments in the source code. • documentation. • usage documentation. 3.3 software calibration and adjustments (bugs solving) after the two chapters above were effectuated and all of the situations where verified, so all the bugs could be resolved, bugs which can occurred if the programmer doesn‘t consider a state from the program logic. 3.4 capability measurements (using pareto distribution, cpk, iso 15504) this measurement was done even in the test system. production units can be created virtual for a good simulation. knowing the handshake protocol between the traceability system and the using qsps in developing and realization of a production line in automotive industry957 industrial equipment, a simulation can be done very closed to the reality situation. with these results the real running of the production can be compared. the upper, respectively the lower limits are in this case the cycle time of the process admitted by the customer while processing a production unit. cpk was done as described in table 2, respectively the pareto distribution for the analyses of the software package in case of rejected software, table 3 respectively figure 3. unit id measured time lower limit 31 upper limit 36 1 33,5 30 36 2 33,2 30 36 3 34,1 30 36 4 33,9 30 36 5 33 30 36 6 34,3 30 36 7 33,2 30 36 8 32,9 30 36 9 33,8 30 36 10 33,6 30 36 11 33,7 30 36 12 33,6 30 36 13 32,9 30 36 14 33,1 30 36 15 33,8 30 36 16 34,3 30 36 17 33,9 30 36 18 33,6 30 36 19 33,2 30 36 20 33,3 30 36 21 32,7 30 36 22 33,5 30 36 23 33,8 30 36 24 34 30 36 25 33,6 30 36 26 33 30 36 27 33,8 30 36 28 32,9 30 36 29 33,4 30 36 30 33,9 30 36 average 33,51666667 deviation 0,435560149 cp 1,913245127 cpk 1,90049016 table 2: cpk calculation 3.5 software ergonomic and designs therefore we based on the iso 9241. this iso norm is a standard of ergonomics of human system interaction. following rules were proved: • suitability for the task (the software interface should be suitable for the user‘s task and skill level); • self-descriptiveness (the interface should make it clear what the user should do next); • controllability (the user should be able to control the pace and sequence of the interaction); • conformity with user expectations (it should be consistent); • error tolerance (the software should be forgiving); • suitability for individualization (the software should be able to be customized to suit the user) and • suitability for learning (the software should support learning). 4 step iii: customer software release (run@rate) for this step we run the line with 100 production units (in the test system we simulate the running of the line with virtual units) and observe the behavior of the software, of the users 958 n. tudor, v.c. kifor, c. oprean software return reasons problem count percent of total cumulative percent not compatible 21 30,67 30,67 does not perform as expected 18 18 50,33 missing hardware resources 15 16 54 not suitable for self learning 11 14 65,4 missing user manual 10 7 71 bad user interface 8 5,33 78 too complicated 7 4 88,9 bad cycle time 4 3 98,3 bad backup of recorded data 3 2 100 total 97 100 100 table 3: pareto analyze software return reasons 0 10 20 30 40 50 60 70 80 90 100 n ot c om pa tib le d oe s no t p er fo rm a s ex pe ct ed m is si ng h ar dw ar e re so ur ce s n ot s ui ta bl e fo r se lf le ar ni ng m is si ng u se r m an ua l b ad us er in te rf ac e t oo co m pl ic at ed b ad cy cl e tim e b ad b ac ku p of re co rd ed d at a percent of total cumulative percent figure 3: pareto distribution (operators) while using it in different situation and intentionally we cause extreme situation (like emergency stop of the equipment, current interruption... etc.) for a better software rating. a statistic is made for each equipment, inclusively the packing station. this statistic contains the number of the parts being processed on each station during one hour. also a pareto was realized similar to the figure 3. the following issues were also effectuated: • efficiency analyze (how many parts per hour per equipment); • defects (bugs) analyze; • causes and corrective actions; • reevaluation procedure after corrective actions; • creating reports (like 8d report). 5 step iv: validation and verification of the implemented software package after release and after the customer agreed the implemented software, the final release is made by the project manager. that means that the software is officially registered as a production software. at this level the project manager analyze the robustness of the software package by making some research about the following properties: • lifetime (how long the software will run without any modifications or maintenance), iso 12207 using qsps in developing and realization of a production line in automotive industry959 – acquisition analyze (how was the software required); – supply analyze (how was the software provided); – how it was develop; – how is the operating mode; – how much maintenance is needed. • modifications handling (how will be the modification make and tested); • documents like ppap (product part approval process) and psw (part submission warranty) are made and signed from the project manager. 6 step v: functional follow up of the software during the production after the software was accepted and installed in the production line, periodical (every 2 weeks) software audits were made to assure that the software is running in conformity with the requirements and the production criteria are fulfilled. in this software audit the main criteria (see chap. 3.1) are checked again. statistics are made for the cycle time, and errors occurred, in order to make the difference between software errors and process error. the main aim of this step is to find improvements for the software in order to make it more robust and efficient. 7 step vi: customer claims customer claim escalation plan is also created like in the figure 4 in order to obtain the best reaction time in case of software error which could appear, and disturb the normal running of the production. this will drive to very small solving and reaction times for eventually downtimes on the line because of software problems. 8 conclusions using the qsps system, the downtime of the line (containing the 56 production equipments) because of production software is decreased to almost 0%. the target of 0% is only possible when the technical requirements from the customer are done accurate and to 100% complete. even with incomplete requirements, using the qsps system the possibility to reach the target of 0% is possible. therefore the implementation and running of the software should have a much longer period of time running in the pilot environment, to assure a safe lunch in the production. in most all of the cases this is not possible because the production should always start even if some problems are unsolved, because of time pressure. qsps should eliminate that inconveniences, provoked by time pressure or other factors, due to a much easier structure, better and faster to be used, compared to other systems met till know in other studies. the advantage of using the qsps is that during the 3 environments (test, pilot and production), using the rules and iso norms for each of them, the almost or all troubles which occurred are filtered before running the real production. that means that after the sop (start of production) the interruption of the production line because of the software is almost inexistent. 960 n. tudor, v.c. kifor, c. oprean figure 3: escalation plan figure 4: escalation plan bibliography [1] kai-yuan cai, bey-bey yin, software execution processes as an evolving complex network, information science, april 2008. [2] georg kühner, torsten bluhm, employing industrial standards in software engineering for w7x, fusion engineering and design, 2009. [3] j.-w. li, modeling a quality assurance information system for product development projects with the uml approach, vol. 20, nr.4 of international journal of computer integrated manufacturing, june 2007. [4] n. tudor, c. kifor and c. oprean, quality system for production software qsps. [5] oprean, c., kifor c. v., suciu, o., managementul integrat al calităţii, sibiu, editura universităţii lucian blaga din sibiu, 2005, isbn 973-739-034-2. [6] n. tudor, d. dumitrascu, the benefits of project structuring in sub-projects and work packages, http://imtuoradea.ro/auo.fmte/files-2008/mie_files/tudor%20nicolae%202.pdf. [7] n. tudor, d. dumitrascu, advance estimate expenses for project execution time, http://imtuoradea.ro/auo.fmte/files-2008/mie_files/tudor%20nicolae%201.pdf. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 111-120 variable selection and grouping in a paper machine application timo ahola, esko juuso, kauko leiviskä abstract: this paper describes the possibilities of variable selection in large-scale industrial systems. it introduces knowledge-based, data-based and model-based methods for this purpose. as an example, case-based reasoning application for the evaluation of the web break sensitivity in a paper machine is introduced. the application uses linguistic equations approach and basic fuzzy logic. the indicator combines the information of on-line measurements with expert knowledge and provides a continuous indication of the break sensitivity. the web break sensitivity defines the current operating situation at the paper mill and gives new information to the operators. together with information of the most important variables this prediction gives operators enough time to react to the changing operating situation. keywords: variable selection, grouping, paper machine, web breaks 1 introduction data-driven modelling requires always variable selection or grouping. in small systems, expert knowledge gives a clear basis for the variable selection since possible interactions and causal effects are known fairly well. in these cases, few modelling alternatives can be compared interactively. variable selection becomes important when the number of variables increases, especially when normal process data is used. as a model should include a reasonable number of variables, a modular approach based on variable grouping provides a better process insight, which makes the model assessment easier. in practical cases, variable selection is necessary either because it is computationally infeasible to use all available variables, or because of estimation problems when limited data samples with a large number of variables are present. variable grouping means finding feasible groups and combinations of variables for modelling. it is closely connected to data clustering since the interactions can depend on the operating area. in large-scale systems, the number of possible variable combinations becomes easily very large, e.g. the case models of the web break indicator included originally 24 variables, which mean 2024 alternative three variable combinations. the newest version has 72 variables leading to 59,640 three variable groups, 1,028,790 four variable groups and 13,991,544 five variable groups. most of these alternatives are useless, and therefore, methods for selecting reasonable variables for modelling are crucial. there is a lot of recent literature on variable selection and both model and data-based techniques are in use. spectroscopic data, multi-sensor systems, multivariate analysis and modelling of large-scale systems seem to require efficient methods for variable selection. four different methods for variable selection ű genetic algorithm, iterative pls, uninformative variable elimination by pls and interactive variable selection for pls in partial least square (pls) regression are studied and compared to a calibration made with manually selected wavelengths in [1]. the application is nir analysis of pharmaceutical tablets. it has been found that multiresolution analysis (haar wavelets) pre-processing before variable selection leads to simpler models with lower errors than single-wavelength selection in nir data [2]. wavelength selection for process monitoring has also been done using genetic algorithms (ga) coupled with a curve resolution method (opa) [3]. variable selection is also an important topic in using multiway methods in modelling nir spectra from a pharmaceutical batch process [4]. nir analysis of sugar cane juice has utilized partial least squares (pls) pruning for variable selection [5]. uv-vis and nir spectrometry of oils takes advantage of the successive projections algorithm (spa) in large-scale variable selection [6]. copyright © 2006-2007 by ccc publications 112 timo ahola, esko juuso, kauko leiviskä quantitative structureűactivity relationship (qsar) studies require also sophisticated methods for variable selection. there is a report on applying multi-objective genetic programming (gp) to the hept data and constructing the nonlinear qsar model using counter-propagation (cp) neural network with the selected variables [7]. particle swarm optimizer (pso) applies for the same purpose and the comparison with gp is in [8]. norinder [9] reports also on the use of support vector machine (svm) in qsar. statistical parametric mapping (spm), relying on the general linear model and classical hypothesis testing, is a benchmark tool for assessing human brain activity using data from fmri experiments [10]. prediction-based variable selection has reported to give 82 % success rate in quantitative structureűproperty relationship models (qspr) based on in vivo bloodűbrain permeation data [11]. in multi-sensor systems, variable selection problem originates from two reasons: the high dimensionality in the data used is due to a high number of sensors or many features extracted, or both. fuzzy artmap classifier analyses the results from a 12-element gas sensor array [12, 13]. fast wavelet transform is useful in feature selection before calibration in stripping voltammetry [14]. principal component analysis (pca) is a well-known method for variable selection. testing of loadings and their estimated standard uncertainties are used to calculate significance on each variable for each component [15]. variable selection can also mean identifying a k-subset of a set of original variables that is optimal for a given criterion that adequately approximates the whole data set [16]. the application of principal component regression to the trajectories of the process variables (block-wise pcr) has given straightforward results without requiring a deep knowledge of the process [17]. in this case, variable selection methods and technical information of the process has allowed the process variables most correlated with the final quality be revealed. genetic algorithms (gas) have been proposed recently for many applications including variable selection for multivariate calibration, molecular modelling, regression analysis, model identification, curve fitting, and classification. gašs are also incorporated with fisher discriminant analysis (fda) for key variable identification for trouble-shooting problems of the tennessee eastman process [18]. ga and simulated annealing have also been combined for reduction in the number of variables in neural network models [19]. two other approaches for the selection of variables in neural networks are in [20] and [21]. this paper is organised as follows: section 2 concerns with knowledge-based variable selection and grouping, section 3 with variable grouping with data analysis and section 4 with model-based variable selection. the case-based reasoning system for evaluating paper machine web breaks is shortly revisited in section 5. 2 knowledge-based variable selection knowledge can be used in decreasing the number of variables. for example, if we have a case with 10 process variables and group them in all possible groups with three, four and five variables, we end up to 582 groups. if we can, based on the process knowledge, include variable 1 in all groups with three variables, variable 10 in all groups with four variables, and variables 5 and 6 in all groups with five variables, we have 176 groups to analyse. this means that using process knowledge has decreased the number of alternatives by 70 percent. some variable combinations should be avoided, e.g. calculated variables should not be used together with the variables used in calculating them. also a group containing a controlled variable and its setpoint is not usually appropriate. these problems are avoided by defining the inappropriate groups as non-groups, i.e. as variables groups, which should not be a part of any acceptable variable group. variable selection and grouping in a paper machine application 113 3 variable grouping with data analysis correlation is a statistical technique which can show whether and how strongly pairs of variables are related. binary correlations and their combinations are used in pruning the set of acceptable groups defined by the domain expertise. for forecasting models, input variables should have a high correlation with the output variables, but a low one with each other. for case detection, causality is not always as clear: there is nor necessarily any definite output variable i.e. also groups where several variables have a high correlation between each other are acceptable. this sets new requirements for the model assessment. in practical cases, the results from correlation analysis are improved with appropriate filtering and using correct time delays between the variables. calculation of moving averages, medians and value ranges includes already a time delay, which depends on the calculation window and the applied methodology. nonlinear scaling is the essential feature in using linguistic equations method [22]. it improves the correlation analysis of curvilinear relationships, since the correlation analysis is a linear method. finding patterns in data with high dimension is difficult. however, in data sets with many variables, groups of variables often move together as they are measuring the same phenomena. a host of clustering approaches helps in digging out these interactions. as shown in introduction, principal component analysis (pca) is a conventional method to decrease the dimensionality in data without losing the information stored in the correlated variables. it searches for new fewer linear combinations of the original variables that explain the most of the variance of the original data. these linear combinations can be viewed as a linear transformation to the hyperplane defined by the principal components or a rotation and a stretch that transform original data to a new bias. principal components are calculated by defining the eigenvectors of the covariance matrix or utilizing the singular value decomposition. usually, only few first principal components (2 or 3) are used ű they are enough to explain most of the variance in the data set. there are also extensions in the basic methods that apply for analyzing time trajectories. 4 model-based variable selection isokangas and ruusunen [23] describe the automated procedure for finding interactions between variables from large datasets. this occurs systematically by constructing simple dynamic model candidates with complete input combinations for data segments of the varying and sliding window size. the final analysis goes on according to the structure properties of the best candidate models. model candidate construction, validation and testing proceed in the following way: the half of all available data is used in training and validation so that model candidates are constructed systematically from the beginning of data with selected data window size. after a data window has been used for training, the window of the same size is taken for validation. the procedure uses a partly overlapping data window. for example, if the data window is 400 minutes, first models are constructed using training data from 1 400 minutes and data from 401 800 for validation of a model candidate under evaluation. next, all model candidates are constructed using training data from 201 600 and validation data from range 601 1000 minutes. to define the right size of training data, different window sizes are systematically tested at this stage. models are evaluated with the correlation coefficient and rms-error measure using validation data. best models are further tested with independent testing data, which is another half of available data. 114 timo ahola, esko juuso, kauko leiviskä 5 paper mill example paper web breaks commonly account for 2-7 percent of the total production loss, depending on the paper machine type and its operation. this could mean 1.5 million euros lost annually at a single paper machine. according to statistics only 10-15 percent of web breaks have a distinct reason. the most of the indistinct breaks are due to dynamical changes in the chemical process conditions. the main area of interest in the indicator development is the paper making process before the actual paper machine. this includes also the short circulation and the wet end of the paper machine. in this area, the paper making process is typically non-linear with many, long delays that change in time and with process conditions, there are process recycles at several levels, there are closed control loops, there exist factors that can not be measured and there are interactions between physical and chemical factors. also several different paper grades are produced with different production conditions and operating parameters. this section shows how to combine on-line measurements and expert knowledge in paper machine modelling in developing the sensitivity indicator for paper web breaks [24]. the indicator would give the process operators a continuous indication of the web break sensitivity in an easily understandable way. being able to indicate the break risk would give a possibility to react on changes of the break sensitivity in time and therefore avoid breaks. 5.1 experimental data the actual measurements from a paper machine were used. the main interest was in paper machine variables and the variables just before the paper machine. the final selection of variables used expert knowledge and altogether 73 variables (72 variables + information on the break occurrence) were studied. these variables were supposed to influence on paper web breaks. the measurements were collected from the mill automation system during normal operation and no special test runs were made. the measurements were used as such to retain their information content, and, on the other hand, to keep the application as simple as possible. only a simple filtering was added to the indicator software to make rapid changes slower and to cut the outliers from the data. the measurement data was divided into periods of 24 hours. further the data sets were classified into five categories, depending on how many breaks there were in one day: no breaks (0), a few breaks (1−2), normal (3−4), many breaks (5−6) and a lot of breaks (> 6). 5.2 reasons for web breaks different statistical methods were used, but reliable correlations between single variables and web breaks did not exist. therefore, the only way to proceed was the classification and modelling of break situations to find out differences between operating situations leading to breaks. case-based reasoning was used for the identification of different operating situations instead of trying to predict a single break occurrence. identified operating situations contain information about how many breaks there will be in the near future and this information is given to the process operators as the web break sensitivity. the identification is performed using linguistic equation approach and fuzzy logic [24]. 5.3 correlation analysis before modelling, correlation analysis was used in order to find out binary interactions between different process variables. the basic tool used for these analyses was microsoft excel spreadsheet. the correlation exceeding 0.6 was considered worth mentioning. according to this analysis, correlation variable selection and grouping in a paper machine application 115 varies quite a lot with time. the variation in correlation rates is due to the usage of normal on-line measurements, which include the effects of different control operations. the most important result of this analysis was that interactions vary in different operating situations, and the number of breaks also varies with time, and this was the basis for different case models. due to different interactions, also different variables became important in different operating situations. 5.4 model-based variable grouping the web break sensitivity indicator was developed as a case-based reasoning type application with linguistic equations approach and fuzzy logic [24]. the case base contains case models with different number of breaks. a new case is presented to the system as a collection of on-line measurements. the indicator compares the new case to the examples in the case base and uses the information of the best fitting case to calculate the predicted break sensitivity. as output the system gives numerical value for the predicted amount of breaks [24, 25]. figure 1 shows the principal structure of the case base, and figures 2 and 3 the different stages of case-based reasoning. figure 1: structure of the case base [25]. figure 2: the structure of retrieve and reuse stages [25]. the case base of this application contains modelled example cases classified according to the number of related breaks. models consist of equations that are stored as simple numerical matrices, which are indexed with break class information and number of examples in class. equations itself describe the interactions between 3-5 variables. the variables in equations are found using a partly knowledge-based, partly model-based grouping technique. for complex systems, a set of alternative variable groups are generated and models created with these groups. process knowledge can be used in defining these groups. another approach is to generate all 116 timo ahola, esko juuso, kauko leiviskä possible groups containing three, four or five variables and modelling them. groups can also contain different number of variables. correlation analysis has also use in grouping. it should be noted that for prediction the input variables should have a high correlation with the output variable, but a low one with each other. for state detection, causality is not clear, and the group where all variables correlate with each other are acceptable. here, however, the limitations given in section 2 must be taken into account. groups with three, four or five variables can be generated automatically with fuzzequ toolbox [22]. the generation of the alternatives is based on groups with three variables: all groups with four variables have one variable in common, and all groups with five variables have two variables in common. the subsets of the variables and the common variables in the groups with four or five variables can be based on process knowledge. figure 3: the structure of revise and retain stages [25]. 5.5 some feedback ű importance of parameters after modelling, the importance of variables was analysed based on the occurrence of variables in case models. this was also considered as a useful tool to reveal less important variables not included in the models. for the operating personnel, the list of importance might give some new information about which variables are responsible for different operating problems. there is also some difference in the collection of important variables between cases with different number of breaks. the user interface presents continuously the six variables that best describe the current operating situation. these are simply the variables of the two best fitting equations of the best fitting case. in addition to these, also the most important variable of the best fitting case model is presented with a trend value of 8 hours. the variables are presented with their current measurement values marked with colours as normal, low or high and very low or very high. this information gives the process operators useful information of the current process conditions together with the reason for the current break sensitivity level. the follow-up of the variable importance can lead to the need to update the whole system. the system updating is a straightforward task, all though time consuming when the whole case base is changed. a single model with 73 variables takes only few minutes to build. the same time is required for validation and tuning and it makes altogether 15 to 20 minutes. the updating of the system with 40 cases could take the working hours of two days. however, the automation of these tasks makes this time shorter. variable selection and grouping in a paper machine application 117 6 summary and conclusions this paper has considered possibilities to variable selection in large-scale industrial systems. it introduced knowledge-based, data-based and model-based methods for this purpose. as an example, case-based reasoning application for the evaluation of the web break sensitivity in a paper machine was introduced. the application was build with linguistic equations approach and basic fuzzy logic. the case base of the system contains models of example cases with different number of breaks. a new case is presented to the system as a collection of on-line measurements. the indicator compares the new case to the examples in the case base and uses the information of the best fitting case to evaluate the break sensitivity. the latest version of the indicator operates with a case base of 40 example models. although the size of this case base is rather small, the results have been considerably good compared to the real break sensitivity. the indicator combines the information of on-line measurements with expert knowledge and provides a continuous indication of the break sensitivity. the web break sensitivity defines the current operating situation at the paper mill and gives new information to the operators. the web break sensitivity is presented as a continuous signal with information of the actual web breaks as a trend of 8 hours. the trend shows how the situation has developed and the current value gives the prediction for next 24 hours if the situation stays as it is now. together with information of the most important variables this prediction gives operators enough time to react to the changing operating situation. the variable selection and grouping utilize knowledge-based and model-based approaches. automatic group and model generation makes also the interactive variable selection possible. references [1] c. abrahamsson, j. johansson, a. sparén, and f. lindgren, comparison of different variable selection methods conducted on nir transmission measurements on intact tablets, chemometrics and intelligent laboratory systems, vol. 69, pp. 3–12, 2003. [2] c.e.w. gributs and d.h. burns. parsimonious calibration models for near-infrared spectroscopy using wavelets and scaling functions, chemometrics and intelligent laboratory systems, vol. 83, pp. 44–53, 2006. [3] s. gourvénec, x. capron, and d. l. massart, genetic algorithms (ga) applied to the orthogonal projection approach (opa) for variable selection, analytica chimica acta, vol. 519, pp. 11–21, 2004. [4] l. stordrange, t. rajalahti, and f.o. libnau, multiway methods to explore and model nir data from a batch process, chemometrics and intelligent laboratory systems, vol. 70, pp. 137–145, 2004. [5] s.l.t. lima, c. mello, and r. j. poppi, pls pruning: a new approach to variable selection for multivariate calibration based on hessian matrix of errors, chemometrics and intelligent laboratory systems, vol. 76, pp. 73–78, 2005. [6] m.j.c. pontes, r. kawakami, h. galvão, m.c. ugulino araújo, p.n. teles moreira, o.d. pessoa neto, g.e. josé, and t.c. bezerra saldanha, the successive projections algorithm for spectral variable selection in classification problems, chemometrics and intelligent laboratory systems, vol. 78, pp. 11–18, 2005. [7] m. arakawa, k. hasegawa, and k. funatsu, qsar study of anti-hiv hept analogues based on multi-objective genetic programming and counter-propagation neural network, chemometrics and intelligent laboratory systems, vol. 83, pp. 91-98, 2006. 118 timo ahola, esko juuso, kauko leiviskä [8] q. shen, j.-h. jiang, c.-x. jiao, g. shen, and r.-q. yu, modified particle swarm optimization algorithm for variable selection in mlr and pls modeling: qsar studies of antagonism of angiotensin ii antagonists, european journal of pharmaceutical sciences, vol. 22, pp. 145–152, 2004. [9] u. norinder, support vector machine models in drug design: applications to drug transport processes and qsar using simplex optimisations and variable selection, neurocomputing, vol. 55, pp. 337–346, 2003. [10] m. smith, b. pütz, d. auer, and l. fahrmeir, assessing brain activity through spatial bayesian variable selection, neuroimage, vol. 20, pp. 802–815, 2003. [11] r. narayanan and s.b. gunturi, in silico adme modelling: prediction models for bloodűbrain barrier permeation using a systematic variable selection method, bioorganic & medicinal chemistry, vol. 13, pp. 3017–3028, 2005. [12] e. llobet, j. brezmes, o. gualdrón, x. vilanova, and x. correig, building parsimonious fuzzy artmap models by variable selection with a cascaded genetic algorithm: application to multisensor systems for gas analysis, sensors and actuators b: chemical, vol. 99, pp. 267–272, 2004. [13] o. gualdrón, e. llobet, j. brezmes, x. vilanova, and x. correig, coupling fast variable selection methods to neural network-based classifiers: application to multisensor systems, sensors and actuators b: chemical, vol. 114, pp. 522–529, 2006. [14] m. cocchi, j.l. hidalgo-hidalgo de cisneros, i. naranjo-rodríguez, j.m. palacios-santander, r. seeber, and a. ulrici, multicomponent analysis of electrochemical signals in the wavelet domain, talanta, vol. 59, pp. 735–749, 2003. [15] f. westad, m. hersleth, p. lea, and h. martens, variable selection in pca in sensory descriptive and consumer data, food quality and preference, vol. 14, pp. 463–472, 2003. [16] j. cadima, j. orestes cerdeira, and m. minhoto, computational aspects of algorithms for variable selection in the context of principal components. computational statistics & data analysis, 47(2):225–236, 2004. [17] m. zarzo and a ferrer, batch process diagnosis: pls with variable selection versus block-wise pcr, chemometrics and intelligent laboratory systems, vol. 73, pp. 15–27, 2004. [18] l. h. chiang and r.j. pell, genetic algorithms combined with discriminant analysis for key variable identification, journal of process control, vol. 14, pp. 143–155, 2004. [19] a. alexandridis, p. patrinos, h. sarimveis, and g. tsekouras, a two-stage evolutionary algorithm for variable selection in the development of rbf neural network models, chemometrics and intelligent laboratory systems, vol. 75, pp. 149–162, 2005. [20] f. dieterle, s. busche, and g. gauglitz, growing neural networks for a multivariate calibration and variable selection of time-resolved measurements, analytica chimica acta, vol. 490, pp. 71–83, 2003. [21] i. drezga and s. rahman, input variable selection for ann-based short-term load forecasting, power systems, ieee transactions on, vol. 13, pp. 1238–1244, 1998. [22] e. k. juuso, integration of intelligent systems in development of smart adaptive systems, international journal of approximate reasoning, vol. 35, pp. 307–337, 2004. variable selection and grouping in a paper machine application 119 [23] a. isokangas and m. ruusunen, systematic approach for data survey, in proceedings of the international conference on informatics in control, automation and robotics. september 14 17, 2005, barcelona, spain, pp. 60–65, 2005. [24] t. ahola, intelligent estimation of web break sensitivity in paper machines. doctoral dissertation. university of oulu, department of process and environmental engineering. acta universitatis ouluensis, technica c 232, 92 p., oulu, 2005. [25] t. ahola and k. leiviskä, case-based reasoning in web break sensitivity evaluation in a paper machine, journal of advanced computational intelligence and intelligence informatics, vol. 9, pp. 555–561, 2005. timo ahola, esko juuso, kauko leiviskä university of oulu, control engineering laboratory p.o. box 4300, fi-90014 university of oulu, finland e-mail: esko.juuso@oulu.fi received: march 21, 2007 timo ahola, born in hämeenkyrö, finland on december 18, 1965, recieved his m.sc. (eng.) in process engineering in 1992 and lic. tech. in control engineering in 2001 from the university of oulu. he recieved d. tech. in control engineering from the university of oulu in 2006 with the thesis on intelligent estimation of web break sensitivity in paper machines. he worked as a research scientist in the control engineering laboratory at the university of oulu 1993-2006. since 2007 he has been belonging to the outokumpu stainless oy, tornio research centre, finland. presently he is a research engineer in process development and he is working with predictive maintenance issues. esko juuso, born in ylitornio, finland on december 12, 1951, received m.sc. (eng.) in technical physics in 1979 from university of oulu. he has worked as research engineer in outokumpu metallurgical research centre and computer analyst in outokumpu electronics. since 1986, he has been belonging to university of oulu, oulu, finland. presently he is senior assistant in control engineering. he has been active in finnish simulation forum (finsim), scandinavian simulation society (sims) and eurosim, currently he is chairman of finsim. he has been member of steering committee and co-chairman of technical committee on production industry in eunite network of excellence, 2000-2004. his main research fields are intelligent systems and simulation in industrial applications, including control and fault diagnosis. in 1991 he introduced the linguistic equation (le) methodology, and he has authored more than 200 publications on his research field. 120 timo ahola, esko juuso, kauko leiviskä kauko leiviskä, born in pyhäntä, finland, 1950, received m.sc.(eng.) in process engineering in 1975 and lic. tech. in control engineering in 1976 from the university of oulu. he received the d. tech. in control engineering from the university of oulu in 1982 with the thesis on short term production scheduling of the pulp mill. since 1975, he has been belonging to university of oulu, oulu, finland. he has been professor of control engineering and head of control engineering laboratory in the same university since 1988. he has been active in ifac since 1988, currently he is member of ifac tc on large scale complex systems, tc on cognition and control and tc on mining, mineral and metal processing. he has been member of steering committee and chairman of technical committee on primary and process industries in erudit network of excellence, 1997-2000, and the scientific director of eunite, the european network of excellence, 2000-2004. he is participating in eu/ca project nisis (nature-inspired smart information systems). a list of more than 200 publications of which he is (co)author is available. recently his work concentrates on modelling and control of industrial processes, intelligent control methods, production scheduling and millwide control. he has also been consulting industry on control engineering and millwide control applications. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 625-633 generic multimodal ontologies for human-agent interaction a. braşoveanu, a. manolescu, m.n. spînu adrian braşoveanu lucian blaga univeristy of sibiu, romania e-mail: adrian.brasoveanu@gmail.com adriana manolescu agora university, oradea and r&d agora ltd. cercetare dezvoltare agora oradea, romania e-mail: adrianamanolescu@gmail.com marian nicu spînu aurel vlaicu university of arad, faculty of exact sciences department of mathematics-informatics romania, 310330 arad, 2 elena drăgoi abstract: watching the evolution of the semantic web (sw) from its inception to these days we can easily observe that the main task the developers face while building it is to encode the human knowledge into ontologies and the human reasoning into dedicated reasoning engines. now, the sw needs to have efficient mechanisms to access information by both humans and artificial agents. the most important tools in this context are ontologies. the last years have been dedicated to solving the infrastructure problems related to ontologies: ontology management, ontology matching, ontology adoption, but as time goes by and these problems are better understood the research interests in this area will surely shift towards the way in which agents will use them to communicate between them and with humans. despite the fact that interface agents could be bilingual, it would be more efficient, safe and swift that they should use the same language to communicate with humans and with their peers. since anthropocentric systems entail nowadays multimodal interfaces, it seems suitable to build multimodal ontologies. generic ontologies are needed when dealing with uncertainty. multimodal ontologies should be designed taking into account our way of thinking (mind maps, visual thinking, feedback, logic, emotions, etc.) and also the processes in which they would be involved (multimodal fusion and integration, error reduction, natural language processing, multimodal fission, etc.). by doing this it would be easier for us (and also fun) to use ontologies, but in the same time the communication with agents (and also agent to agent talk) would be enhanced. this is just one of our conclusions related to why building generic multimodal ontologies is very important for future semantic web applications. keywords: multimodal ontology, ontology matching, interface agents, semantic web, human-agent interaction 1 introduction the knowledge society (ks) is a society where information is the primary resource which can be consumed by both humans and machines. if we want to build such a society in a proper way we need different kinds of infrastructure: hardware, software, organizational, etc. sw and copyright c⃝ 2006-2010 by ccc publications 626 a. braşoveanu, a. manolescu, m.n. spînu agents represent only a small part of the large infrastructure needed in order to build the true ks. sw ( [1], [2], [3], and [4]) is one of those disruptive technologies which tend to be talked about years before their coming of age. one of the visions presented in [1] was that of agents replacing humans for simple everyday tasks like buying tickets for a concert or making appointments to the doctor. the main reason why this vision hasn’t yet come to life is one that is now well understood and also explained in the article’s revision [2]: encoding the human knowledge into ontologies and the human reasoning into dedicated reasoning engines is not an easy task. this process requires trans-disciplinary knowledge, dedicated tools and repositories, and advanced techniques from mathematics, logics and software. it is in fact an extremely difficult procedure which relies entirely on the cooperation between hundreds or thousands of organizations and different standards. since the standardization processes take a long time even in these days and the time of adoption for new technologies is sometimes around 2-3 years at least, we should not be surprised that it will take a while until the sw reaches the critical mass. ontologies represent the key to a successful communication between human and agents if they are done right. we are only beginning to understand the implications of using the ontologies for the great tasks we assigned for them, but some problems like ontology management (versioning, change, tools and standards), ontology matching (finding correspondences between different ontologies) and the adoption of ontologies on large scale by developers and users proved to be quite challenging. ontology dynamics is definitely a field on which we should keep an eye on. according to [30] there is still no clear winner in the process of ontology matching (in other words: a standard or a methodology with clear rules to match almost everything automatically or semi-automatically since sometimes humans will need to check the results). therefore we should not be surprised, when reading a journal or conference proceeding, that most of the articles refer to these tasks rather than to the desired using of ontologies which is to give agents a way of understanding our world and reason about it. it is the way things should be: in order to build a functional system we always need to have its parts figured out. we should however not lose sight of the system we need to build and this is one of the purposes of this paper: to look at the current state of the art in several fields of study and see if we are heading in the right direction. in this context we will especially examine some problems related to the multimodal communication between human and agent and try to see how they are solved by using ontologies. 2 rationale and approach: why complicate things and use generic multimodal ontologies? first we need to clear one question: what is an ontology? some answers to this (and also some examples of how to use ontologies) can be found in [12], [15], [16], [17], [22], [23] and [31]. the classic definition proposed by gruber tells us that an ontology is "explicit specification of a conceptualization" [12]. this definition is examined and extended by many papers, most recently by guarino, oberle and staab in [16] which also focuses on the importance of "shared explicit specifications" because without commiting to ontologies every agent would understand something else (they also take the opportunity to revise the semiotic triangle). ontologies are us, mika’s thesis [23] is a simple yet powerful statement. it tells us that since we are the ones who design the ontologies they will only express what we want them to express and will sometimes be useless without the context in which they have been created. the main problem when designing ontologies is to carefully choose the concepts within a domain and the relationships between them in such a way as the ontology to be well founded because "any ontology will always be less complete and less formal than it would be desirable in generic multimodal ontologies for human-agent interaction 627 theory" [16]. in the light of this statement it should become quite clear why we sometimes need to use generic ontologies: there is simply no other way to address the problem of uncertainty when developing ontologies than genericity. figure 1: one of the most popular programs for ontology matching: coma++, developed at the university of leipzig. in this screenshot we can see how we can establish some correspondences between two ontologies representing a computer science department nowadays there are probably thousands of ontologies in use, but if the sw will ever look like berners-lee’s visions then ontologies will be common place for every designer, developer or user. usually an ontology only addresses the problems from a narrow field of knowledge (domain ontology) so it is not uncommon that applications may use many ontologies for different purposes. in some of these cases it is useful to also use upper level ontologies which are general ontologies that represent concepts that are the same across all domains. a unique upper level ontology which should encompass all the human knowledge is not feasible and will never be built because of practical reasons (each society has its concepts, every field of knowledge has a certain language to protect itself, etc.), but upper level ontologies are used for mediation mainly in the idea that universal agreement between different ontologies will be/is possible. in other cases in order to use different ontologies the applications will use ontology matching schemes like those discussed in [10]. since ontologies are the building blocks of sw, any application from this area must use them, even if that means adding layers of complexity because of the matching process, apis, uncertainty. for everybody working in the it industry these days it should be clear that the medium in which we work is becoming more and more like ohdue (open heterogenous dynamic uncertain environment) [8] and ontologies are part of this medium. these issues are addressed in articles and books like [10], [19], [30] (ontology matching), [26] (automatic generation of ontology apis), [8] (ohdue, agents). because the field of ontology engineering is becoming more popular we should not be surprised that we will also hear a lot about the ontology driven software engineering. ontology driven information systems (odis) [36] is just one of the recent examples which fell into this category. given all these complications that appear when designing and working with ontologies it is interesting to ask a new question: why would we want to complicate our life even more by using multimodal ontologies? it is not enough that the ontology management or ontology matching problems still pose so many challenges? are these new breed of ontologies even feasible? certainly from a user’s perspective multiple modalities to enter input into a system (touch, voice, mouse, pen, etc.) can only mean increased usability (do we need to remember how touch screens became the norm in the mobile phones industry after iphone was launched?), while from 628 a. braşoveanu, a. manolescu, m.n. spînu figure 2: the multimodal communication dream: to use all the five senses (smell, sight, touch, taste, sound) during the process of communication. a developer’s perspective this means that software gets even more complicated than it is now. this is the right moment for such a development since for the multiple streams of data that come with multimodal communication we need distributed systems. since multi-core processors are now luckily the norm in desktop computing we should have no problem (at least not hardware) dealing with the huge flux of data. in the past 40 years scientists have developed different mechanisms for getting audio, video and touch input, but the integration of all five senses in the communication between man and machine remains a dream. it is enough however to use one sense in different ways (for example for seeing we have images, text, video) to be able to speak about multimodal communication. in this respect different research groups (most notably [29]) started to develop also multimodal ontologies, but most of them took the approach of developing different ontologies for text, images, video or voice and then use ontology alignment to match them (multimodal integration through ontology matching [29]). a multimodal ontology gets us all the benefits of having such different ontologies. like all things in life, multimodal ontologies do not come without bad parts (even harder to design, mantain and match), but they are definitely closer to our way of thinking. is this a sufficient reason to try it? it might not be, but it is not the only one. the usage of multimodal ontologies will allow us to give a more natural, even realistic, feeling during communication between agents and humans, enhanced usability, the possibility to model mechanisms that are closer to the way we understand the world (diagrams, mind maps, feedback, brainstorming, slides, visual thinking, and others). it should be clear that it’s not just art for art’s sake, but rather art for a better life in the future. 3 generic multimodal ontologies for human-agent interaction the process of multimodal ontology modeling is still open to exploratory research because ontologies are not everywhere. without ontologies for all possible fields, and tools to match these ontologies it is debatable whether we will achieve an efficient semantic web, but rather the illusion of a semantic web maintained by few successful applications in certain areas (like social generic multimodal ontologies for human-agent interaction 629 networking, language translation or medicine). since multimodal communication is difficult to process it is clear that in the first phase of any research regarding this subject, the communication between agents and humans will not be efficient. the question we need to ask ourselves in this situation is: if it is not efficient why should we bother at all to try something like this? the answer is simple and is typical for exploratory research: it takes time to find the best way to integrate multiple streams of data in an efficient manner and it also takes time to develop efficient ontology matching processes for such tasks. the role of exploratory research is to discover niches. the task of creating efficient mechanisms is one best suited for incremental research. since this area of research is relatively new there is enough room for exploratory research and for breakthroughs. generic ontologies are rarely used by developers. most of the articles present different ontologies and clearly state that they do not use generic ontologies because the problem’s domain was well understood. generic ontologies are best suited for modelling as we can see from [17], and [13]. it is easier to say you have an ontology with few concepts and not define all of them when doing modelling. the task of defining all the concepts and relationships between them is one that remains to the ontology engineer or to the developer. when dealing with models that are related to multimodal communication it makes sense to use generic multimodal ontologies. it also makes sense to use a generic ontology whenever dealing with uncertainty as suggested by [8] [28]. the agents of tomorrow will be built taking into account recent findings like the requirementsdriven self-reconfiguration [6], multi-party, multi-issue, multi-strategy negotiation [35], natural language [18], and controlled natural language [32]. if we are to follow berners-lee vision from [1] we absolutely need to integrate such findings into our work. in fact according to [18] ontologies are the "common ground for virtual humans". their architecture suggests using multimodal communication, but this is not clearly stated in the article since the ontology is not multimodal. if we look at [6] and [35] we can envision agents that dynamically change their strategies according to the environment and the context of conversations. this requires designing flexible ontologies, another reason to make them generic. the agents must use ontologies if they are to understand something from this world. they also need to share them and commit to them if we want them to be able to talk between them. the multimodal ontology helps in some of the phases of multimodal communication: fusion and integration (getting the input from different channels), natural language processing, disambiguation, error reduction and fission (preparing the output). when designing a multimodal ontology one must also take into account the problems related to designing multimodal systems as described in [25], and also the medium in which these agents will evolve because an agent that needs to evolve in the urban computing environment [34] will have different needs than an agent that just surfs the web. the focus of research is usually on multimodal fusion, but a recent survey [9] shows that the interest in multimedia fission is increasing. designing a multimodal ontology thus requires taking into account all these findings because the agent must be able to give us a response not only to understand our requirements. probably one of the big challenges ahead is to annotate the multimodal content in real-time. this is particularly hard to do for video content, but not impossible, as [27] suggests. m3o (multimedia metadata ontology) allows us to annotate the multimedia content from a page to retrieve it easier. if such ontologies will be improved then the road to the visions from [1] will be shorter. 4 related work the current state of the art in multimodal hci is presented in [7] and [20]. one of the conclusions from [7] leaves further space for improvements: "most researchers process each channel (visual, audio) independently, and multimodal fusion is still in its infancy". the same can be 630 a. braşoveanu, a. manolescu, m.n. spînu rendered as true for the multimodal ontologies too. since [7] is more recent we will use it as a basis for further investigation in this field. since there are only few interesting articles related to multimodal ontologies every year, we have selected a few of them to be used as basis for future research. when searching for definitions related to ontologies and trends in the field of ontology development /matching some of the best research groups in the world are the ones from trento (loa and university of trento), and koblenz-landau. many of the articles cited in this paper come from some of the members of the trento group: [6], [10], [16], [17], [30]. these are related to definitions of ontology, ontology matching, and modelling with ontologies. we have also used articles from the koblenz-landau group: [6], [26], [27] related to definitions, automatic generations of ontology apis and m3o. one interesting idea is that of multimodal context-aware interaction presented by cearreta and his team in [5]. if we have to model emotions there might be no other solution than to use multimodal ontologies combined with special reasoners. another article related to our subject is [29]. their approach of using different ontologies for text and images and then use ontology matching can definitely be improved on the long term. they clearly state that for the moment multimodal ontology do not offer fast communication, but that in time speed might be improved. also [24], [32] and [33] study the relationships between natural language processing (nlp) and sw. the work of these research groups must be studied. one of them [32] is from southampton, one of the workplaces of timothy berners-lee. when it comes to generic ontologies and tools for working with ontologies, one of the best research groups that needs to be followed is stanford’s [11], [28]. their work on biomedicine ontologies and protégé is fundamental. 5 conclusions and future work the sw tools are now an important part of the it industry, the main clients coming from the fields of biomedicine, aeronautics, automotive, government and local administrations, and media. this sudden interest might be related to the success of social media [14], [21] and means that developers are starting to tap into the potential promises of the field. even so there is a lot of work to be done regarding multimodal ontologies. the reason is one that was mentioned several times during this paper: the task of designing such ontologies is still difficult. as we do not have yet universal methods for ontology matching we do not have a clear methodology of designing multimodal ontologies (regardless of the fact that they are generic or not). the main advantages of using generic multimodal ontologies should be better understood now: they offer us a modality to design the process of communication with agents as close to our way of thinking as possible and also play a very important role in several phases of the multimodal communication (multimodal fusion and integration, disambiguation, nlp, error reduction, multimodal fission, etc.). the main disadvantage will probably be efficiency for the next years, but given the exploratory nature of the research this is normal. the future work of our group will consider implementing new mechanisms for linking the generic multimodal ontologies and affective interfaces with recent research in semantic web and hci in a 3 years interval (during the phd studies of the first author). the objectives are to be fulfilled involving european teams of researchers interested in this kind of projects. acknowledgements this work was partially supported by the strategic grant posdru/88/1.5/s/60370(2009) on "doctoral scholarships" of the ministry of labour, family and social protection, romania, cofinanced by the european social fund investing in people. generic multimodal ontologies for human-agent interaction 631 bibliography [1] t. berners-lee, j. hendler, o. lassila. the semantic web. scientific american, may 2001, 34-43. [2] n. shadbolt, w. hall, t. berners-lee. the semantic web revisited. ieee intelligent systems, pages 96101, may/june 2006. [3] t. berners-lee, w. hall, j.a. hendler, k. o’hara, n. shadbolt, d.j. weitzner. a framework for web science. foundations and trends in web science, 1 (1), pages 1-130, 2006. [4] c. bizer, t. heath, t. berners-lee. linked data the story so far. international journal on semantic web and information systems, volume 5, issue 3. [5] i. cearreta, j. m. lopez, n. garay-vitoria. modelling multimodal context-aware affective interaction. proceedings of the doctoral consortium of the second international conference on acii’07. lisbon, portugal, 57-64, 2007. [6] f. dalpiaz, p. giorgini, j. mylopoulos. an architecture for requirements-driven selfreconfiguration. proc. of the 21st int. conf. on advanced information systems engineering, lncs 5565, springer, 246260, http://www.disi.unitn.it/ pgiorgio/papers/caise09-b.pdf, 2009. [7] b. dumas, d. lalanne, s. oviatt. multimodal interfaces: a survey of principles, models and frameworks. in d. lalame, j. kohlas, editors, human machine interaction research results of the mmi program, springer, 3-27, 2009. [8] i. dzitac, b.e. barbat. artificial intelligence + distributed systems = agents. international journal of computers, communications & control, issn 1841-9836, 4(1):17-26, 2009. [9] d.w. embley, a. zitzelberger. theoretical foundations for enabling a web of knowledge. retrieved from: http://dithers.cs.byu.edu/tango/papers/formalwok.pdf, 2009. [10] j. euzenat, p. shvaiko. ontology matching. springer, 2007 [11] a. ghazvinian, n. f. noy, c. jonquet, n. h. shah, m. a. musen. what four million mappings can tell you about two hundred ontologies. international semantic web conference 2009: 229-242 [12] t. r. gruber. a translation approach to portable ontologies. knowledge acquisition, 5(2):199220, 1993. [13] m. gruninger. designing and evaluating generic ontologies. in ’ecai96’s workshop on ontological engineering’. [14] t. gruber. collective knowledge systems: where the social web meets the semantic web. journal of web semantics, 6(1):4-13, 2008. [15] n. guarino. the ontological level: revisiting 30 years of knowledge representation. in a. borgida, v. chaudhri, p. giorgini, e. yu (eds.), conceptual modelling: foundations and applications, springer verlag 2009: 52-67. [16] n. guarino, d. oberle, s. staab. what is an ontology? in s. staab and r. studer (eds.), handbook on ontologies, second edition. international handbooks on information systems. springer verlag: 1-17, 2009. 632 a. braşoveanu, a. manolescu, m.n. spînu [17] g. guizzardi, t. halpin. ontological foundations for conceptual modeling. applied ontology 3, 112, 2008. [18] a. hartholt, t. russ, d. traum, e. hovy, s. robinson. a common ground for virtual humans: using an ontology in a natural language oriented virtual human architecture. in: language resources and evaluation conference (lrec). (may 2008) [19] w. hu, y. qu. falcon-ao: a practical ontology matching system. web semantics: science, services and agents on the world wide web 6 (2008) 237-239. [20] a. jaimez, n. sebe. multimodal human-computer interaction: a survey. computer vision and image understanding, volume 108, issues 1-2, october-november 2007, 116-134, special issue on vision for human-computer interaction, 2007. [21] f. limpens, f.gandon, and m. buffa. linking folksonomies and ontologies for supporting knowledge sharing: a state of the art. technical report, eu project, isicil, 2009. [22] d. lonsdale, d. w. embley, y. ding, l. xu, m. hepp. reusing ontologies and language components for ontology generation, accepted for publication in data and knowledge engineering. retrieved from: http://www.heppnetz.de/files/dke2008.pdf, 2010. [23] p. mika. social networks and the semantic web, springer, 2007 [24] j. niekrasz and m. purver. a multimodal discourse ontology for meeting understanding. in the 2nd joint workshop on multimodal interaction and related, 2005. [25] l. nigay, j. coutaz. a design space for multimodal systems: concurrent processing and data fusion. acm conf. human factors in computing systems (chi), 1993. [26] f. s. parreiras, c. saathoff, t. walter, t. franz, s. staab. apis a gogo: automatic generation of ontology apis. icsc, 342-348, 2009 ieee international conference on semantic computing, 2009 [27] c. saathoff, a. scherp. m3o: the multimedia metadata ontology. proceedings of the workshop on semantic multimedia database technologies, 10th international workshop of the multimedia metadata community (semudate 2009), graz, austria, 2009. [28] abraham sebastian, natalya fridman noy, tania tudorache, and mark a. musen. a generic ontology for collaborative ontology-development workflows. in aldo gangemi and jérôme euzenat, editors, ekaw, volume 5268 of lecture notes in computer science, 318-328. springer, 2008. [29] a.a.a. shareha, m. rajeswari, d. ramachandram. multimodal integration (image and text) using ontology alignment. american journal of applied sciences 6 (6): 1217-1224, 2009. [30] p. shvaiko, j. euzenat. ten challenges for ontology matching. in proceedings of the 7th international conference on ontologies, databases, and applications of semantics (odbase), pages 1164-1182, monterrey (mx), 2008. [31] w. v. siricharoen. ontology modeling and object modeling in software engineering. international journal of software engineering and its applications, vol. 3, no. 1, january, 2009, 43-59, 2009. generic multimodal ontologies for human-agent interaction 633 [32] p. smart, j. bao, d. braines, n. shadbolt. development of a controlled natural language interface for semantic mediawiki. in: proceedings of the workshop on controlled natural language, springerverlag, heidelberg, germany. [33] d. sonntag, m. romanelli. a multimodal result ontology for integrated semantic web dialogue applications. in proceedings of the 5th conference on language resources and evaluation (lrec 2006), genova, italy, may 24-26. [34] a. tenschert, m. assel, a. cheptsov, g. gallizo, e. della valle, i. celino. parallelization and distribution techniques for ontology matching in urban computing environments. om 2009 [35] d. traum, s. marsella, j. gratch, j. lee, and a. hartholt.. multi-party, multi-issue, multistrategy negotiation for multi-modal virtual agents. in proc. of intelligent virtual agents conference iva-2008. [36] m. uschold. ontology-driven information systems: past, present and future. in proceedings of the 5thinternational conference on formal ontology in information systems (fois2008), saarbrücken, germany, (oct 31st nov 3rd), 2008. international journal of computers, communications & control vol. ii (2007), no. 1, pp. 39-47 virtual communities and their importance for informal learning antonios andreatos abstract: this paper deals with the concept of informal learning in virtual communities on the internet. initially we discuss the need for continuing education and its relation with informal learning. virtual communities are next defined and then compared to real communities. case studies are employed, focused on some specific kinds of virtual communities. we examine how they operate, how their members interact, what values they share and what kind of knowledge they gather. the learning process within virtual communities is then examined. we look at the kind of information and knowledge available in some particular virtual communities, and comment on its organisation. next, the learning process of virtual communities is compared to that of open universities. finally, we claim that the participation in virtual communities is not only a form of continuing education but also a contribution towards the multiliteracies needed for working as well as living in the 21st century. keywords: virtual communities, informal learning, multiliteracies. 1 introduction 1.1 defining informal learning learning is a natural, spontaneous and lifelong process of human nature. education, on the other hand, is a formal, structured, organised process with specific goals. the terms ‘learning’ and ‘education’ are often confused, because education is based on the learning process [1]. learning may be formal, non-formal or informal [2]. 1. formal learning (what we usually call education) is offered by elementary schools, high schools, colleges and universities; it is based on the teacher-student model. 2. non-formal learning is still organised learning but outside the formal learning system; it is offered by official organisations such as governmental services, youth organisations, training services, scientific unions, enterprises, voluntary and non-profit organisations, etc. 3. informal learning on the other hand is not organised nor organized but casual; even travelling or watching tv may lead to informal learning [1]. it is what we learn from everyday life [2]. 1.2 continuing education and informal learning social changes and the evolution of human knowledge in the digital era are so fast, that make further education imperative for many professionals. like regular education, continuing education may be formal, non-formal or informal. in a recent research among the engineers members of the technical chamber of greece, it was found out that [3]: • the great majority (92,5 %) believes that continuing professional education is necessary for finding a (good) job. a percentage of 50,6 % believes that this education should take place every 3 years, while another 22 % places this time to every 5 years. • a majority of 56,4 % believes that the most important needs for continuing professional education are related to computers and new technologies. copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 40 antonios andreatos • a percentage of 49 % has attended (or attends currently) a professional continuing education program, while most of those who have not attended such a program (60,1 %) declare as the most important reason the lack of time due to work overload. from the above we conclude that professional continuing education program is necessary for many professionals. according to the institute for research on learning, located in menlo park (2000), at least 80 % of the professional knowledge, skills and practices needed for many jobs is informal [4]. since a lot of professionals lack the time needed for attending a non-formal professional continuing education program, they have to learn new things and acquire new skills informally. since informal education is so important, it is worth to be further examined. the most important characteristics of informal learning are [1], [4]: • it does not take place in special educational establishments standing out from normal life and professional practice; • it has no curriculum and is not professionally organized; it rather stems accidentally, sporadically, in association with certain occasions, from the changing practical requirements; • it is not planned pedagogically, nor systematically organised in subjects; • it is not qualification-oriented, nor officially recognised; • it is not formally organised and financed by institutions; • it is rather practical than theoretical; • it is rather unconscious, incidental problem-related and therefore, well-focused; • it is not instructed by a teacher or a course designer but rather self-directed; • it is closely related to professional practice; • it is a tool for living and survival. the ability of informal continuous self-education and training is a vital skill for today’s professionals. knowledge is outdated fast, so a professional has to continually update his/her experiences and knowledge profile, if they want to be competitive. in this paper we are interested in studying informal learning, in relation to virtual communities (vcs). it is a process which lies between the non-formal education, defined above, and casual learning. the actual point varies from person to person [5]. it is not casual learning, because it aims at a goal; and the goal has to do with the common interest of the vc members. a user participates in a vc which deals with his/her interest(s), either for professional reasons or as a hobby. 2 defining virtual communities 2.1 the era of new media the internet has dramatically changed the way people get informed, interact and communicate in the 21st century. distribution of information and knowledge is nowadays carried out more and more via the internet [5]. it is characteristic that new terms such as blogs, bots, wikies and podcasting [6], [7] were unknown some years ago, and are still not registered in most (paper) dictionaries. here lies the internet advantage: it is the only medium that instantaneously follows today’s social evolutions. not only that, but it is actually driving the evolution. in 1988 there were about 30.000 blogs available; today, there are more virtual communities and their importance for informal learning 41 than 35 million [8] and it is estimated that every second a new blog is created (www.technorati.com). on the other hand, philip meyer, author of the book “vanishing newspaper: saving journalism in the information age”, estimates that, with current trends, the last newspaper reader will recycle that last newspaper in april 2040 [8]! some types of new media, along with representative examples, are given below [9]: • bbs: the well, genie • blog: livejournal, xanga, myspace, facebook, blogspot, blogger, myciab • webcomic: userfriendly, penny arcade, sluggy freelance • habitat: lucasfilm’s habitat, vzones • im: icq, yahoo! messenger, msn messenger, aim • irc/efnet • mmorpg: everquest, ultima online, world of warcraft, silk road online • moo: lambdamoo • mud/mush: tinymud • p2p: napster, kazaa, gnutella, morpheus • usenet • wiki: wikipedia, wikiwikiweb, pbwiki, wetpaint • www: ebay, geocities, slashdot. 2.2 towards a definition the birth of virtual communities is placed at the early years of the arpanet, back to the seventies; the world wide web was not invented yet. today they are well-established forums, i.e. virtual places for communicating and exchanging information. however, the term virtual community appeared in 1993 and it is attributed to the homonymous book by howard rheingold [10]. the book discusses a variety of information and communication technology (ict) -based communication and social groups. the technologies included usenet, internet relay chat (irc), chat rooms, electronic mailing lists and gaming communities such as multi-user dungeon (mud) and its clones (e.g., mush and moo). rheingold pointed out that belonging to such a group has some potential benefits for the personal psychological health, as well as for the society in general [9]. according to rheingold, virtual communities are formed “when people carry on public discussions long enough, with sufficient human feeling, to form webs of personal relationships” [10]. the explosive diffusion of the internet in certain countries was also accompanied by the proliferation of virtual communities. the nature of those communities and communications is rather diverse [9]. today, virtual communities or online communities are used by a variety of social groups interacting via the internet. different virtual communities, like real communities, have different levels of interaction and participation among their members. an important characteristic of a community is the interaction among its members. thus, an email distribution list with hundreds of recipients with zero or low interaction among members, may not be called a virtual community. similarly, placing comments or tags to a blog or message board may not constitute a community. the highest degree of interaction is achieved in video gaming communities, where users compete online against other users. like traditional social 42 antonios andreatos groups or clubs, virtual communities often divide themselves into cliques or even separate to form new communities. also, membership turnover rate varies greatly from vc to vc [9]. each community shares its own interests, values, jargon [6], titles, leaders, ways of communicating and exchanging information and knowledge. 2.3 comparison of vcs to real communities there is of course no substitute to interpersonal communication, but it may be limited by distance. on the other hand, in vcs the distance factor is not applicable. the ability to interact with likeminded individuals instantaneously from anywhere on the globe has considerable benefits. perhaps the greatest advantage is that the common interests are guaranteed in vcs, whereas this is not the case in real companies based on proximity. the use of multimedia technologies greatly facilitates long-distance communication today. evolution of technology will eventually bring multimedia (image, video etc) dimensions in digital communication, a fact which will enrich it further. of course, the participation in a vc presupposes some familiarisation with ict and the relevant equipment (pc, internet connection etc). in real-life friendships, age is often a critical factor. usually, one’s friends are around the same age. generation gap constitutes a strong unwritten law in many societies. yet, in virtual communities there is no age barrier. this is very important in many countries -including greecewhere the majority of internet users are young people and higher age groups are minorities [11]. since the personal characteristics of live communication are absent in vcs, user personalities are denoted by other symbols like nickname, personal information (such as email, website, blog, irc number, skype usernames etc), image/ personal mark/ signature, equipment related to the community interests (e.g. car, pc, cameras etc), user’s achievements related to the community interests etc. vcs should be seen as supplementary to the real communities and not as alternatives or substitutes. 3 case studies the examination of some case studies will further clarify the above discussion. 1. scientific union of adult education (of greece, www.adulteduc.gr). the common interest here is professional. the union organises conferences, seminars and meetings all around greece; it also issues an online bimonthly bulletin for briefing and member communication. this also contains information on newly-edited books and scientific journals and the corresponding links on adult learning, information on instructor certification etc. a similar example is ‘the hellenic network of open and distance education’ (www.opennet.gr). these communities have a professional character, are a bit more formal (e.g., no nicknames), have a hierarchy (president and members). they have a continuing education as well as a selfeducation character. 2. hellenic linux club (www.hellug.gr). this club is a greek official and non-profit association of people working with or using or positively predisposed to linux. its aim is the union of such individuals, the communication among them in order to tighten their privities, as well as, the further proliferation of this operating system. means for achieving the above goals are: meetings, problem solving support, translation of documents and articles in greek; improvement of greek language support in linux; development of free software; presence in meetings, conferences and exhibitions; collaboration with peer clubs with common goals; diffusion of know-how; follow-up and intervention whenever the interests of linux are threatened. a similar site is: www.linux.gr. it contains news, documentation, articles, download material, links, guidelines for various linux distributions, guidelines for beginners, indexing and an electronic magazine. linux blogs (for instance: http://linuxhelp.blogspot.com, virtual communities and their importance for informal learning 43 http://www.computerworld.com/blogs/software/os/linux, http://linux-blogger.com, and http://www.suseblog.com) are also available. 3. www.overclockers.com: perhaps what is more admired here is the extra mhz a user can get out of his new pc, or, the exotic water cooler system one has constructed. vcs such as the second and the third one listed above, may be characterised as hobbyist or amateur communities rather than professional. such vcs are more free, more non-formal, more casual. they share different values than the formal ones. nicknames are used instead of real names. a couple of examples (with pseudonyms) are: “john smith aka shroomer in the forums”, “my name is valentino jones, a.k.a cr@zyvj on the net, and friends simply call me vj”. also, former education titles are not so important; the most important virtues are: expertise, participation and voluntarism to help other users. 4 learning in virtual communities 4.1 organisation of knowledge in vcs in a formal distance learning environment the educational material is well organised: (i) the courses are structured in a prerequisite order, from the fundamental to the most complicated. (ii) the educational material is composed of learning objects (los) [2]. many los form a course and many courses form a curriculum. among the various courses there is no (or minimal) overlap. (iii) the educational material is usually managed by a learning management system (lms) [2], [13]. let us assume that the information / knowledge resources of a vc are the contents of its node (such as website or a blog). in this case, the material is rather chaotically organised, with high overlaps, no particular structure, no particular management. homepages link to several sub-pages and other related nodes. the various similar vc nodes (e.g., linux communities) are loosely connected. the ability to find specific information requires sometimes specific skills of searching and data mining. however, there is still a hidden hierarchy: the first level is the knowledge present in the node, which may be downloaded; the second level is the knowledge and experience of the community members, which is not seen. 4.2 looking for information in vcs the most common ways for getting access to specific information from vcs are: 1. download articles from their nodes 2. participate in fora and pose questions 3. read faqs and search for keywords 4. use the site search engine (if available) 5. contact sage membres (‘gurus’, ‘masters’ etc.) directly. however, since the material is not organised, a user may have to search for several minutes in order to find what he/she is looking for. 4.3 comparison to open university practices there exist strong similarities but also differences between the ways learning is achieved on line in virtual communities and open universities (ou) using the web. as an example of an open university we shall consider the hellenic open university (hou) [www.eap.gr]. hou students interact with their 44 antonios andreatos instructor as well as with each other over the internet frequently, in order to ask questions and get answers about the educational material and particularly the assignments they have to carry out. mostly the interaction is done by emails and forums. the students are all provided with the same books and are supposed to follow a specific syllabus. the students meet regularly five times throughout the course of a year; attendance is not required. in the end of the academic year they also take an exam (live) which is mandatory and counts for 70 % of the final grade. all these practices do not occur in vcs, where learning is informal. but there is a strong similarity in that the students study and learn on their own. this practice is fundamental for the institution and operation of all ous worldwide [3]. similarities between ous and vcs are listed in table 1 below. table 2 lists some differences. students / members study on their own they depend a lot on the educational material they help each other gain specific knowledge or skills they may be assessed by knowledge or skills (titles or grades or expertise) they may be anywhere in the world they are adults and therefore, self-motivated they are moderated by an instructor or a list moderator or owner of the site table 1: similarities between ous and vcs open universities virtual communities students are directed by the instructors members of vcs are self-directed students are provided with the same education material members study different material and practice a lot students are supposed to follow a specific syllabus there is no syllabus students have seen each other at least once real life interaction may never take place focus primarily on knowledge focus primarily on expertise provide a title do not provide a title knowledge is more theoretical knowledge is more practical and empirical table 2: differences between ous and vcs 4.4 professionals and continuing education today the internet is used by millions of people as an interminable pool of knowledge, as a huge online encyclopaedia. a user seeking particular information on a subject, may find a lot of it, not only in online encyclopaedias or dictionaries but also in specialised vc nodes. for this reason, the ability of informal self-education and training is a vital skill for today’s professionals. based on personal experience, we believe that information and knowledge gathered in some specific vc-related nodes, is superior to that available in traditional, even academic, sources such as books, electronic or conventional, in terms of practicality and in-depth and up-to-date coverage. since vcs update continually the (practical) skills of their members, we can claim that they offer some kind of informal education [15]. the user groups of these professional sites may be regarded as loose professional communities with no or limited interaction amongst users. many profit and non-profit organisations offer (often for free) seminars via the web (also knows as ‘webinars’) to their customers or community members. the main purpose of most such webinars is to demonstrate the use of the companies’ products (such as software tools, integrated circuits, e-learning platforms, etc.). let’s look at some examples. virtual communities and their importance for informal learning 45 the mathworks inc. offers free, live and interactive monthly webinars concerning the use of matlab toolboxes. saba, an e-learning systems company, also offers live online webinars (www.saba.com). national semiconductor (www.national.com) offers online seminars for design engineers. microsoft maintains a large ‘knowledge base’ with articles for computer and network professionals. teacher unions and communities do not lag behind. let us examine two case studies from the greek national internet domain: • ‘eeep’, the greek primary teachers association for the valorisation of ict in education, a nonprofit open community. they issue a journal, organize conferences and maintain a vivacious site (eeep.gr). users can read news and download their electronic magazine (sometimes called a ‘webzine’). • the aforementioned scientific union of adult education (of greece) [www.adulteduc.gr] is another example. they organise conferences, seminars and meetings all around greece; it also issues an online bimonthly bulletin for briefing and member communication. 4.5 vcs and ‘multiliteracies’ in a pioneer as well as important article published in 1996, the ‘new london group’ argues that today’s world is characterised by an increasing cultural and linguistic diversity and a variety of new communication ways and channels, due to the evolution of ict. according to the authors, traditional language-based pedagogical approaches do not provide adequate skills for working and living in general in today’s multi-cultural societies, and that, a new approach to literacy pedagogy, which they have called ‘multiliteracies’, is needed instead. multiliteracies are based on the assumption that the multiple linguistic and cultural differences in our society is essential to the working and private lives of students. the use of multiliteracies approaches to pedagogy will enable students to achieve the following two goals: a) create access to the evolving language of work and community; and b) foster the critical engagement necessary for them to design their social futures and succeed through satisfying employment [16], [17]. 5 discussion and conclusion in this paper we have examined virtual communities (vcs); more specifically, we have dealt with three types of vcs: video game vcs, professional vcs and amateur vcs. we have identified some differences among them, as well as, some similarities and differences between vcs and real-life communities. next we have examined informal learning in vcs and we have compared the organisation of knowledge in vcs to that of distance learning courses. learning gained by the participation in vcs was briefly compared to the methods followed by open universities. furthermore, it was claimed that new ‘digital’ skills are needed by 21st-century citizens. from the discussion above we may conclude that for a professional, participation in professional vcs may be akin to continuing education, whereas for a non-professional, it may merely serve as entertainment. of course, professionals may also benefit from non-professional vcs. in any case, however, free-will participation in vcs is very important, because it fosters the necessary ‘digital behaviour’ and cultivates ‘digital communication’ skills. based on personal experience, we believe that information and knowledge gathered in some communityrelated nodes concerning practical subjects, is superior to that available in traditional, even academic, sources such as books, electronic or conventional. nowadays, where a multiliteracy education is needed for living and working in the digital era, digital communication skills are necessary. ‘digital behaviour’ and ‘digital communication’ rules and ethics are being developed; therefore, all contemporary people should be ‘digitally literate’, in order to be able to survive in a changing and competitive environment. real communication skills are not enough; ‘digital 46 antonios andreatos communication’ skills are also needed. the ability to use the internet and the new media is vital for surviving in the 21st century. vcs will continue to play an important role in 21st-century society, due to social evolution, the globalisation of economy and knowledge, competition and new media technologies. 6 acknowledgement author wishes to thank mr. m. vidalis for reviewing the manuscript. references [1] a. rogers, teaching adults, open university press. 1996. [2] http://en.wikipedia.org/wiki/learning, retrieved on dec. 11, 2006. [3] continuous further education is necessary changes in syllabus are imperative, news bulletin of the technical chamber of greece, no. 2423, jan. 15, pp. 6-8. 2007. [4] http://en.wikipedia.org/wiki/informal_learning, retrieved on dec. 11, 2006. [5] a. vardamaskou and p. antoniou, informal learning: evaluation of an internet-based physical activity educational program for adults, proceedings of the 3rd international conference on open and distance learning, patra, greece, vol. a, pp. 405-417 (in greek), 2005. [6] s. ververidis, the glossary of new media, kathimerini (newspaper) special edition: new media: the alternative choice, 28, pp. 88-89 (in greek). 2006. [7] d. doulgeridis, electronic diaries in common view, tachydromos magazine, no. 266, pp. 44-49 (in greek). (2005) [8] c. angelopoulos, blogs change the landscape of communication, special edition of kathimerini (newspaper): new media: the alternative choice, 28, pp. 78-79 (in greek), 2006. [9] http://en.wikipedia.org/wiki/virtual_communities, retrieved on may 15, 2006. [10] h. rheingold, the virtual community: homesteading on the electronic frontier, harper perennial, san francisco, 1993; also available on line at : www.rheingold.com/vc/book, retrieved on may 29, 2006. [11] vprc national research for new technologies and information society, available online at: http://www.vprc.gr/2/1232/21_gr.html, in greek, 2005, retrieved on sept. 29, 2006 [12] f. pantano-rokou, educational design for e-learning: models, meaning and impact on learning, open education, 1, pp. 45-68 (in greek), 2005. [13] g. dimauro et al., an lms to support e-learning activities in the university environment, wseas transactions on advances in engineering education, vol. 3(5), pp. 367-374. 2006. [14] d. vergidis, a. lionarakis, a. lykourgiotis, b. makrakis and ch.matralis, open and distance learning, vol. 1, institution and operation, hellenic open university, patra (in greek; title of book translated by paper author), 1998. virtual communities and their importance for informal learning 47 [15] a. margetousaki and p. michaelides, communities of practice as a place of learning and development, proceedings of the 3rd pan-hellenic conference on the didactics of information science, corinth (in greek), oct. 2005. [16] the new london group, a pedagogy of multiliteracies: designing social futures, harvard educational review, vol.66, no.1, pp. 60-92, 1996. [17] j. salpeter, 21st century skills: will our students be prepared?, available online at: www.techlearning.com/story/showarticle.jhtml?articleid=15202090, 2003, retrieved on march 22, 2006. antonios andreatos dept. of aeronautical sciences div. of computer engineering and informatics hellenic air force academy dekeleia, attica, tga-1010 greece e-mail: andreatos@hafa.gr received: november 17, 2006 editor’s note about the author: antonios andreatos is a professor at the computer engineering division of the hellenic air force academy. he was born in 1960 in athens, greece. he received the diploma in electrical engineering from the university of patras in 1983, the m.s. degree from the university of massachusetts (amherst) in 1985 and the ph.d. from the national technical university of athens (ntua) in 1989. he was a research scholar at the european joint research centre of ispra, italy. he has published various papers in journals and conferences; he has also authored a book on the design of microcomputer systems in 2001. he has also taught at the hellenic open university. his main technical interests lie in the areas of microprocessors, computer architecture, computer networks, e-learning and adult education. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 1, pp. 106-124 gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system j. p. wachs juan p. wachs purdue university department: school of industrial engineering address: 315 n. grant st., w. lafayette, in 47907-2023 usa e-mail: jpwachs@purdue.edu abstract: this paper describes the design of intelligent, collaborative operating rooms based on highly intuitive, natural and multimodal interaction. intelligent operating rooms minimize surgeon’s focus shifts by minimizing both the focus spatial offset (distance moved by surgeon’s head or gaze to the new target) and the movement spatial offset (distance surgeon covers physically). these spatio-temporal measures have an impact on the surgeon’s performance in the operating room. i describe how machine vision techniques are used to extract spatio-temporal measures and to interact with the system, and how computer graphics techniques can be used to display visual medical information effectively and rapidly. design considerations are discussed and examples showing the feasibility of the different approaches are presented. keywords: posture recognition, behavior analysis, intelligent rooms. 1 introduction intelligent systems can assist in improving safety and performance during surgery in many ways. intelligent operating rooms assist the surgeon in timeand safety-critical situations. multimodal cues from humans and the environment can be used to extract behavior, which in turn can be used to derive contextual and event information. some of these behaviors include, for example, whether there are distractions, whether the subject is busy with certain tasks or how frequently the doctor switches his focus of attention. 1.1 previous research hansen [1] studied focus shift in the operation room and he used the terms focus spatial offset and movement spatial offset. focus spatial offset is the change in the doctor’s gaze as a result of focusing in a new spot. conversely, movement spatial offset results from the doctor’s change in position. it is possible to perform basic behavior analysis of body language in order to determine which type of offset of attention occurs in any point in time. 1.2 hypothesis with behavioral information the following questions could be answered: 1. how can surgeon’s behavioral cues be leveraged to improve the operating room (or) layout dynamically? 2. how can innovative channels of interactions in this enhanced layout minimize unnecessary focus shifts? copyright c© 2006-2010 by ccc publications gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 107 3. how can the doctor and the operating room collaborate to display time sensitive visual information effectively? our hypothesis is that a reconfigurable smart operating room can organize the displayed information in such a way that unnecessary focus shifts are minimized. this has an impact on the surgery performance time. moreover, with the adoption of natural modalities of interaction, unnecessary instructions to the nurses will be eliminated. this also has an impact on the task completion time. 1.3 previous works previous research has demonstrated the negative effects of attention shift on the performance of cognitive and motor tasks [2], [3]. a study conducted by godell et al., [4] looked at virtual reality laparoscopic surgical simulation tasks designed to replicate the levels of cognitive and motor demands in surgical procedures, and found that there was a 30-40% increase in task completion time in the distracted vs. undistracted condition. recent advances have been proposed to counteract unnecessary distracting behavior through the integration of doctor behavior analysis and context awareness into the operating room [5], [6]. the analysis of body language is critical in determining when the surgeon is operating or analyzing medical imagery or just chatting with the staff. providing the intelligent operating room with the ability to understand the doctor’s behavior and the context of the situation allows the projection of patient imagery in the area that allows the least shift of focus and the most optimal interaction space. thus, focus shift is reduced and task performance is improved. for example, when a surgeon interacts with a particular display to obtain information which must be cross checked with magnetic resonance imaging (mri) images obtained previously, in the current operating room’s layout, she will need to move to the main control (see fig 1). this causes focus and spatial shifting and hence distraction and unintended delay. an intelligent operating room can use the surgeon’s body language to determine that she is currently interacting with a control and can then determine the best orientation and position to project the patient mri imagery. a doctor’s assistance system mitigates shift of focus and distractions because it senses the center of the surgeon’s attention through context and uses this knowledge to display relevant patient imagery at this attention point. the system also provides a sterile interface for interaction with the visual information in the spot where the surgeon is already standing, thereby avoiding spatial shift. in this paper, torso and head orientation can be used to find the focus of attention and the context of the event, and how gestures and voice can be combined to interact with medical imagery is discussed. this concept is depicted in figure 1. also, by extracting the dynamics of head pose (eye gaze) and hand gestures, it may be possible to identify those attention shifts which are associated with premeditated or task-oriented attention shifts. for example, a hand gesture oriented to the display combined with gaze directed towards it may indicate that the attention shift was goal-oriented. if the surgeon is bored or distracted he would likely not point to the display. intelligent environments could use this semantic information to assist doctors and improve the safety and comfort of their interactions and surroundings. examples from two different real-time working systems to support collaborative work: real-time pose, posture and head orientation recognition, and a sterile hand gesture recognition system for displaying medical imagery. the remainder of the paper is organized as follows. section two covers previous work, and a description of the methodology proposed for displaying imagery and interacting with the intelligent room are presented in section three. a concluding discussion appears in section four. 108 j. p. wachs 2 related work a large amount of research has recently been conducted on intelligent rooms based on the detection of human behaviors and supporting collaborative work with the room. many of these examples use machine vision techniques to extract important clues, such as head-gaze orientation and posture patterns. they also use computer graphics techniques to display the visual information with high detail and accuracy using special displays or projectors. to interact with the room, voice, body and hand gestures are the prominent channels of natural communication.below, an overview of related research pertaining to the health-care scenario is presented. 2.1 intelligent rooms traditional intelligent rooms are multi-modal environments where audible and visible clues are captured and analyzed exclusively from people’s actions. these systems typically run in real-time, and utilize embedded sensors small enough as to be unnoticeable by people. intelligent rooms in collaborative environments, however, allow human-machine interaction. recent research has supported the incorporation of sensors that look inside a living or working space (the room) to observe inhabitant behavior and potentially infer his intent. one of the pioneering works is the digitaldesk [7], [8] where a computer display is projected onto the desk, and video cameras pointed down at the desk feed an image-processing system that can sense what the user is doing. this application allows users to construct a mixed paper and electronic drawing device. not surprisingly, some of the ideas first presented in the digitaldesk system can now be found in more sophisticated applications. one example is the multi-touch screen interaction on the current microsoft surface [9] device. current approaches used in intelligent rooms combine robotics and vision technology with speech understanding algorithms and distributed agent-based architectures to provide information services in real-time for users engaged in everyday activities [10]. real-time three-dimensional people-tracking by a network of video cameras using a rectilinear video array tracker and an omnidirectional video array tracker (o-vat) in order to develop a real-time system for tracking the head and face of a person in an intelligent room is described in [11]. in the globeall system, [12], a modular four-component prototype for a vision-based intelligent room is developed. the prototype consists of a video input from an electronic pan-tilt-zoom camera array, which performs tracking and interpretation. an intelligent room for welfare applications called the "percept-room" was developed in [13]. the system is capable of detecting human faces and classifying hand postures in japanese sign language in color images. in the human interaction loop (chil) smart room project [14] perceptual and situation-modeling components are used to provide context-aware services to the users of the smart room. anthropocentric interfaces based on intuitive and natural aspects is undergoing which is expected to improve the usability of current systems based on multimodal interaction [15]. the intelligent room reverses the traditional model of teaching the user to interact with computers. instead the intelligent room supports natural interaction, enabling the user to feel as if the computer weren’t there. the smart room research is particularly encouraging: it enabled people to use home appliances and perform every-day tasks that would be more awkward to do in other ways. our goal is to bring these achievements into the operating room in the context of a collaborative support system. the steps involved in this transition are described in the next sections. 2.2 smart displays and projectors smart projectors allow such applications as augmented reality and immersive displays for three dimensional video-conferencing, real-time annotation and simulation and complex and high volume imagery display. increasing computing power, smaller projectors and fast graphic cards make projectorgaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 109 based interaction an attractive feature for intelligent rooms. for example, a patient’s basic information and condition could be displayed in his field of view, or an mri image projected over a patient’s head could help a surgeon determine more accurately a brain tumor’s location. projection in side walls is the method adopted in this work. wide screen projection using multiple projectors is a challenging problem since it requires undistorting the image, projector calibration and a setting a position and orientation for the projectors, shadow elimination, and because the image surface is of unknown geometry. if the surface to be projected over is uneven the problem becomes even more complex. [16] presents an image projection method that allows arbitrary observer-projector-screen geometries, relying on a robust structured light approach which can be easily adapted to multi-projector configurations. an interactive projector automatic calibration process for multi-projector-camera environments is demonstrated in [17]. this method does not require calibration rigs nor does it assume fixed display positions; however it requires the cameras to be to be pre-calibrated. this is done through detecting self-identifying tags projected in freely moving targets. overlapping tiled projected images are obtained from multiple steerable projectors in [18]. the projectors operate simultaneously and misalignments on the projected image are corrected through a preliminary process. in addition the authors present a virtual synchronization method based on the dynamic memory architecture for the projectors. a high resolution video display system using multiple projectors to build a surround video display system is presented in [19]. bhasker et al. [20] suggested a registration technique allowing severely distorted projectors to be used which opens up the possibility of mounting inexpensive lenses on projectors. this technique can handle imperfect and uncalibrated devices in planar multi-projector displays. more specifically, it can correct for geometrically imperfect projectors and photometrically uncalibrated cameras. approaches to solve occlusion and the resulting blinding light are reported in [21] related to front projection. an algorithm based on a distributed calibration framework for multi-projector displays where the projectors cooperatively re-estimate the poses of all projectors during actual display use is discussed in [22]. 2.3 hand gesture recognition in healthcare natural hand poses and gestures are used to control, teach, treat and manipulate systems in diverse areas of the healthcare environment. gestures can be used to control the distribution of resources in a hospital, to interact with medical instrumentation, visualization displays, to help handicapped users as an alternative interface to computers and as part of rehabilitation therapy. when the hands are attached to sensors to provide haptic (tactile and force) feedback, a surgeon’s gestures can be used to perform long distance surgeries with the help of telerobots. additional systems use voice, gaze and gestures together, profiting from the combined advantages of these modalities to convey richer and redundant information. some gesture concepts have been exploited for improving medical procedures and systems. the "come as you are" requirement is addressed in face mouse [23], where a surgeon can control the motion of the laparoscope by simply making the appropriate face gesture, without hand or foot switches or voice input. current research to incorporate hand gestures into doctor-computer interfaces has appeared in graetzel et al.[24]. they developed a computer vision system that enables surgeons to perform standard mouse functions (pointer movement and button presses) with hand gestures while addressing the "intuitiveness" requirement. a hand gesture tracking device for browsing mri images in the operating room (or), called "gestix" was developed in [25] and it was validated in a real brain biopsy (see figure 1). "gestix" addressed both the "come as you are" and "intuitiveness" requirements by providing a natural effective interface. the "comfort" requirement is fulfilled in "wearit@work" [26], a rfid reader is used to identify the patient and to interact with the hospital information system (his) using gestures to fill out exams and prescriptions. this project ensures sterility. however, since this is an encumbered interface, the "come as you are" requirement is violated. from the patient side, the most prominent requirements in a hand gesture interface system are "user 110 j. p. wachs figure 1: a surgeon using gestix to browse medical images adaptability and feedback" and "come as you are" because impaired users may be limited in the classes of gestures that they can learn and the devices that they can wear. in this context, wheelchairs as mobility aids have been enhanced with robotic/intelligent vehicles able to recognize the user’s commands indicated by hand gestures [27]. the gesture pendant [28] is a wearable gesture recognition system that can be used to control home devices and provides additional functionality as a medical diagnostic tool. the "user adaptability and feedback" requirement is addressed in staying alive[29], which is a virtual reality imagery and relaxation tool which allows cancer patients to navigate through a virtual scene. a haptic glove attached to the hand was used to rehabilitate post-stroke patients in the chronic phase in [30]. these reviewed systems indicate that hand gesture interfaces in medical domains still represent a novel area of research and that few systems are currently in use in healthcare environments. nevertheless, current works highlight the potential of gestures as a natural modality for assisting in the advancement of medical research and surgery, and indicate the need for additional research and evaluation procedures so that such systems can be widely adopted. 3 methods in this section, the philosophy behind the design of our system is presented, and how to develop an "intelligent" operating room based on off-the shelf hardware (a servo controlled projector, four pan-tiltzoom cameras, four microphones, and a controlled connected to a dedicated computer) is described. the system consists of four sub-systems: (a) steerable projectors, (b) focus of attention determination, (c) hand gesture interaction and (d) speech interaction. first the surgeon’s posture, pose and orientation are tracked and detected. this information is sent to the steerable projector, which controls a servo-mirror where the projector ray is deflected. the head orientation is used to determine the closest wall in front of the surgeon where the medical imaging can be reflected. the projection system is activated only when the surgeon is standing straight and staring at a wall, and also evokes a command by saying "computerproject-now". once the image is projected, the surgeon can interact with the images using hand gestures gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 111 and voice commands. the system is turned off when the surgeon performs a specific gesture command. these functionalities are described in the schema presented in figure 2. figure 2: architecture for the intelligent operating room in the following sub-sections the subsystems are described in greater detail. most emphasis is given to focus of attention and hand gesture interaction because those are the most difficult challenges of this environment as showed in previous research. steerable projectors and speech recognition are the focus of future work. 3.1 steerable projectors for non-uniform projection surfaces a steerable projector allows us to move the projected image in real time such that the projected image is in front of the surgeon, perpendicular to his torso. the implementation of the steerable projector proposed here is similar to [31] where a standard digital projector is combined with a mirror attached to a pan-tilt unit. this approach is more compact and much cheaper than standard steerable projectors. this model includes the internal parameters of the projector, the projector pose, the pose of the pantilt mirror system, and the internal details of the mirror system. by changing the pan and tilt angles programmatically, the mirror rotates about the pan and tilt axes respectively and the projected image changes in turn. the transformation between the projector pose and the mirror pose can be calculated through a calibration process. since the pan-tilt angles will have an impact on the registration process between the projected image and the camera model of the 3d view, the use of a fixed set of projector poses is suggested, one for each wall, to reflect the surgeon’s possible orientations: upper abdominal procedures are usually performed with the surgeon standing in the midline; central and pelvic operations are generally performed with the surgeon on the lateral side of the patient [32]. therefore, a set of four reflected projector poses is calculated, one for each mirror pose. each pair of θ and ϕ values results in a different mirror pose and hence a different set of projected corner points on the surface. the rigid transform from the reflected projector position for each of those mirror poses is 112 j. p. wachs figure 3: concept image from the intelligent operating room calculated using the procedure detailed in [33]. this requires the use of a camera to capture the projected image on the display surface, and assumes that the display surface is uneven. since in our case the display surface could potentially be any wall around the surgeon, a pan/tilt/zoom camera dedicated to the projector is allocated, in addition to those used to capture the surgeon postures. let the display surface be represented in a 3d mesh. i try to find the transform that relates a given 2d pixel in the projector image plane (z), to a 3d pixel in the display surface (k), given that the place of the camera is so that the same point (v) appears in the camera image as z’. see figure 4. figure 4: . camera and projector 3d view geometry representation each point x = (x, y, w)t in the uneven display surface is a result of a ray originated in the center of the projector op traversing the projector plane in point z = (ûp, v̂p), which in turn appears on the image captured by the pan/tilt camera as point z ′ = (c, v̂c). the goal is to find the static parameter f for every point relating the projector plane and the display surface. knowing the internal parameters of the projector, and the internal parameters of the camera and the homogeneity matrix, [33] show that each gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 113 sample point k in the 3d mesh follows can be found using (1):   x y z   = p−   −p̂ + f   ûp p̂p      (1) where p is the rotation 3x3 matrix, p̂ is the translation 3x1 vector, and f is the parametric scalar value. it is possible to show that the parameter f can be estimated using traditional correspondence approaches, or using predictive methods such as particle filtering or kalman filters. in [33] a bank of lalman-filters were used to find the correspondences between the projector pixel z and the projected point k, one filter for each point z. to reduce the complexity of the process, in every frame only one point z is selected for matching. once a point is selected using a certain method (pseudo-randomly, distance based, feature detector), a patch around the neighboring pixels is selected. this patch is cross-correlated with the predicted location on the camera’s image, and close to the epipolar line. once the new coordinate is found on the camera’s image, the parameters for the 3d mesh are updated. this process corrects the projected image over the uneven surface so that curves and discontinuities are not perceived by the viewer, however errors (maximum 6.78mm and mean 2.41mm) similar to [33] are expected. sensitivity studies based on these errors are the focus of future work. 3.2 focus of attention determination in this section, it is shown that by extracting the surgeon’s head orientation (which will be used as a proxy for eye gaze) and torso posture and orientation (which are indicators of the action being performed), it may be possible to identify focus spatial offset and movement spatial offset which are associated with attention shifts. in the first case, gaze orientation helps us to know where to project the medical imagery (which wall to use as the display surface). in the second case, torso position (standing straight or bent) indicates the surgeon’s possible intention: interaction with the patient, interaction with the medical imaging display or other activity. our method to extract head and torso position, posture and orientation is to look at each body configuration as a different class: for example, the following notation describes the current state of a surgeon: s1 = standing, torso 90 degrees, facing 0 degrees. thus, in this section, a multi-class classifier based on parts-based models is described to find each of these configurations. the approach is briefly described for object detection using single and multi-class detectors, in the context of us marine detection, as a case study only, but it is clear that the same approach can be applied to any person. first, it is described the feature extraction process from patches (or parts) and then the basic and shared classifiers are discussed. 3.2.1 dictionary creation initially, a dictionary is created from square sub-region patches extracted from a set of images per class, similar to [34]-these are also called "features". each image is convolved with a filter from a bank of filters, grayscale normalized and re-scaled to a standard scale of 128x48 for the standing and 64x48 for marines kneeling. then patches are selected in x, y locations found using an interest point detector. in those locations patches are extracted from all the filtered images. each patch is associated with the place from where it was extracted, relative to the center of the object. this location information is stored in two vectors containing the x, y offset distances respectively lx, ly, after applying a blurred delta function to them. hence, each entry i in the dictionary has the form vi={filter, patch, lx, ly, image no.}. if 8 images per class are used to create the dictionary, 20 patches are extracted per image, a bank of 4 filters is used, and by classifying into 8 classes, a total of 640 entries is obtained. the procedure is shown in figure 5. 3.2.2 the feature vectors the training set is created from a sample set of images excluding those used for the dictionary creation. for each of the eight (classes) objects i found all the images that include that type of object. in each image, feature vectors are obtained using the following method: 114 j. p. wachs figure 5: . . dictionary entries: patches selected randomly (on the left image) are convolved with a bank of filters. the position of the patches is represented by the location matrix (right). since the red patch is at almost the same horizontal position and at the top, relative to the center, the position matrix has a bright spot 1. scale all the images in the training set so the object of interest is bounded by a rectangle of size 128x48 and 64x48 (region of interest, roi) for standing and kneeling respectively, and the images are not larger than 200x200. 2. for each image j normalized in scale, each entry i of the dictionary is applied to it: this means that this image is convolved with the filter in entry i, and convolved again with a gaussian to smooth the response. next, it is cross-correlated with the patch in entry i, yielding a strong response where this patch appears in the filtered image. finally, the 1d filters lx and ly are applied to the cross-correlated image, effectively "voting" for the object center. this is summarized in (2): vi(x, y) = [(i ∗ fi)⊗pi]∗ltx ly (2) where * is the convolution operator, ⊗ is the normalized cross correlation operator, vi(x, y) is the feature vector entry i, f is a filter, p is a patch, and lx and ly are the x,y location vectors with respect to the center of the image respectively. each training feature vector is coupled with a class label (1 to 8) and -1 for negative samples. for a sample set of 25 images per class, 4000 negative and 200 positive samples are obtained, with 640 features, see figure 6. 3.2.3 sharing the features effectively in this section i briefly describe the joint boosting algorithm used for multi-class multi-view object detection. for a more detailed discussion, refer to [35]. a boosting algorithm is an additive model where weak learners are sequentially added to form a strong classifier. for the multiclass case, the strong learner is defined as: h(v, c) = m∑ m= hm(v, c) (3) where v is the input feature vector, m is the number of boosting iterations, c is a specific class and gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 115 figure 6: . positive and negative vector set creation using the dictionary entries and sampling the center out of the silhouette points. each sampled point, is a vector, where an entry j in the vector represents the number of votes assigned by patch pi h(v,c)=log p(zc=1|v)/p(zc = -1|v) is the logistic function where z is the membership label (ą1). when the expectation is replaced by an average over the training data, the cost function can be written as: jwse = c∑ c= n∑ i= wci (z c i − hm(vi, c))  (4) where n is the number of training vectors,wci are the weights for sample i and for class c,z c i is the membership label for sample i for class c (±1). the weak shared learner, also called, regression "stump" is defined for the multiclass in (5): hm(v, c) =    as if v f i > θ andc ∈ s(n) bs if v f i ≤ θ andc ∈ s(n) kcs if c 6∈ s(n) (5) where v f is the component f th from the vector v, θ is a threshold, δ is the indicator function, as and bs are regression parameters. s(n) is a subset of the classes labels. each round of boosting consists of selecting the shared "stump" and the shared feature f that minimizes (3), from the subset of classes s(n), in the following stated procedure: pick a subset of classes s(n). search all the components f of the feature vector v, for each component, search over all the discrete values of θ and for each couple {f, θ }, find the optimal regression parameters as and bs using (6-8). finally, select {f,θ , as, bs} that minimizes (4). as( f , θ ) = ∑ c∈s(n) ∑ i w c i z c i δ (v f i > θ )∑ c∈s(n) ∑ i w c i δ (v f i > θ ) (6) bs( f , θ ) = ∑ c∈s(n) ∑ i w c i z c i δ (v f i ≤ θ )∑ c∈s(n) ∑ i w c i δ (v f i ≤ θ ) (7) kc = ∑ i w c i z c i∑ i w c i (8) 116 j. p. wachs therefore a shared weak learner is associated with a set of 6 parameters {f, θ , as,bs, kc, sn} of the subset of classes selected. it is more efficient to keep a pointer to the entry in the dictionary from which f was obtained rather than keeping the whole feature vector (figure 7 displays all the entries in the dictionary). this will also provides us with the patch, filter and location vectors entries in the dictionary which will be used for the detection stage. this new weak learner is added to the previous accumulated learner, for each training example: h(vi, c)= h(vi, c)+hm(vi, c) where hm is computed for the optimal subset of classes. the optimal subset of classes is the one that minimize the misclassification error by selecting a feature shared by those classes. finally, the chain of weak learners is stored in the accumulated learner. figure 7: dictionary entries selected by the multiclass adaboost 3.2.4 detection to detect an object of class c in a test image i need to compute the score for every pixel in the image, provided by the strong classifier h(v,c) evaluated in all the pixels. if the score exceeds some threshold the object is detected. in order to calculate h(v,c) i use the following procedure. i find all the shared weak learners that shares class c, and for each sharing weak learner: 1. obtain the 4-tuple {f, θ , as, bs} from the weak learner. since f is associated with an entry in the dictionary, i retrieve the corresponding filter, patch and vectors lx, ly from the dictionary, and apply them to the test image using (1). 2. calculate hm(v)= aδ (v f > θ )+b where vf is the image obtained in the previous step. finally i add up all the weak learners. each weak learner votes for the center of the object sought, and it is expressed by a grayscale image obtained in step 2. the accumulated image will have bright pixels where the weak learners "agreed" about the center of the object in the "voting space". a maximum in the accumulated image indicates the probability to find the object in that location. each strong detector of a different class outputs an accumulated image. thus, it is possible that more than one strong detector will vote for the same (or very close) pixel coordinates. this situation is not rare since some postures are very similar. to solve this conflict, peaks that are closer than a given radius are clustered together, and the resulting class of the detection is the one from the class with the highest maximum. 3.2.4.1 torso and head orientation the maximum voting schema, from the strong detector results, is one class from the four possible gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 117 classes. each class is associated with a torso orientation. class 1 to 4 corresponds to 0, 90, 180, 270 degrees of rotation in the azimuth axes of the torso, accordingly. once the class is selected, a bounding box with the size equal to the average size of the dictionary annotated boxes for that class, and which center corresponds to the peak of the maximum votes. a color bounding box with an arrow in the direction of the torso is plotted on the image tested to represent the direction where the torso is rotated towards. for head orientation, which is our proxy for gaze direction (this assumption holds when the object visualized is far enough from the observer, a different multiclass detector was trained around the head of the subject. this additional multi-class classifier was trained to detect the head in four orientations. the torso detection is performed first and determines a limited search region for the head. experiments yielded the top 1/7th of the body detection area with added margins above the top to be a sufficient head search region. should multiple body postures have been detected, a heuristic increases the search region, taking nearby body detections into account. figure 8: . examples of head and torso recognition procedure in different scenarios 3.3 hand gesture interaction a hand gesture interaction system used in the or for doctors/surgeons should follow the following specifications [36]: (1) real time feedback and operation; (2) low fatigue; (3) high intuitiveness; (4) robust to unintended action; (5) robust recognition; (6) easy to use and to learn; (7) unencumbered (no wired attached). following this considerations, our approach is described next. 3.3.1 approach four pan/title/zoom network cameras placed in the vertices of the operating room’s ceiling captures a sequence of images of the hand. the hand is tracked by a tracking module which segments the hand from the background using color and motion information. to clean the main object, morphological image processing operations are used. the location of the hand is represented by the 2d coordinates of its centroid which is sampled continuously resulting in a trajectory. these trajectories are mapped into a set of commands. for example, a flick gesture is the rapid movement of the hand from a neutral position to a specific direction, and return to the original position. ’flick’ gestures are used to navigate through the projected image on the walls of the or. the doctors/surgeons intended actions/commands are recognized by extracting features from the spatio-temporal data of the gestures. using the corresponding commands to which the gestures are associated, doctors can bring up x-rays images, select a patient record from the database or annotate a region on the image. a two layer architecture is used. the lower level provides tracking and recognition functions, while the higher level manages the user interface. as opposed to field conditions, may raise challenges related to limited lighting conditions and unfixed environments. we plan to address this problem using simulation under operating room conditions to obtain a better assessment of system’s performance. 3.3.2 hand segmentation and tracking a 2d histogram is generated in real-time during ’calibration’ from the doctor’s hand. the calibration process is initiated when the user places his hand slowly into a boundary without touching the screen. this, in turn, is used to build a hand color distribution model. a pixel at location (x, y) is converted to the 118 j. p. wachs probability that the pixel is classified as a hand (or gloved hand), in any frame using the 2d histogram lookup table created earlier (figure 9). figure 9: . user hand skin color calibration in order to avoid false motion clues originated by non-hand motion in the calibration phase, a background maintenance procedure was developed. first, an initial image of the background is created. changes are detected background differencing. when this difference is coherently significant, i assume that the present object is a hand. the background stored image is updated using a running smoothed average (9). bk(i, j) = λ × f (i, j) + ( − λ )×bk−(i, j) (9) where, bk is the updated stored background image at frame k, bk− is the stored background image at frame k-1, λ is the smoothing coefficient (regulates update speed), f(i, j) is the current background image at frame k. to track the hand, camshift is used [37]. it uses a probability distribution image comprised of pixels representing hand colors. this hand image is created from a 2d hue-saturation skin color histogram [38]. a histogram is used as a look-up-table to convert the acquired camera images of the hand into corresponding hand pixels, a process known as back projection. in the original camshift algorithm the probability of a pixel belonging to the hand is determined by the grayscale value of the pixel only. in lieu of using color probability alone, i modify it with motion information according to (2) to represent a hand pixel probability. the relative weights between color and motion are shifted according to the amount of motion in the scene resulting in an adaptive fusion system. using the centroid and size of the hand pixel an iterative procedure based on a generalization of the mean shift algorithm [39]. is used to update the tracking window at each frame. thresholding to black and white followed by morphological operations is used to obtain a single component for further processing to classify the gestures. 3.3.3 operation the gesture interface can be used to browse medical databases and manipulate the projected imagery such as x-rays and mris. the finite state machine in figure 10 illustrates the operational modes with the gesture interface. after the calibration procedure dynamic gestures are used to browse images and hand poses are used to switch between modes of operation. the central area in the middle of the frame is called the "neutral area", see figure 11. when a doctor decides to perform a specific operation on a medical image, he/she places the hand in the ’neutral area’ momentarily, which will be followed by the zoom posture or rotation pose gesture. gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 119 figure 10: state machine for the gesture-based medical browser figure 11: four quadrants mapped to cursor movements 120 j. p. wachs navigation gestures are designed to browse through a medical data browser projected on the wall. the immersion sense is created by representing 3d objects, where each image is a side of a cube and arranged in numerous levels. the cube can be rotated cw and ccw, and moved up and down in the vertical direction to exhibit various levels on the screen. hence, any image on the screen can be accessed directly by four navigation commands. a ’flick’ gesture is performed when a doctor/surgeon moves the hand out from a ’neutral area’ toward any of four directions, and then back to the neutral area. interaction is designed in such a way that the gestures commands are carried out only when the doctor’s body posture is standing still, instead of bending towards the patient (which may indicate that the surgeon is operating). zoom is used to change the size of an image. when the zoom-mode is triggered, the size of image changes according to the proximity of the palm to the camera. to go back to the normal mode, the hand is moved out from the neutral area to any of the 4 directions. the "zoom mode" is activated, when the hand is in the neutral area, rotates suddenly ccw by 90ş. rotation is achieved through the rotation of a sterilized straight instrument hold on the doctor’s hand. in rotation mode, the angle to which the medical image is rotated is determined by the angle made by the instrument and the horizontal axis, in increments of 90ş. the orientation’s instrument can be found using the probabilistic hough transform (pht). only lines on the nearby proximity of the hand are considered (2.5 times around the interaction window). to avoid the recognition of unintentional gestures, when the doctor wants to stop temporarily the operation of the hand gesture recognition system, he can either gaze down towards the patient, or user moves the hand to the lowest part of the screen, keeping it within the screen boundaries. to return to the "normal mode" a wake up gesture is used whereby the user waves the hand over the small rectangle in the upper left corner of the screen. this is useful when the doctor wishes to discuss details on the projected image without being "tracked" by the system. 3.4 speech interaction one of the main goals regarding the intelligent operating room is twofold: (a) identify the user (id tagging) automatically and (b) to recognize spoken utterances. the first goal, on one hand grants the user (either a nurse or the main surgeon) access to digital patient records and medical imaging tools according to the privileges that have been assigned to him, and on the second hand allows the room to keep track of the subject when ambiguity occurs due to light changing, occlusions and merging of several subjects. if i want to allow only the surgeon to manipulate and annotate the patient’s medical images during surgery, the operation will be activated only when spoken utterances are recognized by the room as belonging to the surgeon’s voice. to achieve this goal, the users will be required to say the word "login" [38] and compared to prototype feature vectors using some distance measure, such as maximum likelihood. for every participant in the or, a profile is created and matched to the existing profiles in order to assess the level of permission that needs to be granted. the second goal involves the recognition of words and sentences using off-the-shelf voice recognition software, called "dragondictate", which can explicitly build continuous speech and context-free recognition grammars [39]. to transmit the speech to the recognition module, multiple microphones are used. since i want to keep the sterility requirements, the microphones are not attached to the doctors. instead, the microphones are set-up in key locations on the or’s ceiling. voice commands are used to evoke functions that are very difficult to map to hand gestures since there is no natural association between them. for example, to retrieve medical images of the patient being operated, the surgeon can say the patient’s name. to discriminate between environment noise, which can mistakenly being recognized as a command, the user has to start the command by saying "system" shortly followed by the command to be carried out. this approach was suggested in [39] in the context of smart rooms, where the vision recognition and audio recognition modules are independent, and hence it fits the requirements for the operation room. environment noise can still be too high and gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 121 interfere with the interaction. we plan to test these scenarios in further work. 4 conclusions and future works this work presents one possible application for smart rooms: the intelligent, collaborative operating room. by monitoring the surgeon’s activities while performing surgery, the system can collaborate with her by displaying relevant medical imaging information in a convenient location in the or. the or depends on the surgeon’s body language as the essential key to understanding his focus of attention. one goal of the suggested approach is to use computer vision techniques to detect body postures and gaze to determine focus of attention. smart projectors combined with computer graphics techniques are used to project medical imaging in front of the surgeon, based on the knowledge provided by the posture recognizer. person-detection with simultaneous human body posture recognition is achieved using parts-based models and a multiclass boosting approach: each body part is matched with the image captured by the camera, and each part votes for the center of the person. focus of attention is assessed by simultaneous detection of the surgeon’s posture and orientation. detection and classification are possible since features of different human postures have shared subspaces as opposed to the non-person class. one challenge here is the focus on postures that cannot be easily distinguished by their aspect ratio or silhouette, but rather require a bottom-up approach. parts-based detection does not require explicit models, nor the labeling of individual body parts. the detection and posture classifications are performed in a single pass over the image, and the strength of the recognition is proportional to the ensemble of votes from parts patches. a vision-based system is used for interaction with the medical images,. it recognizes the surgeon’s gestures in real-time which are used to browse, zoom and rotate the images projected on the wall in front of him. the system is user independent since it is calibrated using a multi-modal two step procedure: first the user’s id is recognized using a voice identification system, then cameras are used to model the gamut of colors of the surgeon’s hand. camshift is used to track the hand, which allows dynamic hand gesture navigation control. the decision to use hand gestures as the main modality of interaction is based on previous work done by the author [25], where it was shown that hand gesture interaction in the operating room is the preferred modality of interaction by the doctors in the or, due to their proficiency at using the hand as their main tool of work. hand gestures offer the following benefits: (i) ease of use: surgeons are already quite proficient in their use of hands as a primary work tool, (ii) rapid reaction: hand gesture commands are intuitive and fast, (iii) unencumbered: does not require the surgeon to be wired to any device, and (iv) sterility: non contact interaction. issues related to image processing performance algorithm under unfixed environments require further analysis and more robust vision algorithms. for example, in [25] we used only one frontal camera, and in the current research i implement four. it is not likely that the surgeon will be in front of any of these cameras. to correct for this, the image need to be re-projected using the homography matrix found in the calibration process. still some areas may remain occluded. in future work these challenges will be addressed and a simulation framework is going to be adopted in order to quantitatively validate the hypothesis suggested in this work. surgeons must command a high level of cognitive and motor skills in order to complete their tasks successfully. previous research has shown that during the performance of a specific task, most gaze changes are related to the task-oriented visual search. distractions may have an adverse effect on task performance since they compete with the mental resources allocated for that task. i specifically address the problem of the distraction to the surgeon, (or shift of focus) required for closer examination of medical imaging. i alleviate this situation by displaying the medical imaging in a convenient size right in front of the surgeon, automatically detecting his current orientation. in more general terms, i believe that hand gesture, body posture and voice recognition can be used to help an intelligent system understand the context of the work being performed in an operating room. 122 j. p. wachs intelligent rooms equipped with hand gesture, body posture and voice recognition capabilities can assist surgeons in the execution of time-or-safety critical tasks, while providing him/her with natural, intuitive and easy to use interaction modalities. bibliography [1] t.r. hansen ,focus shift analysis in the operating theatre,. 2004. source:htt p : //www.pervasive − interaction.org/publications/focus_shi f t.pd f . [2] j. graydon, m. eysenck, distraction and cognitive performance, eur j cogn psychol.;1(2):161-179, 1989. [3] v. weerdesteyn, a. schillings, g. van galen, d. duysens, distraction affects the performance of obstacle avoidance during walking, j motor behavior. 35(1):53-63, 2003. [4] k. h. goodell, c. g. cao, s. d. schwaitzberg, effects of cognitive distraction on performance of laparoscopic surgical tasks, j laparoendosc adv surg tech a. apr;16(2):94, 2006. [5] r. m. satava, disruptive visions: the operating room of the future. surgical endoscopy, vol. 17, no1, pp. 104-107, 2003. [6] j. v. sutherland, w. j. van den heuvel, t. ganous , m. m. burton, a. kumar, towards an intelligent hospital environment: adaptive workflow in the or of the future, stud health technol. inform.118:278-312, 2005. [7] p. wellner,the digitaldesk calculator: tangible manipulation on a desk top display, proceedings of uist’91. pp.27-33. 1991. [8] w. newman, p. wellner, a desk supporting computer based interaction with paper, proceedings of the conference on human factors in computing systems (chi’92). p587592. 1992. [9] microsoft surface. available online: www.microsoft.com/surface/ [10] r. a. brooks, the intelligent room project, proceedings of the second international cognitive technology conference (ct’97), aizu, japan, august 1997. [11] k. s. huang and m. m. trivedi, video arrays for real-time tracking of persons, head and face in an intelligent room, machine vision and applications, special issue, jun. 2003. [12] m. nicolescu and g. medioni, electronic pan-tilt-zoom: a solution for intelligent room systems, proc. icme’2000, 2000. [13] j. c. terrillon, a. piplr, y. niwa, k. yamamoto, robust face detection and japanese sign language hand posture recognition for human human-computer interaction in an "intelligent" room, in proc. int’l conf. vision interface, 2002. [14] n. dimakis, j. k. soldatos, l. polymenakos, p. fleury, d. curin, jan, j. kleindienst, integrated development of context-aware applications in smart spaces, pervasive computing, ieee 7 (4), 7179, 2008. [15] t skordas, g metakides, major challenges in ambient intelligence, studies in informatics and control, vol.12, no.2, june 2003 page 3. 2.3. gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system 123 [16] j. p. tardif, s. roy, m. trudeau, multi-projectors for arbitrary surfaces without explicit calibration nor reconstruction, in proceedings of fourth international conference on 3-d digital imaging and modeling. 3dim 2003.. pp. 217-224. 2003. [17] a. griesser and l. v. gool, automatic interactive calibration of multi-projector-camera systems, proceedings of the 2006 conference on computer vision and pattern recognition workshop, 8, 2006. [18] i. mitsugami, n. ukita, m. kidode,.‘displaying a moving image by multiple steerable projectors’, ieee international workshop on projector-camera systems (procams2007), 2007. [19] z. jiang, y. mao, b. qin and b. zang, a high resolution video display system by seamlessly tiling multiple projectors, ieee international conference on multimedia and expo, 2007. [20] e. bhasker, r. juang, a. majumder, registration techniques for using imperfect and par tially calibrated devices in planar multi-projector displays, ieee transactions on visualization and computer graphics, 13:6, 1368-1375, 2007. [21] j. summet, m. flagg, tj. cham, jm. rehg and r. sukthankar, shadow elimination and blinding light suppression for interactive projected displays,ieee transactions on visualization and computer graphics, 13:3,508-517, 2007. [22] t. johnson, g. welch, h. fuchs, e. la force, h. towles, a distributed cooperative framework for continuous multi-projector pose estimation in proceedings ieee vr 2009. [23] a. nishikawa, t. hosoi, k. koara, d. negoro, a. hikita, s. asano, h. kakutani, f. miyazaki, m. sekimoto, m. yasui, y. miyake, s. takiguchi, and m. monden. face mouse: a novel humanmachine interface for controlling the position of a laparoscope, ieee trans. on robotics and automation, 19:5, 825-841, 2003. [24] c. graetzel, t.w. fong, s. grange, and c. baur, a non-contact mouse for surgeon-computer interaction, technology and health care, 12:3, 245-257, 2004. [25] j. wachs, h. stern, y. edan, m. gillam, c. feied, m. smith, and j. handler, a hand gesture sterile tool for browsing mri images in the or, journal of the american medical informatics association. 15(3), 2008. [26] p. lukowicz, a. timm-giel, h. lawo, o. herzog, wearitwork: toward real-world industrial wearable computing, ieee pervasive computing. 6:4,8-13, 2007. [27] y. kuno, t. murashima, n. shimada, and y. shirai, intelligent wheelchair remotely controlled by interactive gestures, in proceedings of 15th intl. conf. on pattern recognition, 4,672-675, 2000. [28] t. starner, j. auxier, d. ashbrook, and m. gandy. the gesture pendant: a self-illuminating, wearable, infrared computer vision system for home automation control and medical monitoring, in 4th intl. symposium on wearable computers, 87-94, 2000. [29] d. a. becker and a. pentland, staying alive: a virtual reality visualization tool for cancer patients, proc. of the aaai’96 workshop on entertainment and alife/ai, 1996. [30] r. boian, r. sharma, c. han, a. merians, g burdea, s. adamovich, m. recce, m. tremaine, h. poizner, virtual reality-based post-stroke hand rehabilitation,studies in health and technology information, 85, 64-70, 2002. 124 j. p. wachs [31] m. ashdown and y. sato, steerable projector calibration, proceedings of the 2005 ieee computer society conference on computer vision and pattern recognition (cvpr’05), 2005. [32] e. moschos, r. coleman, acquiring laparoscopic skill proficiency: does orientation matter?, american journal of obstetrics and gynecology, 191:5, 1782-1787, 2004. [33] r. yang and g. welch.,automatic and continuous projector display surface estimation using every-day imagery, 9th international conference in central europe on computer graphics, visualization and computer vision, 2001. [34] k. murphy, a. torralba, d. eaton, w. t. freeman,object detection and localization using local and global features, lecture notes in computer science. sicily workshop on object recognition, 2005. [35] j. wachs, d. goshorn and m. kölsch, recognizing human postures and poses in monocular still images, in proceeding of the international conference on image processing, computer vision, and signal processing. (ipcv09) las vegas, nevada. july 2009. [36] j. wachs, h. stern, y. edan, m. gillam, c. feied, m. smith, and j. handler, a real-time hand gesture interface for a medical image guided system, international journal of intelligent computing in medical sciences and image processing, 1:3:1, 175-185, 2008. [37] g. r. bradski, computer vision face tracking for use in a perceptual user interface, intel technical journal, 1-15, 1998. [38] s. t. shivappa, m. m. trivedi, and b. d. rao, hierarchical audio-visual cue integration framework for activity analysis in intelligent meeting rooms, ieee cvpr 2009, 2009. [39] m. coen, design principles for intelligent environments, in proc. of aaai, madison, wisconsin, 1998. juan wachs is an assistant professor at purdue university in the school of industrial engineering. he completed a postdoctoral training at the naval postgraduate school’s moves institute in the area of computer vision. his research interests are machine and computer vision, robotics, tele-operations, human factors, assistive technologies and health support systems. juan wachs is a member of ieee and the operation research society of israel (orsis). he has published in journals including ieee trans. systems, man, and cybernetics, journal of american medical informatics, journal of image and graphics, and the international journal of semantic computing. he has been a visiting professor at the buenos aires university, argentina in the area of image processing. he has taught digital electronics, multimedia and web development at ort and intel colleges, israel. he received his b.ed.tech in electrical education from the ort academic college in jerusalem, his m.sc and ph.d in industrial engineering and management, information systems and intelligent systems tracks, respectively, from the ben-gurion university of the negev. international journal of computers, communications & control vol. i (2006), no. 1, pp. 17-24 novel features for off-line signature verification banshider majhi, y santhosh reddy, d prasanna babu abstract: in this paper a novel feature extraction scheme has been suggested for offline signature verification. the proposed method used geometric center for feature extraction. euclidean distance model was used for classification. this classifier is well suitable for features extracted and fast in computation. method proposed in this paper leads to better results than existing offline signature verification methods. threshold selection is based on statistical parameters like average and standard deviation (σ ). keywords: feature extraction, geometric center, euclidean distance model, standard deviation and off-line signature verification. 1 introduction signature verification is an important research area in the field of person authentication. we can generally distinguish between two different categories of verification systems: online, for which the signature signal is captured during the writing process, thus making the dynamic information available, and offline for which the signature is captured once the writing processing is over and, thus, only a static image is available[8]. the objective of the signature verification system is to discriminate between two classes: the original and the forgery, which are related to intra and interpersonal variability. the variation among signatures of same person is called inrea personal variation. the vatiation between originals and forgeries is called inter personal variation[7]. in this paper we concentrated on offline verification system. upto now many signature verification methods proposed based on different strategies but no verification system classified near forgeries which were classified by this method. and the main advantage of this algorithm is efficiency and computational complexity. for general purpose applications like smart cards we want quick and efficient verification system[2]. this method is based on the geometric center and signature strokes distribution. section 2 discusses the feature extraction from signature. this is a recursive method which applying on signature recursively. a lot of work has been done in the field of automatic off-line signature verification. while a large portion of work is focused on random forgery detection, more efforts are still needed to address the problem of skilled forgery detection[6]. our method will be the first verification system which seperates some skilled forgeries from originals. this paper organized in the following sections: section 1.1 provides the different types of forgeries. section 2 introduces new feature extraction method. section 3 discusses classification based on euclidean distance model. section 4 discussed about threshold selection. section 5 shows training, testing and results and section 6 gives conclusion and furthure working directions. 1.1 types of forgeries there are three different types of forgeries to take into account. the first, known as random forgery which writtn by the person who don’t know the shape of original signature. the second, called simple forgery, is represented by a signature sample which written by the person who know the shape of original signature without much practice. the last type is skilled forgery, represented by a suitable imitation of the genuine signature model[3]. each type of forgery requires different types of verification approach[4]. hybrid systems have also been developed[9] fig. 1 shows the different types of forgeries and how much they are varies from original signature[5]. figure 1: (a) random forgery (b) simple forgery (c) skilled forgery (d)original signature by using this method we can easily eliminate random and simple forgeries. some of the skilled forgeries also eliminated. copyright c© 2006 by ccc publications 18 banshider majhi, y santhosh reddy, d prasanna babu figure 2: (a) before adjustment of signature (b) after adjustment of signature 2 feature extraction the geometric features proposed by this paper are based on two sets of points in two-dimentional plane. each set having six feature points which represent the stroke distribution of signature pixels in image. these twelve feature points are calculated by geometric center[1]. vertical splitting and horizontal splitting are two main steps to retrieve these feature points. vertical splitting is discussed in section 2.2 and horizontal splitting is discussed in section 2.3. before finding feature points we have to do some adjustments to the signature image. that is moving signature strokes to the center of the image which discussed in section 2.1. 2.1 moving signature to the center of image in this step signatures are moving to the center of image. because of this we can reduce intra-personal variations. here first we have to find out the geometric center of the image and move the signature pixels such that the geometric center should reside at center of image. fig. 2 shows the signature images before moving and after moving. 2.2 feature points based on vertical splitting six feature points are retrieving based on vertical splitting. here feature points are nothing but geometric centers. the procedure for finding feature points by vertical splitting is mentioned in algorithm. algorithm this is the procedure for generating feature points based on verical splitting. input: static signature image after moving the signature to center of image output: v1, v2, v3, v4, v5, v6 (feature points) (a)split image with vertical line at the center of image then we will get left and right parts of image. (b)find geometric centers v1 and v2 for left and right parts correspondingly. (c)split left part horizontal line at v1 and find out geometric centers v3 and v4 for top and bottom parts of left part currespondingly. (d)split right part horizontal line at v2 and find out geometric centers v5 and v6 for top and bottom parts of left part currespondingly. fig. 3 shows the feature points retrieved from signature image and o is the center of image. these features we have to calculate for every signatrure image in both training and testing. 2.3 feature points based on horizontal splitting six feature points are retrieving based on horizontal splitting. here feature points are nothing but geometric centers. the procedure for finding feature points by horizontal splitting is mentioned in algorithm. novel features for off-line signature verification 19 figure 3: feature points based on vertical splitting figure 4: feature points based on horizontal splitting algorithm this is the procedure for generating feature points based on horizontal splitting. input: static signature image after moving the signature to center of image output: h1, h2, h3, h4, h5, h6 (feature points) (a)split image with horizontal line at the center of image then we will get top and bottom parts of image. (b)find geometric centers h1 and h2 for top and bottom parts correspondingly. (c)split top part with vertical line at h1 and find out geometric centers h3 and h4 for left and right parts of top part currespondingly. (d)split bottom part with vertical line at h2 and find out geometric centers v5 and h6 for left and right parts of left part currespondingly. fog. 4 shows the feature points retrieved from signature image and o is the center of image. these features we have to calculate for every signatrure image in both training and testing. now total twelve feature points (v1, ..., v6 and h1, ..., h6) are calculated by vertical and horizontal splittings. in section 4 we will see how each feature point can classify. 3 classification in this paper features are based on geometric properties. so we used euclidean distance model for classification. this is the simple distance between a pair of vectors of size n. here vectors are nothing but feature points, so the size of vector is 2. how to calculate distance using eucliden distance model is descibed in section 3.1. in threshold calculation these distances are useful. 3.1 euclidean distance model let a(a1, a2, ..., an) and b(b1, b2, ..., bn) are two vectors of size n. we can calculate distance(d) by using equarion 1. distance(d) = √ n ∑ i=1 (ai −bi)2 (1) 20 banshider majhi, y santhosh reddy, d prasanna babu in our application, vectors are points on plane. so d is the simple distance between two points. 4 threshold individual thresholds for vertical splitting and horizontal splitting. here we proposed one method for threshold selection which used in section 5.1. fig. 5 shows the variations in single curresponding feature points of training signatures. let n is the number of training signatures and x1, x2, ..., xn are curresponding single feature points of training signatures(taking one curresponding feature point from each signature). xmedian is the median of n features from n signatures. let d1, ..., dn are distances defined here, d1 = distance(xmedian, x1) d2 = distance(xmedian, x2) ... dn = distance(xmedian, xn) (2) two main parameters we used in threshold calculation are davg and σ . equations 3 and 4 shows the calculation d avg + σ x i x 2 x n−1 x 1 x 3 d avg x n σ figure 5: davg (average distance) and σ (standard deviation) derivation from distances of these two parameters. davg = average(d1, d2, ..., dn) (3) σ = sd(d1, d2, ..., dn) (4) like this total six different feature points are there for both vertical and horizontal splitting based on average distance (davg) and standard deviation (σ ). equation 5 shows the main formula for threshold. threshold(t) = √√√√ 6∑ i=1 (davg,i + σi)2 (5) novel features for off-line signature verification 21 5 experiments & results for experiment we took 30 original signatures from each person and selected 9 for training. these original signatures are taken in different days. forgeries taken by three persons and 10 from each. total 21 originals and 30 forgeries for each person signature are going to be tested. there are two thresholds (one based on vertical splitting and another based on horizontal splitting) for each person signature. 5.1 training let n signatures are taking for training from each person. there are 12 feature points from each original signature, 6 are taken by vertical splitting (section2.2) and 6 are taken by horizontal splitting (section2.3). individual thresholds and patterns are calculating for vertical splitting and horizontal splitting. pattern points based on vertical splitting are shown below. vpattern,1 = median(v1,1, v2,1, ..., vn,1) vpattern,2 = median(v1,2, v2,2, ..., vn,2) vpattern,3 = median(v1,3, v2,3, ..., vn,3) vpattern,4 = median(v1,4, v2,4, ..., vn,4) (6) vpattern,5 = median(v1,5, v2,5, ..., vn,5) vpattern,6 = median(v1,6, v2,6, ..., vn,6) where vi,1, vi,2, ..., vi,6 are vertical splitting features of i th training signature sample. threshold based on vertical splitting is shown below. vthreshold = √√√√ 6∑ i=1 (vdavg,i + σv,i)2 (7) in equation 9 vdavg,i is same as average distance and σv,i is same as standard deviation shown in section 4. pattern points based on horizontal splitting are shown below. hpattern,1 = median(h1,1, h2,1, ..., hn,1) hpattern,2 = median(h1,2, h2,2, ..., hn,2) hpattern,3 = median(h1,3, h2,3, ..., hn,3) hpattern,4 = median(h1,4, h2,4, ..., hn,4) (8) hpattern,5 = median(h1,5, h2,5, ..., hn,5) hpattern,6 = median(h1,6, h2,6, ..., hn,6) where hi,1, hi,2, ..., hi,6 are horizontal splitting features of i th training signature sample. threshold based on horizontal splitting is shown below. hthreshold = √√√√ 6∑ i=1 (hdavg,i + σh,i)2 (9) we will store pattern points and thresholds of both horizontal splitting and vertical splitting. these values are useful in testing. 5.2 testing when new signature comes for testing we have to calculate features of vertical splitting and horizontal splitting. feature points based vertical splitting are vnew,1, vnew,2, vnew,3, vnew,4, vnew,5, vnew,6. distances between new signature 22 banshider majhi, y santhosh reddy, d prasanna babu features and pattern feature points based on vertical splitting are shown below. vdnew,1 = distance(vpattern,1, vnew,1) vdnew,2 = distance(vpattern,2, vnew,2) vdnew,3 = distance(vpattern,3, vnew,3) vdnew,4 = distance(vpattern,4, vnew,4) (10) vdnew,5 = distance(vpattern,5, vnew,5) vdnew,6 = distance(vpattern,6, vnew,6) for classification of new signature we have to calculate vdistance and compare this with vthreshold . if vdistance is less than or equal to vthreshold then new signature is acceptable by vertical splitting. vdistance = √√√√ 6∑ i=1 vd2new,i (11) feature points based vertical splitting are hnew,1, hnew,2, hnew,3, hnew,4, hnew,5, hnew,6. distances between new signature features and pattern feature points based on vertical splitting are shown below. hdnew,1 = distance(hpattern,1, hnew,1) hdnew,2 = distance(hpattern,2, hnew,2) hdnew,3 = distance(hpattern,3, hnew,3) hdnew,4 = distance(hpattern,4, hnew,4) (12) hdnew,5 = distance(hpattern,5, hnew,5) hdnew,6 = distance(hpattern,6, hnew,6) for classification of new signature we have to calculate hdistance and compare this with hthreshold . if hdistance is less than or equal to hthreshold then new signature is acceptable by horizontal splitting. hdistance = √√√√ 6∑ i=1 hd2new,i (13) new signature features have to satisfy both vertical splitting and horizontal splitting thresholds. 5.3 results false acceptance rate (far) and false rejection rate (frr) are the two parameters using for measuring performance of any signature verification method. far is calculated by equation 14 and frr is calculated by equation 15. far = number o f f orgeries accepted number o f f orgeries tested ×100 (14) f rr = number o f originals re jected number o f originals tested ×100 (15) table 1 shows the false acceptance rate of our method for different types of forgeries. table 2 shows the false rejection rate for original sigature. table 1: false acceptance rate (far) forgery type far(%) random forgeries 2.08 simple forgeries 9.75 skilled forgeries 16.36 in general there are different thresholds for different types of forgery detections. but here threshold is same for random, simple and skilled forgeries. because this method is mainly eliminating random and simple forgeries. novel features for off-line signature verification 23 table 2: false rejection rate (frr) signature frr(%) original signatures 14.58 6 conclusion this method performs much better than any other off-line signature verification methods. future direction in this is classifying the skilled forgeries correctly. for this we have to approach novel classification method. figure 6: feature points based on vertical splitting of depth 2 figure 7: feature points based on horizontal splitting of depth 2 for better classification we can again split the sub-parts of fig.3 using vertical splitting and fig.4 using horizontal splitting. then instead of six featire points we can get 24 feature points for each vertical and horizontal splittings. fig.6 shows the vertical splitting of depth 2. fig.7 shows the horizontal splitting of depth 2. references [1] j.j. brault and r. plamondon, "segmanting handwritten signatures at their perceptually important points", ieee trans. pattern analysis and machine intelligence, vol.15, no. 9, pp.953-957, sept.1993. [2] j edson, r. justino, f. bortolozzi and r. sabourin, "a comparison of svm and hmm classifiers in the off-line signature verification", pattern recognition letters 26, 1377-1385, 2005. [3] j edson, r. justino, f. bortolozzi and r. sabourin, "an off-line signature verification using hmm for random, simple and skilled forgeries", sixth international conference on document analysis and recognition, pp. 1031-1034, sept.2001. [4] j edson, r. justino, f. bortolozzi and r. sabourin, "the interpersonal and intrapersonal variability influences on off-line signature verification using hmm", proc. xv brazilian symp. computer graphics and image processing, 2002, pp. 197-202 oct.2002. 24 banshider majhi, y santhosh reddy, d prasanna babu [5] j edson, r. justino, a. el yacoubi, f. bortolozzi and r. sabourin, "an off-line signature verification system using hmm and graphometric features", das 2000, pp. 211-222, dec.2000. [6] b. fang, c.h. leung, y.y. tang, k.w. tse, p.c.k. kwok and y.k. wong, "off-line signature verification by the tracking of feature and stroke positions", patter recognition 36, 2003, pp. 91–101. [7] migual a. ferrer, jesus b. alonso and carlos m. travieso, "off-line geometric parameters for automatic signature verification using fixed-point arithmetic", ieee tran. on pattern analysis and machine intelligence, vol.27, no.6, june 2005. [8] r. plamondon and s.n. srihari, "online and offline handwriting recognition: a comprehensive survey", ieee tran. on pattern analysis and machine intelligence, vol.22 no.1, pp.63-84, jan.2000. [9] a. zimmer and l.l. ling, "a hybrid on/off line handwritten signature verification system", seventh international conference on document analysis and recognition, vol.1, pp.424-428, aug.2003. banshider majhi, y santhosh reddy, d prasanna babu department of csea nit rourkela india 769008 e-mail: ysantosh@rediffmail.com int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 792-798 the development of students’ metacognitive competences. a case study d. mara daniel mara “lucian blaga” university of sibiu e-mail: danielmara11@yahoo.com abstract: in the information society metacognitive competencies are essential. based on some activities from the enrichment instrumental program elaborated by professor reuven feuerstein we have designed a program for developing the students capacities of selfcontrol, selfknowing and intelectual learning strategies. the case study presents the formation of students’ metacognitive competences at the "lucian blaga" university of sibiu, "hermann oberth" faculty of enginereeing, department of computers sciences. a web based application has been developed in order to enable students to self-evaluate their metacognitive competencies and to acquire self-regulatory abilities. keywords: metacognitive competences, instrumental enrichment program, computer science, higher education, relational competences, motivation for didactic career, web based application. 1 introduction metacognitive skills are a must for students preparing to have a career in the information/knowledge society. for those that want to embrace a didactic career that is essential. therefore the department for teaching staff training [8] has started a special training program consisting of two modules. the education plans for the first module consists of the following courses: psychology of education, pedagogy 1 (foundations of pedagogy, curriculum theory and methodology), pedagogy 2 (instruction theory and methodology, evaluation theory and methodology), specialty didactics, teaching practice, optional courses, final evaluation-didactic portfolio [9]. in the second module the following courses are included: curriculum area didactics, class management, counseling and vocational guidance, computer-assisted instruction, psychology of education, optional i (1 of 4: intercultural education, educational politics, contemporary pedagogical doctrines, management of school organization), optional ii (1 of 4: psycho-pedagogy of adults, foundations of special psycho-pedagogy, sociology of education, research methodology in the sciences of education), final evaluation-project, teaching probation (42 hours for those who did not teach during the period between the attendance of the first module and the enrollment at the second module). 2 developing students’ metacognitive competences metacognitive skills development is an important formative intellectual object in education of the students, as reaching this level involves a route through effective education, appropriate to each one in particular [6]. metacognitive skills suppose that students are aware of their own cognitive activity, i.e. learning activity, and self-adjustment mechanisms consisting in cognitive controls (rules, procedures, strategies). copyright c⃝ 2006-2010 by ccc publications the development of students’ metacognitive competences. a case study 793 2.1 the background the development of metacognitive skills goes in the same direction with the strategies used in developing cognition. the main steps in the formation, in the affirmation of conscience gripping meta-cognition are: • affirmation of trust and intuition (ah schoenfeld’s model) in solving the problems, or tasks, based on knowledge, on previous experiences; in this step the trainer looks to identify in the student a sense of referral tasks, intuition, a way of understanding and finding solutions taking into account all possibilities; • personal reflection on the knowledge involved; the student must become aware of the solutions found, the instruments used, her/his capacity of analysis and comparison, the way to analyse the difficulties of other methods previously used; • self-awareness or awareness of effective solutions addresses the solving style, based on selfobservation, analysis of results and of the ways to solve, progress and cognitive acting. the development stages show that metacognitive skills are associated with knowledge from management, and construction and that these are the conditions in which the knowledge appears. cognition managerial approach reveals the fact that metacognitive includes: awareness of how to understand the problem and how to solve it, planning the processes and finding the pathways necessary, monitoring the application solutions, the resources used, constraints, necessary instruments, decisions and analysis of results [4]. f.p. büchel considers that training of metacognitive competences is more efficient if working in groups, in a climate of cooperation and confrontation, because there is the possibility of mutual evaluation. in self-training, the individual student is more concerned about solving the problem itself, bout the acquisition of knowledge and s/he is less concerned by the understanding of how knowledge is acquired, how solutions were found or decisions taken. researchers have built a hierarchical model of the criteria-assessment questions in the classroom climate in function of different elements: diversity of awareness, respect for others’ style, commitment, encouragement, student-teacher relationship, student-group-class relationship, learning with pleasure, and sense of humour, comfortable participation and freedom of expression. studies that explore the effects of attitudes and emotions on learning indicate that stress and constant fear, at any age, can circumvent the brain’s normal circuits. a person’s physical and emotional well-being is closely linked to the ability to think and to learn effectively [1]. 2.2 the instrumental enrichment program the instrumental enrichment program is composed of a set of exercises divided into 14 tools that are used as means for developing mental capacities. the exercises do not concern the acquisition of specific knowledge, but the acquisition of mental skills, of ways to use concepts in different situations [2]. each instrument is focused on specific cognitive functions and provides means for developing cognitive capacities necessary for solving tasks that require a high level of abstraction. the instrumental enrichment program components are: • organization points; • spatial orientation i. • comparisons; • analytical perception; • pictures; • spatial orientation ii, • classification, • temporal relations, 794 d. mara • instructions, • family relations, • numerical progression; • syllogism; • transferable relations; • outlines. the exercises have images and temporal relations that are organized differently and provide a gradual increase in difficulty. in this way the student is encourage to a progressive acquisition of skills necessary to solve the problems or tasks, thus strengthening motivation, the feeling of competence and autonomy in organizing intrinsic work. subjects become aware of the importance and need for discussion about the work done and to make transfers on the basis of principles/rules/patterns formulated during activity. the development of principles/rules/patterns and the implementation of transfers are very important elements. all the details of the page of an exercise must be caught and analyzed and a synthesizing valid principle must be identified and expressed in a concise sentence. a principle is important because it can highlight a complex problem, newly learned information, or a necessary element to solve the exercise. the transfer is created as a link between the principles/patterns/rules resulting from the reflection necessary for understanding and addressing new events [3]. during an activity, two or more instruments are used in order to avoid monotony of using for a long period the same type of exercises, or the feeling of failure resulted from difficulties in solving an exercise. students are lead to use different instruments and to learn to choose the right ones. an activity is made up of elements called "pages". a page contains a story, illustrated by images. each instrument begins with a picture page (cover or homepage), which is used for placing the instrument, creating a horizon for motivation and development through the following pages. any learning (instructional) form may be tackled from the point of view of the general systems theory, distance learning forms included. a system is defined by a set of elements that interact and work together in order to achieve an objective [7, 8]. cover pages have certain features that remain unchanged from instrument to instrument to highlight the continuity of work, but each instrument is different from others. the mediator/trainer oriented subjects to consider the symbol on the cover to deduce the exercises that will solve the issues and that they will discuss. 2.3 organize an activity of the instrumental enrichment program an activity of the instrumental enrichment program is organized respecting some rules and some key moments: the introduction, individual work, discussion and conclusions [5]: in the following i will briefly present the key moments and the rules to follow. introduction. by going through this phase the mediator wants to awake the group interest in the work that will be developed and to define the problems they will have to solve. the introduction begins with revision, i.e. data from previous lessons. the mediator shall ensure that requirements and concepts were well understood, and that the vocabulary necessary to solve the task is assimilated. students will learn to analyze the page autonomously. the trainer guides students in observing and identifying objectives [10]. individual work. in this stage students will be asked to solve an individual task, after which they will be involved in a discussion aimed at highlighting possible strategies for solving the exercises from the page. students must understand that it is important not to finish quickly the exercises of a page. is important to understand how to solve a task and how they form and develop certain abilities. an activity based on reflection, even if not fully effective, may be more useful, more fruitful than the one done in a hurry, because it is based on a more deep analyze the processes that formed it. the development of students’ metacognitive competences. a case study 795 discussion. when most students have completed the individual task the trainer may start the discussion stage. being particularly interested in mental processes that led to finding the solution, it is appropriate to insist on correct answers and to explain the wrong ones, to understand the mental processes through which solutions were found [12]. at first it is recommended that the mediator identifies the link between work and other applied situations, then the students will gradually create these connections between the instruments and the surrounding reality. each transfer is built on a solid and appropriate explanation of the type of connection between the examples and the proposed developments. conclusion. at the end of each lesson there should be a revision of the whole activity. even if it is short it should highlight the steps taken to achieve the objective, the new words acquired, targets and strategies set out above for achieving the aim of the lesson. it is possible to encourage valorisation activities to determine individually or in small groups the utility obtained by applying different tools. 3 the case study development activities of the metacognitive skills students were conducted by applying the tools instrumental enrichment program developed by reuven feuerstein a group of 75 students from the faculty of engineering "hermann oberth", section computer sciences, of the university "lucian blaga" principles: one event can’t be observed by itself , it has to be seen in the whole context, before and after. we have to make a difference between opened eyes dreams and reality, between what is possible and impossible. we have to be aware about our goals, about their importance and about the risks they implied. the 75 students have bee enrolled in a trening program aimed to develop their metacognitive skills. one group (40) has worked only in the classroom and one group (35) has used also the web based application designed to support them in developing metacognitive comptences. the web based application is preparing the student for the training program, the students becoming familiar with the kind of exercises used in the fuerstein program. at the end of the training program the overall scores of the students that have used also the web based application was significant higher than the score of the group that worked only in the classroom. gender has not a significant effect on students’ perception of their metacognitive skills. a rather uncomfortable conclusion is that more than 75% of the students (no gender significant differences) have difficulties in expressing in words their thoughts and experience. the group that has a pre-training with the cogitino web based application was significant more rapid in solving different tasks, but has the same difficulties in expressing in words their thoughts and experience as the control group. 4 the web application in order to help students to better understand their thoughts and experiences a support software cogitino has been designed and implemented. cogitino is a web based application (fig.1) that offers a set of resources concerning meta-cognitive skills and acts as an adviser for the student that is enrolled in the metacognitive skills development training program. cogitino is a multi-agent system (fig.2 ) that through its profiler agent determines the student’s level of meta-cognitive competences and then recommend different training paths (fig.3). 796 d. mara the system is rating students’ metacognitive competences based on the answers to several questionnaires and problems’ results. before applying the instrumental enrichment program students are asked to solve several problems similar to those that they will have to solve during the class. principle of e-learning applications have been observed [1, 7] figure 1: the home page of the cogitino application figure 3: cogitino training resources the development of students’ metacognitive competences. a case study 797 figure 2: cogitino general structure 5 conclusions metacognitive skills are mandatory for today students. they must be aware and must know their mental processes and they must be able to self-monitor, regulate, and direct their actions to their global aim. metacognitive training becomes an important and basic tool also in business and management efficiency, skill and competences. the result of the research carried out leads to evidence of at least three essential aspects in the development of students’ meta-cognition competences. first, students balance their attention in preparation, implementation and evaluation of the educational and training process itself, but their qualitative analysis is poor. they have a reduce vocabulary and therefore a difficulty in explaining their experience and performance. secondly, being enrolled in a technical program they feel, at least at the beginning of the training program, that they do not need to express themselves in words. and last but not least, the lack of general culture is an obstacle in understanding some of the tasks and problems they have been asked to solve. meta-cognition components are usually observed only in the final stage of evaluation. another conclusion is that the web based application has been appreciated by students as very helpful. considering this aspect and that in educational practice meta-cognition principles can be developed and applied efficient by students following a training program that included theoretical aspects and practical-application, my future work will consist in enriching (with the help of colleagues from the computer science department of our university) cogitino with two new modules : one module that will automatically generate explanations after a task has been solved, showing to the students how s/he has proceed, and another one that will be a "vocabulary training" for the student. acknowledgment this work was supported by cncsis-uefiscsu, project number 882/19/01/2009 pnii idei, code 471/2008. 798 d. mara bibliography [1] chen, z., learning about learners: system learning in virtual learning environment. international journal of computers, communications & control, vol. iii (2008), no. 1, pp. 33-40. [2] feuerstein r., rand j., rynders j.e., non accettarmi come sono, sansoni, milano, italy, (1995). [3] feuerstein, r., rand, y., hoffman, m. b., miller, r., instrumental enrichment: an intervention program for cognitive modifiability, baltimore university park press, baltimore, usa, (1980). [4] joiţa, e., educaţia cognitivă. fundamente. metodologie, editura polirom, iaşi, romania, (2002). [5] kopciowski camerini, j., l’apprendimento mediato. orientamenti teorici ed esperienze pratiche del metodo feuerstein, la scuola, brescia, italy, (2002). [6] miclea, m., psihologie cognitiv?. modele teoretico-experimentale, editura polirom, iaşi, românia, (1999). [7] moise, g., a formal description of the systemic theory based e-learning. international journal of computers, communications & control, vol. iii (2008), no. 1, pp. 90-102. [8] moisil, i., a model of the student behavior in a virtual educational environment, international journal of computers, communications & control, vol. iii (2008), suppl. issue: proceedings of icccc 2008, pp. 108-115 [9] neculau, a., (coord.), (1996), psihologie socială. aspecte contemporane, editura polirom, iaşi. [10] neculau, a., (coord.), (1997), universitatea: valorile şi actorii săi, în "câmpul universitar şi actorii săi", a. neculau (coord.), editura polirom, iaşi. [11] vanini, p., potenziare la mente? una scommessa possibile: l’apprendimento mediato secondo il metodo feuerstein, vannini editrice, gussago (brescia), italy, (2003). [12] vanini, p., il metodo feuerstein: una strada per lo sviluppo del pensiero, irrsae emilia romagna, bologna, italy, (2001). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 158-166 task resource allocation in grid using swift scheduler k. somasundaram, s. radhakrishnan arulmigul kalasalingam college of engineering department of computer science and engineering krishnankoil-626190, tamilnadu, india e-mail: soms72@yahoo.com abstract: in nature, grid computing is the combination of parallel and distributed computing where running computationally intensive applications like sequence alignment, weather forecasting, etc are needed a proficient scheduler to solve the problems awfully fast. most of the grid tasks are scheduled based on the first come first served (fcfs) or fcfs with advanced reservation, shortest job first (sjf) and etc. but these traditional algorithms seize more computational time due to soar waiting time of jobs in job queue. in grid scheduling algorithm, the resources selection is npcomplete. to triumph over the above problem, we proposed a new dynamic scheduling algorithm which is the combination of heuristic search algorithm and traditional sjf algorithm called swift scheduler. the proposed algorithm takes care of job’s memory and cpu requirements along with the priority of jobs and resources. our experimental results shows that our scheduler reduces the average waiting time in the job queue and reduces the over all computational time. keywords: grid computing, swift scheduler, dynamic scheduling algorithm, first come first serve, shortest job first. 1 introduction: a computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities. according to the function, grid is classified into three types: computing grid, data grid, and service grid. computing grid is used to connect varied computing resource on the network to construct a virtual high performance computer, which could offer high performance computer [1]. the traditional computing grid systems involve many technologies such as certification, task scheduling, communication protocols, fault tolerance and so on. the task of grid resource broker and scheduler is to dynamically identify and characterize the available resources and to select and allocate the most appropriate resources for a given job [2]. the resources are typically heterogeneous locally administered and accessible under different local policies. advance reservation [3] is currently being added to portable batch system (pbs). in a grid scheduler, the mapping of grid resources and an independent job in optimized manner is so hard where we couldn’t predict optimized mapping. so the combination of uninformed search and informed search will provide the good optimal solution for mapping a resources and jobs, to provide minimal turn around time with minimal cost and minimize the average waiting time of the jobs in the queue. a heuristic algorithm is an algorithm that ignores whether the solution to the problem can be proven to be correct, but which usually produces a good solution. heuristics are typically used when there is no known way to find an optimal solution, or when it is desirable to give up finding the optimal solution for an improvement in run time. copyright © 2006-2009 by ccc publications task resource allocation in grid using swift scheduler 159 the primary objective of this research is to investigate effective resource allocation techniques based on computational economy through simulation. we like to simulate millions of resources and thousands of users with varied requirements and study scalability of systems, algorithms, efficiency of resource allocation policies and satisfaction of users. in our simulation we would like to model applications in the areas of biotechnology, astrophysics, network design, and high-energy physics in order to study usefulness of our resource allocation techniques. the results of our work will have significant impact on the way resource allocation is performed for solving problems on grid computing systems. the organization of this paper is as follows. in section 2, the related works are discussed. in section 3, we introduce our scheduling algorithm model. in section 4 we present and discuss the experimental results. we conclude this study in section 5. 2 related work: job scheduling in parallel system has been extensively researched in the past. typically this research has focused on allocating a single resource type (e.g., cpu usage) to jobs in the ready queue. the use of many of these scheduling algorithms has been limited due to restriction in application designs, runtime system, or the job management system itself. therefore simple allocation scheme such as first come first serve (fcfs) or fcfs with first fit back fill (fcfs/ff) are used in practice [4]. current job scheduling practices typically support variable resource allocation to a job, and run to completion scheduling. scheduling policies are also heavily based on first-come-first-serve (fcfs) methods [5]. a fcfs scheduling algorithm allocates resources to jobs in the order that they arrive. the fcfs algorithm schedules the next job in ready queue as soon as sufficient system resources become available to meet all of the job requirements. the advantage is that this provides level of determinism on the waiting time of each job[6]. the disadvantage of fcfs shows up when the jobs at the head of the ready queue cannot be scheduled immediately due to insufficient system resources, but jobs further down the queue would be able to execute given the currently available system resources. these latter jobs are essentially blocked from executing while the system resource remains idle. fidanova [7] compared the simulated annealing approach with the ant algorithm for scheduling jobs in grid. david beasley, marek mika and grzegorz waligora [8] formulated the scheduling problem as a linear programming problem and proposed local search meta-heuristic to schedule workflow jobs on a grid. fair share scheduling [12] is compared with simple fare task order scheduling, adjusted fair task order scheduling and max-min fair share scheduling algorithm are developed and tested with existing scheduling algorithms. rafael a. moreno [9] addresses the issues that the resource broker has to tackle like resource discovery and selection, job scheduling, job monitoring and migration etc. resource management system [10, 11] was discussed and models of grid rms availability by considering both the failures of resource management (rm) servers and the length limitation of request queues. the resource management systems (rms) can divide service tasks into execution blocks (eb), and send these blocks to different resources. to provide a desired level of service reliability, the rms assigns the same eb to several independent resources for parallel (redundant) execution. 3 swift scheduler (ss) model: let n be the number of jobs in job queue ’jq’ which is indicated as, jq = {j1, j2, j3, ...., jn} (1) jobs are allotted to m number of resources in resource queue’rq’which is indicated as, 160 k. somasundaram, s. radhakrishnan rq = {r1, r2, r3, ...., rm} (2) let f(ji, rj) be the overall job completion time for the ith job in jth resources can be calculated as, n∑ i=0 m∑ j=0 f(ji, rj) = n∑ i=0 m∑ j=0 g(ji, rj) + n∑ i=0 m∑ j=0 h(ji, rj) (3) let g(ji, rj) be the expected job completion time of the ith job in jth resources which can be calculated as, n∑ i=0 m∑ j=0 g(ji, rj) = n∑ i=0 m∑ j=0 (jli/rcj) (4) jli be the job length of ith jobs and rcj be the capacity of the jth resources. let h(ji, rj) be the heuristic function of the ith job in jth resources which can be calculated as n∑ i=0 m∑ j=0 h(ji, rj) = n∑ i=0 m∑ j=0 (jli/rcj) + communicationoverhead (5) 3.1 working principle of swift scheduler (ss): figure 1: architecture of ss figure 1 shows working principles and architecture of our proposed algorithm ss as follows: incoming jobs from different users are collected and stored in job list and available resources are stored in resource list. jobs are randomly arrived to job queue as well as resources are selected based on the availability. the swift scheduler in gridsim [13] maps the jobs from job queue and resources from resource queue where the resources are selected using the heuristics function. the function will select the optimized resource for the particular job to complete it with minimum time. task resource allocation in grid using swift scheduler 161 3.2 pseudo code for swift scheduler (ss): 4 performance analysis: in this section, we analyze the performance of swift scheduler with existing simple fair task order scheduling (sfto) against large set of independent jobs with varying size and large number of heterogeneous resources. assume, the arrival rates of jobs are based on the poisson distribution. the following fig.(2) and fig.(3) shows the job allocation methods used in sfto and ss respectively and the following table (1) and table (2) shows the arrival order of the particular jobs and at what time, the jobs will start its execution in the particular resource and its service time of the jobs in the particular resource where the selection of resources are based on the algorithms. for example, in sfto, the jobs j0 and j3 are allotted in resource r1. the residing time (tr) of jobs j0 is the combination of jobs j0 waiting time (tw) in queue and service time (ts) of j0 (i.e tr = tw + ts = 2820.03ms + 61.35ms = 2881.38ms). similarly, the residing time of job j3 is 1490 ms. the job j2 is allotted in resource r2 where the residing time of j2 is 1257.19 ms and jobs j4 and j1 are chosen 162 k. somasundaram, s. radhakrishnan jobid resource name start time in ms residing time in ms 4 r3 1851.12 1886.86 1 r3 3337.99 3391.73 2 r2 1214.79 1257.19 3 r1 1330.66 1490.66 0 r1 2820.03 2881.38 table 1: job, resource, start and residing time for sfto jobid resource name start time in ms residing time in ms 2 r1 1210.02 1316.02 0 r1 2805.39 2980.39 3 r2 1093.04 1178.27 1 r2 2688.17 2772.17 4 r3 1453.51 1489.25 table 2: job, resource, start and residing time for ss resources r3 where the residing time of j4 is 1886.86 ms and j1 is 3391.73 ms. the average waiting time of all jobs in grid system is 2181.56ms. figure 2: job and resource allocation for sfto in ss, resource selection and jobs allocation are based on heuristic searching algorithm on sjf, which reduces the average waiting time of the jobs in queue. so, overall turn around time is reduced and resource utilization is increased. for example, in ss, the jobs j2 and j0 are allotted to resource r1 where its residing time is 1316.02 ms and 2980.39 ms respectively. similarly, jobs j3, j1 and j4 are chosen by resources r2, r2 and r3 respectively where residing time of jobs j3,j1 and j4 are 1178.29 ms, 2772.17 ms and 1489.25 ms respectively. the average waiting time of all jobs in grid system is 1947.22 ms which is less than sfto. the statistical data presented here is acquired by averaging the scheduling performance over different runs. the following figs and tables shows the cost based, total processing time and resource utilization based comparison test results of fcfs, sjf, sfto and ss against varying number of jobs and resources. our proposed algorithm swift scheduler (ss) is compared with fcfs, sjf and simple fare task order (sfto) scheduler. we have tested ss in gridsim by varying number of resources, no. of jobs task resource allocation in grid using swift scheduler 163 figure 3: : job and resource allocation for ss against total processing time, cost, and resource utilization. we can vary the number of resources like 5, 10, 15, 20,... etc. for experimental purposes, two sample simulation results are shown in figure 4, 5, 6, 7, 8 & 9. by analyzing the obtained results from the simulator, swift scheduler completed all jobs with minimum time and cost by utilizing maximum amount of resources compares with other scheduler like fcfs, sjf and sfto. total processing time analysis figure 4: : no of jobs vs total processing time figure 5: : no of jobs vs total processing time 164 k. somasundaram, s. radhakrishnan cost analysis figure 6: : no of jobs vs total cost figure 7: : no of jobs vs total cost resource utilization figure 8: : no. of jobs vs resource utilization figure 9: : no. of jobs vs resource utilization task resource allocation in grid using swift scheduler 165 5 conclusion and future work: in this paper, we have presented the design and analyze the new scheduling algorithm swift scheduler. our proposed swift scheduler completed a task by using highly utilized low cost resources with minimum computational time. our scheduling algorithm uses the heuristic function to select the best resources to achieve a higher throughput while maintaining the desired success rate of the job completion. this algorithm is performing better for real time job parameters and suitable for different job sizes in real environment. however, in all conditions, the proposed algorithms outperform the traditional ones. the ss policy is more effective than the fcfs, sjf and sfto in the extent of computational complexity with lower cost but higher resources utilization. in future, we can hybrid the swift scheduler with any evolutionary scheduling algorithm like genetic algorithm, particle swarm optimization technique to achieve a high throughput and high resource utilization. bibliography [1] ranganathan,k, and i.foster, "decoupling computation and data scheduling in data intensive applications", 11th international symposium on high perfromance distributed computing, edinburgh, scotland, condor project, condor-g, 2002. [2] mitrani i, palmer j," dynamic server allocation heterogenous clusters ", 1st international working conference on heterogeneous networks, ilkley,uk, 2003. [3] foster,i, et al, "the grid 2003 production grid : principles and practice", 13th international symposium on high performance distributed computing, 2004. [4] vijay subramanian, rajkumar kettimuthu, et al, "distributed job scheduling on computational grids using multiple simultaneous requests", proceedings 11th ieee international symposium on high performance distributed computing, 2002. hpdc-11 2002. pages: 359366 [5] c.bitten, j. gehring, et. al, "the nrw meta computer : building block for a worldwide computational grid", proceeding of the 9th heterogeneous computing workshop, pp.31-40, 2000. [6] c.ememann, v. hamscher, et. al, "on advantageous of grid computing for parallel job scheduling", proceeding 2nd ieee/acm int’l symp. on clustercomputing and the grid (ccgrid 2002), berlin, 2002, ieee press. [7] stefka fidanova, "simulated annealing for grid scheduling problem", ieee international symposium on international symposium on modern computing, 2006. jva apos;06 3-6 oct. 2006 page(s):41 45 [8] marek mika, grzegorz waligora and jan weglarz, a meta-heuristic approach to scheduling workflow jobs on a grid, grid resource management: state of the art and future trends, isbn : 1-40207575-8 , kluwer academic publishers, norwell, ma, usa; pp : 295 318, 2004. [9] moreno, r., alonso-conde a.b, job scheduling and resource management techniques in dynamic grid environments in et al., f.f.r., ed.: across grids 2003, volume 2970 of lecture notes in computer science, springer, pp : 25 32, 2004. [10] yuan-shun dai, min xie and kim-leng poh "availability modeling and cost optimization for the grid resource management system" ieee transactions on systems, man and cybernetics, part a volume 38, issue 1, jan. 2008 page(s):170 179. 166 k. somasundaram, s. radhakrishnan [11] yuan-shun dai and gregory levitin "optimal resource allocation for maximizing performance and reliability in tree-structured grid services" ieee transactions on reliability volume 56, issue 3, sept. 2007 page(s):444 453. [12] doulamis, n.d.; doulamis, a.d.; varvarigos, e.a.; varvarigou, t.a "fair scheduling algorithms in grids" ieee transactions on parallel and distributed systems, volume 18, issue 11, nov. 2007 page(s):1630 1648 [13] anthony sulistio, uros cibej, srikumar venugopal, borut robic and rajkumar buyya "a toolkit for modelling and simulating data grids: an extension to gridsim", concurrency and computation: practice and experience (ccpe), online issn: 1532-0634, printed issn: 1532-0626, 20(13): 1591-1609, wiley press, new york, usa, sep. 2008. international journal of computers, communications & control vol. i (2006), no. 2, pp. 53-60 importance of flexibility in manufacturing systems héctor kaschel c., luis manuel sánchez y bernal abstract: flexibility refers to the ability of a manufacturing system to respond cost effectively and rapidly to changing production needs and requirements. this capability is becoming increasingly important for the design and operation of manufacturing systems, as these systems do operate in highly variable and unpredictable environments. it is important to system designers and managers to know of different levels of flexibility and / or determine the amount of flexibility required to achieve a certain level of performance. this paper shows several representations schemes for product flexibility and discusses the usefulness and limitations of each. keywords: flexibility, fuzzy logic, disjunctive graph, constraints temporal network, complexity in manufacturing, non lineal mathematic programming 1 introduction present market demands require that manufacturing systems develop their activities under a dynamic and uncertain production environment (calinescu et al., 2003). to understand the problems affecting flexible manufacturing systems (fms), it is necessary to incorporate the concept of flexibility in the scheduling (deshmukh et al. 2002). flexibility constitutes a strategic topic in decision making to give quick and efficient answers to the demands of the national and international markets (pelaez, and ruiz, 2004). in order to define the flexibility in fms, the scientific literature reports a wide variety of concepts. for example, flexibility for sethi and sethi (sethi and sethi, 1992) represents the capacity of fms to modify manufacturing resources to produce different products efficiently maintaining an acceptable quality. for gupta (gupta, 2004), it is necessary to make the difference between flexibility inherent to the fms and flexibility required during the production cycle. the first one is defined as the capacity of resources and human operators to implement decisions of the factory company. while required flexibility is defined by the changes in the environment that surrounds the fms and for the implementation of new manufacturing strategies. starting from these differences, it is possible to determine the flexibility type and measure of the fms quantitatively. for (benjaafar and ramakrishman, 1996), it is important to differentiate the types of flexibility in the fms. they define the flexibility of the fms as product flexibility and process flexibility. the first one refers to the variety of factory options for a certain product. while process flexibility is defined as a characteristic of an industrial process to operate under diverse dynamic conditions of operation. both general flexibilities can be grouped hierarchically as shown in the figure 1. the classification proposed by (benjaafar and ramakrishman, 1996) shows flexibility as a consequence of the physical and logical characteristics that the manufacturing system presents to quantify the operative flexibility of job i, a function is defined starting from the time of dependent configuration of the sequence between operations: φ(pi) = −∑nij=1 ∑ ki j l=1 ( 1 si jl ∑ ki j l=1 1 si jl ) log ( 1 si jl ∑ ki j l=1 1 si jl ) ni (1) where: copyright c© 2006 by ccc publications 54 héctor kaschel c., luis manuel sánchez y bernal figure 1: classification of the fms flexibility • si jl represents the time of configuration of job i during the commutation of the operation j to the operation l. • ni represents the total number of operations associated to job i. in the present paper different models were analyzed as described in several studies dealing with product flexibility in fms. 2 product flexibility in all fms, each job or jobs group is associated to a certain scheduling, consisting in an orderly sequence of operations to be executed in a group of machines. an example of scheduling of the fms is illustrated in figure 2(a). if we incorporate conditions of flexibility to the scheduling (operational flexibility), an operation can be carried out in other machines. these, in general, can be different or they can have different operational levels (figure 2 (b)). the classification of the operations can also be varied (sequence flexibility), where some operations should be carried out in sequence while others don’t have this restriction. an example of this type of flexibility is shown in figure 2(c), where operations 2 and 3 can be carried out in any order after executing operation 1. finally, in a highly flexible fms, a job can have a group of schedulings (processing flexibility). this means that the group of operations required to manufacture a job can be variable and depending on the operation conditions of the fms. for example, in figure 2(d), operations 1 and 2 can be replaced by the operation 5 while operation 3 can be divided in operations 6 and 7. 3 analysis models for product flexibility the product flexibility constitutes an important aspect in the functionality of the fms, where the variability in the scheduling and the operability of the machines allow several alternatives to process the jobs. in what follows some models of analysis of the product flexibility are presented. importance of flexibility in manufacturing systems 55 figure 2: types of product flexibility 3.1 disjunctive graph it is a model of directed graph, whose nodes have a certain weight assigned. mathematically it is expressed as 3 tupla (benjaafar and ramakrishman, 1996): g = (n, a, e) (2) where: • n: represents the group of nodes that represent the operations. in this model are defined two particular nodes, called initial and final. the positive weight assigned to each node represents the processing time of the corresponding operation. the initial node is connected with the first operation of each job, and in the same manner the last operation of each job is connected with the final node. • a: represents the group of conjunctive directed arcs that indicate the precedence restrictions among the operations of each job. • e: represents the group of disjunctive directed arcs that indicate the restrictions of machines operative capacity. to illustrate the application of the disjunctive graph, an example of scheduling of 4 different jobs is presented (j1, j2, j3, j4) in three types of machines (m1, m2, m3). the distribution of processing times and assignment of machines is shown in table 1, starting from this information we proceed to generate the disjunctive graph of figure 3, that shows the precedence restrictions between the operations (conjunctive arcs) and the flexibility in the machines operative sequence (disjunctive arcs). 56 héctor kaschel c., luis manuel sánchez y bernal processing time machines assignment m1 m2 m3 1 2 3 j1 5 8 2 m1 m2 m3 j2 3 9 7 m3 m1 m2 j3 1 10 7 m1 m3 m2 j4 7 4 11 m2 m3 m1 table 1: machines assignment and processing times figure 3: disjunctive graph generated by table 1 3.2 temporal constraints network it is a model of directed graph that allows the representation of temporary constraints assigned to the precedence relationships between operations that are part of a scheduling of a fms. the nodes of the graph represent the operations and the arcs have associated temporary intervals to denote the temporary constraints that exist between two nodes. all the times are calculated starting from of the scheduling initial state. the development of the network is based mathematically from disjunctive metric temporal algebra (alfonso, 2001). this methodology is used to solve scheduling problems characterized from a group of temporary constraints, consequently, the techniques developed in areas like temporary reasoning and constraints satisfaction can be applied. in general, two techniques are used: closure and constraint satisfaction problem (csp) (barber, 2000). closure is a deductive process by means of which new constraints are inferred, starting from existing constraints. it also allows to detect possible inconsistencies (value of the variables that don’t lead to any solution) that can be eliminated. the main advantage of the closure techniques consists in the reduction of the search space. therefore, the closure is used fundamentally as a previous step to a process of search of solutions. techniques of constraints satisfaction problem constitutes a process of search of solutions by means of the successive assignment of values to the variables that are part of the constraints of the problem. in a process of constraints satisfaction problem, it is important to use different heuristics to make the search process more efficient (beck and fox, 2000). to illustrate the use of the temporary constraints network, a distribution of temporary constraints is presented among four operations of a fms (see table 2). starting from the information in table 2, we proceed to establish the group of operations (o), the importance of flexibility in manufacturing systems 57 o1 o2 o3 o4 o0 initial state (10, 20) (10, 20) (20, 50) (60, 70) o1 (30,40), (60,60) (10,30), (40,40) (40, 60) o2 (0, 30) o3 (10, 20) (20,30), (40,50) table 2: precedence temporary constraints between operations group of precedence relationships between operations (p) and the group of temporal relationships between operations (r). finally, starting from the definitions of the groups we proceed to generate the corresponding graph of temporal constraints (see figure 4): g = (o, p) (3) o = (o0, o1, o2, o3, o4) (4) p =    (00, o1), (00, o2), (00, o3), (00, o4) (01, o2), (01, o3), (01, o4), (02, o4) (03, o2), (03, o4)    (5) r =    (o0(10, 20)o1), (o0(10, 20)o2), o0(20, 50)o3), (o0(60, 70)o4, (o1(30, 40)(60, 60)o2), (o1(10, 30)(40, 40)o3), (o1(40, 60)o4), (o2(0, 30)o4), (o3(10, 20)o2) (o3(20, 30)(40, 50)o4)    (6) figure 4: temporary constraints network generated by table 2 3.3 model based on mathematical programming chandra and tombak (chandra and tombak, 1993) propose a operations sequence flexibility model, based on the theory of lineal programming. the model incorporates the concepts of machines reliability and machines processing capacity. machine reliability is defined as the probability of an operation to be executed by a machine in a certain interval of time. machine processing capacity, represents the total number of jobs that a machine can execute in a interval of time. 58 héctor kaschel c., luis manuel sánchez y bernal the fms base for the development of the model consists of a finite group of machines that can present independent fault events. the model is formulated considering the jobs flow on a fixed scheduling and it is expressed mathematically as: rf = max ∑ i ∑ h cihxih (7) subject to the following constraints: ∑ i ∑ h|bihk=1 tik pk xih ≤ tk,∀k (8) ∑ h xih > di,∀i (9) xih ≥ 0,∀i, h (10) where, • tik represents the processing time of job i in machine k; • tk represents the total processing time of machine k; • pk represents the probability that machine k is operative in a certain time; • bihk represents the possibility that job i is processed in machine k along route h; • ch represents the factor of cost of job i when processed in route h. this factor depends on the reliability machines located along route h; • di represents the minimum demand of job i and, • xih represents the flow of job i on route h. the model represents the processing capacity of each machine considering its reliability, where the factor tikpk represents the time required to process job i in machine k. the model considered n + m constraints and m(1 + ∑n−2k=1 k!c n−2 k ) variables in case of full machines connections. 3.4 model based on fuzzy logic in (tsourveloudis and phillis, 1998) and (fortemps, 2000), analyze the flexibility starting from a methodology based on the knowledge that the human expert has on the structural and dynamic behavior of the fms. for (tsourveloudis and phillis, 1998) the flexibility is represented by means of a group of diffuse linguistic rules of the type: if 〈antecedent fuzzy〉 then 〈consequent fuzzy〉 (11) this proposal is based on the fuzzy behavior that the fms presents, in cases of concurrence and synchronization of operations or fault machines events. for (tsourveloudis and phillis, 1998), a fms presents seven different types of flexibility: 1. materials manipulation system flexibility: it measures the capacity of the system to transfer several jobs types efficiently between two neighboring points. 2. product flexibility: it measures the capacity of the system to produce mixed jobs. importance of flexibility in manufacturing systems 59 3. operative flexibility: it measures the capacity to modify the sequence of operations to produce a job. 4. process flexibility: it measures the capacity of the system to produce different jobs without modifying the fms structure. 5. volume flexibility: it measures the operative capacity of the fms for different levels of productivity. 6. scalability flexibility: it measures the cost or time required to enlarge a fms. 7. labor flexibility: it measures the operator’s capacity to develop different operative tasks of fms. each one of these types of flexibility is expressed by means of a fuzzy rule that represents the expert’s knowledge about this flexibility. the fuzzy rule is expressed mathematically as: if f1 is a1 and . . . and fn is an then fmf is mf (12) where: ai = {low, about_low, average, about_high, high} represents the group of linguistic values for the flexibility parameter. for example, the following fuzzy rule expresses the operative flexibility of the fms: if c0 is tc0 and sb is tsb then fr is tfr (13) for this rule, c0 represents the number of operations common to machines group and sb represents the fms capacity to route a jobs group under conditions of machines faults. 4 conclusions the models described in this paper define a set of basic principles that should satisfy all parameters associated to the fms flexibility, such as: • they should be specified and derived according to the methodology proposed for the analysis of the flexibility. • they should incorporate structural and operational aspects of the fms. • they should incorporate and accumulate the human expert’s knowledge. of the models, we can conclude that the problem of the flexibility is analyzed starting from one of the three big current problems affecting the fms [calinescu et al 2003]: • making decisions problem, analyzed by the methods based on mathematical programming and fuzzy logic. • structural problem, analyzed by the method of the disjunctive graph and • behavior problem, analyzed by the method of the temporary constraints network. 60 héctor kaschel c., luis manuel sánchez y bernal references [1] alfonso, m., an integration model of temporary constraints based on methodology closure and csp: application to scheduling problems, doctoral thesis presented at university of alicante, spain, 2001. [2] barber, f., "reasoning on interval and point-based disjunctive metric constraints in temporal contexts". journal of artificial intelligence research, pp:35-86, 2000. [3] beck, j. and fox m., "constraint directed techniques for scheduling alternative activities". journal of artificial intelligence, pp: 211-250, 2000. [4] benjaafar, s. and ramakrishman, r., "modeling, measurement and evaluation of sequencing flexibility in manufacturing systems", international journal of production research, vol. 34, pp:11951220, 1996 [5] chandra, p. and tombak, m., models for the evaluation of routing and machine flexibility, technical report of decision craft analytics, www.decisioncraft.com, 1993. [6] deshmukh, a., talavage, j. and barash, m., "complexity in manufacturing systems", iie transaction on manufacturing systems, vol 30, pp: 645 655, 2002. [7] fortemps, p., "introducing flexibility in scheduling: the preference approach", advances in scheduling and sequencing under fuzziness, ed. springer verlag, pp:61-79, 2000. [8] gupta, a., "approach to characterize manufacturing flexibility", second world conference on production & operations management society, cancun méxico, pp:100-120, 2004. [9] calinescu, a., sivadasan, s., schirn, j. and huaccho, l., complexity in manufacturing: an information theoretic approach, technical report of manufacturing system research group, department of engineering science, university of oxford, england, 2003. [10] pelaez, j. and ruiz, j., measuring operational flexibility, technical report, university of murcia, faculty of economy and enterprise, spain, 2004. [11] sethi, a. and sethi, s., "flexibility in manufacturing: a survey", international journal of operations and production management, pp:35-45, 1992. [12] tsourveloudis, n. and phillis, y., "fuzzy assessment of machine flexibility", ieee transaction on engineering management, vol. 45, pp:78-87, 1998. héctor kaschel c. and luis manuel sánchez y bernal depto. de ingeniería eléctrica and depto. de matemática y ciencia de la computación universidad de santiago de chile avda. ecuador ] 3519 estación central. santiago chile e-mail: hkaschel@lauca.usach.cl o msanchez@lauca.usach.cl int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 125-134 design of a mimo pid robust controller using moments based approach abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou abstract: in this paper we present a new technique for robust mimo controllers synthesis and reduction based on a reference model and moments approach intended to control a mimo thermal system. the reference model allows to specify the performances requirements for the closed loop and improve the controller robustness while the moments tool (frequency and time ones) is used to reduce the controller structure using a non linear optimization. the implementation on the real system associates this methodology of mimo pid controllers synthesis with broïda’s identification technique in order to carry out a auto-tuning procedure [2][11]. keywords: pid control, reference model, moments, optimization, robustness, broïda’s identification technique. 1 introduction the method of moments was introduced in a previous contribution [1] to show how we can treat single-input single-output (siso) control systems. we saw that the moments represent a good tool to obtain a reduced robust controller in order to approximate the closed loop behaviour to a reference model one. the reference model gathers all performances requirements like time response and overshoot. an extension of this method to the multivariable (multi-inputs multi-outputs) systems is presented in this paper; in this case the fundamental idea is to choose a diagonal reference model to make inputs outputs pairing [10] where the diagonal reference transfer functions are chosen using the same method for the siso case. in this paper we present our control methodology for mimo systems with an application to a thermal system. the control of the mimo thermal system is realized with the help of a pid controller using moments based approach and reference model. the aim of this technique is to synthesize a reduced robust controller (pid for example) for the implementation. the identification was realized thanks to broïda’s method which is an elementary technique very used in the industry in order to develop a auto-tuning procedure requiring a minimum intervention of the user. the controller achieving the performances for the worst case model is called ideal controller [10] which will be reduced using the moments based approach to have a pid structure for implementation [4]. the reduced controller must preserve the same performances as the ideal one; this rises from frequency and time moments which represent a good tool for synthesis and analysis [7]. concretely, the reduction procedure is based on a non linear optimization and its initialization is given by the least squares algorithm [8]. the paper is organized as follows: in section 2 we give a complete description of the application; in section 3 we develop our synthesis methodology; in section 4 and 5 we describe the moments theory and the reduction method and we finish this communication by presenting the different results obtained and a conclusion. 2 description the general diagram of the temperature control device is illustrated by fig. 1. copyright © 2006-2008 by ccc publications 126 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou amplification u1 +vcc t1 u2 θ1 θ2 stage amplifying stage amplifying y2y1 t2 figure 1: the general diagram of the system it is composed of a radiator on which we placed two power transistors t1 and t2 controlled by the tensions u1 and u2 which vary between 0 and 10 volts. near these power transistors, which represent the heat source, two temperature sensors (pt 100) are laid out. after adaptation and amplification, we obtain the tensions y1 and y2 (which vary between 0 and 10 volts) proportional to the temperatures θ1 and θ2. the ratio tension-temperature is of 0.02volts/c. 2.1 modelling the aim is to define the model connecting the tensions delivered by the temperature sensors y1 and y2 to the control tensions u1 and u2 applied to the transistors. the conduction of the heat in the radiator, towards the temperature sensors produced by the power transistors is governed by the following diffusion equation: µ ∂ 2θ ∂ x2 = ∂ θ ∂ t (1) where µ is the coefficient of thermal diffusion process. consequently the resulting physical model is of distributed parameters and we preferred to present a black box model adapted to the synthesis of a control law, this model is given from identification. let:   y1 (s) y2 (s)   =   g11 (s) g12 (s) g21 (s) g22 (s)     u1 (s) u2 (s)   (2) where g (s) is the transfer matrix of the system. notice that the system is symmetrical because of the provision of the heat sources and the position of the sensors. indeed, we must obtain: { g11 (s) = g22 (s) g12 (s) = g21 (s) (3) in addition, since the sensors θ1 and θ2 are very close to the sources t1 and t2, the transfers g11 and g22 can be reasonably modelled by a first order system ( k11 1 + τ11s ). on the other hand θ2 is less sensitive to the effect of t1 than that of t2 (so k21 < k11), with a settling time definitely higher. we can thus approach this transfer by an aperiodic nth order system with (n >> 1) or more simply by a first order system with a time delay ( k12e−α12s 1 + τ12s ). design of a mimo pid robust controller using moments based approach 127 2.2 identification several sophisticated identification techniques (minimization of a quadratic cost by least squares or non linear optimization) (ljung [5] and walter [12]) can be used to estimate the parameters of g (s). taking into account the fact that the aim is to synthesize pid controllers (in a auto-tuning objective), we preferred to choose a basic identification method requiring only step tests. our choice thus is broïda’s method which delivers an approached model of the form ( ke−α s 1 + τ s ), so well adapted to the selected modelling [2][11]. let us recall that the coefficient {k, α et τ} are obtained with the help of the following formulas:    ki j = y∞ αi j = 2.8t1 −1.8t2 τi j = 5.5 (t2 −t1) (4) where y∞ is the final value of the system step response, t1 (respectively t2) is the time where the output attains 28% (respectively 40%) of its final value. we made 5 tests which provided: test1 test2 test3 test4 test5 k11 0.1221 0.1221 0.1172 0.1172 0.1318 τ11 577 414 449 451 457 k12 0.0634 0.0636 0.0586 0.0586 0.0684 τ12 910.5 862.95 684.2 683.1 863 α12 7 26.2 59.6 58.9 6 k21 0.083 0.0781 0.0684 0.0684 0.083 τ21 715 654.5 808.5 808.5 715 α21 113 99.8 73.4 73.4 113 k22 0.0977 0.0977 0.0977 0.0928 0.1074 τ22 450 445 447 447 600 the settling times of g11 (s) and g22 (s) are close and equal 33minutes. 2.3 the nominal model the nominal model was obtained by carrying out the average of the 5 tests, thus: gnom (s) =   0.122 470s+1 0.0625e−31.5s 801s+1 0.0762e−94.5s 740s+1 0.0987 478s+1   (5) from the values of the preceding table, we note that the theoretical symmetry is not checked in practice, well that g11 (s) and g22 (s) are close (g12 (s) and g21 (s) respectively), these differences are the consequences of the noises level disturbing the measurements and the non perfect reproducibility of the assembly. 2.4 taking into account of uncertainties identification uncertainties will deteriorate the performances of the control device if they are not taken into account during the synthesis. the table recapitulating the 5 tests shows that two uncertainties types are present: 128 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou • uncertainties on the d.c gains (of type low frequencies). • uncertainties on time-constants and time delays, which causes modelling errors (of type high frequencies). since the transfer matrix g (s) is theoretically symmetrical, we decided to make the synthesis by basing us on a symmetrical worst case model gp (s). using gp (s), we took into account all the uncertainties by raising: • low frequencies uncertainties by taking kmax. • high frequencies uncertainties by introducing a time delay e−δ s (see [1]). remark 1. the worst case model has been chosen to take into account all the identification uncertainties: • low frequencies uncertainties, by choosing the max of the d.c gains. • high frequencies, by introducing time delays in all input-output transfers. thus, we obtain the following worst case model: gp (s) =   0.132e−5s 500s+1 0.085e−125s 800s+1 0.085e−125s 800s+1 0.132e−5s 500s+1   (6) 3 synthesis the control configuration is illustrated by fig. 2 g(s) r e u po y pi c(s) figure 2: unitary feedback configuration c (s) is the controller to implement, g (s) is the plant, r represent the reference inputs, y the outputs to be controlled, u the control inputs, pi and po are the input and output disturbances and e is the tracking error. the synthesis of c (s) is based on the internal model control [6][10], so: c (s) = q (s) (i −g (s) q (s))−1 (7) where q (s) is any stable transfer matrix [3]. design of a mimo pid robust controller using moments based approach 129 3.1 the reference model q (s) is calculated using gp (s) in order to approach the closed loop tyr (s) to a reference model tre f (s), so: tyr (s) = gp (s) q (s) = tre f (s) (8) the reference model gathers all the objectives of the synthesis in terms of stability and performances (i.e inputs-outputs decoupling, settling time... etc). in our case, tre f (s) is given by: tre f (s) =   t2(s)e−δ s d(s) 0 0 t2(s)e −δ s d(s)   (9) where t2 (s) represent the dominant poles to fixe the closed loop dynamic, d (s) represent the auxiliary poles, which reduce the control input energy, confer robustness to the controller by making a sufficient roll-off of tyr (s) and ensure its causality, finally e−δ s represents the singularity of gp (s) which is integrated in tre f (s) to have q (s) stable and realizable. so q (s) is given by: q (s) = gp (s) −1 tre f (s) (10) since the singularities of gp (s) (i.e time delays and rhp zeros) are integrated in the reference model tre f (s), so the stability of q (s) is guaranteed [3]. t2 (s) and d (s) are given by: t2 (s) = ω 2n s2+2ξ ωns+ω 2n d (s) = (1 + η s)n (11) where ωn and ξ , fixe the settling time and the overshoot of the outputs. we can recapitulate our reference model by saying that it imposes a inputs-outputs decoupling and the same dynamics for the two outputs of g (s). 3.2 robustness and the reference model it is well-known that the relative modelling errors ∆r (s) modify the dynamics of the system with a possibility of instability because: sypo (s) = ( i −g (s) q (s) (i + ∆ (s) q (s))−1 ) = snom (s) (i + ∆r (s) tre f (s)) −1 (12) so robustness of stability and performances is guaranteed if: ‖ ∆r (s) tre f (s) ‖∞≤ δ −1sr (13) where δsr, represents stability margin; notice that from (13), we can act on the auxiliary poles of tre f (s) to ensure the robustness [3]. 130 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou 3.3 the ideal controller from (10), we deduce the ideal controller c (s): c (s) = q (s) (i −gp (s) q (s))−1 (14) it is clear that the implementation of c (s) is very hard to do because of time delays; for that we will reduce its structure to get an implementable one which must preserve the same performances of those ensured by the ideal controller. the moments tool, particularity of our approach is used for reduction. 4 the moments let us consider a linear siso system, characterized by its transfer function g (s) analytic in the rhp plan (.i.e re (s) > 0) and let g (t) be its impulse response: g (s) = ∫ ∞ 0 g (t) e−st dt (15) the transfer function is given by the following state space (not necessary minimal) realization: g (s) s = [ a b c d ] = c (si −a)−1 b + d (16) where a ∈ rn×n, b ∈ rn×1,c ∈ r1×n and d ∈ r1×1. 4.1 computing the moments using state space realization using the following equality: (si −a) ( −a−1 −sa−2 −s2a−3 −···− ) = i ⇒ (si −a)−1 = − ∞ ∑ n=0 ( sna−(n+1) ) (17) frequency moments realizing a variable change µ = jω − jω0, equation (15) becomes: g (µ) = ∞ ∑ n=0 (−1)n (µ)n an,ω0 (g) (18) and (16): g (µ) = c (µ i −(− jω0i + a))−1 b + d (19) so, we get: a0,ω0 (g) = −c (− jω0i + a) −1 b + d (20) an,ω0 (g) = (−1) n+1 c (− jω0i + a)−(n+1) b, (n = 1···∞) (21) remark 2. the time moments are giving by remplacing ω0 = 0. both time and frequency moments can be calculated easily using the previous algorithm. thanks to the computation of the moments using state space realization, we can compute moments for mimo systems (multi inputs multi outputs). design of a mimo pid robust controller using moments based approach 131 5 the controller reduction for more details of our model reduction procedure, please refer to [1]. it is interesting to have a reduced structure of the implemented controller (pid for example) [6]. let: θ =   θ 11 (s) ··· θ 1m (s) ... . . . ... θ m1 (s) ··· θ mm (s)   (22) be the matrix representing the controller’s parameters to be calculated. θ i j represents the parameters vector of numerator and denominator of cr,i j (s); i.e the reduced controller between the jth input and the ith output. let us define our cost function j as the 2 norm of the errors between the different moments of the ideal controller and those of the reduced one. j = n ∑ n=0 ||εn||22 = n ∑ n=0 ||an,ω0 (c)−an,ω0 (cr)||22 (23) where an,ω0 (cr) represents n th order moments matrix, which is function of the parameters θ : an,ω0 (cr) = fn (θ ) (24) let: j = n ∑ n=0 ||an,ω0 (c)− fn (θ )||22 (25) the objective is to determine the estimated parameters θ̂ minimizing j around ω0. this frequency ω0 is chosen in order to preserve stability of the system (i.e critical pulsation), (see the generalized nyquist criterion [10]). 5.1 linear optimization the first step consists on imposing the common denominator dr (s) of the reduced controller (for example we can take the auxiliary poles of the reference model dr (s) = d (s)). so only the zeros have to be determined; the function fn (θ ) is linear; thus the minimization of j is obtained by least squares, let: cr (s) = cls (s) (26) be the reduced controller which will be used to initialize the non linear programming algorithm. remark 3. by imposing the poles of the reduced controller, for example a pole with an integral action we define so a pid structure. for example we can take dr (s) = s (1 + η s). 5.2 non linear optimization the fact of imposing the poles of the reduced controller, this will limit its performances and consequently those of the closed loop. so, it is preferable to optimize all the structure (i.e. poles and zeros); the function fn (θ ) is non linear; the estimation of θ is obtained by non linear programming [7]. we use marquardt’s algorithm which is a good combination between rapidity and convergence [8]. the parameters are updated with the help of the following algorithm: θ̂i+1 = θ̂i −{[j ′′ + λii]−1.j ′}θ̂ =θ̂i (27) 132 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou where: ( ∂ j ∂ θ ) = j ′ : gradient vector (28) ( ∂ 2j ∂ θ 2 ) = j ′′ : hessian matrix (29) λi : coefficient to adjust (30) the initialization is given by the least squares solution: θ̂0 = θ̂ls (31) 6 results and comments the controllers synthesis and reduction technique was applied to the thermal system with 2 inputs and 2 outputs. let us recall that this thermal system is characterized by an important open loop settling time (approximately 33 minutes); moreover the elementary modelling used in a disturbed context involves important uncertainties. the objective of the temperature control, in a auto-tuning context, will be double: • reduce considerably the closed loop settling time by using a controller of a simplified structure: pid controller. • guarantee robustness in spite of the simplicity of the controller, the level of uncertainty and the reduction of the settling time. let us specify that the implementation of the pid controllers was ensured thanks to xpc target software of matlab. we used for that a sample time te = 1s. our objective is to accelerate the system reasonably, in a ratio of 6, thus passing from 33mn in open loop to 5mn in closed loop all while maintaining the relative overshoot around 5%; for that, we fixed: ωn = 0.02rd/s ξ = 0.7 the auxiliary poles ensuring the robustness condition (13) are: d (s) = (1 + 3s)3 the pid controller obtained using the synthesis and the reduction procedures described obviously is: cr (s) = [ c11 (s) c12 (s) c21 (s) c22 (s) ] (32) with: c11 (s) = c22 (s) = −3.162s 2+52.81s+0.14 s(1+34.87s) c12 (s) = c21 (s) = −2019e −7s2+4403e−6s−7193e−5 s(1+15.88s) (33) the implementation provides the results illustrated by fig. (3) and fig. (4). design of a mimo pid robust controller using moments based approach 133 0 1000 2000 3000 4000 5000 6000 2.5 2.55 2.6 2.65 time(sec) o u tp u t( v o lt) 0 1000 2000 3000 4000 5000 6000 2.5 2.55 2.6 2.65 time(sec) o u tp u t( v o lt) tref y1 tref y2 figure 3: step responses 0 1000 2000 3000 4000 5000 6000 3 4 5 6 7 8 9 10 time(sec) co ntr ol int pu t(v olt ) u1 u2 figure 4: the control inputs remark 4. we can check that the system’s responses correspond perfectly to those of the reference model. we can also check the perfect decoupling of the system outputs, y2 being insensitive to the reference input applied to y1 and reciprocally. it is checked finally that the control input obtained is completely reasonable, that it is with respect to its initial magnitude or of its insensitivity to the output noise (of considerable level). 7 conclusion we presented in this communication a synthesis and reduction technique of robust controllers to the multivariable control of a thermal system. this methodology is based on a reference model integrating explicitly the desired performances. the experimental results show that the closed loop system verifies well the performances described by the reference model. the moments approach, characteristic of this methodology, allows the reduction of the ideal controller to lead to a pid structure, while guaranteeing the dynamic performances and especially the robustness as testify the experimental results. let us recall finally that this synthesis methodology and reduction was associated with broïda’s identification technique to carry out the auto tuning of multivariable pid controllers. 134 abdelmadjid bentayeb, nezha maamri, jean-claude trigeassou bibliography [1] a.bentayeb, n.maamri and j-c.trigeassou "the moments in control: a tool for analysis, reduction and design", international journal of computers, communication and control, vol ii (2007). [2] a.anon "special edition on pid tuning methods". computing and control engineering journal 10(2), (1999). [3] j.c.doyle, b.a.francis and a.tannenbaum "feedback control theory". macmillan, new york (1991). [4] c.e.garcia and m.morari "internal model control: an unifying review and some new results". ind.eng.chem.proc.dec.dev, vol(91.2) (1982). [5] ljung "system identification. theory for the user". prentice hall (1987). [6] m.morari and s.zafiriou "robust process control". prentice hall (1989). [7] n.maamri, a.bentayeb and j-c.trigeassou "design and iterative optimization of reduced robust controllers with equality-constraints" rocond-milan (2003). [8] d.w.marquardt "an algorithm for least-squares estimation of non linear parameters" journal of soc. indust. appl. math v(11-2) (1963). [9] q.g.wang "decoupling control", lecture notes in control and information sciences, springer verlag (2003). [10] s.skogestad and i.postlethwaite "multivariable feedback control", jw (1996). [11] r.toscano "a simple robust pi/pid controller design via numerical optimization approach", journal of process control (15), (2005). [12] e.walter and l.pronzato "identification of parametric models from experimental data". communications and control engineering series. springer (1997). a. bentayeb, n. maamri and j-c. trigeassou university of poitiers laboratoire d’automatique et d’informatique industrielle 40 avenue du recteur pineau 86022 poitiers e-mail: abdelmadjid.bentayeb@gmail.com received: january 16, 2007 abdelmadjid bentayeb was born in 1977, he obtained the phd thesis in automatic control at the university of poitiers in 2006. his current research interests include robust control and model reduction. nezha maamri is lecturer at the unisversity of poitiers, hers current research interests include identification and robust control. jean-claude trigeassou is professor at the university of poitiers, his current research interests include identification and control. int j comput commun, issn 1841-9836 vol.7 (2012), no. 4 (november), pp. 759-766 transmission control for future internet including error-prone wireless region i. ryoo, s. kim intae ryoo, seokhoon kim dept. of computer engineering & ru-iptv research center kyunghee univ., 1, seocheon-dong, giheung-gu, yongin-si, gyeonggi-do, korea e-mail: itryoo@khu.ac.kr, kimsh@khu.ac.kr abstract: this paper introduces a transmission control scheme which is aimed at enhancing overall transmission capability of internetworks including error-prone wireless regions. the proposed scheme can accurately adapt to wireless communication environments by integrating new approaches of bandwidth estimation, loss detection, and error recovery techniques while differentiating data losses due to physical bit error characteristics of error-prone wireless regions from those due to network congestion. from the simulations, it has been verified that the proposed scheme shows better throughput performances than the existing major transmission control schemes such as new reno, vegas, and westwood+, while achieving satisfied levels of fairness and friendliness with them. keywords: transmission control, error-prone wireless region, bandwidth estimation, loss detection, error recovery 1 introduction wireless and mobile communication environments have already been pervasively deployed, and never-ending communication demand in error-prone wireless regions of upcoming future internet makes it difficult to maintain the same level of performances of legacy transmission controls. this is mainly due to the inability of the existing transmission control schemes to differentiate data losses resulting from inevitable bit errors in error-prone wireless regions [1] from those resulting from network congestion. as bad channel conditions and aperiodic disconnections are typically transient phenomena, legacy tcp congestion control responses may be inappropriate and undesirable for the networks with error-prone wireless regions. in order to achieve a higher level of transmission efficiency, we have proposed a new transmission control method that is well suited for error-prone wireless regions as well as wired regions. many solutions have been proposed to improve tcp performances in wireless networks and can be categorized into end to end (e2e), split connection, and link layer solutions [2][3]. the proposed transmission control protocol for error-prone wireless regions (tcp ewr) falls into the e2e category as it measures packet arrival rates and acts according to current network status. it, however, differs from the general e2e solutions in the point that it is aiming to improve its performances in case of random or sporadic data losses by performing a time-stamp based bandwidth estimation at the receiving tcp rather than at the sending tcp, calculating the expected and actual bandwidths, and reacting accordingly to the random wireless packet loss events. it measures bandwidth utilization by using packet arrival information at the receiver rather than by using acknowledgement (ack ) information at the sender like tcp new jersey [4]. as a result, sending feedback information to the receiver is not necessary in our scheme. moreover, in order to make the tcp ewr operate in a stable status, we have introduced two thresholds, α and β, which corresponds to having too little and too much data enroute to the destination, respectively. in addition, the tcp ewr performs an enhanced error recovery in copyright c⃝ 2006-2012 by ccc publications 760 i. ryoo, s. kim case that the network suffers from timeout expiration due to wireless packet losses. that is, if there is any sign of data loss either by retransmission timeout or by three duplicate ack s, the tcp ewr sets slow start threshold (ssthresh) value to optimal congestion window (ocwnd). with these features, the overall performance of the tcp ewr can be increased for the networks including error-prone wireless regions. in sect. 2, we discuss the bandwidth estimation, loss detection, enhanced error recovery, and congestion control procedures of the tcp ewr. we also give a pitch of our scheme through performance tests in sect. 3, and finally bring this paper to a conclusion in sect. 4. 2 transmision control for future internet including error-prone wireless regions the proposed transmission control scheme is composed of bandwidth estimation at the receiver, loss detection, enhanced error recovery, and congestion control. the first step of bandwidth estimation is to calculate a sample bandwidth (bwsample(n)) when the nth packet arrives at the receiver at time tn: bwsample(n) = dn/(tn − tn−1) (1) where dn is the amount of data currently received by the receiver and tn−1 is the previous (n −1)th packet arrival time. that is, differently from the existing schemes such as westwood+ and new jersey [5], our scheme uses packet arrival information at the receiver instead of using returning ack information at the sender. note that westwood+ and new jersey are considered in this work as they are representative transmission control schemes that can distinguish wireless packet losses from congestion packet losses and react accordingly. by incorporating the actual arrival rate information in bandwidth estimation and, at the same time, by including congestionrelated packet loss probability into the packet arrival rate calculation [6], the proposed scheme can probe the available bandwidth more accurately. the next step is to estimate the available bandwidth with a time varying coefficient, exponentially weighted moving average filter, which yields to following equation. bwestimated(n) = bwestimated(n−1)× δn + bwsample(n)× (1− δn) (2) where δn is a constant filter gain. in our simulation, we set δn to 0.7 for n≥2 and zero for n=1 for simplicity. thus, the optimal congestion window size ocwndn is computed as following: ocwndn = rttmin ×bwestimated(n)/seg_size (3) where rtt min is minimum measured round-trip time (rtt ) and seg_size is the length of the tcp segment. note that we do not consider the available buffer space in the receiver in this work, and ocwndn is used as a receiver-advertised congestion window size. simulation results in sect. 3 show that this yields good bandwidth estimates for random packet loss scenarios with error-prone wireless region. in order to proactively detect the incipient stage of congestion and to efficiently figure out the reason for packet losses, the proposed scheme calculates maximum expected throughput and measures actual throughput as followings similar to vega and veno approaches [7]: expected throughput = windowsize/rttmin (4) actual throughput = windowsize/rtt (5) transmission control for future internet including error-prone wireless region 761 where rtt is the smoothed round-trip time measured. the difference d between these two throughputs indicates the amount of data that is currently residing on the corresponding path and/or going away due to network congestion or error-prone wireless regions. also, by using the backlog variable x = d ∗ rtt min and two thresholds, α and β, which correspond to having relatively a few and too many data on the route respectively, we can grasp how to manage the sender’s congestion window (cwnd) size based on the current network situation. in our simulations, the values of α=1 and β=9 are used, but they can be set to better adapt to future internet environment, which is for further study. with these indicators for the current network status, the tcp ewr performs an enhanced error recovery (eer) mechanism. if there is any sign of data loss either by retransmission timeout (rto) at the sender or by three duplicate acks (dupacks) from the receiver, the proposed scheme sets the ssthresh value to the ocwndn. note that, if the connection is restored after physical bit errors, the window size should grow quickly to make up for the previous data loss event. in the proposed scheme, the sender immediately adjusts its congestion window size to the ocwndn. it is because the receiver has continuously monitored the available bandwidth of the corresponding path as given in eq. (1) and (2). there is no need to employ any kinds of slow start, additive increase, or fast recovery algorithms whenever the connection is recovered. with regard to congestion window updates when a packet loss is detected, there are three different cases depending on the values of backlog variable x, and two thresholds α and β. when x<α, the proposed scheme updates the congestion window size cwnd to ocwndn or follows an additive-increase paradigm (linear increase state) by comparing the current cwnd with a new ssthresh value. the reason why the proposed scheme updates the cwnd like this is that the network condition is not too bad as the backlog x<α implies, although there exits an incident that packets have been lost during transmission. when α≤x≤β, it updates the congestion window size to ocwndn or keeps the previous cwnd value unchanged by comparing the current cwnd with a new ssthresh value. the backlog α≤x≤β implies that there is a high probability that packets will be lost due to either network congestion or wireless bit errors. so, it is desirable to retain the previous cwnd (wait-and-see state) rather than following an additive-increase/adaptive-decrease paradigm. when x>β, it decreases the congestion window size adaptively. the backlog x>β means that the network falls into a congestion state. by adopting this eer approach, we can use the available bandwidth efficiently. the pseudo code of the proposed tcp ewr transmission control algorithm is given below: a) when packets successfully arrive at the receiver: bwsample(n), bwestimated(n), and ocwndn are computed; b) on ack reception at the sender: cwnd = ocwndn; c) when 3 dupacks are received or rto expires: if (x<α) ssthresh = ocwndn; if (cwnd > ssthresh) cwnd = ocwndn; else /* linear increase state */ cwnd=cwnd+2; else if (α ≤ x ≤ β) ssthresh=ocwndn; if (cwnd > ssthresh) cwnd = ocwndn; else /* wait-and-see state */ cwnd is retained; 762 i. ryoo, s. kim end if else /* congestion state */ ssthresh = ocwndn; cwnd = 1; note that the cwnd is increased by two in the linear increase state because it is updated after one rto rather than after each rtt . 3 simulation results the proposed transmission control scheme has been simulated by using ns-2 and its performances are compared with several representative schemes such as new reno, vegas, westwood+, and new jersey. performance metrics used in simulations include throughput, fairness, and friendliness. although the tcp ewr is proposed for adapting to future internet including error-prone wireless regions, it must also operate well for any topology with lossy or congested links. figure 1 shows a single bottleneck scenario for comparing performance metrics of the tcp ewr with those of well-known schemes under the condition that there exist various link error rates, and background traffics. figure 1: single bottleneck scenario figure 2 shows throughput comparison results. the tcp ewr shows almost similar performances when link error rate is low. however, as the link error rate increases, especially from the point of 8 % link error rate, the tcp ewr outperforms other schemes. in addition, fairness index [8] has been compared by considering 10 same tcp flows that share a 10 mbps bottleneck link. different tcp schemes have been simulated individually and the corresponding results are summarized in table 1. a perfect fairness of bandwidth allocation leads to the fair index of 1. it has been verified that, except 0 % link error rate, the tcp ewr’s fairness index achieves a satisfactory margin compared to other schemes. the reason why the tcp ewr shows an inferior result under the very low link error condition is that it does not aggressively use the bandwidth but maintain the optimal congestion window size ocwndn. figure 3 shows a mixed wired and error-prone wireless scenario where there exist multiple transmission control for future internet including error-prone wireless region 763 figure 2: throughput comparison for single bottleneck scenario table 1: fairness comparison for single bottleneck scenario error rate(%) new reno westwood+ ewr 0 0.76 0.80 0.64 0.1 0.31 0.93 0.98 1 0.25 0.74 0.76 10 0.57 0.23 0.62 tcp connections. in this scenario, bidirectional ftp background traffics flow between n1 and n3 and between n2 and n4. the queue sizes of wired links and the wireless link are set to 100 and 10, respectively. figure 3: mixed wired/error-prone wireless scenario with these simulation conditions, we have compared the tcp ewr with new reno, vegas, and westwood+. new reno is considered as it is the leading internet congestion control scheme. vegas is considered as it also proposes, as westwood+, a new mechanism to throttle the congestion window based on measuring the network congestion status. westwood+ is considered as it remarkably improves utilization of wireless links that are affected by losses not due to congestion. figure 4 shows the corresponding throughput comparison results. new reno, westwood+, and ewr show almost similar throughput results when the link error rate is less than 1 %. when 764 i. ryoo, s. kim the link error rate is greater than 1% and less than 10 %, the ewr outperforms westwood+. vegas shows poor performance throughout the whole link error range. from the results shown in figure 2 and figure 4, we can conclude that the ewr shows better throughput performances than the other schemes for wireless scenario as well as for wired scenario. the reason why the ewr shows again similar result as new reno and westwood+ is that the link with more than 10 % error rate makes all the above control schemes fall into congestion state and cannot be logically managed any more. figure 4: throughtput comparison for mixed wired/error-prone wireless scenario for the same topology shown in figure 3, fairness indices of new reno, westwood+, and the ewr are compared. there are seven tcp flows of the same version that share a bottleneck link of which the bandwidth is 5 mbps. the results are shown in table 2. from these results, we can verify that the ewr also achieves a satisfactory level of fairness index as new reno and westwood+ do. table 2: fairness comparison for mixed wired/error-prone wireless scenario error rate(%) new reno westwood+ ewr 0 0.95 0.94 0.96 0.1 0.94 0.94 0.89 1 0.95 1.00 0.95 10 0.96 0.95 0.96 table 3: friendliness comparison of the ewr with new reno (throughputs in kbps) number of number of mean throughput mean throughput connections(new reno) connections(ewr) (new reno) (ewr) 3 7 69.24 59.97 5 5 77.91 77.68 7 3 71.55 71.03 transmission control for future internet including error-prone wireless region 765 figure 5: a network topology for verifying friendliness table 4: friendliness comparison of the ewr with westwood+ (throughputs in kbps) number of number of mean throughput mean throughput connections(new reno) connections(ewr) (new reno) (ewr) 3 7 73.71 81.95 5 5 78.03 97.03 7 3 63.25 70.62 finally, the friendliness of the proposed scheme with new reno and westwood+ has been tested by using a simple network topology shown in figure 5. in simulations, there are 10 pairs of connections where m is the number of the hosts that communicate based on the proposed scheme and n is the number of hosts that use new reno or westwood+. wireless link error rates have been set to vary between 0.1 and 10, and the corresponding results are summarized in table 3 and table 4. from the results, it has been shown that the proposed tcp ewr has good controllable friendliness compared with other two major tcp control schemes in error-prone wireless networking environment. 766 i. ryoo, s. kim 4 conclusion this paper introduces a new transmission control scheme for future internetworking environment with error-prone wireless regions. the proposed scheme is designed to adjust its congestion window optimally based on the current network situation while estimating the available bandwidth at the receiver. as a result, accurate window update and transmission control can be possible to obtain high throughput while achieving satisfactory levels of fairness and friendliness, which are important indices for the proposed tcp ewr to be a feasible scheme. acknowledgement this research was supported by kyung hee university, korea (20090724). bibliography [1] sumit rangwala, apoorva jindal, ki-young jang, and konstantinos psounis, understanding congestion control in multi-hop wireless mesh networks, proceedings of the 14th acm international conference on mobile computing and networking, san franscisco, california, usa, pp. 291-302, 2008. [2] dhiman barman, ibrahim matta, eitan altman, and rachid el azouzi, tcp optimization through fec, arq and transmission power tradeoffs, lecture notes in computer science, vol. 2957, pp. 87-98, 2004. [3] rajashree paul and ljiljana trajković, selective-tcp for wired/ wireless networks, in proceedings spects 2006, calgary, al, canada, pp. 339-346, 2006. [4] kai xu, ye tian, and nirwan ansari, tcp-jersey for wireless ip communications ,ieee journal on selected areas in communications, vol. 22, no. 4, pp.747-756, 2004. [5] luigi a. grieco and saverio mascolo, performance evaluation and comparison of westwood+, new reno and vegas tcp congestion control , acm sigcomm computer communications review, vol. 34, no. 2, pp. 25-38, 2004. [6] jitendra padhye, victor firoiu, don towsley, and jim kurose, modeling tcp throughput: a simple model and its empirical validation , acm sigcomm computer communication review, vol. 28, issue 4, pp. 303-314, 1998. [7] cheng peng fu and soung c. liew, tcp veno: tcp enhancement for transmission over wireless access networks , ieee journal on selected areas in communications, vol. 21, no. 2, pp. 216-228, 2003. [8] rajendra. k. jain, dah-ming w. chiu, and william r. hawe, a quantitative measure of fairness and discrimination for resource allocation in shared computer system, dec-tr301, eastern research lab., http://www.cs.wustl.edu/ jain/papers/ftp/fairness.pdf international journal of computers, communications & control vol. ii (2007), no. 4, pp. 367-374 an efficient numerical integration algorithm for cellular neural network based hole-filler template design v. murugesh, krishnan batri abstract: this paper presents, a design method for the template of the hole-filler used to improve the performance of the character recognition using numerical integration algorithms. this is done by analyzing the features of the hole-filler template and the dynamic process of cnn and by using popular numerical algorithms to obtain a set of inequalities satisfying its output characteristics as well as the parameter range of the hole-filler template. some simulation results and comparisons are also presented. keywords: cellular neural networks; euler algorithm; rk-gill algorithm; rkbutcher algorithm; ordinary differential equations, hole-filler. 1 introduction cellular neural networks (cnns) are analog, time-continuous, nonlinear dynamical systems and formally belong to the class of recurrent neural networks. since their introduction in 1988 (by chua and yang [1, 2], it has been the subject of intense research. initial applications include image processing, signal processing, pattern recognition and solving partial differential equations, etc. runge-kutta (rk) methods have become very popular, both as a computational technique as well as a subject of research, which are discussed by butcher [3, 4]. this method was derived by runge around the year 1894 and extended by kutta a few years later. they developed algorithms to solve differential equations efficiently and these are the equivalent of approximating the exact solutions by matching ‘n’ terms of the taylor series expansion. butcher [3] derived the best rk pair along with an error estimate and by all statistical measures it appeared as the rk-butcher algorithm. this rk-butcher algorithm is nominally considered as sixth order, since it requires six function evaluations, but in actual practice the “working order” is close to five (fifth order). bader [4, 5] introduced the rk-butcher algorithm for finding the truncation error estimates and intrinsic accuracies and the early detection of stiffness in coupled differential equations that arise in theoretical chemistry problems. recently devarajan et al [7] used the rk-butcher algorithm for finding the numerical solution of an industrial robot arm control problem. oliveria [8] introduced the popular rk-gill algorithm for the evaluation of ’effectiveness factor’ of immobilized enzymes. in this paper, we describe the dynamic behavior of cnn in section 2, hole-filler template design ideas in section 3, numerical integration algorithms and its description is shown in section 4, and simulation results in section 5. 2 dynamic analysis of cnn the dynamic equation of cell c(i, j) in an m x n cellular neural network is given by chua and yang [1, 2]. c dxi j(t) dt = − 1 rx xi j(t) + ∑ c(k,l)∈nr (i, j) a(i, j; k, l)ykl (t) + ∑ c(k,l)∈nr (i, j) b(i, j; k, l)ukl + i (1) yi j(t) = [∣∣xi j(t) + 1 ∣∣− ∣∣xi j(t) ∣∣−1 ] , 1 ≤ i ≤ m, 1 ≤ j ≤ n (2) copyright © 2006-2007 by ccc publications 368 v. murugesh, krishnan batri uij xij · · · yij c r i yij n i uij n i figure 1: cnn–cell wherexi j, yi j and ui j are the state voltage, output voltage and input voltage respectively and they are functions of time t. rx is a linear resistance, c is a linear capacitor, and a(i, j; k, l) and b(i, j; k, l) are the transconductances of the output and input voltages of c(k, l) with respect to c(i, j) called the cloning templates of cnn. nr(i, j) denotes the rthneighbor of c(i, j) and i is an independent current source. from equation (2) one can see that the output voltage is nonlinear. we can rewrite the cell equation (1) as follows: c dxi j(t) dt = − f [xi j(t)] + g(t) (3) where f [xi j(t)] = 1 rx xi j(t) (4) g(t) = ∑ c(k,l)∈nr (i, j) c(k,l)6=c(i, j) a(i, j; k, l)ykl (t) + ∑ c(k,l) b(i, j; k, l)ukl + i (5) 3 hole-filler template design the hole-filler is a cellular neural network discussed by yin et al [9], which fills up all the holes and remains unaltered outside the holes in a bipolar image. let rx = 1, c = 1 and let +1 stand for the black pixel and -1 for the white one. we shall discuss the images having holes enclosed by the black pixels, when the bipolar image is input with u = {ui j} into cnn. the initial state values are set as xi j(0) = 1. from the equation (2) the output values are yi j(0) = 1, 1 ≤ i ≤ m, 1 ≤ j ≤ n. suppose that the template a and b and the independent current source i are given as a =   0 a 0 a b a 0 a 0   , a > 0, b > 0, b =   0 0 0 0 4 0 0 0 0   , i = −1 (6) where the template parameters a and b are to be determined. in order to make the outer edge cells become the inner ones, normally auxiliary cells are added along the outer boundary of the image, and their state values are set to zeros by circuit realization, resulting in the zero output values. the state equation (1) can be rewritten as dxi j(t) dt = −xi j(t) + ∑ c(k,l)∈nr (i, j) a(i, j; k, l)yi j(t) + 4ui j(t)−i (7) for the cell c(i, j), we call the cells c(i + 1, j), c(i − 1, j), c(i, j + 1) and c(i, j − 1) to be the nondiagonal cells. here, several cases are to be considered. an efficient numerical integration algorithm for cellular neural network based hole-filler template design 369 case 1: the input value ui j = +1 for cell c(i, j), signaling the black pixel. because the initial state value of the cell c(i, j) has been set to 1, xi j(0) = 1, and from equation (2) its initial output value is also yi j(0) = 1 . according to the hole-filler demands, its eventual output should be yi j(∞) = 1. to obtain this result we set dxi j(t) dt ≥ 0 (8) substituting this input ui j = 1 and equation (6) into equation (7), we obtain dxi j(t) dt = −xi j(t) + a [ y(i−1) j(t) + y(i+1) j(t) + yi( j−1)(t) + yi( j+1)(t) ] + byi j(t) + 3 (9) combining equations (8) and (9) and considering the minimum value of xi j(t) = 1 this case yields a [ y(i−1) j(t) + y(i+1) j(t) + yi( j−1)(t) + yi( j+1)(t) ] + byi j(t) + 2 ≥ 0 (10) to facilitate our discussion, two sub cases are distinguished. sub case 1: the cell c(i, j) is inside the holes. since xi j(0) = 1 , from equation (2) its initial output value yi j(0) = 1. considering equations (8) and (2), yi j(t) ≥ 1. according to the hole-filler demands, its initial output of non-diagonal black pixels should not be changed inside the holes. the weights of a and b are equal to +4 and +1, respectively. since a(i, j; k, l) > 1rx the parameter b is found to be b > 1, or 4a + b + 2 ≥ 0, b > 1 (11a) sub case 2: the cell c(i, j) is outside the holes. to satisfy equation (10), we need to check only the minimum value on the left-hand side of equation (10). this is true when there are four non-diagonal white pixels around the cell c(i, j), where the weight of a in equation (10) is -4. since yi j(t) ≥ 1, the weight of b is equal to 1. combining this with b > 1 gives −4a + b + 2 ≥ 0, b > 1 (11b) case 2: the input value of cell c(i, j) is ui j = 1, signaling the white pixel. substituting this input value in equation (7) gives dxi j(t) dt = −xi j(t) + a [ y(i−1) j(t) + y(i+1) j(t) + yi( j−1)(t) + yi( j+1)(t) ] + byi j(t)−5 (12) sub case 1: the cell c(i, j) is inside the holes. since xi j(0) = 1, from equation (2) its initial output value is yi j(0) = 1. according to the hole-filler demands, the holes should be filled by the black pixels, whereas its initial black pixels remain unaltered: dxi j(t) dt ≥ 0 (13) combining equations (12) and (13) and considering xi j(t) ≥ 1 yields aby(i−1) j(t) + y(i+1) j(t) + yi( j−1)(t) + yi( j+1)(t)c+ byi j(t)−6 ≥ 0 (14) where we use the minimum value of xi j(t) in equation (12). since the cell is inside the holes, its initial output of non-diagonal black pixels remain unchanged. the weight of a and b are equal to +4 and +1, respectively. combining this with b > 1 gives 4a + b−6 ≥ 0, b > 1 (15) 370 v. murugesh, krishnan batri sub case 2: the cell c(i, j) is outside the holes. since xi j(0) = 1, from equation (2) its initial output value is yi j(0) = 1. according to the hole-filler demands, the final output of this cell should be white, and in this case yi j(∞) ≤ −1. dxi j(t) dt < 0 (16) combining equations (12) and (16) and considering xi j(t) ≤ 1. we get aby(i−1) j(t) + y(i+1) j(t) + yi( j−1)(t) + yi( j+1)(t)c+ byi j(t)−6 < 0 (17) where we use the maximum value of xi j(t) in equation (12). initially yi j(0) = 1. how can the output of cell c(i, j) be changed to -1?. where does this change begin?. first we consider the situation where the change begins from the inside of the bipolar image. if the maximum value on the left-hand side in equation (17) is less than zero, equation (17) holds. inside the image and outside the holes, the maximum weights of a and b are +4 and +1, respectively. this case was described by equation (15). in fact, the change of the output of the cell c(i, j) is like a wave propagating from the edges to the inside of the image and it is verified from the simulated result. therefore, we should first consider the edge cell c(i, j), i = 1 or m, j = 1 or n. for this the maximum weight of a in equation (17) is +3, which is also the maximum weight of a outside the holes. the maximum weight of b is +1, occurring at the initial time: 3a + b−6 < 0, b > 1 (18) combining cases 1 and 2, we obtain 3a + b−6 < 0, 4a + b−6 ≥ 0, (19) −4a + b + 2 ≥ 0. 4 numerical integration algorithms the cnn dynamics on a digital architecture requires discretization in time and suitable numerical integration algorithms. three of the most widely used numerical integration algorithms are used in raster cnn simulation described here. they are the euler’s algorithm, rk-gill algorithm discussed by oliveria [8] and the rk-butcher algorithm discussed by badder [5, 6] and murugesh and murugesan [10, 11, 12]. 4.1 euler algorithm euler’s method is the simplest of all algorithms for solving odes. it is explicit formula which uses the taylor-series expansion to calculate the approximation. xi j((n + 1)τ) = xi j(π τ) + τ f ′(x(π τ)) (20) 4.2 rk-gill algorithm the rk-gill algorithm discussed by oliveria [8] is an explicit method requiring the computation of four derivatives per time step. the increase of the state variable xi j is stored in the constant ki j1 . this an efficient numerical integration algorithm for cellular neural network based hole-filler template design 371 result is used in the next iteration for evaluating ki j2 . the same must be done for k i j 3 and k i j 4 . ki j1 = f ′ (xi j (τ π)) ki j2 = f ′ ( xi j (τ π) + 1 2 ki j1 ) (21) ki j3 = f ′ ( xi j (τ π) + ( 1√ 2 − 1 2 ) ki j1 + ( 1− 1√ 2 ) ki j2 ) ki j4 = f ′ ( xi j (τ π)− 1√ 2 ki j2 + ( 1 + 1√ 2 ) ki j3 ) the final integration is a weighted sum of the four calculated derivatives: xi j((n + 1)τ) = xi j + 1 6 [ ki j1 + ( 2− √ 2 ) ki j2 + ( 2 + √ 2 ) ki j3 + k i j 4 ] (22) 4.3 rk-butcher algorithm the rk-butcher algorithm discussed by badder [5, 6] and murugesh and murugesan [10, 11, 12], is an explicit method. it starts with a simple euler step. the increase of the state variable xi j is stored in the constant ki j1 . this result is used in the next iteration for evaluating k i j 2 . the same must be done for ki j3 , k i j 4 , k i j 5 and k i j 6 . ki j1 = τ f ′ (xi j (π τ)) ki j2 = τ f ′ ( xi j (π τ) + 1 4 ki j1 ) ki j3 = τ f ′ ( xi j (π τ) + 1 8 ki j1 + 1 8 ki j2 ) ki j4 = τ f ′ ( xi j (π τ)− 1 2 ki j2 + k i j 3 ) (23) ki j5 = τ f ′ ( xi j (π τ) + 3 16 ki j1 + 9 16 ki j4 ) ki j6 = ∆t f ( xi j (π τ)− 3 7 ki j1 + 2 7 ki j2 + 12 7 ki j3 − 12 7 ki j4 + 8 7 ki j5 ) the final integration is a weighted sum of the five calculated derivatives: xi j ((n + 1) τ) = 1 90 ( 7ki j1 + 32k i j 3 + 12k i j 4 + 32k i j 5 + 7k i j 6 ) (24) 5 simulated results this hole-filler template has been simulated using pentium iv machine with 3.0 ghz. speed using different numerical integration algorithms. the settling time t and integration time ts is obtained with various step sizes is to be displayed below in the table-1. the settling time ts describes the time from start of integration until the last cell leaves the interval [-1.0, 1.0] which is based on certain limit (e.g., ∣∣ dx dt < 0.01 ∣∣). the simulation shows the desired output for every cell. we use +1 and -1 to indicate the black and white pixels, respectively. 372 v. murugesh, krishnan batri (a) (b) figure 2: image before and after hole filling step size euler algorithm rk-gill algorithm rk-butcher algorithm settling time(t) integration time(ts) settling time(t) integration time(ts) settling time(t) integration time(ts) 0.5 6.5 2.5 6.8 2.4 5.8 2.4 0.6 15.5 12.7 16.4 13.7 11.4 12.5 0.7 32.5 28.3 32.0 27.4 30.0 27.2 0.8 35.0 30.7 34.6 30.0 32.4 29.6 0.9 36.8 32.6 36.6 32.0 34.2 31.6 1.0 37.9 33.6 37.6 33.0 36.0 32.8 1.5 44.8 36.8 45.7 36.9 41.1 36.0 2.0 47.4 43.2 48.2 43.6 46.2 42.8 2.5 50.6 45.6 52.6 44.5 48.3 44.7 3.0 53.5 49.3 54.8 50.2 52.3 49.2 table 1: simulated results of hole-filler template design example the templates a, b and i are given as follows: a =   0 1.0 0 1.0 3.0 1.0 0 1.0 0.0   , b =   0 0 0 0 4 0 0 0 0   , i = −1.0 using the simulation program developed in c++, the input image is shown in figure-2(a) and the output image in figure-2(b). the obtained result is represented in table-1. from the table-1, we find that rk-butcher algorithm yields less settling time and integration time compared to euler and rk-gill algorithms. 6 conclusion it is shown that the cellular neural network based hole-filler template could be designed from its dynamic behavior using different numerical algorithms, and also the template for other cellular neural network can similarly be designed. the hole is filled and the outside image remains the same. the templates of the cellular neural network are not unique and this is important in its implementation. an efficient numerical integration algorithm for cellular neural network based hole-filler template design 373 bibliography [1] l. o. chua, l. yang, cellular neural networks: theory, ieee transactions on circuits and systems, vol. 35, pp. 1257 1272, 1988. [2] l. o. chua, l. yang, cellular neural networks: applications, ieee transactions on circuits and systems, vol. 35, pp. 1273 1290, 1988. [3] j. c. butcher, the numerical analysis of ordinary differential equations: runge-kutta and general linear methods, chichester: john wiley, 1987. [4] j. c. butcher, numerical methods for ordinary differential equations, chichester: john wiley, 2003. [5] m. bader, a comparative study of new truncation error estimates and intrinsic accuracies of some higher order runge-kutta algorithms, computers & chemistry, vol. 11 pp. 121-124, 1987. [6] m. bader, a new technique for the early detection of stiffness in coupled differential equations and application to standard runge-kutta algorithms, theoretical chemistry accounts, vol. 99, pp. 215-219, 1988. [7] g. devarajan, v. murugesh, k. murugesan, numerical solution of second-order robot arm control problem using runge-kutta butcher algorithm, international journal of computer mathematics, vol. 83 pp. 345-356, 2006. [8] s. c. oliveira, evaluation of effectiveness factor of immobilized enzymes using runge-kutta-gill method: how to solve mathematical undetermination at particle center point?, bio process engineering, vol. 20, pp. 85-187, 1999. [9] c. l. yin, j. l. wan, h. lin, w. k. chen, the cloning template design of a cellular neural network, journal of the franklin institute, vol. 336, pp. 903-909, 1999. [10] v. murugesh, k. murugesan, comparison of numerical integration algorithms in raster cnn simulation, lecture notes in computer science, vol. 3285 pp. 115-122, 2004. [11] v. murugesh, k. murugesan, simulation of cellular neural networks using the rk-butcher algorithm, international journal of management and systems, vol. 21, pp. 65-78, 2005. [12] v. murugesh, k. murugesan, simulation of time-multiplexing cellular neural networks with numerical integration algorithms, lecture notes in computer science, vol. 3991, pp. 115-122, 2005. v. murugesh department of information and communication engineering hannam university 133 ojung-dong daeduk-gu, daejeon 306-791, republic of korea e-mail: murugesh72@gmail.com k. batri department of computer science and engineering muthyammal engineering college rasipuram 637 408, india e-mail: krishnan.batri@gmail.com received: july 25, 2007 374 v. murugesh, krishnan batri dr. v. murugesh obtained his bachelor of science in computer science and master of computer applications degree from bharathiar university, coimbatore, india during 1992 and 1995 respectively. completed his phd in computer science from bharathidasan university, tiruchirappalli, india during 2006. he has held various positions at national institute of technology, tiruchirappalli, india and sona college of technology, salem, india. currently, he is working as assistant professor in the department of information and communication engineering at hannam university, daejeon, republic of korea. his fields of interest are in neural network based image processing and scientific computing. he has published more than 30 technical papers in international, national journals and conferences. krishnan batri received the m.e. from madurai kamarj university in 2003. he is a research scholar with the department of computer science and engineering in the national institute of technology tiruchirapalli, tamil nadu, india. currently he is working as a assistant professor with the department of computer science and engineering at muthayammal engineering college, rasipuram, tamilnadu, india. his research interests include information retrieval, data fusion and genetic algorithms. int j comput commun, issn 1841-9836 9(1):71-78, february, 2014. energy efficient key management scheme for wireless sensor networks n. suganthi, v. sumathy n.suganthi* dept of information technology kumaraguru college of technology, coimbatore-49 *corresponding author suganthiduraisamy@yahoo.co.in v.sumathy ece department government college of technology, coimbatore-13 sumi_gct2001@yahoo.co.in abstract: designing an efficient key establishment scheme is of great importance to the data security in wireless sensor networks. the traditional cryptographic techniques are impractical in wireless sensor networks because of associated high energy and computational overheads. this algorithm supports the establishment of three types of keys for each sensor node, an individual key shared with the base station, a pair wise key shared with neighbor sensor node, and a group key that is shared by all the nodes in the network. the algorithm used for establishing and updating these keys are energy efficient and minimizes the involvement of the base station. polynomial function is used in the study to calculate the keys during initialization, membership change and key compromise. periodically the key will be updated. to overcome the problem of energy insufficiency and memory storage and to provide adequate security, the energy efficient scheme is proposed. it works well in undefined deployment environment. unauthorized nodes should not be allowed to establish communication with network nodes. this scheme when compared with other existing schemes has a very low overhead in computation, communication and storage. keywords: key management, sensor nodes, polynomial function 1 introduction these tiny sensor nodes, which consist of sensing, data processing and communicating components, leverage the idea of sensor networks based on the collaborative effort of a large number of nodes. sensor nodes are deployed in hostile environments or over large geographical area. the nodes could either have a fixed location or could be randomly deployed to monitor the environment. the nodes then sense environmental changes and report them to other nodes over flexible network architecture. they have thus found application domains in battlefield communication, homeland security, pollution sensing and traffic monitoring. the limited factors of using sensor nodes are that they have limited battery power and less memory capacity. to control information access in a sensor environment only authorized node must know the key to disseminate the information that is unknown to the compromised nodes. the communication keys may be pair wise [7],chan,du or group wise [1], these keys to be updated to maintain security and resilience to attacks. some of the proposed work was based on static schemes [7]liu and some are on dynamic schemes [1]eltoweissy though many protocols have been designed for the purpose of security in sensor environment, unfortunately, node compromising is rarely or not enough investigated and most of these protocols have a weak resilience to attack [13]. in this paper, we propose a key management scheme for wsns in which the pair wise keys and the group wise key are set up through the broadcast information during the network initialization copyright © 2006-2014 by ccc publications 72 n. suganthi, v. sumathy phase and no further message exchange is needed afterwards. consequently, the communication overhead is very low. therefore, the compromise of some sensor nodes will not affect any other non-compromised pair wise keys. for the establishment of keys for new nodes, we propose a composite mechanism based on an algorithm in which resource consumption can also be kept very low and also the transmission of information. here only the polynomial identifier needs to be communicated to the nodes for establishing group key and pair wise key. the rest of this paper is organized as follows. in section 2, some related work and their drawbacks are discussed. in section 3, energy-efficient key management scheme, in sections 4 and 5, the security and performance of energy efficient key management scheme are analyzed. finally, section 6 deals with the conclusion. 2 related works many pair wise key distribution schemes [5] [7] [8] [9] have been developed for peer to peer wireless sensor networks and heterogeneous network [6] [12] [14]. in one of the hierarchical schemes [1], the base node calculates the group key using partial keys in bottom up fashion. the partial key of the child node is generated using random number and which is passed to its parent to calculate its partial key which further goes in bottom up fashion finally to calculate the group key. the partial keys are calculated by using a function. the function is expressed as f(k1,k2) = α k1+k2mod p (1) p is the prime number, k1, k2 are the partial keys the decision for choosing a number of partial keys is based on the key size for the security requirements and the corresponding energy consumption. to guarantee that all the nodes in a group received the information, they send the reply (rep) message. if the cluster head does not get the (rep) from all the node, it re-broadcasts. when a new node joins the group, the group key is recalculated and again the cluster head broadcasts the newly created group key to all the nodes in the group. the same is repeated when a node leaves the group. this makes the old node, which is deleted, not to know the new key that is created. also communication takes places between two cluster heads. due to poor memory capacity and low power of sensor nodes it will be difficult to store all the partial keys and the communication becomes costly as it needs to broadcast the group key once it is created and changed. in our energy efficient key management protocol scheme the group key need not be broadcasted each time. a tree based key management protocol [2] in which each sensor node is pre-deployed with three keys. one of the keys is used for initial communication i.e for key exchange and tree spanning. after the tree is spanned, this key is deleted from the memory of the sensor node. then for further communication, the remaining two keys are used. one of these keys is symmetric and is used to encrypt (or decrypt) information sent from the child to the parent. the third key is also symmetric and is used to encrypt (or decrypt) information sent from the parent to the child. the two keys are used to make the task of cryptanalysis attacker difficult. the disadvantage of this scheme is that an attacker gaining access (physical) to the sensor node can obtain the information. xing zhang et al [11] proposed an energy efficient distributed deterministic key management protocol (eddk). though this scheme provides higher security than the above two schemes namely hierarchical and tree-based protocol, it requires large memory to store data. sencun zhu et al [10] proposed a leap: efficent security mechanisms for large scale distributed sensor networks and du et al [11]proposed a scheme using depolyment knowledge. energy efficient key management scheme for wireless sensor networks 73 3 proposed scheme: energy-efficient key management scheme to fix the flaws present in the existing key management schemes, we propose an energy efficient key management scheme for wsns. this scheme mainly focuses on the establishment and maintenance of the pair wise keys as well as the group keys. unlike hierarchical and treebased key management schemes, this scheme does not require additional memory for storing the keys after deployment. in this scheme, no key is broadcasted. each and every node generates the group key and pair wise key using one of the polynomial functions. the polynomial function is identified with the help of its id. to enhance message security in the network initialization phase, each sensor node makes use of its own individual key. the base station computes the individual key of all the nodes using the unique keys and the ids that it has stored. this method also enhances security in data transmission with periodic key update. to avoid the replay attack, sequence number is used. 3.1 overall system description the diagram (figure 1) shows the overall system description. key will be established after node initialization. if any node joins in the system or a node is compromised, key update will be performed. after detecting the compromised node the keys will be removed from the node memory. the overall system is designed to reduce the computation overhead and it requires less communication between nodes. figure 1: system model 3.2 spanning of tree before deployment, every sensor node is pre-distributed with a network wide shared pseudorandom function (rf) and an initial key. it is assumed that each node is tamper proof, and it will not be affected by capture attack. the pseudorandom function and the initial key is used by every node in the network to compute its own individual key. this individual key is used for initial communication with the base station. for example, node a s individual key can be computed as per equation (2). ka = rf(ki,ida). (2) ki initial key, ida individual node identifier 74 n. suganthi, v. sumathy ka individual key shared with base station, rf -shared pseudorandom function the hello message which is used to span the tree is also encrypted using this individual key. the hello message contains the id of the sender and the hello keyword. the base station broadcasts hello message. the nodes that reply to hello message become the children of the base station. here acknowledgment of the child node is essential to accept the node as the child. these nodes then broadcast hello message to other nodes. the nodes that reply to hello message become the children of these nodes. the spanning of the tree is stopped when the nodes do not get a reply to the hello message. 3.3 key establishment phase base station will transmit function identifier and random number, encrypted with individual key to individual nodes as shown in equation (3). eka(pfid,rn) (3) pfid function identifier , rn random number pair wise key after sensor nodes are placed in the sensor field, each sensor node communicates with its neighbor via the pair wise key. this key is used to make sure that the message to the intended neighbor node is not known by other neighbor nodes. nodes a and b are used to show the calculation of the pair wise key using equation (4). let us consider that node a wants to communicate with node b. kab = pfid(rn,ida) (4) kab pairwise key, rn random number, ida identifier of node a the polynomial function takes the random number and the id of the node which initiates the communication as input to calculate the pair wise key. the id of the polynomial function is used to identify one of the functions from the set of polynomial functions. the base node communicates the random number and the id of the polynomial function to all the nodes. after calculating the pair wise key, it will transmit the message encrypted with this key to the node b along with its id in plain. then node b will calculate the pair wise key as it has all the information needed for calculation. using the key it will decrypt the message transmitted by node a. here each node, thus, calculates the pair wise key by knowing initiator id. as no transmission of id or key information takes place, communication overhead is avoided here. group key a group key is a key shared by all the nodes in the network, and it is needed when the base station is distributing a secure message, (e.g. a query on some event of interest or a confidential instruction) to all the sensor nodes in the network. in a conventional method the parent encrypts m with its cluster key and then broadcasts the message. each neighbor receiving the message decrypts it to get the message and re-encrypts with its own cluster key, and then transmits the m. this process is repeated until all the nodes receive the message. however, this method has a drawback. in this method, every node has to encrypt and decrypt the message, thus consuming a large amount of energy on computation. so encryption using group key is the most desirable one from the performance point of view. the simple way to store the group key for a node is to preload every node with it. an important problem that arises immediately is the secured energy efficient key management scheme for wireless sensor networks 75 updation of this key when a compromised node is detected. in our proposed scheme, to enable base station-individual nodes communication, group key is used. the group key generator that is present in all the nodes is used for generating the group key using the equation(5). the random number that is transmitted to each node is also involved in key calculation. the group key is calculated as follows. kg = pfid(rn,gk) (5) kg group key , pfid polynomial function , rn random number, gk group key generator the timer is set for the reestablishment of the key. when the timer reaches the threshold value that is assigned, the re-keying is done. here re-keying is done by changing the coefficient of the polynomial function. the previously calculated keys are deleted periodically. therefore, even if an adversary could compromise some legitimate nodes, it still could not compute the pair wise keys and the group key. note that each sensor node only needs to broadcast one communication message during the key establishment phase with no further message exchange required for key calculation. thus, the communication overhead can be very low. during the data transfer phase the sequence number is used to indicate the message transfer between the nodes. once the sequence number reaches the threshold value that is already set, the sequence number is reset to 1 again and it can prevent the replay attacks. this sequence number helps to know the number of the messages sent and received. it is also used for receiving the acknowledgement. 3.4 key update phase pair wise key and group key should be updated to avoid cryptanalysis and to prevent attacks from adversaries after one or more sensor nodes are compromised. and also after the threshold time, nodes need to update the keys using the same formula as mentioned in equation (4) and (5). the coefficient of the polynomial function is changed. it is done by adding the constant with the previous values and the modulus is taken to be used as new coefficients. thus it makes the key update easily and avoids communication overhead. 4 system analysis for system analysis, we have implemented the key management algorithm in matlab. compared with the eddk, tree based protocol and hierarchical scheme. 4.1 computation costs computation costs are measured in terms of number of encryptions required to change the keys in the event of node compromise and node addition. when a node is added, only the new random number and new id of the polynomial function will be transmitted by base station. individual nodes will receive it and compute the group key and pair wise key using the formulas. calculation using the polynomial function will consume less energy. but in other schemes lot of encryption and decryption is involved to get the key update. it consumes lot of battery energy. the comparison is made between the existing schemes and the proposed scheme in terms of time. this graph (figure 2) shows the computation time differences between various schemes and proposed scheme depending upon the number of nodes during initial key calculation. 4.2 memory requirement for key storage let x represent the number of neighboring nodes around a sensor and n be the number of polynomial functions. each sensor node has x storage units for the pair wise keys, nt + n 76 n. suganthi, v. sumathy figure 2: time required to calculate initial key storage units for the t-degree polynomial functions, two storage units for random number and pseudo random function and single storage unit to store the group key. in terms of memory requirement to store keys for each scheme, the proposed scheme needs less memory, hence it provides scalability. even when the number of nodes increases, the memory required to store the keys remains the same. on the contrary the tree based protocol requires more memory as the number of nodes increases. the following graph (figure 3) shows the comparison of memory requirement for all schemes. the proposed scheme need less memory even when number of nodes increases. figure 3: memory requirement for key storage 4.3 communication overhead for key exchange communication cost is measured in terms of number of messages needed to be exchanged in order to update the existing keys as a result of events like; addition of new node, node compromise, and key refreshing at regular intervals. the communication overhead for the existing scheme is more when compared to the proposed scheme. this is because they need to exchange the keys to enable communication. the proposed scheme requires transmitting the ids of the polynomial function and random numbers only. so overhead for key exchange is minimal. as shown in figure 4, the number of nodes increases, the communication overhead increases for tree based protocol; whereas eddk and proposed scheme require less communication overhead. energy efficient key management scheme for wireless sensor networks 77 figure 4: communication overhead for key exchange 5 security analysis adversaries with a single compromised node and adversaries with n compromised nodes are chosen selectively. in all cases we study their impact on the desired network properties assuming that the adversary acts maliciously at different layers of the communication protocols. insiders are adversaries that can compromise nodes or otherwise have a valid identity in a network with appropriate key material. insiders therefore have the same capabilities as outsiders plus the ability to participate in the network protocols and deviate from the normal behavior of the protocols. stronger security considerations have to be taken into account for insiders. a minimum level of fault tolerance has to be designed into the network inside attackers. but in our proposed algorithm every node is loaded with the set of polynomials, and every time one function will be used to calculate the key. adversary nodes cannot generate this polynomial functions. and also it doesn’t know which function will be used to calculate the key at that time. the random number will be communicated to the individual nodes by the base station after encrypting with secret key shared by the base station and the individual node. 6 conclusion the key exchange problem for sensor networks has been introduced and it is believed that information can be secured by not exchanging the keys directly. a mechanism that makes use of pre-deployed functions has been proposed to fulfill our idea. by using this mechanism, the impacts of many attacks in wireless sensor networks can be limited. this scheme incorporates mechanism that allows for the scalability of memory in the sensor nodes. by comparing the proposed scheme with the existing scheme, it becomes clear that memory required to store the key information is less. similarly the communication overhead to exchange the keys is also low. because of the increase in the complexity of the algorithm, the immunity of the sensor networks towards various attacks has been greatly increased. thus the proposed naming mechanism shields the network from various attacks. bibliography [1] biswajit panja; sanjay madria; bharat bhargava; energy-efficient group key management protocols for hierarchical sensor networks,int. j. of distributed sensor networks taylor francis group, 201-223, doi:10.1080/15501320701205225, 2007. 78 n. suganthi, v. sumathy [2] messai,l.; aliouat,m.; seba,h.; tree based protocol for key management in wireless sensor networks, eurasip j.on wireless communications and networking, article id 910695, doi:10.1155/2010/910695, 2010. [3] xing zhang; jingsha he; qianwei; eddk: energy-efficient distributed deterministic key management for wireless sensor networks,eurasip j. on wireless communications and networking, article id 765143, doi:10.1155/2011/765143, 2011. [4] eltoweissy,m.; moharrum,m.; mukkamala,r.; dynamic key management in sensor networks, ieee communications magazine, 44(4):122130, 2006. [5] du,w.; deng,j.; han,y.s.; varshney,p.k.; katz,j.; khalili,a.; a pairwise key predistribution scheme for wireless sensor networks, acm trans. on information and system security, 8(2):228-258, 2005. [6] jen yan huang; i-en liao; hao-wen tang; a forward authentication key management scheme for heterogeneous sensor networks, eurasip j. on wireless communications and networking, article id 296704, doi:10.1155/2011/296704, 2011. [7] eschenauer,l.; gligor,v.d.(2002); a key-management scheme for distributed sensor networks, proc. of the 9th acm conference on computer and communications security, washington, dc, usa, 41-47, 2002. [8] chan,h.; perrig,a.; song, d.; randomkey predistribution schemes for sensor networks, proc. of ieee symposium on security and privacy, 197-213, 2003. [9] liu,d.; ning, p.; establishing pairwise keys in distributed sensor networks,proc. of the 10th acm conference on computer and communications security (ccs 03), washington, dc, usa, 52-61, 2003. [10] sencun zhu; sanjeev setia; sushil jajodia (2003); leap: efficient security mechanisms for large scale distributed sensor networks, proc. of the 10th acm conference on computer and communications security, pp.62-72. [11] du,w.; deng,j.; han,y.s.; chen,s.; varshney,p.; a key management scheme for wireless sensor networks using deployment knowledge, proc. ieee infocom04, 586-597, 2004. [12] kausar,f.; hussain,s.; yang,l.t.; masood,a.; scalable and efficient key management for heterogeneous sensor networks, j. of supercomputing, 45(1):44-65, 2008. [13] xiao,y.; rayi,v.k.; sun,b.; du,x.; hu,f.; galloway,m.; a survey of key management schemes in wireless sensor networks,j. of computers communications, 30(11-12):2314-2341, 2007. [14] du,x.; xiao, y.; guizani, m.; chen,h.h.; an effective key management scheme for heterogeneous sensor networks, j. of ad hoc networks, 5(1):24-34, 2007. international journal of computers, communications & control vol. i (2006), no. 3, pp. 33-39 descriptive timed membrane petri nets for modelling of parallel computing emilian guţuleac abstract: in order to capture the compartmentation and behaviour of membrane systems for modelling of parallel computing, we introduce the descriptive dynamic rewriting descriptive membrane timed petri nets (dm-nets) that can at in run-time modify their own structure by rewriting some of their descriptive expression components. furthermore, this descriptive approach facilitates the understanding of complex models and their component-based construction as well as the application of modern computer engineering concepts. keywords: descriptive petri nets, membrane systems, modelling, parallel computing. 1 introduction recent technological achievements require advances beyond the existing computational models in order to be used effectively. pragmatic aspects of current and future computer systems will be modelled so that realistic estimates of efficiency can be given for algorithms in these new settings. petri nets (pn) are very popular formalism for the analysis and representation of parallel and distributed computing in concurrent systems that has draw much attention to modelling and verification of this type of systems [1]. p systems, also referred to as membrane systems, are a class of parallel and distributed computing models [6]. the interest of relating p systems with the pn model of computation lead to several important results on simulation and decidability issues. some efforts have been made to simulate p systems with petri nets [2, 5, 7] to verifying the many useful behavioral properties such as reachability, boundedness, liveness, terminating, etc. in this paper we propose a new approach to express the components of continuous-time p systems [6] throughout components of escriptive petri nets (pn) using descriptive expressions (de) [3] for modelling of parallel computing. the de are used for analytical representation and compositional construction of pn models. to model specific rules of p-systems within the framework of the descriptive rewriting timed pn (rtn) [4] we introduce a new extensions ű the descriptive membrane rtn, called dm-nets, that can modify dynamically their own structures by rewriting rules some of their components. 2 labeled extended petri nets in this section, we define a variant of pn called labeled extended pn. let l be a set of labels l = lp ]lt . each place pi labeled l(pi) ∈ p a local state and transition t j has action labeled as l(t j) ∈ lt . a labeled extended pn is structure as a γ =< p, t, pre, post, test, inh, g, pri, kp, l >, where: p is the finite set of places and t is a finite set of transitions that p ∩ t = /0. in the graphical representation, the place is drawn as a circle and the transition is drawn as a black bar; the pre, test and inh : p×t ×n|p| → n+ respectively is a forward flow, test and inhibition functions and is a backward flow function in the multi-sets of p, where defined the set of arcs a and describes the marking-dependent cardinality of arcs connecting transitions and places. the set a is partitioned into tree subsets: ad , ah, and at . the subset ad contains the directed arcs which can be seen as ad : ((p×t )∪(t ×p))×n|p| → n+ and are drawn as single arrows. the inhibitory arcs ah : (p × t ) × n|p| → n+are drawn with a small circle at the end. the test arcs at : (p × t )×n|p| → n+are directed from a place to a transition, and are drawn as copyright c© 2006 by ccc publications selected paper from icccc 2006 34 emilian guţuleac dotted single arrows. it does not consume the content of the source place. the arc of net is drawn if the cardinality is not identically zero and this is labeled next to the arc and by a default value being 1; g : e × n|p| → {true, f alse} is the guard function transitions. for t ∈ t a guard function g(t, m) that will be evaluated in each marking, and if it evaluates to true, the transition t may be enabled, otherwise t is disabled (the default value is true); pri : t → n+ defines the priority functions for the firing of each transition that maps transitions onto natural numbers representing their priority level. the enabling of a transition with higher priority disables all the lower priority transitions; kp : p → n+ is the capacity of places, and by default being infinite value; the l : t ∪ p → l, is a labeling function that assigns a label to a transition and places. in this way that maps transition name into action names that l(t j) = l(tk) = α but t j 6= tk and l(pi) = l(pn) = β but pi 6= pn. a marked labeled extended pn net is a pair n =< γ, m0 >, where γ is a labeled pn structure and m0 is the initial marking of the net. m : p → n+ is the current marking of net which is described by a symbolic vector-column m = (mi pi), mi ≥ 0,∀pi ∈ p, where the (mi pi) is the number mi of tokens in place pi. the m is the state of net that assigns to each place tokens, represented by black dots. the details concerning on enabling and firing rules, and evolution for of n =< γ, m0 > can be found in [3] as they require a great deal of space. 3 descriptive expressions of petri nets due to the space restrictions we will only give a brief overview to this topic and refer the reader to [3, 4] and the references therein. in following for abuse of notation, labels and name of transitions/places are the same. we use the concept of a basic descriptive element (bde) for a basic pn (bpn) introduced in [2] as following: bde = |α jt j m0i pi[w +i ,w −i ]| αk tk . the translation of this bpn is shown in figure 1a, where respectively is input transition (action type α j ) and tk = p•i is the output transition (action type αk ) of place pi ∈ p with initial marking m0i , and the flow type relation functions w +i = pre(t j, pi) and w −i = post(t j, pi), respectively which return the multiplicity of input and output arcs of the place pi ∈ p. the derivative elements of bde are for p•i = /0,w −i = 0 is | α j t j m 0 i [wi] with final place pi of t j and • pi = /0,w +i = 0 is m 0 i pi[wi]|αktk with entry place pi of tk. if the initial marking m0i of place is a zero tokens we can omit m0i in bde. by default, if the type of action α is not mentioned this to match the name of a transition t. from a bde we can build more complex de of pn components by using composition operations. also by default,if w +i = w − i = 1, we present bde and it derivatives as following:| α j t j m 0 i pi|αktk , |α jt j m0 pi or m0i pi| αk tk . a descriptive expression (de) of a labeled pn is either bde or a composition of de a n: de ::= bde|de ∗de|◦de, where ∗ represents any binary composition operation and ◦ any unary operation. descriptive compositional operations. in the following by default the labels of n are encoded in the name of the transitions and places. the composition operations are reflected at the level of the de components of n models by fusion of places, fusion of transitions with same type and same name (label) or sharing of as subnets. place-sequential operation. this binary operation, denoted by the “ | “ sequential operator, determines the logic of a interaction between two local states pi (pre-condition) and pk (post-condition) by t j action that are in precedence and succeeding (causality-consequence) relation relative of this action. sequential operator is the basic mechanism to build de of n models. this operation is an associative, reflexive and transitive property, but is not commutative operation. the means the fact de1 = m0i pi[wi]| α j t j m 0 k pk[wk] 6= m0k pk[wk]| α j t j m 0 i pi[wi] that the specified conditions (local state) associated with place-symbol pi are fulfilled always happens before then the occurrence of the conditions associated with place-symbol pk by means of the action t j. also, the pn modelling of the iteration operation is obtained by the fusion of head (entry) place with the tail (final) place that are the same name (closing operation) in de which describes this net. the self-loop of n2 net described by an: descriptive timed membrane petri nets for modelling of parallel computing 35 de2 = m0i pi[wi]| α j t j pi[wi] = m 0 i p̃i[wi]| α j t j , it is the test operator "p̃", i.e. represent the test arc. the translation of de2 in n2 is shows in figure 2b. inhibition operation. this unary operation is represented by inhibitory operator "" (place-symbol with overbar) and it de3 = m0i p̄i[wi]| α j t j describe the inhibitor arc with a weight wi = inh(pi,t j). synchronization operation. this binary operation is represented by the " •" or " ∧”join operator describe the rendez-vous synchronization (by transition tt j ) of a two or more conditions represented respectively by symbol-place pi ∈• t j, i = 1, n, i.e. it indicate that all preceding conditions of occurrence actions must have been completed. this operation is a commutative, associative and reflexive. split operation . this binary operation represented by the " ♦" split operator and it describe the causal relations between activity t jand its post-conditions: after completion of the preceding action of t j concomitantly several other post-condition can take occurs in parallel ("message sending"). property of split operation is a commutative, associative and reflexive. competing parallelism operation. this compositional binary operation is represented by the " ∨" competing parallelism operator, and it can be applied over two na with dea = a and nb with deb = b or internally into resulting nr with der = r, between the places of a single nr which the symbol-places with the same name are fused, respectively. we can represent the resulting der = a ∨ b as a set of ordered pairs of places with the same name to be fused, with the first element belonging to a the second to b. the fused places will inherit the arcs of the place in a and b . also, this compositional binary operation is a commutative, associative and reflexive property. precedence relations between the operations. we introduce the following precedence relation between the compositional operations in the de: a) the evaluation of operations in de are applied left-toright; b) an unary operation binds stronger than a binary one; c) the "• "operation is superior to"|" and " ♦", in turn, its are superior the "∨ " operation. further details on definitions, enabling and firing rules, and evolution for of n can be found in [3] as they require a great deal of space. 4 dynamic rewriting petri nets in this section we introduce the model of descriptive dynamic net rewriting pn system. let x ρy is a binary relation. the domain of is the dom(ρ) = ρy and the codomain of ρ is the cod(ρ) = x ρ . let a =< pre, post, test, inh > is a set of arcs belong to netγ . a descriptive dynamic rewriting pn system is a structure rn =< γ, r, φ , gtr, gr, m >, where: =< p, t, pre, post, test, inh, g, pri, kp, l >; r = r1, ..., rk is a finite set of rewriting rules about the runtime structural modification of net that p ∩ t ∩ r = /0. in the graphical representation, the rewriting rule is drawn as a two embedded empty rectangle. we let e = t ∪ r denote the set of events of the net; φ : e → t, r is a function indicate for every rewriting rule the type of event can occur; gtr : r×n|p| → {true, f alse} and gr : r × n|p| → {true, f alse} is the transition rule guard function associated with r ∈ r and the rewriting rule guard function defined for each rule of r ∈ r , respectively. for ∀r ∈ r, the gtr ∈ gtr and gr ∈ grwill be evaluated in each marking and if its are evaluates to true, the rewriting rule r may be enabled, otherwise it is disabled. default value of gtr ∈ gtr is true and for gr ∈ gr is false. let rn =< rγ, m > and rγ =< γ, r, φ , gtr, gr > described with the descriptive expression derγ and dern , respectively. a dynamic rewriting structure modifying rule r ∈ r of rn is a map r : del ¤ dew , where whose codomain of the rewriting operator ¤ is a fixed descriptive expression del of a subnet rnl of current net rn, where rnl ⊆ rn,with pl ⊆ p, el ⊆ eand set of arcs al ⊆ a and whose domain of the ¤ is a descriptive expression dew of a new rnw subnet with pw ⊆ p, ew ⊆ e and set of arcs aw . the ¤ rewriting operator represent binary operation which produce a structure change in the dern and the net rn by replacing (rewriting) of the fixed current del of subnet rnl (del and rnl are dissolved) by the new dew of subnet rnw now belong to the new modified resulting dern′ of net rn ′ = (rn\rnl)∪rnw with p ′ = (p\pl) ∪ pw and e ′ = (e\el) ∪ ew , where a ′ = (p\pl) ∪ aw the meaning of \ (and ∪) is 36 emilian guţuleac operation to removing (adding) rnl from (rnw to) net rn. in this new net rn ′ , obtained by execution (fires) of enabled rewriting rule r ∈ r , the places and events with the same attributes which belong rn′ are fused, respectively. by default the rewriting rules r : del ¤ /0 andr : /0 ¤ dew describe the rewriting rule which fooling holds rn ′ = (rn\rnl) and rn ′ = (rn ∪ rnw ), respectively. a state of a net rn is a pair (rγ, m), where rγ is the configuration of net together with a current marking m. also, the pair (rγ0, m0) with p0 ⊆ p, e0 ⊆ e and marking m0 is called the initial state of the net. enabling and firing of events. the enabling of events depends on the marking of all places. we say that a transition t j of event e j is enabled in current marking m if the following enabling condition ec(t j, m) is verified: ec(t j, m) = (∧∀pi∈•t j (mi ≥ pre(pi,t j))∧(∧∀pk∈◦t j (mk < inh(pi,t j)))∧(∧∀pl∈∗t j (ml ≥ test(pl ,t j)))∧ (∧∀pn∈t•j ((kpn −mi) ≥ post(pn,t j))))∧g(t j, m)). similarly, the rewriting rule r j ∈ r is enabled in current marking m if the following enabling condition ectr(r j, m)is verified: ectr(r j, m) = (∧∀pi∈•r j (mi ≥ pre(pi, r j))∧(∧∀pk∈◦r j (mk < inh(pi, r j)))∧(∧∀pl∈∗r j (ml ≥ test(pl , r j)))∧ (∧∀pn∈r•j ((kpn −mi) ≥ post(pn, r j))))∧g(r j, m)). let the t (m) and r(m) is respectively the set of enabled transitions and rewriting rule in current marking m. let the e(m) = t (m) ] r(m), is the set of enabled events in a current marking m. the event e j ∈ e(m) fire if no other event ek ∈ e(m) with higher priority has enabled. hence, for e j event i f ((φ j = t j)∨(φ j = r j)∧(gtr(r j, m) = f alse)) then (the firing of transition t j ∈ t (m) or rewriting rule r j ∈ r(m) change only the current marking:(rγ, m) e j→ (rγ, m′) ⇔ (rγ = rγ′ and m[e j > m ′ )). also, for e j event i f ((φ j = r j)∧(gr(r j, m) = true) then (the event e j occur to firing of rewriting rule r j and it occurrence change configuration and marking of current net:(rγ, m) r j→ (rγ′, m′), m[r j > m ′ ). the accessible state graph of a netrn =< γ, m > is the labeled directed graph whose nodes are the states and whose arcs which is labeled with events of rn are of two kinds: a) firing of a enabled event e j ∈ e(m): arcs from state (rγ, m) to state(rγ, m ′ ) labeled with evente j then this event can fire in the net configuration rγ at marking m and leads to new marking m ′ : (rγ, m) e j→ (rγ′, m′) ⇔ (rγ = rγ′ and m[e j > m ′ in rγ); b) change configuration: arcs from state (rγ, m) to state( rγ ′ , m ′ ) labeled with rewriting rule r j :(rγl, ml)¤ (rγw , mw ) which represent the change configuration of current rn net: (rγ, m) e j→ (rγ′, m′) and m[r j > m ′ . figure 1: translation of (a) derγ1in rn1 and (b) derγ2 in rn2 let we consider the rn1 given by the following descriptive expression:derγ1 = p1|r1 p2 ∨ de ′ rγ1, de ′ rγ1 = (p2· p5)|t1 p3|t2 p4|t3 (p1♦p5), m0 = (5p1, 1p5), gr(r1, m) = (m1 = 3)&(m5 = 0) and r1 : derγ1 ¤ derγ2. also, for r j is required to identify if rnl belong the rγ. upon firing, the enabled events or rewriting rule modify the current marking and/or and modify the structure and current marking of net rn1 in rn2 given by: derγ2 = p1|t1 p2 ∨ de ′ rγ2, de ′ rγ2 = (p2 · p6)|t2 p3(|t3 p4|t4 p5 ∨|t5 p5|r2 (p1♦p6)), m = (1p1, 3p2, 1p3), gr(r2, m) = (m1 = 4)&(m5 = 1), r2 = r −1 1 : derγ2 ¤ derγ1. figure 1 show the translation of derγ1 in rn1 and derγ2 in rn2, respectively. descriptive timed membrane petri nets for modelling of parallel computing 37 5 dynamic rewriting timed petri nets systems are described in timed pn (tpn) as interactions of components that can performed a set of activities associated with events. an event e = (α, θ ), where α ∈ e is the type of the activity (action name), and θ is the firing delay. a descriptive dynamic rewriting tpn as a rt n =< rn, θ >, where: rn =< γ, r, φ , gtr, gr, m >, γ =< p, t, pre, post, test, inh, g, pri, k p, l > (see definition 2 and 3) with set of events e which can be partitioned into a set e0 of immediate events and a set eτ of timed events e = e0 ] eτ . the immediate event is drawn as a thin bar and timed event is drawn as a black rectangle for transition or a two embedded empty rectangle for rewriting rules, and pri(e0) > pri(eτ ) ; θ : e ×n|p| → r+ is the weight function that maps events onto real numbers r+ (delays or weight speeds). its can be marking dependent. the delays θ (ek, m) = dk(m)defining the events firing parameters governing its duration for each timed events of eτ . if several timed events are enabled concurrently e j ∈ e(m) for e j ∈ • pi = ∀e j ∈ e : pre(pi, e j) > 0 , either in competition or independently, we assume that a race race competition condition exists between them. the evolution of the model will determine whether the other timed events have been aborted or simply interrupted by the resulting state change. the θ (e j, m) = w j(m) is weight speeds of immediate events e j∈e0 . if several enabled immediate events are scheduled to fire at the same time in vanishing marking m with the weight speeds, and the probability to enabled immediate event e j can fire is: qi(m) = w(e j, m)/ ∑el∈(e(m)&• pi) w(e j, m) ,where e(m) is the set of enabled events in m. an immediate events e j ∈ t0 has a zero firing time. 6 p systems and descriptive timed membrane petri nets here we give a brief review of p systems and its encoding with dm-nets. the main components of p systems are membrane structures consisting of membranes hierarchically embedded in the outermost skin membrane. a full guide for p systems can be referred to [3]. in general, a basic evolution-communication p system with active membranes (of degree n ≥ 0) is π = (o, h, µ, ω, (ρ, π)), where: o is the alphabets of objects; h is a finite set of labels for membranes;µ is a membrane structure consisting of n membranes labeled with elements h in h;ω is the configuration, that is a mapping from membranes of π(nodes in µ ) to multisets of objects ωk ∈ ω, k = 1, ,|ω|, from o;ρ and π is respectively the set off developmental rules ρh and πhits priorities , h = 0, 1, , n − 1. thus the can be of two forms of rules: a) the object rules (or), i.e., evolving and communication rules concerning the objects; b) the membranes rules (mr), i.e., the rules about the structural modification of membranes. here we define dm-nets for encoding of p systems mentioned above into descriptive dynamic rewriting tpn as a rt n. the basis for dm-nets is a membrane rt n that is de net structure comprise: places; transitions; weighed directed arcs from places to transitions and vice-versa; a capacity for each place; weighed inhibitory and test arcs; priority and guard function of transitions. the dm − nets of degree n ≥ 0 is a construct dm = ∨n−1h=0[hdeh]h , where deh is the descriptive expression of rt nh that represent the configuration of membrane [h ]h in a p system π. consider the p system π.the encoding of π into rt nπ is decomposed into two separate steps. first, for every membrane [h ]h we associate: to each object ωi ∈ ω one place ph,i = [hm0i pi]h labeled as ωi with the initial marking m0i , and to each rule ρh, j ∈ ρ one event eh, j = [he j]h labeled as ρh, j that acts on the this membrane. second, for every membrane [h ]h we define the deh of rt nh that it correspond to the initial configuration of the p system π as [hdeh]h. let u, v , and u′, v′ , is a multiset of objects. the evolving object rule ρh′ , j : [h[h′ u → v]h′ ]h with multiset of objects u, v , which will be kept in membrane [h]h is encoded as [h[h′ pu|t j pv]h′ ]h . the antiport rule ρh′ , j : [hu[h′ v]h′ ]h → [hv ′ [h′ u ′ ]h′ ]h , that realize a synchronized wich object c the exchange of objects, is encoded as [h[h′ (pu · pv · p̃c)|t j (pu′♦pv′ )]h′ ]h. also, the symport rule ρh′ ,k : [hu[h′ ]h′ ]h → [h[h′ u ′ ]h′ ]h that 38 emilian guţuleac move objects from inside to outside a membrane, or vice-versa is encoded as [h[h′ (pu · p̃c)|tk pu′ ]h′ ]h. because a configuration mean both a membrane structure and the associated multisets, we need rules for processing membranes and multisets of objects as: mr = change, dissolve,create, divide, merge, separate, move. the above membrane rewriting rules (realized by the rewriting events in de) are defined as follows: changerewriting rule [h[h′ (deh′ , mh′ )]h′ ]h ¤ [h[h′ (de ′ h ′ , m ′ h ′ )]h′ ]h that in runtime the current structure and the multisets of objects to membrane h, encoded by descriptive expression deh′ and marking mh′ is changed in a new structure de ′ h′ with new marking m ′ h′ ; dissolve rewriting rule [h(deh, mh)[h′ (deh′ , mh′ )]h′ ]h ¤[h(deh, m ′ h)]h that the objects and sub-membranes of membrane h ′ now belong to its parent membrane h , the skin membrane cannot be dissolved; create rewriting rule [h(deh, mh)]h ¤ [h(de ′ h, m ′ h)[h′ (de ′′ h ′ , m ′′ h ′ )]h′ ]h with mh = m ′ h + m ′′ h′ that the new membrane h ′ is created and m ′′ h ′ are added into membrane h ′ , the rest remain in the parent membrane h; divide rewriting rule [h(deh, mh)]h ¤[h[h′ (deh, mh)]h′ [h′′ (deh, mh)]h′′ ]hthat the objects and submembranes are reproduced and added into membrane h ′ and membrane h ′′ , respectively; merge rewriting rule that the objects of membrane h ′ and h ′′ are added to a new membrane h is: [h[h′ (de ′ h ′ , mh′ )]h′ [h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h ¤ [h(de ′ h ′ ∨de′′ h ′′ , mh′ + m ′′ h ′′ )]h; separate rewriting rule is the counterpart of merge is done by a rewriting rule of the form ¤[h(de ′ h ′ ∨ de ′′ h ′′ , mh′ + m ′′ h ′′ )]h ¤ [h[h′ (de ′ h ′ , mh′ )]h′ [h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h with the meaning that the content of membrane h is split into two membranes, with labels h ′ and h ′′ . moverewriting rule where a membrane h ′′ can be moved out or moved into a membrane h ′ as a whole is: [h[h′ (deh′ , mh′ )[h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h′ ]h ¤ [h[h′ (deh′ , mh′ )]h′ [h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h or [h[h′ (deh′ , mh′ )]h′ [h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h ¤ [h[h′ (deh′ , mh′ )[h′′ (de ′′ h ′′ , m ′′ h ′′ )]h′′ ]h′ ]h. thus, using the dm − nets facilitates a compact and flexible specification to visual simulate of p systems with dynamic rewriting tpn nets that permit the verification of the its many useful behavioral properties such as reachability, boundedness, liveness, terminating, etc., and the performance evaluation of parallel computing models. 7 summary and conclusions in this paper we have proposed an approach to the performance modeling of the behaviour of psystems through a class of petri nets, called descriptive membrane timed pn (dm-nets). based upon the introduction of a set of descriptive composition operation and rewriting rules attached with transitions for the creation of dynamic rewriting tpn, the membrane structure can be successfully encoded as a membrane descriptive rewriting timed petri nets models which permit the description the behavioral state based process run-time structure change of p systems. we are currently developing a software visual simulator with a friendly interface for verifying and performance evaluation of descriptive rewriting tpn models and dm-nets. references [1] m. ajmone-marsan, g. balbo, g. conte, s. donatelli, and g. francheschinis, “modeling with generalized stochastic petri nets,” ser. in parallel computing ,new york: wiley, 1995. [2] s. dal zilio, e. formenti, “on the dynamics of pb system: a petri net view,” in proceedings wmc 2003, lecture notes in computer science 2933 , springer-verlag, pp. 153-167, 2004. descriptive timed membrane petri nets for modelling of parallel computing 39 [3] e. gutuleac, “descriptive compositional construction of gspn models for performance evaluation of computer systems,” in proceedings of the 8-th international symposium on automatic control and computer science, saccs2004, 22-23 october,iasi, romania, cd, 2004. [4] e. gutuleac, “descriptive dynamic rewriting gspn-based performance modeling of computer systems,” proceedings of the 15th international conference on control systems and computer science, cscs15, 25-27 may 2005,bucuresti, romania, pp. 656-661, 2005. [5] j. kleijn, m. koutny, g. rozenberg, “towards a petri net semantics for membrane systems,” in proceedings of the wmc6 2005, july 18-21, wien, austria, pp. 439-459, 2005. [6] gh. paun, “membrane computing. an introduction,” natural computing series. ed. g. rozenberg, th. back, a.e. eibenj.n. kok, h.p. spaink, leiden center for natural computing, springer-verlag, berlin, p. 420, 2002. [7] z. qi, j. you, and h. mao, “p systems and petri nets,” proceedings wmc 2003, lecture notes in computer science, vol. 2933, springer-verlag, berlin, pp. 387-403, 2003. emilian guţuleac, technical university of moldova, computer science department, address: 168, bd. stefan cel mare, md-2004, chişinău, republic of moldova e-mail: egutuleac@mail.utm.md int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 862-870 a novel qos framework based on admission control and self-adaptive bandwidth reconfiguration a. peculea, b. iancu, v. dadarlat, i. ignat adrian peculea, bogdan iancu, vasile dadarlat, iosif ignat technical university of cluj-napoca romania, 400020 cluj-napoca, 15 constantin daicoviciu e-mail: {adrian.peculea,bogdan.iancu,vasile.dadarlat,iosif.ignat}@cs.utcluj.ro abstract: this paper proposes a novel end-to-end qos framework, called self-adaptive bandwidth reconfiguration qos framework (sar). sar provides end-to-end qos guarantees on a per-flow basis through admission control and end-to-end bandwidth reservation. in order to adapt to short and long time traffic load changing, sar performs dynamic bandwidth reconfiguration. due to a new organization of the network physical lines, sar allows for a better utilization of the links’ capacity and a smaller number of rejected flows, increasing the network’s availability. keywords: end-to-end qos, admission control, bandwidth reconfiguration. 1 introduction computer networks transport simultaneously several flows, fact that makes necessary a multiplexing mechanism. transport procedures affect the traffic flows, reason for which the traffic has to be characterized and quality of service (qos) requirements need to be established. traffic types and their qos requirements impose the implementation of qos methods and architectures. this paper presents the design and implementation of a new end-to-end qos framework with self-adaptive bandwidth reconfiguration. integrated services (intserv) [1] provide end-to-end quality of service (qos) guarantees for individual flows by maintaining the state and by reserving bandwidth for each flow at routers on the path between source and destination. the additional loading introduced by the perflow bandwidth reservation processing and by the per-flow state maintaining at each router is significant and is increasing along with the network. for this reason, integrated services presents scalability problems. differentiated services (diffserv) [1] group the flows in traffic classes at the edge of the network. interior routers forward each packet function of the per-hop behavior associated to the traffic class of the packet. because of the flow aggregation and the lack of admission control, differentiated services do not provide end-to-end qos guarantees to individual flows. on-demand qos path (odp) [2] provides end-to-end qos guarantees to individual flows introducing an additional load much lower than in the case of integrated services and maintaining a similar scalability to the one of the differentiated services. odp exercises per-flow admission control and end-to-end bandwidth reservation at the edge of the network. inside the network odp differentiates the traffic classes as in the differentiated services. the main disadvantage of odp is that the bandwidth adjustment is only inside the traffic class and does not allow for bandwidth redistribution between classes. the free bandwidth of the provisioned links that are not used or present a low utilization can not be made available for other provisioned links, the free bandwidth remaining unused. another disadvantage of this framework is the fact that it does not include a module for determination of the bandwidth necessary for each input flow. in order to eliminate the disadvantages above mentioned, we elaborated, implemented and proposed a framework for end-to-end quality of service guaranteeing through admission control copyright c⃝ 2006-2010 by ccc publications a novel qos framework based on admission control and self-adaptive bandwidth reconfiguration 863 and self-adaptive bandwidth reconfiguration, which allows for bandwidth redistribution between classes. in this approach, the physical line is divided into two main sections, a part being the guaranteed link (gl) necessary for guaranteeing a minimum bandwidth (where is the case) for traffic classes (tcs), and a common part named common link (cl), which can be used by any tc. having two separated sections, the framework guarantees a minimum bandwidth for any trunk and offers a common bandwidth which can be used by every trunk, irrespective to their tc. this allows for better bandwidth utilization and for the decrease of the rejected flows number. this paper is organized in the following manner. section ii presents related work, section iii describes the architecture and the functioning of the proposed framework, section iv and section v present the admission control method, and respectively the self adaptive reconfiguration technique of the proposed framework and, finally, section vi presents the experimental results and the concluding remarks. 2 related work integrated services (intserv) framework uses resource reservation protocol (rsvp) to reserve bandwidth for each flow at every router along the path of the flows. using per-flow based hop-by-hop signaling, consisting of path and resv messages, integrated services provides endto-end guarantees. these guarantees come with the overhead of processing per-flow bandwidth reservation and maintaining per-flow state at each router along the flow’s path. because this overhead is significant and is increasing along with the network size, intserv presents scalability problems. differentiated services (diffserv) framework classifies packets into traffic classes at the boundary of the network. during the classification process each packet is marked according to its traffic class. the routers inside the network recognize the traffic class of the packets and, using a scheduling mechanism, forward each packet function of the per-hop behavior associated to the traffic class of the packet. in the case of this framework, the service is provided on a per-class basis instead of a per-flow basis as in intserv framework. this approach removes the overhead specific to intserv framework reason for which diffserv framework is much more scalable. however, diffserv framework does not exercise admission control at the edge of the network, so the network can be overloaded, reason for which this framework does not provide end-to-end guarantees. on-demand qos path (odp) provides end-to-end qos guarantees to individual flows with less overhead than in the case of intserv, maintaining a similar scalability to the one of the diffserv. two types or routers are defined in this framework: edge and core. odp exercises per-flow admission control and end-to-end bandwidth reservation at the edge of the network. inside the network odp differentiates the traffic classes as in the diffserv. odp organizes link bandwidth hierarchically. each physical link is statically divided into several provisioned links (pls), each pl being dedicated to a traffic class. each pl is divided into several trunks, each trunk being dedicated to an edge router. an edge router keeps track of available bandwidth of its trunks and performs admission control locally without hop-by-hop signaling through network. the main disadvantage of odp is that the bandwidth adjustment is only inside the traffic class and does not allow for bandwidth redistribution between classes. the free bandwidth of the provisioned links that are not used or present a low utilization can not be made available for other provisioned links, the free bandwidth remaining unused. another disadvantage of this framework is the fact that it does not include a module for determination of the necessary bandwidth for each input flow. 864 a. peculea, b. iancu, v. dadarlat, i. ignat 3 the architecture of the framework the proposed framework serves the user networks and defines two types of routers, edge and core, and entities for common bandwidth control. figure 1: bandwidth organization in the proposed framework edge routers (ers), connected to served networks, determine the necessary bandwidth for each input flow, take admission or rejection decision for each input flow, dynamically reconfigure the bandwidth assigned to trunks, map flows to corresponding tcs and transmit the packets belonging to the admitted flows in the network. core routers (crs), connected to edge or core routers, recognize tcs and provide class based service differentiation. entities for common bandwidth control monitor and update common bandwidths utilization and accept or reject the requests for additional bandwidth for trunks received from ers. the bandwidth is hierarchically organized. each physical line is divided in two sections as it is presented in figure 1. a first section guarantees the minimum bandwidth, which can be also 0, for each class and each trunk. the second section, cl, offers a common bandwidth which can be used by every trunk function of their bandwidth requirements, irrespective to their belonging tc or er. so, trunks can acquire additional bandwidth without being conditioned by the available bandwidth of the belonging class. first section is statically divided in several guaranteed class links (gcls). each gcl is reserved to a tc existing a one to one mapping between the tcs supported by the physical line and gcls. each gcl is divided in several trunks, each trunk being dedicated to an er. a trunk belonging to a gcl supports the flows belonging to the tc that corresponds to the considered gcl, originating from the er to which the trunk is dedicated, irrespective to their destination. an er keeps track of available bandwidth of its assigned trunks and performs admission control locally, without hop-by-hop signaling through network. a virtual ip path (vip) is a path from a source er to a destination er for a tc, being a concatenation of trunks belonging to the source er over a source-destination path. the bandwidth assigned to trunks has a minimum guaranteed value which can be also 0 and, by using cl, is dynamically adjusted function of the network traffic modifications. function of the entities for common bandwidth control there are three possible approaches: central control (cc), router-aided (ra) and edge-to-edge (ee). the architecture of the framework is presented in figure 2 and it is composed of two ena novel qos framework based on admission control and self-adaptive bandwidth reconfiguration 865 tities: edge router and entity for common bandwidth control. the edge router determines the necessary bandwidth for each input flow, takes the admission or rejection decision for each input flow, reserves the necessary bandwidth for each admitted flow, dynamically reconfigures the bandwidth assigned to trunks and classifies the packets belonging to the admitted flows. the entity for common bandwidth control monitors and updates common bandwidths utilization and accepts or rejects the additional bandwidth requests for trunks, received from edge routers. the communication between the two entities is realized through a predefined message set. figure 2: the architecture of the proposed framework the edge router is composed of two planes: local resources monitoring plane and flow management and local resources control plane. the local resources monitoring plane is composed of the following tables: classification and reservation table which realizes a correspondence between flow types, the elements that identify them, corresponding traffic class, their necessary bandwidth and the maximum necessary bandwidth for any flow from the respective traffic class, flow table which stores the admitted flows and the time of the last packet from each flow, routing to vip correspondence table which allows for vips determination, vip table which stores the vips and trunk table which stores the reserved bandwidth, bandwidth being used and minimum reserved bandwidth for every trunk belonging to the er. the flow management and local resources control plane takes the packets from the traffic policy module and delivers them to the routing process being composed of the following blocks: packet reception time storage which reads the receiving time of each packet, flow identification which determines and identifies the packets membership to admitted flows, flow table update which updates the reception time of the last packet from each flow from flow table, admission control and additional resources acquiring which admits the flows for which there are enough resources and rejects the flows when there is not enough bandwidth for them, acquires additional bandwidth for trunks, reserves the necessary bandwidth for the admitted flows and inserts the admitted flows in the flow table and packet classification which identifies the packets function of classification and reservation table criteria and marks them according to the identification criteria. the second task of this plane is to determine finished admitted flows and release the acquired resources used for these flows. the following blocks realize this task: clock generates the time period when acquired resources are released and acquired resources release which determines finished admitted flows and releases reserved acquired resources for these flows. the entity for common bandwidth control is composed of two planes: common resources monitoring plane and common resources control plane. the common resources monitoring plane 866 a. peculea, b. iancu, v. dadarlat, i. ignat contains common bandwidth table which stores the reservation and utilization for common bandwidths of cls. the common resources control plane contains the common resources control block which updates the common bandwidth table and decides if additional bandwidth requests for trunks received from ers can be accepted or not. 4 admission control admission control is performed at the arrival of the first packet from a new flow, by the source er. admission control and additional resources acquiring module stores the packet into the not admitted flows memory and determines if there are other packets belonging to this flow stored in the memory. if there are no more such packets, it determines from classification and reservation table the necessary bandwidth for the flow and tc, determines from routing to vip correspondence table the flows corresponding vip and extracts from vip table the trunks that belong to the determined vip. then, for trunks which have enough available bandwidth, reserves the flows necessary bandwidth by updating the bdw being used field. for a trunk, the condition to have enough available bandwidth is: reserved_bdw ≥ bdw_being_used + necessary_bdw (4.1) where reserverd_bdw and bdw_being_used are the amounts of reserved and utilized bandwidth for the trunk and necessary_bdw is the flows necessary bandwidth. the update of the bdw_being_used field is done in the following manner: bdw_being_used = bdw_being_used + necessary_bdw (4.2) if the vip has enough bandwidth to support the input flow, the admission control accepts the flow. if there are trunks which do not have enough available bandwidth, admission control and additional resources acquiring module tries to increase the reserved bandwidth of those trunks sending in this sense a request to the entities for common bandwidth control. if the request is admitted, the reserved bandwidth of the trunks is increased by updating reserved_bdw field, so that these trunks too will have enough available bandwidth to support the input flow. for these trunks, admission control and additional resources acquiring module reserves the flows necessary bandwidth by updating the bdw_being_used field. in this case too, the admission control accepts the flow. after a flow acceptance, the flow is inserted into the flow table and the packets belonging to this flow, stored into the not admitted flow memory, will be transmitted to the flow table update module for the rest of the processing and transmission. if the request is rejected, the flow is rejected, the reservations made on the trunks which had enough available bandwidth are canceled by updating the bdw_being_used field and the packets belonging to the flow, stored into the not admitted flow memory, are discarded. a flow is considered finished after an inactivity period that exceeds a predefined value. each er, using the acquired resources release module, periodically inspects its own flow table in order to identify the finished flows and, as a consequence of finished flow identification, releases the bandwidths correspondingly. if there are finished flows, the reserved bandwidth and tc for these flows are determined from the classification and reservation table and the flows are discarded from the flow table. then, the acquired resources release module, determines from routing to vip correspondence table the corresponding vips and extracts from the vip table the trunks belonging to the determined vips. after this, releases the reserved bandwidth for the flows by updating the bandwidth being used field from the trunk table for each trunk belonging to the vips. the update of the bdw_being_used field is done in the following manner: bdw_being_used = bdw_being_used − necessary_bdw (4.3) a novel qos framework based on admission control and self-adaptive bandwidth reconfiguration 867 also, it extracts from the classification and reservation table the maximum amount of bandwidth for the corresponding tcs and verifies if the trunks utilization is under the predetermined lower threshold. for a trunk, the condition to have the utilization under a predetermined lower threshold is: reserved_bdw > bdw_being_used + n ∗ tc_maximum_necessary_bdw (4.4) where tc_maximum_necessary_bdw is the maximum amount of bandwidth for the corresponding tc and n is a predefined parameter having a value larger than or equal to 1. also, it extracts from the trunk table the minimum reserved bandwidth for the trunks and verifies if the trunks have additional bandwidth acquired from cls. for a trunk, the condition to have additional bandwidth acquired from cl is: reserved_bdw > trunk_minimum_reserved_bdw (4.5) where trunk_minimum_reserved_bdw is the minimum reserved bandwidth for the trunk if there are trunks whose bandwidth being used is under the predetermined lower threshold and the trunks have additional bandwidth acquired from cls, the acquired resources release module, in the limit of the acquired bandwidth, computes de bandwidth that will be released from the reserved bandwidth of the trunks. reduction of the reserved bandwidths is accompanied by appropriated resources release for the common bandwidths. 5 self-adaptive bandwidth reconfiguration the proposed framework dynamically adjusts the bandwidth assigned to the trunks, in order to adapt to changes in network traffic. a source edge router has the option to request additional bandwidth for its trunks or it can release bandwidth not used by the trunks, depending on bandwidth usage of his trunks. bandwidth adjustment is done using the cl’s bandwidth. this adjustment allows all trunks, regardless of the class of traffic or the edge router where they belong, to share the bandwidth provided by lc. the trunk reconfiguration process of the proposed framework involves three main actions: (1) the control of the common bandwidth table, (2) the release of bandwidth not used by the trunks, and (3) acquisition of additional bandwidth for trunks. a common bandwidth table stores the common bandwidth utilization of the network cls. as shown in figure 3, an entry in this table contains: cls identifier, the reserved amount of shared bandwidth and the amount of shared bandwidth for the cl. figure 3: common bandwidth table depending on the share bandwidth entities, three approaches are being proposed: central control (cc), router-aided (ra) and edge-to-edge (ee). in the central control approach the common bandwidth table is managed by a network management server (nms) and the common bandwidth table stores the bandwidth utilization of all cls in the network. in the router-aided approach, each core router manages a common bandwidth table, and each of these tables stores the bandwidth utilization of the lcs belonging to all physical links directly connected to that core router. in the edge-to-edge approach each edge router manages a common bandwidth table, which will store the bandwidth utilization of all the cls in the network. 868 a. peculea, b. iancu, v. dadarlat, i. ignat figure 4: reserved bandwidth update algorithm each edge router periodically examines its own flow table and determines which flows are finished. if there are any finished flows, the flow table and the trunk table will be updated. a next step for the edge router is to examine the trunk table and to obtain the bandwidth utilization of its own trunks. if the bandwidth utilization of any trunk is under a predetermined lower threshold and those trunks have additional bandwidth acquired from the common link, the source edge router computes the amount of bandwidth to be released from the reserved bandwidth, adjusts the released bandwidth of the trunks, in the limit of the additional acquired bandwidth, updates its own trunk table and sends a control message to the entities for common bandwidth control, in order to release the used shared bandwidth. adjusting a trunk’s bandwidth is done only in the limit of the additional acquired bandwidth. the algorithm that describes the reserved bandwidth update process for the trunks is presented in figure 4. the trunk reconfiguration process is always initiated by a source edge router using a threshold and computed values driven mechanism. 6 experimental results and conclusions for the development and testing of the proposed qos framework (sar framework) and also for the developing of new ones, an experimental methodology was used, rather than simulation techniques, thus an integrated solution a development tool, was created [3]. also a benchmarking system for qos parameters [4] was developed in order to allow the testing of the proposed sar qos framework. the benchmarking system generates traffic for the defined testbed and measures the following parameters: delay, ip delay variation (ipdv) or jitter and bandwidth, both on tcp and udp. the benchmarking allows a user to define and store complex traffic patterns that can be recharged for making further measurements, to test various qos techniques based on the same traffic characteristics. for simulations purposes, the self-adaptive bandwidth reconfiguration qos framework (sar) described in the previous section and the odp framework were tested, in a comparative manner, using the development tool and the benchmarking system. the final testbed is a network of programmable routers, and consisted of three edge routers and three served networks. the tests were intended as performance comparison between odp and sar frameworks. traffic classes and traffic patterns were defined similarly in both frameworks tested. four classes of traffic were considered. two test traffic patterns were defined. in the first traffic pattern considered flows are injected from classes 2 and 3 and in the case of the second traffic pattern flows belonging to class 2 are injected. for both traffic patterns a balanced distribution of traffic from and to the served networks is ensured. after testing and analyzing the results (figure 5) it was found that the number of flows a novel qos framework based on admission control and self-adaptive bandwidth reconfiguration 869 figure 5: test results admitted flows admitted for sar framework is higher than in the case of odp framework, on both tested traffic patterns, which demonstrates a more efficient use of network resources. also, the equal number of control messages transmitted by the two frameworks shows that sar is a scalable framework. finally, tests confirmed that admission control has eliminated network congestion. this paper presents a new end-to-end qos framework, called self-adaptive bandwidth reconfiguration qos framework (sar). the proposed dynamic allocation method guaranties a minimum bandwidth available for each traffic class and trunk, and provides a common bandwidth section which can be used by every trunk, function of their bandwidth requirements, irrespective to their belonging tc or er. thus, trunks can acquire additional bandwidth without being conditioned by the available bandwidth of the belonging class. the new framework, sar, uses the proposed bandwidth organization, allowing the increase of the traffic volume it handles, guaranteeing end-to-end quality of service through network resources monitoring, admission control and resource reservation for new flows. the end-to-end qos framework with self-adaptive bandwidth reconfiguration overcomes the disadvantages of odp by providing minimum service guaranties and bandwidth redistribution between classes. acknowledgments this work was supported by the pnii-idei 328/2007 qaf quality of service aware frameworks for networks and middleware research project within the framework national research, development and innovation programme initiated by the national university research council romania (cncsis uefiscsu). 870 a. peculea, b. iancu, v. dadarlat, i. ignat bibliography [1] z. wang, internet qos: architectures and mechanisms for quality of service, morgan kaufmann, san francisco, 2001. [2] m. yang, y. huang, j. kim, m. lee, t. suda, m. daisuke, an end-to-end qos framework with on-demand bandwidth reconfiguration, twenty-third annual joint conference of the ieee computer and communications societies (infocom), hong-kong, vol. 3, pp. 2072 2083, 2004. [3] a. peculea, v. dadarlat, i. ignat, b.iancu, l. cobarzan, on developing a qos framework with self-adaptive bandwidth reconfiguration, pollack periodica an international journal for engineering and information sciences, vol.4, no.1, pp. 121-129, 2009. [4] a. peculea, b. iancu, v. dadarlat, i. ignat, e. cebuc, z. baruch, benchmarking system for qos parameters, proceedings of the ieee 3rd international conference on intelligent computer communication and processing 2007 (iccp 2007), cluj-napoca, romania, p.255p.258, 2007. international journal of computers communications & control issn 1841-9836, 12(3), 323-329, june 2017. learning speed enhancement of iterative learning control with advanced output data based on parameter estimation g.-m. jeong, s.-h. ji gu-min jeong school of electrical engineering kookmin university, korea gm1004@kookmin.ac.kr sang-hoon ji* robot r&bd group kitech, korea *corresponding author: robot91@kitech.re.kr abstract: learning speed enhancement is one of the most important issues in learning control. if we can improve both learning speed and tracking performance, it will be helpful to the applicability of learning control. considering these facts, in this paper, we propose a learning speed enhancement scheme for iterative learning control with advanced output data (adilc) based on parameter estimation. we consider linear discrete-time non-minimum phase (nmp) systems, whose model is unknown, except for the relative degree and the number of nmp zeros. in each iteration, estimates of the impulse response are obtained from input-output relationship. then, learning gain matrix is calculated from the estimates, and by using new learning gain matrix, learning speed can be enhanced. simulation results show that the learning speed has been enhanced by applying the proposed method. keywords: iterative learning control, speed enhancement, parameter estimation, learning gain estimation. 1 introduction by using iterative learning control (ilc), the tracking performance can be enhanced when the the same task is performed iteratively [7]– [9]. among various ilc schemes, iterative learning control with advanced output data (adilc) [4] [5] has been proposed for the learning control in discrete time non-minimum phase (nmp) systems. adilc stabilizes inverse mapping by using output-to-input mapping directly with time-advanced output data. its learning structure is simple since it consists of an input update law that depends on the relative degree and number of nmp zeros. on the other hand, due to the complexity of computation, learning speed enhancement is one of the most important issues in iterative learning control (ilc). considering this, various approaches for direct learning control (dlc) [9] have been proposed. in [5], an adilc scheme based on the estimation of the impulse response is proposed for linear discrete-time nmp systems, whose model is unknown, except for the relative degree and the number of nmp zeros. instead of using an approximate model of the system, the first part of impulse response is estimated and used for the adilc. however, considering the computational cost of this method, we need a novel scheme to enhance learning speed. in this paper, we propose a new speed enhancement scheme for discrete time nmp systems, extending the results in [5]. by using the estimates of the learning matrix, an estimate of the desired input is derived and the learning speed can be significantly enhanced. further, an illustrative example is provided to demonstrate the applicability of the proposed method. copyright © 2006-2017 by ccc publications 324 g.-m. jeong, s.-h. ji 2 adilc for discrete-time nmp systems in this section, some preliminary results of the adilc in [4] are briefly summarized. let us consider a linear time invariant(lti) system described by x(i + 1) = ax(i) + bu(i) y(i) = cx(i) (1) where, u ∈ r1, x = [x1, · · · ,xn]t ∈ rn, and y ∈ r1 are the input, the state, and the output of the system, respectively. a, b and c are matrices of appropriate dimensions. let xd(i), yd(i) and ud(i) represent the state, the output and the input corresponding to the desired trajectory respectively. further, let the desired output yd(i), i ∈ [σ,n + σ − 1] be given and u[i,j] := [u(i), · · · ,u(j)]t , y[i,j] := [y(i), · · · ,y(j)]t . the transfer function of the system is represented by g(z) = β1z n−1+···+βn zn+α1zn−1+···+αn . here, it is assumed that the number of nmp zeros, d0, and the relative degree, σ, are known a priori (i.e., β1 = · · · = βσ−1 = 0). in the adilc, the following input-output mapping is used to stabilize the inverse mapping. y[σ+d0,n+σ+d0−1] = hx(0) + ju[0,n−1], (2) h = [ (hd0+1) t , · · · , (hn+d0 ) t ]t , j =   jd0+1 jd0 · · · 0 jd0+2 jd0+1 · · · 0 ... ... ... ... jn+d0 jn+d0−1 · · · jd0+1   , where hl = caσ+l−1, jl = caσ+l−2b. the time interval for the output of interest is [σ + d0,n + σ + d0 − 1] in (2), whereas it is [σ,n + σ− 1] for minimum phase systems (i.e., d0 = 0). for an adilc, we set the input horizon to [0,n + d0 − 1] with u[n,n+d0−1] = 0 and the output horizon to [0,n +σ +d0−1]. the desired trajectory, yd, is given in [σ,n +σ−1]. we set yd [n+σ,n+σ+d0−1] to some appropriate constants. further, at every iteration, we set x k(0) = xd(0) and uk(i) = ud(i) = 0,n ≤ i ≤ n − 1 + d0. to analyze the stability of the inverse mapping, we need the following assumptions: • (a1) the system is stable, controllable and observable. • (a2) the matrix a is invertible. • (a3) βn 6= 0 in g(z). • (a4) the matrix j is nonsingular. with these assumptions, lemma 1 shows that the inverse mapping (2) is stable using the time advancing of the output data, even though it is an nmp system. lemma 2.1. (stable inversion using time advancing) the inverse mapping from yd [σ+d0,n+σ+d0−1] to u d [0,n−1] is stable. the input update law is derived from lemma 1 as follows: uk+1 [0,n−1] = u k [0,n−1] + s kek[σ+d0,n+σ+d0−1], (3) learning speed enhancement of iterative learning control with advanced output data based on parameter estimation 325 where ek [l,m] = yd [l,m] − yk [l,m] and sk ∈ rn×n is the learning gain matrix. the next lemma shows that the input uk [0,n−1] converges to u d [0,n−1] as k → ∞ using the input update law (3). it should be noted that this inverse mapping is stable. lemma 2.2. the uncertain system (1) satisfies (a1)–(a4). if the condition ‖i − skj‖≤ ρ < 1 (4) holds, the input uk [0,n−1] converges to u d [0,n−1] as k →∞. 3 adilc with the estimation of the impulse response in this section, the impulse response estimation scheme in [5] is slightly modified for the learning speed enhancement detailed in the next section. after estimating the first p impulse responses, we select the first l ≤ p responses to obtain j̄, the estimate of j in (2). with j̄, which consists of the estimations of the first l impulse responses (j1,· · · ,jl), the adilc scheme can be applied to unknown nmp systems. since we set x(0) = 0 for the learning scheme, from (2), we can obtain y[σ+d0,n+σ+d0−1] = ju[0,n−1]. (5) by exchanging the location of j and u[0,n−1], (5) can be changed into y[σ+d0,n+σ+d0−1] = umaxj[1,n+d0+1]. (6) here, umax =   u(d0) · · · u(0) · · · 0... ... ... ... ... u(d0 + n − 1) · · · u(n − 1) · · · u(0)   , j[1,n+d0+1] = [j1, · · · ,jn+d0+1] t . (7) to estimate the first p impulse responses, we make an approximation for j[1,p]. as i becomes larger, the impulse response ji approaches 0. by selecting a sufficient large p and discarding the impulse responses from p + 1, the approximation is made as y[σ+d0,n+σ+d0−1] ≈ upj[1,p]. (8) here, up =  u(d0) u(d0 − 1) · · · 0 u(d0 + 1) u(d0) · · · 0 ... ... ... ... u(d0 + n − 1) u(d0 + n − 2) · · · u(d0 + n − l− 1)   , j[1,p] = [j1, · · · ,jp] t . (9) using the least square method, we can obtain j̄[1,p] consisting of the estimates of j[1,p], as j̄[1,p] = (u t p · up) −1utp y[σ+d0,n+σ+d0−1]. (10) 326 g.-m. jeong, s.-h. ji after estimating the impulse responses, we select the first l ≤ p impulse responses and obtain j̄ which is the estimates of j in (2). in [5], a learning control scheme was presented based on impulse response estimation. at step 0, u1 [0,n−1] can be determined by setting s 0 as an appropriate matrix, e.g., αi and u0 [0,n−1] = 0. then, we can estimate j̄k [1,n] similarly to (10) and learning control can be performed using (3) with sk = α(j̄k)−1 for some α, 0 < α < 1. 4 learning speed enhancement using the estimation of the impulse response in this section, a new learning speed enhancement algorithm is presented using (10) and the learning scheme for unknown nmp systems. since the estimates of impulse responses can be used to estimate the desired input, the learning speed can be enhanced. at k = 0, since u0 [0,n−1] = 0, y 0 [σ+d0,n+σ+d0−1] will be zero. thus, u 1 [0,n−1] = s 0yd [σ+d0,n+σ+d0−1]. here, we set s0 to be an appropriate matrix, e.g., αi. for k ≥ 1, we estimate the impulse response j̄k [1,p] using (10) from uk [0,n−1] and y k [σ+d0,n+σ+d0−1], derive j̄ k from the estimates of first l impulse responses. likewise, for a sufficient k, e.g., k = 1, we can obtain the estimate of the input ūd [0,n−1] as follows: ūd[0,n−1] = (j̄ k)−1y[σ+d0,n+σ+d0−1]. (11) if the estimation is successfully made and l is sufficiently enough, ūd [0,n−1] will be considerably close to ud [0,n−1]. for k + 1, e.g., k = 2, we can set uk [0,n−1] = ū d [0,n−1] and s = α(j̄ k)−1. if s satisfies the convergence condition, we can obtain the desired input with the proposed method. throughout this approach, we can enhance the learning speed. we can summarize the learning rule as follows: the proposed learning algorithm • step 0: when k = 0. set s0 to be an appropriate matrix and obtain u1 [0,n−1]. • step 1: for the first iteration, obtain y1 [σ+d0,n+σ+d0−1]. if ‖ek [σ+d0,n+σ+d0−1]‖≤ �, then stop. else, derive j̄k using (10). calculate the estimated value of the desired input ūd [0,n−1] from (11) and set u 2 [0,n−1] = ūd [0,n−1] . • step k: for the k-th iteration, if ‖ek [σ+d0,n+σ+d0−1]‖≤ �, then stop. set s = α(j̄k)−1. update the input using (3), increment k, and repeat step k until termination. learning speed enhancement of iterative learning control with advanced output data based on parameter estimation 327 theorem 1. the nmp system (1) satisfies (a1)-(a4), the relative degree and the number of nmp zeros are known, and the system dynamics may not be known completely. let us assume that we update the input based on the proposed learning algorithm. if the condition (4) holds for all k ≥ 1, the input uk [0,n−1] converges to u d [0,n−1] as k →∞. proof: this can be easily shown using lemma 2.1, and theorem 1 from [5]. 2 (a) outputs using the proposed method and y5 in [5] (b) inputs using the proposed method and u5 in [5] figure 1: outputs and inputs for different values of k 5 simulation results let us consider an example of nmp system for a positioning table in [10] as follows: g(z) = 0.0082z4 + 0.031z (z + 0.29)(z − 0.2)(z − 0.46)(z2 − 1.7z + 0.73) 328 g.-m. jeong, s.-h. ji this system has one nmp zero (z = −3.7805) and satisfies (a1)–(a4). the desired trajectory is given as yd(i) = { 0, i = 0, 1, 83, 84, 85, 86 −0.2 cos(0.05π(i− 2)), 2 ≤ i ≤ 82. (12) here, we set n = 85, s0 = 0.1i and u(85) = u(86) = 0. the input update law is given as uk+1 [0,84] = uk [0,84] + skek [2,86] . from (10), we set p = 85. the impulse response is estimated using j̄k[1,85] = ((u k)t · uk)−1(uk)t yk[2,86]. (13) in addition, j̄1 is obtained using l = 30. then, we set u2 = ūd and enhance the learning speed. in this case, the convergence condition is satisfied as ‖i − skjk‖ < 0.568 when sk = 0.5(j̄k)−1. fig. 1(a) and 1(b) show the outputs and inputs for different values of k, respectively. the root mean square (rms) error for the output error is 0.0012 for k = 2, and is smaller than the rms error of 0.0036 for k = 10 reported in [5]. from this example, we can see that the learning speed is significantly enhanced. 6 conclusion in this paper, we have proposed a new learning speed enhancement algorithm of adilc for discrete-time nmp systems. first, we have presented an estimation algorithm of impulse responses based on the input-output mapping of adilc. next, learning speed enhancement algorithm has been derived from new learning gain, which is calculated with the estimates of impulse response. simulation results for the nmp system have demonstrated the learning speed enhancement of the proposed method. robust algorithms over disturbances for learning control can be considered with the proposed method. it remains as a future work. acknowledgment this work was supported by the national research foundation of korea(nrf) grant funded by the korean government(msip)(nrf-2016r1a5a1012966), and also supported by basic science research program through the national research foundation of korea(nrf) funded by the ministry of education(nrf-2015r1d1a1a01060917) bibliography [1] arimoto s., kawamura s., miyazaki f. (1984); bettering operation of robots by learning, journal of robotic systems, 1(2), 123–140, 1984. [2] bien z., xu j.-x. (1998); iterative learning control analysis, design, integration and applications, kluwer academic publishers, 1998. [3] jang t.-j., ahn h.-s., choi c.-h. (1994); iterative learning control for discrete-time nonlinear systems, international journal of systems science, 25(7): 1179-1189.. [4] jeong g.-m., choi c.-h. (2002); iterative learning control for linear discrete time nonminimum phase systems, automatica, 38(2), 287–291, 2002. learning speed enhancement of iterative learning control with advanced output data based on parameter estimation 329 [5] jeong g.-m., ji s.-h. (2013); iterative learning control with advanced output data using an estimation of the impulse response, ieice transactions on fundamentals, e96-a (6), 1488-1491, 2013.. [6] ngo t., wang y., mai t.l., ge j., nguyen m.h., wei s. n. (2012); an adaptive iterative learning control for robot manipulator in task space, international journal of computers communications & control, 7(3), 518–529, 2012. [7] uchiyama m. (1978); formulation of high-speed motion pattern of mechanical arm by trial, transactions of the society of instituteument and control engineers (in japanese), 14(6), 706–712, 1978. [8] xia c., deong w., shi t., yan y. (2016); torque ripple minimization of pmsm using parameter optimization based iterative learning control, journal of electrical engineering and technology, 11(2), 709–718, 2016. [9] xu j.-x. (1997); direct learning of control efforts for trajectories with different magnitude scales, automatica, 33(12), 2191–2195, 1997. [10] yamada m., riadh z., funahashi y. (1999); design of discrete-time repetitive control system for pole placement and application,ieee/asme transactions on mechatronics, 4(2), 110118, 1999. ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 73-81 modeling of errors realized by a human learner in virtual environment for training thanh-hai trinh, cédric buche, ronan querrec, jacques tisseau université européenne de bretagne, ecole nationale d’ingénieurs de brest, laboratoire informatique des systèmes complexes, centre européen de réalite virtuelle technopôle brest-iroise, 29238 brest cedex 3, france e-mail: {trinh,buche,querrec,tisseau}@enib.fr abstract: this study focuses on the notion of erroneous actions realized by human learners in virtual environments for training. our principal objective is to develop an intelligent tutoring system (its) suggesting pedagogical assistances to the human teacher. for that, the its must obviously detect and classify erroneous actions produced by learners during the realization of procedural and collaborative work. further, in order to better support human teacher and facilitate his comprehension, it is necessary to show the teacher why learner made an error. addressing this issue, we firstly modeling the cognitive reliability and error analysis method (cream). then, we integrate the retrospective analysis mechanism of cream into our existing its, thus enable the system to indicate the path of probable cause-effect explaining reasons why errors have occurred. keywords: intelligent tutoring system, erroneous actions, retrospective analysis 1 introduction in order to simulate procedural and collaborative work, we developed the model mascaret (multi-agent system for collaborative adaptive and realistic environment for training) where human learners and agents collaborate to realize a task [1]. learners are gathered in team consisting of several predefined roles, every role contains a number of actions to be realized by learners with specific resources. during realization of the tasks, it is essential to take into account that human learners may make erroneous actions in comparing to their predefined correct procedure. in [2], we have proposed a model of intelligent tutoring system (its) whose principal objective is to suggest pedagogical assistances to the teacher adapted to the simulation context and to the learner’s behaviours (including erroneous actions). however, this works exclusively concerns errors detection and tagging. once erroneous actions are detected in our existing its, it were be classified in different types (cf. figure 1(a)) whose explications are based on a knowledge base on classical errors. in order to better support the teacher and facilitate his comprehension, it lacks a model that could explain reasons why the learner made an error. our approach bases on the cognitive reliability and error analysis method (cream) in human team error error team proceduralerror proceduralerror actionerror usageerror (a) errors types in its [2] erroneous action t im in g duration sequence object forcedirection distance speed t o o e a rly , to o la te , o m is s io n t o o lo n g , to o s h o rt r e s e rv a l, re p e titio n , c o m m is s io n , in s tru s io n w ro n g a c tio n , w ro n g o b je c t t o o m u c h , to o little w ro n g d ire c tio n t o o fa r, to o s h o rt t o o fa s t, to o s lo w (b) dimensions of error modes [3] figure 1: errors types and errors’s phenotypes reliability analysis field [3]. this approach proposed a classification scheme which makes a distinction between observations of errors (phenotypes, cf. figure 1(b)) and its causes (genotypes) classified in copyright © 2006-2009 by ccc publications 74 thanh-hai trinh, cédric buche, ronan querrec, jacques tisseau three categories: m(an), t(echnology) and o(rganization). for example, since the learner made a mistake about the order of actions, the erroneous action observed is in phenotype sequence and that can be futher explained by some genotypes such as inattention (man related genotype), communication failure (technology related genotype), etc. the causal links between phenotype-genotype are represented using a number of consequent-antecedent links. finally, the scheme could be associated with both a method of retrospective analysis (the search for causes) and a performance prediction method. however, in our goal of erroneous actions detection and then searching for the causes, we interested in human learner’s performance analyses, in other words, in retrospective analyses. implementation of cream was object in the work of el-kechaï [4][5] which firstly proposed a task model named metisse in order to recognize learner’s plans in virtual environments for training (vet), then this model could be used to detect for erroneous actions according to classification of hollnagel. nevertheless, implementation of metisse was not complete, and integration of cream into a really its was not performed. in this paper, we will firstly propose an approach to model cream (section 2). next, in section 3, we will present the integration of retrospective analysis mechanism of cream into our existing its as well as our evaluation. 2 implementation of cream 2.1 classification scheme representation there are several graphic tools that permit to keep track of analyses processes such as cream navigator developed by serwy and rantanen [7]. however, this navigator is completely closed in the sense that it does not maintain an explicit representation of possible errors modes and probable causes. for that, [4] proposed using a rules base for represent consequent-antecedent links, hence the search for the causes was executed by backward inferences. limitation of this method obviously lies on the performance of inference mechanism, other problem maybe occurs in adding, removing another potential errors that will demand a considerable modification on the rules base. for our development, as suggested in [3], we intent to separate the analysis method (cf. section 2.3 and 2.4) and the representation of errors modes using a group of four data files in format xml detailed below: questionnaire.xml : proposing to represent a list of questions from which we could evaluate the common performance conditions (see section 2.2 in following). phenotype.xml : proposing to maintain the phenotypes and its antecedents (cf. figure 2). inadequate plan inattention earlier omission ... figure 2: representation of phenotypes genotype.xml : containing all possible causes classified in three groups (m,t,o), each group is then detailed into several categories. the important point is that this data file also represents relations between each consequent and its antecedents (cf. figure 3). repartition.xml : proposing to determine repartition of specific antecedents (cf. figure 4) in three factors (m,t,o) which serves to initialize the mass of each specific antecedent as a probable cause (cf. section 2.4). finally, in considering that cream is naturally a flexible method and adaptable to different analysis contexts, this strategy of classification scheme representation permits customize the scheme without any modification on analysis method. modeling of errors realized by a human learner in virtual environment for training 75 distraction excessive demand error in goal inadequate training ... ... ... figure 3: representation of genotypes ... figure 4: repartition of specific antecedents in three factors (m,t,o) 2.2 define the common performance conditions (cpc’s) in cream, hollnagel highlighted that the context strongly influence human actions. it is therefore essential to take into account the description of virtual environment in which the human learner is immersed. the objective is to determine how each factor (m,t,o) influences the training context. here, we are inspired from the proposition presented in [5] using a predefined questionnaire which will be answered by the teacher before training session (cf. figure 5). next, each factor will be assigned one ... figure 5: define the cpc’s by questionnaire [5] coefficient calculated using formula below: coe f ficientgroup i = number o f yes answers associated to group i total number o f yes answers (1) where group i is respectively in (man, technology, organization). these values permit define the most probable factor leading to erroneous actions. 2.3 modelling of consequent-antecedent relations one advantage of cream lies on its recursive analysis approach, rather than strictly sequential in compare with other traditional analysis methods. so that, it also conducts to a non-hierarchical data structure to connect the direct as well as indirect links: (i) between a phenotype and its antecedent; and (ii) between a consequent and its antecedents. figure 6 shows our model to represent the connection between consequent-antecedent. here, we are going to construct a causal graph where we use the term node to point to either a consequent or an antecedent. each node is described by its name; the group of errors modes that it is associated and its category in group; the description in text helps better explain the error’s semantics in particular context. the boolean attribute terminal permit to identify if that is a terminal-cause or not. the most important is that, each node contains two lists: one includes its antecedents, other points to its consequents, in others words, they represent edges in/out one node in the causal graph. at last, each node must also 76 thanh-hai trinh, cédric buche, ronan querrec, jacques tisseau +a dda ntec ede nt() +a ddc ons eq uen t() +c alcu latem a ss () -_na m e : string -_grou p : string -_ca te go ry : s trin g -_de scription : s trin g -_m as s : dou ble -_term ina l : boo l -_list_a ntec ede nt -_list_c ons equ en t node + getq u estio nna ire () + getph eno type s () + getsp ecifica ntec ede nts () + getg e nera lc ons eq uen ts () + getg e nera la ntec ede nts () util 1 0 ..1 0..1 0..* 1 1 « use s» q ue stion naire .xm l ph eno ty pe .xm l g en otyp e .x m l r e partitio n.xm l +ge tantec ede ntfro m phe noty pe () +ge tg eno type from a ntec ede nt() +finds pec ific ante ced entr epa rtition () +cre ateg rap hf ro m ph eno ty pe () +findl istte rm in al() +so rtl istte rm in al() -_ grap h : s tring genotypeanalyzer figure 6: uml diagram for modeling consequent-antecedent links include a value of mass which represent the certitude of choosing this node as a probable cause. the two methods addantecedent() and addconsequent() serve for maintaining the two lists of antecedents and consequents of one node. note that once a node calls the method addantecedent() serving for adding a "parent" node like one of its antecedents, this node will also add itself to the consequents list of the "parent" node (using the method addconsequent() of the parent node), the value of the attribute terminal then will be set to false. 2.4 search for the causes the retrospective analysis is executed by a genotypeanalyzer containing graph attribute which is initialized by pointing to the phenotype input (root node), then the analyzer calls accurate methods to find the root causes (the nodes with the attribute terminal having value false). this mechanism is presented below (cf. algorithm 1). algorithm 1 retrospective analysis require: phenotype of erroneous action 1: initialization: construct the "root" node pointing to phenotype input 2: {step 1: finding antecedents of phenotype input} 3: read from file phenotype.xml, find all general antecedents of phenotype input 4: for each antecedent do 5: add it into antecedents list of "root" node 6: end for 7: {step 2: construction the causal graph} 8: for each unvisited node in the graph do 9: find its antecedents from file genotype.xml 10: add them to antecedents list 11: end for 12: return step 2. this recursive search terminates when the node selected is a specific antecedent node or a general consequent node without antecedents. with this algorithm, we finally attain a causal network where each node is associated with its antecedents and consequents. the "leaves" are terminal nodes (or "root" causes) whose antecedents list is empty. in order to calculate the certitude of choosing each node as a probable cause, we inherit the proposition presented in [5] using dempster-shafer’s evidence theory: mass(a) = coe f ficient (g(a)) ∗ ∑ ∀c∈cons(a) ( mass(c) ∑ ∀i∈{m,t,o} (coe f ficient(i) ∗nic) ) (2) where: modeling of errors realized by a human learner in virtual environment for training 77 • mass(a) : mass of antecedent a • g(a) : group of a • cons(a) : consequents list of a • coe f ficient(i) : coefficient of group i calculated in formula 1 • nic : number of antecedents of c classified in group i figure 7: cream explorer finally, the figure 7 illustrates our tool cream explorer which was developped in this phase permitting to maintain the errors scheme, answer the questionnaire for define the cpc’s and execute the retrospective analysis. 3 integration of retrospective analysis into our existing its 3.1 learner’s plans recognition in order to detect the erroneous actions realized by a human learner, it is indispensable to know: (i) the learner’s activities in the past; (ii) his current action (in the meaning that the action has just been done); (iii) the actions that the human learner intents to do in according to a predefined correct procedure. our existing its as proposed in [2] bases on the model mascaret [1] where we used an multi-agent system to simulate collaboration between human learners and agents during their realization of tasks. learners are gathered in team consisting of several predefined roles, every role contains a number of tasks associated eventually with accurate resources, every leaner also owns an epistemic memory containing all actions realized in the past, etc. finally, we could retrieve from mascaret following informations relating to learner’s plan in vet: 78 thanh-hai trinh, cédric buche, ronan querrec, jacques tisseau • action(s) before: learner’s action(s) in the past (note that, in mascaret, every action is eventually associated with its accurate resource(s)) • current action: action has just been done by learner • action(s) correct (according to role): action(s) must be done by learner in his role(s) • action(s) correct (according to plan): action(s) may be done by learners in the context. here, it is essential to make distinction betweens action(s) correct according to role and action(s) correct according to plan. in the first case, because the learner could play several roles, it represents all correct actions that the system expects from the learners. the second one concerns the cases where there are more than one learner in vet to realize together a mission. therefore, in this case, it is possible that a leaner performs a correct action according to the plan but it is not correct in compare to his role. • next correct action(s) in the role: next action(s) must be done by learner in his role(s) • full correct plan: description of all accurate actions (associated with resources) in predetermined procedure that the learner must respect. in next section, we present our mechanism for mapping erroneous actions detected by our existing its with hollnagel’s classification scheme of errors modes. 3.2 classification of erroneous actions according to the scheme of cream erroneous actions in phenotype "sequence" according to hollnagel, performing an action at the wrong place in a sequence or procedure is a common erroneous action, and it is more realistic in our context of simulation of procedural and collaborative work. the "sequence" problem consists of several specific effects: omission (an action was not carried out); jump forward/ jump backwards (actions in a sequence were skipped/carried out again); repetition (the previous action is repeated); reversal (the order of two neighbouring action is reversed); wrong action (an extraneous or irrelevant action is carried out). we present in following our mechanism to detect erroneous actions in phenotype "sequence": algorithm 2 detection of erroneous actions in phenotype sequence 1: if current action exists in actions correct according to role then 2: this is a correct action (phenotype sequence does not occur) 3: else 4: if current action does not exist in actions correct according to plan then 5: specific effect = "wrong action" 6: else 7: if current action exist in last action before then 8: specific effect = "repetition" 9: end if 10: compare the relative order of current action to the order of next correct action(s) in the role using the full correct plan 11: if id current action < id correct action in role then 12: specific effect = "jump backwards and/or omission" 13: else 14: specific effect = "jump forward and/or omission" 15: end if 16: if id current action = id correct action in role + 1 then 17: specific effect = "reversal" 18: end if 19: end if 20: end if erroneous actions in phenotype "wrong object" in [3], the author clarified that "action at wrong object" is one of the more frequent error modes, such as pressing the wrong button, looking at the wrong indicator, etc. in our context, during realisation of modeling of errors realized by a human learner in virtual environment for training 79 collaborative work, it is possible that learner performs a correct action but on a wrong object. therefore, the detection of erroneous actions in phenotype "wrong object" must be implemented independently with the detection of phenotype "sequence". this phenotype is detailed into following specific effects: neighbour/similar object (an object that is proximity/similar to the object that should have been used); unrelated object (an object that was used by mistake). in order to detect erroneous actions in phenotype "wrong object", we use the same principle presented in the case of phenotype "sequence" by using following informations retrieved from model mascaret: • current resource: resource associated with current action • resource(s) correct (according to role): resource(s) must be used by learner in his role(s) • resource(s) correct (according to plan): list of resource(s) associated with all action(s) in action(s) correct according to plan. our algorithm is detailed in following: algorithm 3 detection of erroneous actions in phenotype wrong object 1: if current resource exists in resource(s) correct according to role then 2: this is a correct resource (phenotype wrong object does not occur) 3: else 4: if current resource does not exist in resources correct according to plan then 5: specific effect = "unrelated object" 6: else 7: specific effect = "neighbour and/or similar object" 8: end if 9: end if erroneous actions in phenotype "time/during" the phenotype time/during is divided in several specific effects: too early/ too late (an action started too early/too late); omission (an action that was not done at all); too long/too short (an action that continued/was stopped beyond the point when it should have been). hollnagel noted that the error modes of timing and duration refer to a single action, rather than to the temporal relation between two or more actions. in our context, the realization of tasks in model mascaret is sequential, therefore, an action is considered to be too early when it was realized before several actions in plan; also, action(s) are considered to be omitted when they were not carried out. finally, in order to detect erroneous actions in phenotype time/durring, we propose that: • action having specific effect jump forward also has specific effect too early • action described by specific effect omission (in error mode sequence) will be considered as an action having specific effect omission (in error mode time/during) 3.3 experiment & results in order to evaluate our integration of retrospective analysis into its, we take place in gaspar application [6] whose objective aims at simulate aviation activities by virtual reality. the learners are immersed in virtual environment simulating the aircraft carrier in order to realize together the tasks. during the realization of these collaborative works, our its follows the learners and then apply the algorithms depicted above for detecting learner’s erroneous actions. next, for interpreting the causes of errors, we use the classification scheme of error modes proposed in [5] which were particularly adapted to vet. table 1 and table 2 respectively illustrate results of retrospective analysis for the phenotype sequence and wrong object. we change coefficients of three factors (m,t,o) for evaluating how cpc’s influence the analysis result. for each phase in analysis process, we select and display the most probable cause by ordering mass values. 80 thanh-hai trinh, cédric buche, ronan querrec, jacques tisseau coefficient (m,t,o) causal links (0.333 0.333 0.333) 1, design failure (0.125) → inadequate scenario (0.125) → sequence 2, adverse ambient condition (0.125) → inattention (0.125) → sequence 3, long time since learning (0.042) → memory failure (0.125) → sequence (1 0 0) 1, other priority (0.2) → memory failure (0.2) → sequence 2, error in mental model (0.067) → faulty diagnosis (0.2) →sequence 3, erroneous analogy (0.067) → faulty diagnosis (0.2) → sequence (0 1 0) 1, equipment failure (0.1) → access problems (0.5) → sequence 2, distance (0.1) → access problems (0.5) → sequence 3, localisation problem (0.1) → access problems (0.5) → sequence (0 0 1) 1, noise (1) → communication failure (1) → sequence table 1: causal links of phenotype sequence coefficient (m,t,o) causal links (0.333 0.333 0.333) 1, access problems (0.125) → wrong object 2, design failure (0.125) → inadequate scenario (0.125) → wrong object 3, adverse ambient condition (0.042) → inattention (0.125) → wrong object (1 0 0) 1, fatigue (0.1) → performance variability (0.2) → wrong object 2, virtual reality sickness (0.1) → performance variability (0.2) → wrong object 3, anticipation (0.05) → wrong identification (0.2) → wrong object (0 1 0) 1, access problems (0.5) → wrong object (0 0 1) 1, noise (1) → communication failure (1) → wrong object table 2: causal links of phenotype wrong object 4 conclusion & future work in this paper, we proposed an approach to modelling the cognitive reliability and error analysis method (cream). we separated the representation of classification scheme of erroneous actions and the analysis method; therefore, our description of errors modes is adaptable to different training context without any modification on analysis method. we started by defining the common performance conditions, then the direct and indirect relations between consequent-antecedent are modelled using a non-hierarchical data structure. finally, the most probable cause-effect links could be found using dempster-shafer’s theory presented in [5]. in order to integrate the retrospective analysis described above into our existing its, we based on the model mascaret to retrieve information concerning learner’s plans and then detect erroneous actions. finally, we presented our proposition to mapping erroneous actions with hollnage’s classification. the experimental results in gaspar project are also presented. so that, in addition to the detection and tagging of erroneous actions, the its could furthermore indicate the path of probable cause-effect modeling of errors realized by a human learner in virtual environment for training 81 explaining reasons that the errors occur. in the future work, we will concentrate our attention on evaluation of mascaret so that this model could permit to describe more complex tasks in taking into account other factors such as force, distance, speed, direction, etc. hence, other different types of errors modes could be detected and then explained using the retrospective analysis. acknowledgement this article is an extended version of our paper [8] published in proceedings of the rd international conference on virtual learning (icvl’08). the authors would like to thank the scientific committee of icvl’08 (chaired by dr. grigore albeanu) that recommended the publishing of our extended work in ijccc. bibliography [1] r. querrec, c. buche , e. maffre , and p. chevaillier, multiagents systems for virtual environment for training: application to fire-fighting, international journal of computers and applications (ijca), pp. 25-34, june 2004. [2] c. buche and r. querrec, intelligent tutoring system for mascaret, simon richir and bernard taravel, editors, 7th virtual reality international conference (vric’05), pp. 105-108, april 2005, laval, france. [3] e. hollnagel, cognitive reliability and error analysis method, oxford: elsevier science ltd, 1998. [4] n. el-kechaï and c. després, a plan recognition process, based on a task model, for detecting learner’s erroneous actions, intelligent tutoring systems its 2006, pp. 329-338, june 2006, jhongli, taăżwan. [5] n. el-kechaï and c. després, proposing the underlying causes that lead to the trainee’s erroneous actions to the trainer, ec-tel : european conference on technology enhanced learning, pp. 41-55, september 2007, crète, grèce. [6] n. marion, c. septseault, a. boudinot and r. querrec, gaspar : aviation management on an aircraft carrier using virtual reality, cyberworlds, 2007. [7] r.d. serwy and e.m. rantanen, cream navigator, http://www.ews.uiuc.edu/ serwy/cream/v0.6beta/, version 0.6, september, 2007. [8] t.h. trinh, c. buche and j. tisseau, modeling of errors realized by a human learner in virtual environment for training, rd international conference on virtual learning icvl 2008, pp. 71-80, octobre 31, constanta, romania. thanh-hai trinh, received his msc in artificial intelligent & multimedia at the francophone institute for computer science. he is currently a phd student in cerv (virtual reality european centre held at brest, france). his current research interests are in the applications of multi-agent systems and artificial intelligent in virtual environements for training. cédric buche is a professor assistant in computer science and works at the cerv. he works on the use of the behavior modeling agent applied to virtual environment for human learning. he is the leader of the its project in mascaret. ronan querrec is professor assistant in computer science and works at the cerv. his reasearch work is about virtual environment for training. in this theme, he works on the mascaret project, a virtual environment meta-model. jacques tisseau is professor in computer science at the engineer school of brest (enib) where he leads the computer science for complex systems laboratory (lisyc). his research focus on autonomous virtual entities, interaction with these entities and epistemology of virtual reality. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 185-194 fault detection for large scale systems using dynamic principal components analysis with adaptation jesús mina, cristina verde abstract: the dynamic principal component analysis is an adequate tool for the monitoring of large scale systems based on the model of multivariate historical data under the assumption of stationarity, however, false alarms occur for non-stationary new observations during the monitoring phase. in order to reduce the false alarms rate, this paper extends the dpca based monitoring for non-stationary data of linear dynamic systems, including an on-line means estimator to standardize new observations according to the estimated means. the effectiveness of the proposed methodology is evaluated for fault detection in a interconnected tanks system. keywords: fault detection, statistical analysis, dynamic principal component analysis, time series analysis, non-stationary signals. 1 introduction the on-line process monitoring for fault detection and isolation, fdi, is an important task to ensure plant safety and product quality. one of the most consolidated fdi techniques of the last twenty years is the analytical approach, which is based on explicit modeling, this is, models obtained from primary physical principles, some of the analytical approaches are very well revised e.g. [1]. in the case of large scale processes whose analytical models are not available or are difficult to obtain the fdi techniques based on data-driven can help to overcome the problem of modeling, these techniques are based on implicit modeling through multivariate statistical methods, some of these methods are resumed in [2]. principal component analysis (pca) is a multivariate statistical method which models the linear correlation structure of a multivariate process from nominal historical data. pca transforms a set of multivariate observations to a lower dimension orthogonal space, retaining the most variability of the original data [3]. because of the simplification and the orthogonal property obtained with pca, this has been used with success for fault diagnosis issues as in [4] and [5]. it is important to note that like other multivariate statistical methods, pca works under three assumptions: the data follows a multivariate normal distribution; there exist no auto-correlation among observations; and the variables are stationary, this is, the variables should keep constant mean and standard deviation over time [6], [7]. in the case of data with non normal distribution it is possible to carry out an appropriate transformation like square root or logarithm [8], in order to improve the distribution of data. in the case of dynamic systems the auto-correlation in variables is taking into account incorporating time lags of the time series during the modeling stage, this extension is called dynamic principal component analysis, dpca [9]. since pca and dpca assume stationarity during modeling process, high rate of false alarms are generated in the diagnosis stage if the test data are non-stationary. the non stationary problem has been tackled with adaptive versions of pca like in [10] and [11]. although these algorithms adapt means, covariance, and the pca model, however, they can not be used for fdi tasks since the adaptation is based in the variations of actual multivariate observations without distinguish the real causes of changes in the variables. copyright © 2006-2007 by ccc publications supported by dgapa-unam-in11403-2 and the eoli project of the european community inco program contract number ica4-ct-2002-10012 186 jesús mina, cristina verde a non-stationary condition has many possible causes e.g. due to components aging, to faults, even to normal changes in the operating point of the plant, this problem motivated the development of a fault detection algorithm which is robust to changes in the operating point but sensitive to faults. the proposal is based in the fact that the correlation structure between system signals is invariant under nominal conditions, i.e. the relations between variables is the same despite the nominal changes in the mean of the signals, this is a result of the affinity property of nominal signals in linear systems [12]; therefore this work proposes: in the modeling stage, obtain a nominal dpca model from nominal historical data and identify a set of nominal inputs-output relations; in the diagnosis stage, keep the nominal dpca model but estimate actual means of input variables through exponentially weighted moving average (ewma) and estimate means of the output variables from input means through the identified nominal inputs-output relations in order to carry out an appropriate standardization with respect to the estimated means. in the following sections the recursive means estimation process is summarized; next, the proposed extension of dpca based fault detection for changes in the operating point will be described. finally the methodology will be evaluated for faults detection in a three interconnected tanks system. 2 backgrounds 2.1 identification of the inputs-output relations it is proposed the recursive mean estimation of the input signals using ewma and the outputs mean estimation from inputs estimated means and through inputs-output nominal relations. here is proposed to identify the inputs-output relations with moving average models, ma(), for each one of the output variables. lets consider the case of a mimo linear system with r inputs and s outputs y = au (1) u = un + η y = yn + ν (2) where η and ν are stationary white noise vectors added to the inputs and to the outputs, with zero mean and variances σ 2η and σ 2 ν , respectively. each one of the output variables can be expressed as a linear combination of the inputs with corresponding time lag orders q1i, q2i,··· , qri yni (t) = q1i ∑ k=0 ak1i u1 (t −k) +···+ qri ∑ k=0 akriur (t −k) (3) for i = 1,··· , s. the ak1i,··· , akri parameters are obtained through correlation analysis [13]. the identified input-output relations can be expressed in compact form as follows ŷni (t) = âi −→u i (t) (4) where âi = [ â01i ... âq1i 1i ... â0ri ... âqri ri ] fault detection for large scale systems using dynamic principal components analysis with adaptation 187 and −→u i (t) = [ u1 (t) ··· u1 (t −q1i) ··· ur (t) ··· ur (t −qri) ]t the orders q ji of the model (4) is selected through a validation procedure taking the minimal value of the sum of square error as a function of q ji. finally, from (4) for all of the outputs, the relations in matrix notation are given by ŷn (t) = â −→u (t) (5) where ŷn (t) = [ ŷn1 (t) ··· ŷns (t) ]t (s×1) −→u (t) = [ u1 (t) ··· u1 (t −l) ··· ur (t) ··· ur (t −l) ]t (o×1) and â ∈ ℜs×o is made up by the coefficients âk ji = { âk ji , k ≤ q ji f or j = 1, ..., r 0 , q ji < k ≤ l i = 1, ..., s l = max{q11, ..., qr1, ..., q1s, ..., qrs} and o = r (l + 1). 2.2 means recursive estimation once the identification of ma models (5), for the system (1), are obtained, the recursive means estimation is carried out in the following way. the inputs mean recursive estimation can be computed as follows µ̂−→u (t) = β µ̂−→u (t−1) + (1−β )−→u (t) (6) with (0 < β ≤ 1) the forgetting factor of ewma. by the other side, the outputs means at time instant t are estimated from the input means given in (6) and through (5) according with µ̂y(t) = µ̂yn(t) = âµ̂−→u (t) (7) 3 dpca based fault detection with mean parameter estimation the dpca statistical tool is used to obtain an implicit model of a dynamic system from nominal historical data, and use this implicit model to carry out fault detection tasks. the proposed algorithm is illustrated in fig. 1. the idea is not only to obtain a dpca based statistical model but also identify nominal inputs-output relations. so, estimating actual means of input variables through ewma and estimating means of the output variables from input means using the nominal inputs-output relations, an appropriate standardization can be carried out. 188 jesús mina, cristina verde figure 1: proposed fault detection algorithm. (a) modeling stage carried out off-line, (b) detection stage carried out on-line 3.1 dpca based statistical modeling let matrix x be a set of historical data made up of nt observations of r input variables and s output variables, taken from a dynamic system working under nominal conditions and around an operating point x = [ u1 ··· ur y1 ··· ys ] (nt×p) (8) each column in x represents an auto-correlated time series. in dpca the serial correlation is included constructing the named trajectory matrix applying w time lags on each time series, this is −→ x = [ −→ u 1 ··· −→ u r −→ y 1 ··· −→ y s ] (n×m) (9) where e.g. −→ u 1 = [u1 (t) u1 (t −1) ... u1 (t −w)]; n = nt −w and m = p (w + 1). to avoid that some particular variables dominate the modeling process, it is convenient to carry out a data standardization in matrix −→ x in relation to its means and standard deviations. thus, the means of−→ x are given by µ̂−→x = [ 1 n −→ x t 1 ]t = [ µ̂−→u µ̂−→y ] (1×m) (10) where 1 = [1, 1, ..., 1]t ∈ ℜn. by the other side, the covariance matrix of −→x is given by s = 1 n−1 (−→ x −1µ̂−→x )t (−→ x −1µ̂−→x ) from which the standard deviations can be obtained σ̂−→x = √ diag (s) = [ σ̂−→u σ̂−→y ] (1×m) (11) thus, the data standardization is computed in the following way x̃ (i, j) = −→ x (i, j)− µ̂−→x ( j) σ̂−→x ( j) for i = 1, . . . , n and j = 1, . . . , m. fault detection for large scale systems using dynamic principal components analysis with adaptation 189 the uncorrelated principal components z of dimension n × l are obtained through the following transformation z = x̃vt (12) where the orthonormal transformation matrix vt ∈ ℜm×l is composed of an appropriate selection of l eigenvectors, called loading vectors, associated to the correlation matrix r = 1n−1 x̃ t x̃. the data matrix x̃ can be expressed as x̃ = ̂̃x + e = zvtt + e where ̂̃x is the information captured by the l-principal components and e is the information in the neglected m − l-components. so, for the detection purpose it is possible to use the hotelling statistic, t 2zi from z and/or the squared prediction error (spe) from e. in this paper the hotelling statistic is used for fault detection because our interest is not the evaluation of these two statistical parameters but the illustration of reduction of false alarms. for each l-variate observation in z the hotelling univariate statistic t 2zi is given by t 2zi = zis −1 z z t i (13) where sz is the covariance matrix of z. finally, a threshold of normal condition from the probability density function of the set of parameters t 2zi is calculated. [6] propose, among others, for a beta distribution of the data set t 2zi the threshold ucl as ucl = (n−1)2 ( l n−l−1 ) f ( α 2 ; l, n−l −1 ) n ( 1 + ( l n−l−1 ) f ( α 2 ; l, n−l −1 )) (14) where n and l are the dimensions of z and α is a level of significance. in a dpca based modeling conventional approach the implicit model consist of the means and standard deviations vectors (10), (11); the loading vectors in vt ; the variance in the principal components given by sz; and the nominal threshold ucl. however, according with the proposal it is just considered σ̂−→x ,vt , sz and ucl, since µ̂−→x will be estimated recursively. additionally to the statistical modeling it is carried out the identification of the inputs-output relations (5). 3.2 fault detection dpca detects a deviation of vector of actual observation −→x a from the nominal reference in terms of its mean and its standard deviation. however, it is important to note that the modeling process is based in the data set −→ x which was obtained in a particular operating point of the system, so any change in the nominal values of the signals is interpreted by dpca as a fault, even when the process is healthy, this misinterpretation is because of the time variant behavior of components in (10). for linear systems, a change in the operating point means a new assignment in the input variables with consequent variations in the output variables, this is, changes in the mean values of input and output variables but no changes in their correlation structure. however, faults in the system produce changes in the mean values and in the correlation structure between variables. thus, here it is proposed during the detection stage, the on line estimation of the statistical set (10) using nominal linear inputs-output relations in order to adapt the standardization procedure. 190 jesús mina, cristina verde so, according to the proposed extension to dpca based fault detection algorithm, the procedure to evaluate and classify an actual observation −→x a ∈ ℜ1×m is summarized as follows. be the actual observation vector, with input and output variables, expressed in w time lags −→x a = [ −→u a1 ··· −→u ar −→y a1 ··· −→y as ] (15) 1. estimate through (6) the means of the actual input data, µ̂−→u a , and through (7) the nominal means of the output variables, µ̂−→y ; next construct the vector µ̂−→x a = [ µ̂−→u a µ̂−→y ] (1×m) (16) 2. standardize the m terms in (15) using the means estimated given in (16) and the historical standard deviations (11), this is x̃a ( j) = −→x a ( j)− µ̂−→x a ( j) σ̂−→x ( j) for j = 1, . . . , m. 3. transform the x̃a vector to the principal components subspace za through vt za = x̃avt 4. map za in the behaviour symptom t 2za through t 2za = zas −1 z z t a 5. if the resulting value deviates from the normal condition threshold ucl then a fault is present in the system. the key of the proposed methodology is in the continuous estimation of nominal means (16) using the nominal linear inputs-output relations (5) in order to carry out an appropriate standardization. in the following section the proposed fault detection algorithm is applied to detect faults in a three interconnected tanks system considering simple relations for the means estimation. 4 three tanks system the tanks system is composed of three cylindrical tanks, interconnected at the bottom by pipes and with valves v1 in the link between tanks 2 and 3, and v2 in the link between tank 2 and the outside, which aperture can be manipulated in order to emulate faults (e.g. pipe blockage), see fig. 2. the tank dimensions are: ht = 0.63m, at = 0.01539m2. the system is feed by two inputs q1 to the tank 1 and q2 to the tank 2 which are measured just as the output variables h1, h2 and h3 which correspond to tanks levels. the mathematical model is the following at dh1 dt = q1 + q31 −q10 at dh3 dt = q23 −q31 at dh2 dt = q2 −q23 −q20 ; q10 = k1 √ h1 q31 = k31ρ (h3 −h1) q23 = k23ρ (h2 −h3) q20 = k2 √ h2 (17) where ρ (x) , sgn (x) √ |x|. fault detection for large scale systems using dynamic principal components analysis with adaptation 191 q1 q2 at h1 h3 h2 q10 q31 q23 q20 v1 v2 figure 2: three tanks system for the experiments the system was simulated under the following operation point: q01 = 4.75e − 5m3/s, ( σ 2q1 = 1.07e−10 ) ; q02 = 7.35e − 5m3/s, ( σ 2q2 = 1.05e−10 ) ; h01 = 0.147m, ( σ 2h1 = 1.96e−4 ) ; h02 = 0.276m, ( σ 2h2 = 4.81e−4 ) ; h03 = 0.195m, ( σ 2h3 = 2.65e−4 ) ; k1 = 1.816e−4, k31 = 1.005e−4, k02 = 9.804e−5 and k023 = 7.804e−5. taking a set of 400 nominal observations measured every 10s it was obtained a dpca based principal components space of dimensions 301×68, so, for an α = 0.01 the resulting threshold is ucl = 95.886. by the other side, the inputs-output relations identified were h1 = f (q1, q2, q1), h2 = f (q1, q2, q2) and h3 = f (q1, q2, q3) with time lags of order q1 = 61, q2 = 61 and q3 = 60, respectively. 4.1 detection results using a forgetting factor of β = 0.95 for the recursive inputs means estimation (6) the fault detection algorithm is evaluated considering the following cases: 1. fault condition, blockage in the pipe which links tanks 2 and 3, the fault occurrence is at 8000s. 2. normal operation of the system during 15000s, with changes in the means of u1 of +20% in 3000s < t < 6000s; −20% in 9000s < t < 12000s and in u2 of +20% in 4500s < t < 7500s; −20% in 10500s < t < 13500s. 3. change in the mean of u1 of +20% from 4000s and fault condition, blockage in the pipe between tank 2 and 3, at 8000s. the first test is to compare the performance of the dpca based conventional fault detection and the fault detection based in the proposed algorithm, under fault conditions. the monitoring results are given in fig. 3 which shows that both algorithms are able to detect the fault. the second test evaluate the performance of both algorithms before changes in the operation point, the monitoring results are given in fig. 4, where it is cleared observed that the traditional dpca-based fault detection (mon1) interprets the normal changes in the operation point as faults, however, the proposed algorithm (mon2) is robust before these changes, which reduces the false alarm rate. finally, the third test shows the capability of the proposed fault detection algorithm to distinguish between normal variations in the operating point and the presence of faults, see fig. 5. 5 conclusions here, a modification to the dpca algorithm for fault detection has been proposed, in which an appropriate standardization with respect to on-line estimated statistical parameters is carried out if simple 192 jesús mina, cristina verde 0 5000 10000 15000 0 50 100 150 200 250 300 350 400 450 t(s) mon1 mon2 ucl figure 3: fault condition: ucl threshold of normal condition; mon1 dpca-based monitoring; mon2 dpca with adaptation 0 5000 10000 15000 0 200 400 600 800 1000 1200 1400 1600 1800 t(s) mon1 mon2 ucl figure 4: normal condition: ucl threshold of normal condition; mon1 dpca-based monitoring; mon2 dpca with adaptation 0 5000 10000 15000 0 100 200 300 400 500 600 t(s) mon1 mon2 ucl figure 5: normal and fault condition: ucl threshold of normal condition; mon1 dpca-based monitoring; mon2 dpca with adaptation fault detection for large scale systems using dynamic principal components analysis with adaptation 193 healthy relations between variables can be obtained. this idea allows to deal with non-stationary signals and to reduce significatively the rate of false alarms. it was shown through a series of tests the effectiveness of the proposed fault detection algorithm to distinguish between normal changes in signals and the variations due to the presence of faults. references [1] r. j. patton, p. m. frank, r. n. clark, issues of fault diagnosis for dynamic systems, springerverlag, 1989, london. [2] l. h. chiang, e. l. russell, r. d. braatz, fault detection and diagnosis in industrial systems, advanced textbooks in control and signal processing, springer-verlag, 2001, london. [3] j. e. jackson, a users guide to principal components, john wiley, 1991, new york. [4] j. v. kresta, j. f. macgregor, t. e. marlin, multivariate statistical monitoring of process operating performance, the canadian journal of chemical engineering, vol. 69, pp. 35-47, february, 1991. [5] a. raich, a. çinar, statistical process monitoring and disturbance diagnosis in multivariable continuous processes, aiche journal, vol. 42, no. 4, pp. 995-1009, april, 1996. [6] n. d. tracy, j. c. young, r. l. mason, multivariate control charts for individual observations, journal of quality technology, vol. 24, no. 2, pp. 88-95, april, 1992. [7] a. norvilas, a. negiz, j. decicco, a. çinar, intelligent process monitoring by interfacing knowledge-based systems and multivariate statistical monitoring, journal of process control, vol. 10, no. 4, pp. 341-350, august, 2000. [8] d. c. montgomery, introduction to statistical quality control, john wiley, 2001, new york. [9] w. ku, r. h. storer, ch. georgakis, disturbance detection and isolation by dynamic principal component analysis, chemometrics and intelligent laboratory systems, vol. 30, no. 1, pp. 179196, november, 1995. [10] n. b. gallagher, b. m. wise, s. w. butler, d. d. white, g. g. barna, development and benchmarking of multivariate statistical process control tools for a semiconductor etch process: improving robustness through model updating, adchem’97, banff, canada, pp. 78-83, 9-11 june, 1997. [11] w. li, h. h. yue, s. valle-cervantes, s. j. qin, recursive pca for adaptive process monitoring, journal of process control, vol. 10, no. 5, pp. 471-486, october, 2000. [12] t. kailath, a. h. sayed, b. hassibi, linear estimation, prentice hall, 2000, new jersey. [13] g. e. p. box, g. m. jenkins, g. c. reinsei, time series analysis: forecasting and control, prentice hall, 1994, new jersey. jesús mina, cristina verde instituto de ingeniería-unam automatización coyoacán, df, 04510, méxico, fax: (52)-55-56233600 ext 8052 e-mail: jminaa@iingen.unam.mx, verde@servidor.unam.mx received: january 15, 2007 194 jesús mina, cristina verde jesús mina received the bs degree in electric eng. from tuxtla gutiérrez technological institute, méxico in 1999; the ms degree in electronic eng. from the research and technological development national center, méxico in 2002; and currently is a student in the phd program in electrical eng. of the national university from méxico. he was professor from 2002 to 2003 in the zacatepec technological institute. he has carried out research in non-linear control for power active filters and currently is interested in fault diagnosis based in multivariate statistical analysis. jesús mina is a member of the international society of automation. cristina verde received the bs degree in electronic and communication eng. from national polytechnic, méxico in 1973, the ms degree in electrical eng. from the national polytechnic, in méxico 1974 and the phd degree in electrical eng. from the duisburg university in germany in 1983. in 1984, she joined the national university from méxico (unam) and became the head of the automatic control department in 1988. she has been the coordinator of the postgraduate school in computer science and engineering from the national university. she has used the control theory to improve distribution, regulation and quality of water in méxico and her main topics of research interests include automatic fault detection and diagnosis for dynamic systems and integrity of industrial process. she got the prize sor juana ines de la cruz given by the national university to the outstanding women in the engineering field in 2005. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 135-148 feedback gain design method for the full-order flux observer in sensorless control of induction motor abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi abstract: this paper deals with a feedback gain design method for the full-order flux observer with adaptive speed loop, which enables the minimizing the unstable operation region of this observer to a line in the torque-speed plane. the stability in regenerating mode is studied using necessary condition of stability based on determinant of matrix and a linearized model. simulations results where the proposed observer is compared with an exiting solution (where the unstable region is not totally removed) are presented to validate the proposed observer design. keywords: induction motor, full-order flux observer, sensorless control, stability analysis, adaptive speed estimator, regenerating mode 1 introduction the speed-sensorless control of induction motor drives have developed significantly during the last number of years. speed adaptive full observers introduced by [8], [15] are promising flux estimators for inductions motors drives. the speed adaptive observer consists of a state variable observer augmented with a speed adaptation loop. the observer gain and the speed adaptive law determine the properties of the observer. the speed adaptation law is based on the component of the current estimation error with the estimated rotor flux. the adaptation law was originally derived using the lyapunov stability theory [8]. however, the stability of the adaptation law is not guaranteed and stability problem exist in the regenerating mode. the derivation in [8] neglects a term including the actual rotor flux (which is not measurable). the positive-realness condition is not satisfied as shown [5]. some limits of operation were quickly highlighted [9], [13]. in particular, a well known instability region was described in regenerating mode. thus, the drive stability can’t be guaranteed when this type of observer is associated with a field oriented control. there was many work in order to reduce this region of instability which is due to inadequate observer design [1, 2, 5, 14]. in this paper, we describe the design of an adaptation law that minimizes the instability region of an adaptive speed estimator. the paper is organized as follows. the induction motor model and the speed adaptive flux observer are first defined in section 2 and 3 respectively. we introduce the observer gain design in section 4 leading to a reduced instability region limited to a line. finally, simulations results are presented and discussed in section 5, where the proposed observer is compared with an exiting solution [5, 13]. 2 induction motor model the induction motor is described by the following state equations in the synchronous rotating reference frame with complex notations: d dt x = a (ω, ωs) x + bus (1) is = cx (2) where x = [ ψ r is ] t a =   −( 1 tr + jωsl ) lm tr lm b ( 1 tr − jω) −(a + jωs)   , b =   0 1 σ ls   , c = [ 0(2×2) i ] , i = [ 1 0 0 1 ] (3) copyright © 2006-2008 by ccc publications 136 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi and the mechanical equation is: d dt ω = p2 lm jlr ℑ(isψ ∗ r )− p tl j (4) where ∗ means a conjugate, j a complex number and ℑ an imaginary part. ψ r : rotor flux; is : stator current; us : stator voltage; ωs : stator angular frequency; ω : motor angular speed; ωsl = ωs − ω : slip angular frequency; rs, rr : stator and rotor resistance; ls, lr : stator and rotor self-inductance; lm : mutual inductance; tl : load torque; j : rotor inertia ; p : number of pole pairs; tr = lr/rr : rotor time constant; a = (l2r rs + l 2 mrr)/(σ lsl 2 r ); b = σ lslr; σ = 1−(l2m)/(lslr) : leakage coefficient. 3 adaptive observer the conventional full-order observer, which estimates the stator current and the rotor flux together [10, 11], is written as the following state equation. d dt x̂ = â (ω̂, ω̂s) x̂ + bus + g(is − îs) (5) îs = cx̂ (6) where ̂ means the estimated values and g = [ g1 g2 ]t is the observer gain matrix. we assume that all machine parameters are perfectly known except the motor speed. using the assumption of constant angular rotor speed ω̇ = 0 (i.e. the speed variations are slow with respect to electrical mode) [8], [5], the speed adaptive law is [8]: d dt ω̂ = λ lm b (eid ψ̂rq −eiqψ̂rd ) (7) where λ is a positive constant and will be tuned in (7) to improve observer dynamics. in practice, proportional-integral action is used in order to improve the dynamic behavior of the estimator. d dt ω̂ = kp d dt (eid ψ̂rq −eiqψ̂rd ) + ki(eid ψ̂rq −eiqψ̂rd ) (8) where eid = isd − îsd , eiq = isq − îsq, (isd , isq) are (d,q) components of stator current, (ψrd , ψrq) are (d,q) components of rotor flux. the speed adaptive observer scheme with the speed adaptation mechanism is presented in fig. 1. 4 observer gain design 4.1 linearized model the nonlinear and complicated dynamics of the speed adaptive observer can be studied via smallsignal linearization. it is useful to proceed with a local analysis based in the principle of stability in the first approximation [12, 7]. we will choose the particular form g1 = g1i2×2 where i2×2 is the identity matrix and g2 = 02×2. the complete adaptive observer may be written as equation (10). note that according the assumption ω̇ = 0, the motor model (1) may be written as (9)    d dt ψ r = −( 1 tr + jωsl )ψ r + lm tr is d dt is = lm b ( 1 tr − jω)ψ r −(a + jωs)is + 1 σ ls us d dt ω = 0 (9) feedback gain design method for the full-order flux observer in sensorless control of induction motor 137 induction motor b â speed adaptive law eq. (8) + + + ∫ ω̂ g c i s x̂ î s − + u s 1 figure 1: speed adaptive observer    d dt ψ̂ r = −( 1 tr + jω̂sl )ψ̂ r + lm tr îs + g1δ ei d dt îs = lm b ( 1 tr − jω̂)ψ̂ r −(a + jω̂s)̂is + 1 σ ls us d dt ω̂ = kp d dt (eid ψ̂rq −eiqψ̂rd ) + ki (eid ψ̂rq −eiqψ̂rd ) (10) we investigate the stability of the observer by linearizing the two systems (10) and (9) around an equilibrium operating point.defining the new state vectors x = xo + δ x with xo = [ ψ ro iso ωo ] t , δ x = [ δ ψ r δ is δ ω ]t and x̂ = x̂o + δ x̂ with x̂o = [ ψ̂ ro îso ω̂o ] t , δ x̂ = [ δ ψ̂ r δ îs δ ω̂ ] t . the reference frame is synchronized with the estimated rotor flux (ψ̂rqo = 0), then its two components are ψ̂rd = ψ̂o + δ ψ̂rd and ψ̂rq = δ ψ̂rq. in these two systems, the stator frequencies are regarded as identical : ωs = ω̂s [5]. preserving only dynamic parts, the two systems (9), (10) become after linearization,:    d dt δ ψ r = −( 1 tr + jωslo )δ ψ r + lm tr δ is − jψoδ ωsl d dt δ is = lm b ( 1 tr − jωo)δ ψ r −(a + jωso)δ is + 1 σ ls δ us − j lm b ψoδ ω − jisoδ ωs d dt δ ω = 0, (11)    d dt δ ψ̂ r = −( 1 tr + jω̂slo )δ ψ̂ r + lm tr δ îs − jψ̂oδ ω̂sl + g1δ ei d dt δ îs = lm b ( 1 tr − jω̂o)δ ψ̂ r −(a + jω̂so)δ îs + 1 σ ls δ us − j lm b ψ̂oδ ω̂ − jîsoδ ω̂s d dt δ ω̂ = −kp(− lm b ωoψ̂oδ ψ̂ rd + lm btr ψ̂oδ ψ̂ rq −ωsoψ̂oδ îsd −aψ̂oδ îsq − lm b ψ̂oδ ω̂s) −ki(−eidoδ ψ̂ rq + eiqoδ ψ̂ rd + ψ̂ oδ eiq). (12) 138 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi defining δ e = [ δ eψ δ ei δ eω ]t , the system describing the estimation error is as follows:    d dt δ eψ = −( 1 tr + jωslo )δ eψ + ( lm tr −g1)δ ei − jeψo δ ωsl + jeωo δ ψ̂ r + jψ̂oδ eω d dt δ ei = lm b ( 1 tr − jωo)δ eψ −(a + jωso)δ ei − j lm b eψo δ ω − j lm b eωo δ ψ̂ r − jeioδ ωs − j lm b ψ̂ o δ eω d dt δ eω = kp(− lm b ωoψ̂oδ eψ d + lm btr ψ̂oδ eψ q −ωsoψ̂oδ eid −aψ̂oδ eiq − lm b ψ̂oδ eω ) +ki(−eidoδ ψ̂ rq + eiqoδ ψ̂ rd + ψ̂ oδ eiq). (13) separating each state in d and q components, we obtain the corresponding state matrix â1: â1 =   − 1 tr ωslo lm tr −g1 0 0 −ωslo − 1 tr 0 lm tr −g1 ψ̂o lm btr lm b ωo −a ωso 0 −lm b ωo lm btr −ωso −a − lm b ψ̂o −lm b kpωoψ̂o lm btr kpψ̂o −kpωsoψ̂o (ki −akp)ψ̂o − lm b kpψ̂o   (14) note the dependency of the dynamic matrix â1 by the operating condition. in order to obtain analytic conditions about the local stability using the necessary condition for stability based on the determinant of (14) [4], it is possible to obtain a relevant result as reported in the next section. 4.2 stability criterion we use the following property: det(â1) = 5 ∏ i=1 λi (15) where λi are the eigenvalues of matrix â1. the determinant of matrix â1 is: det(â1) = −lmψ̂ 2o kiωso((ωso −ωo)abtr + l2mωo −lmωog1tr + ωsob)/(b2tr) (16) the condition det(â) = 0 leads to: ωso = 0, (17a) ωso = ωo g1lm + rslr (rrls + rslr) . (17b) these conditions of stability may be expressed in the torque/speed plane. let us consider the mechanical equation: d dt ω = p2 lm jlr ℑ(isψ ∗ r )− p tl j . (18) under rfoc conditions and steady state (ψ̂rqo = ψrqo = 0), we obtain: 0 = p lm lr ψ̂oisqo −tlo (19) feedback gain design method for the full-order flux observer in sensorless control of induction motor 139 then isqo = lr plmψ̂o tlo. (20) from system (1), in the same conditions, we find : ωslo = lm trψ̂o isqo. (21) finally using ωso = ωslo + ωo, equations (17a) and (17b) become tlo = − pψ̂ 2o rr ωo (22a) tlo = − pψ̂ 2o rr (1− g1lm rrls )ωo (1 + ts tr ) (22b) with ts = ls/rs. above relations describe respectively two lines, defining two well known instability regions in regenerating mode. an sufficient condition for instability is then: det(â1) > 0. (23) the condition (23) defines a set whose the instability region is a subset. in order to complete the study of local stability, we plot for each eigenvalue, the locus in the torque/plane where conditions (ℜ(λi) > 0, i = 1 . . . 5) are verified. in one hand, if we chose a zero observer gain, as in [9], g1 = 0 (24) we obtain the instability region limited by lines d1 and d2, (fig. 1) where ℜλi > 0, i = 1...5, are the positive real part of the eigenvalues λi of the state matrix â1. the eigenvalues correspond respectively to the states variables δ eψrd , δ eψrq , δ eid , δ eiq and δ eω . tlo = − pψ̂ 2o rr ωo (1 + tr ts ) (25) in other hand, in order to reduce (not totally remove) the unstable region, a real valued observer gain was considered in [13] which corresponds to the region limited by lines d1 and d3, (fig. 3). the value of the parameter g1 selected is: g1 = −0.25rs (26) it is be noted that the curves corresponding to zero observer gain are similar, except that the unstable region is larger. tlo = − pψ̂ 2o rr (1 + 0.25rslm rrls )ωo (1 + tr ts ) (27) the principle of the instability reduction proposed here consists in the calculation of the feedback gain so that the unstable region will be limited to the inobservabilité line (d1). we can note that, whatever the structure of the matrix g, (d1) is always defined by ωso = 0. from equation (16), we can write the 140 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi −200 −150 −100 −50 0 50 100 150 200 −50 −40 −30 −20 −10 0 10 20 30 40 50 ω o (rad/s) t l o (n m ) region (ω o ,t lo ), zero observer gain ℜλ 2 of δψ rq ℜ 0λ 3 of δi sd reλ 4 of δi sq ℜλ 5 of δω tlo − tlo d1, wso=0 d2 figure 2: torque/speed plane,g1 = 0, ℜ(λi) > 0, i = 1...5 −200 −150 −100 −50 0 50 100 150 200 −50 −40 −30 −20 −10 0 10 20 30 40 50 ω o (rad/s) t l o (n m ) region (ω o , t lo ), observer gain g 1 = − 0.25 r s ℜλ 2 of δψ rq ℜ 0λ 3 of δi sd ℜλ 4 of δi sq ℜλ 5 of δω t lo − t lo d 1 , (ω wso =0) d 2 d 3 figure 3: torque/speed plane, g1 = −0.25rs, ℜ(λi) > 0, i = 1...5 feedback gain design method for the full-order flux observer in sensorless control of induction motor 141 condition ωso = 0 in equation (28) (ωso −ωo)abtr + l2mωo −lmωog1tr + ωsob = 0 (28) which can be achieved by choosing the following observer gains g1 = − lrrs lm (29) the straight line (d1) correspond to zero synchronous speed ωs = 0. it is known in the literature as the inobservability line (normally referred as dc-excitation) [6, 3] and seems to be a generic problem for sensorless control of induction motors. 5 simulations results in order to validate the proposed design, the regenerating mode low speed operation of the speed adaptive observer was investigate by means of simulations. a rotor flux oriented control (rfoc) is simulated using matlab/simulink software. the block diagram of the control system is shown in fig.4. the flux reference is fixed to the nominal value ψ re fo where ref denotes the reference value. the proposed usd -+ ω ref ω̂ + i ref sq -+ ψ ref o ψ̂r + i ref sd cω(s) cψ(s) ci(s) ci(s) isd isq usq motor adaptive observer eq. (5) usd usq isd isq ψ̂r ω̂ i sd i sq ψrd ψrq ω model eq. (1) 1 figure 4: block diagram of sensorless rfoc induction motor simulator. observer is compared with an exiting solution [13]. in order to validate the proposed design, we studied a conventional test used by industrial drive designers: very low and progressive load torque increase under constant speed; fig. 5 depicts results in regenerating mode obtained using the observer gain g1 = −0.25rs, [13], [5]. the speed reference was set to (−25rad/s) (dashed line) and a rated-load torque ramp was applied at t=0. after applying the load progressively, the drive should operate in the regenerating mode. however, the actual angular speed et actual flux of the motor collapse and the system becomes unstable. fig. 6 present results obtained using the proposed observer design. the system behaves stably. on fig. 7, the observer gain g1 = −0.25rs was used. real speed diverges. first subplot shows reference (dashed line) and actual angular speed. second subplot shows rated-load torque ramp. third subplot present actual flux components (ψrα , ψrβ ) in stator reference frame. fouth subplot, shows control voltages. in the fifth and six subplot respectively, we present current and current norm. we note that when the load torque increases, the control voltage, the current and the current norm increase too. on fig.8, the proposed observer design was used. the system becames stable. real rotor angular speed converges well towards the reference value in response to the same rated-load torque. note the behavior of the actual flux at (t ≈ 3.75 s) when the real angular rotor speed crosses the line (d1 = d3). the system becomes unobservable at this time. 142 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 t l o ( n m ) region (ω o ,t lo ) d 1 d 3 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 ω o (rad/s) t l o ( n m ) figure 5: a rated-load torque ramp is applied with the observer gain g1 = −0.25rs. first subplot shows region (ωo, tlo) with the two lines d1 and d3. second subplot shows the actual angular speed. feedback gain design method for the full-order flux observer in sensorless control of induction motor 143 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 t l o ( n m ) region (ω o ,t lo ) d 1 , (ω so =0) d 3 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 ω o (rad/s) t l o ( n m ) figure 6: a proposed observer design was used. first subplot shows region (ωo, tlo) with the line d1 = d3. second subplot shows the actual angular speed. 144 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi 0 2 4 6 −40 −30 −20 −10 0 ω o (r a d /s ) 0 2 4 6 0 5 10 15 20 25 t l o ( n m ) 0 2 4 6 −3 −2 −1 0 1 2 time(s) ψ rα , ψ rβ ( w b ) 0 2 4 6 −400 −200 0 200 u sα , u sβ ( v ) 0 2 4 6 −30 −20 −10 0 10 20 i s α , i s β (a ) 0 2 4 6 0 10 20 30 c u rr e n t n o rm ( a ) time(s) figure 7: instability phenomenon with observer gain g1 = −0.25rs. feedback gain design method for the full-order flux observer in sensorless control of induction motor 145 0 2 4 6 −40 −30 −20 −10 0 ω o (r a d /s ) 0 2 4 6 0 5 10 15 20 25 t l o ( n m ) 0 2 4 6 −3 −2 −1 0 1 2 time(s) ψ rα , ψ rβ ( w b ) 0 2 4 6 −400 −200 0 200 u sα , u sβ ( v ) 0 2 4 6 −30 −20 −10 0 10 20 i s α , i s β (a ) 0 2 4 6 0 10 20 30 c u rr e n t n o rm ( a ) time(s) figure 8: the instability was removed by the proposed observer design g1 = −lrrs/lm. 146 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi 6 appendix 6.1 induction motor parameters voltage rating : 380 v , current rating: 2.2 a, number of phases: 3, rated power: 1.1 kw , frequency: 50 hz, rated speed: 1430 r pm/min, p = 2, ls = 0.472 h, lr = 0.4721 h, lm = 0.4475 h, rs = 9.65 ω, rr = 4.3 ω. 7 conclusions the feedback gain design method proposed in this paper reduces the instability region of adaptive observer to a inobservability line (d1) (ωso = 0). the observer using the proposed gain does not have the unstable region, which was shown by means of speed/torque plane and a linearized model. the stability of the regenerating-mode operation was also confirmed by simulations. bibliography [1] a. bouhenna, c. chaigne, n. bensiali, e. etien and g. champenois, design of speed adaptation law in sensorless control of induction motor in regenerating mode, simulat. modell. pract. theory, elsevier, doi:10.1016, simpat.2007.04.005, vol. 15, no.7, pp. 847-863, 2007. [2] a. bouhenna, contribution à la commande sans capteur mécanique de la machine asynchrone en mode générateur à basse vitesse, thèse de doctorat en sciences, université des sciences et de la technologie d’oran, algérie, octobre, 2007. [3] c. canudas de wit and a. youssef and j. p. barbot and ph. martin and f. malrait, observability conditions of induction motors at low frequencies, proc. cdc, sydney, pp. 1-7, 2000. [4] e. etien and n. bensiali and c. chaine and g. champenois, adaptive speed observers for sensorless control of induction motors: a new criterion of stability, international review of electrical engineering, vol. 1, pp. 36-43, 2006. [5] m. hinkanen, stabilization of regenerating-mode operation in sensorless induction motor drives by full-order flux observer design, ieee trans. ind. electron., vol. 51, pp. 1318-1328, 2004. [6] h. hofmann and s. sanders, speed-sensorless vector torque control of induction machine using a two-time-scale approach, ieee trans. on ind. appl., vol. 34, pp. 169-177, 1998. [7] h. k. khalil, nonlinear systems, macmillan, new york, 1983. [8] h. kubota and k. matsuse, dsp-based speed adaptive flux observer of induction motor, ieee trans. ind. appl., vol. 29, pp. 344-348, 1993. [9] h. kubota and i. sato, regenerating mode low speed operation of sensorless induction motor drive with adaptive observer, ieee trans. ind. appl., vol. 38, pp. 1081-1086, 2002. [10] a. mansouri and m. chenafa and a. bouhenna and e. etien, powerful nonlinear observer associated with field-oriented control of an induction motor, international journal of applied mathematics and computer sciences, vol. 14, no. 2, pp. 209-220, 2004. feedback gain design method for the full-order flux observer in sensorless control of induction motor 147 [11] m. chenafa and a. mansouri and a. bouhenna and e. etien and a. belaidi and m. a. denai, global stability of linearizing control with a new robust nonlinear observer of the induction motor, international journal of applied mathematics and computer sciences, vol. 15, no. 2, pp. 235-243, 2005. [12] m. montanarri and s. peresada and a. tilli, observeless scheme for sensorless control of induction motor: stability analysis and design procedure, proc. of the 10th mediterranean conference and automation, med’02, lisbon, 2002. [13] s. suwankawin and s. sangwongwanich, speeds sensorless im drive with decoupling control and stability analysis of speed estimation, ieee trans. ind. electron., vol. 49, pp. 444-455, 2002. [14] s. suwankawin and s. sangwongwanich, design strategy of an adaptive full order observer for speed sensorless induction motor drives-tracking performance and stabilization, ieee trans. ind. electron. vol. 53, pp. 96-119, 2006. [15] g. yang and t. chin, adaptive-speed identification scheme for a vector-controlled speed sensorless inverter-induction motor drive, ieee trans. ind. appl. electron., vol. 29, pp. 820-825, 1993. a. bouhenna1, a. mansouri1, m. chenafa1, and a. belaidi1 1 e.n.s.e.t. d’oran, laboratoire d’automatique et d’analyses des systèmes, (l.a.a.s) département de génie électrique, b.p 1523, el m’naouer, oran, algérie e-mail: bouhenna @ enset-oran.dz, (abouhenna @ yahoo.fr) received: october 10, 2007. 148 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi abderrahmane bouhenna was born in 1955. he receive the dipl. eng. degree in electronic engineering, the m. s degree and the doctorat in automatic from u.s.t.o, oran, algeria in 1980, 1987 and 2007 respectively. he is currently a professeur searcher in the laboratory of automatic and analysis systems at enset of oran (algeria). he work on the subject of sensorless control and observers of induction motors and obtained some results in this domain for the stabilisation of the observers and the control of the mas in regenerating mode at low speed. abdellah mansouri was born in oran in algeria, in 1953. he received his bs degree in electronic engineering from usto (algeria) in 1979, the ms degree in engineering control from usto (algeria) in 1991, and the phd degree in engineering control from usto (algeria) in 2004. he is currently professor of automatic control at enset of oran (algeria). his research interests are non linear control and observers applied in induction motor and manipulator robot. mohammed chenafa was born in oran in algeria, in 1954. he received his bs degree in electronic engineering from usto (algeria) in 1979, the ms degree in signal processing and robotic from usto (algeria) in 1998, and the phd degree in engineering control from usto (algeria) in 2005. he is currently professor of automatic control at enset of oran (algeria). his research interests are non linear control and observers applied in induction motor and manipulator robot. abdelkader belaidi, professor in 1981 he obtained a ph.d in radiation physics at the university of east anglia, norwich england. his fields of interest are collision damage in materials and neural and fuzzy logic. now, he is a professor of physics and applied computing at the higher school of education oran algeria. he is also head of automatic and system analysis laboratory (laas). international journal of computers, communications & control vol. iii (2008), no. 1, pp. 60-68 evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts kamalrulnizam abu bakar, b. s. doherty abstract: as agent technology is expected to become a possible base platform for an electronic services framework, especially in the area of electronic commerce, reliable security protection is a crucial aspect, since some transactions in this area might involve confidential information, such as credit card number, bank account information or some form of digital cash, that has value and might therefore be attacked. in addition, without proper and reliable security protection, the wide spread use of agent technology in real world applications could be impeded. in this paper, evaluation of the recorded state mechanism (rsm) previously proposed by the authors is presented. the evaluation examines the rsm security protection and implementation overhead, in order to analyse the rsm security strength and implementation feasibility in real world application. keywords: agent security, malicious host, recorded state mechanism. 1 introduction problem in agent technology arise when agents are used in an open and unsecured environment. for example, a customised agent application is sent out to visit several airline servers (in an open and unsecured environment) to find a suitable flight. in this example, the agent application is allowed to completely migrate to (the agent originating host transfer the agent’s code, data and state to the remote server) and execute in (the remote server executed the receiving agent application) the remote server environment, to take advantage of exploiting resource near the data source and thus reducing network traffic [20]. this opens a greater opportunity for the agent application to be abused by the executing host, because the agent application is fully under control of the executing host [10, 19]. an example of attack by the executing host (the malicious host) is to tamper with the agent’s data or state, so that the agent will forget all the previous visits and offers held by the agent, and thus force the agent (application) to accept an offer from the malicious host even though the malicious host’s offer is not the best offer [10, 17, 19]. this kind of attack is known as a manipulation attack [11, 10]. in this attack, the owner of the agent may not know the attack has happened. this is because the malicious host may make subtle changes in the agent’s code, data and state, which are difficult to detect, thus enabling the malicious host to achieve its objective. in addition, the agent (application) that returns from the malicious host does not show any different behaviour from an untampered agent, which makes the attack difficult to detect and prevent. the problem of manipulation attack has been addressed by the authors using the recorded state mechanism (rsm) [1, 2]. the rsm uses the state of an agent, which is recorded during the agent execution process inside an execution host environment to detect the malicious host manipulation attack. in this paper the evaluation of the recorded state mechanism is presented. the evaluation analyse the rsm’s security and overhead its feasibility in real world applications. the paper is organized as follows: section 2 presents the evaluation of the recorded state mechanism, which includes the analysis on the security and implementation overhead of the rsm. section 3 presents a discussion and the conclusion is presented in section 4. copyright © 2006-2008 by ccc publications evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts 61 2 the evaluation of the recorded state mechanism the recorded state mechanism is an integrity protection mechanism that is able to detect manipulation attacks from a malicious host. the mechanism consists of three different types of container, the recordedreadonly, recordedexecuteonly and recordedcollectonly that are used to record the agent state information. this recorded agent state information, which consists of the data of the agent (located in its variables) and the execution information (such as the program counter, the call stack and a few more items) is used for detecting any modification attacks from the malicious host in order to protect the integrity of the agent during agent execution inside the malicious host environment. the evaluation of the recorded state mechanism is presented by examines the rsm security protection and implementation overhead that will be discussed in the next section. 2.1 the security analysis of the recorded state mechanism to assess the strength of the recorded state mechanism, its ability to handle well-known attacks is discussed in table 1. summary of evaluation of recorded state mechanism the recorded state mechanism is able to detect most of the malicious host attacks that try to tamper with the agent’s data and state integrity. this mechanism when combined with distributed migration pattern, can prevent collaboration attacks by two or more hosts and extraction of information by the malicious host. however attacks such as an execution host lying about input data cannot be detected or prevented by this mechanism, because the attack does not alter any state information, and so leaves no trace. 2.2 the overhead of implementing the recorded state mechanism the experiments to measure the overhead of implementing the recorded state mechanism are conducted using six 400 mhz sun ultra sparc 5 workstations with 128 mb of main memory. each of the workstations is running the solaris 8 operating system and is connected to the others using 100 mbit/s utp1 cable. all of the workstations involved in this experiment were situated in the same room. in this configuration, one workstation will be chosen among the six workstations to be the home host for the agent, and only this host has the permission to manage and dispatch the agent. the rest of the workstations are assumed to be the remote host, having only the capability to receive and dispatch the agent back to its home host. to evaluate the security overhead for implementing the recorded state mechanism in an agentbased application, times are measured starting from sending of the agents to the remote hosts and ending by receiving the agents back from the remote hosts. the times, are measured using the “system.currenttimemillis()” method in the java language. this method produces a specific instant in time with millisecond precision [14]. the experiments are done using four different remote host starting with one remote host, two remote hosts, three remote hosts and five remote hosts on three different types of agent: plain agent2, agent with cryptographic security mechanism (crypto) and agent with these security mechanisms and the recorded state mechanism (crypto+rsm). there are four different experiments used in examining the overhead for implementing the recorded state mechanism: one input and one cycle, one hundred inputs and one cycle, one input and one thousand cycles, and one hundred inputs and one thousand cycles. the input is 1unshielded twisted pair category 5e 2agents without security mechanisms 62 kamalrulnizam abu bakar, b. s. doherty a t t a c k s s o l u t i o n s t h e m a l i c i o u s h o s t c o u l d m a k e s u b t l e c h a n g e s o n r e a d o n l y d a t a i n s i d e t h e r e c o r d e d r e a d o n l y c o n t a i n e r t o e n a b l e i t t o a c h i e v e i t s o b j e c t i v e , i n s u c h a w a y t h a t t h e o w n e r ' s d i g i t a l s i g n a t u r e t h a t w a s s i g n e d i n t h e r e c o r d e d r e a d o n l y c o n t a i n e r s t i l l r e m a i n s v a l i d . t h i s a t t a c k c a n b e r u l e d o u t , b e c a u s e t h e d i g i t a l s i g n a t u r e ( u s i n g s h a 1 ) , w h i c h i s u s e d i n t h e r e c o r d e d s t a t e m e c h a n i s m i s s e c u r e d a g a i n s t b r u t e f o r c e c o l l i s i o n a n d i n v e r s i o n a t t a c k s , w h e r e b y u s i n g t h e s h a 1 a s t h e d i g i t a l s i g n a t u r e f u n c t i o n c o u l d m a k e t h e a t t a c k e r c o m p u t a t i o n a l l y i n f e a s i b l e t o f i n d a m e s s a g e w h i c h c o r r e s p o n d s t o a g i v e n m e s s a g e d i g e s t , o r t o f i n d t w o d i f f e r e n t m e s s a g e s w h i c h p r o d u c e t h e s a m e m e s s a g e d i g e s t . t h e m a l i c i o u s h o s t c o u l d a l s o m a k e s u b t l e c h a n g e s o n b o t h t h e r e a d o n l y d a t a a n d t h e d i g i t a l s i g n a t u r e f o r t h e r e c o r d e d r e a d o n l y c o n t a i n e r , i n o r d e r t o m a k e b o t h o f t h e m a p p e a r t o b e v a l i d . t h i s p o s s i b l e a t t a c k c a n a l s o b e r u l e d o u t b e c a u s e i n o r d e r t o c r e a t e a n e w d i g i t a l s i g n a t u r e t h a t w i l l b e v a l i d f o r o t h e r h o s t , t h e m a l i c i o u s h o s t n e e d s t o h a v e a p r i v a t e k e y o f t h e a g e n t o w n e r . h o w e v e r , o n l y t h e k e y o w n e r h a s t h i s k e y a n d n o o t h e r e n t i t y c a n p r o d u c e t h i s k e y f r o m a m o d i f i e d h a s h v a l u e . t h e m a l i c i o u s h o s t c o u l d a l s o t a m p e r w i t h t h e a g e n t s t a t e r e c o r d e d i n t h e r e c o r d e d e x e c u t e o n l y a n d r e c o r d e d c o l l e c t o n l y c o n t a i n e r b y m o d i f y i n g t h e a g e n t s t a t e b e f o r e t h e s t a t e i s r e c o r d e d i n t o b o t h c o n t a i n e r s . t h i s d u e t o t h e f a c t t h a t t h e r e c o r d e d p r o c e s s o f t h e r e c o r d e d s t a t e m e c h a n i s m i s u n d e r t h e m a l i c i o u s h o s t ' s c o n t r o l a n d t h e r e f o r e , t h e m a l i c i o u s h o s t c a n d o a n y t h i n g t o i t . t h i s a t t a c k c a n a l s o b e r u l e d o u t b e c a u s e t h e m a l i c i o u s h o s t h a s t o u s e i t s o w n p r i v a t e k e y t h a t c o n t a i n s i t s i d e n t i t y i n o r d e r t o c o m p u t e a n d r e c o m p u t e t h e d i g i t a l s i g n a t u r e o n t h e t a m p e r e d s t a t e , t h u s r e v e a l i n g i t s e l f d u r i n g t h e v e r i f i c a t i o n p r o c e s s . t h e m a l i c i o u s h o s t c o u l d a l s o a t t a c k t h e a g e n t b y l a u n c h i n g c o l l a b o r a t i o n a t t a c k s i n c o o p e r a t i o n w i t h t w o o r m o r e c o n s e c u t i v e h o s t s i n o r d e r t o d e n y t h e c h e c k i n g p r o c e s s f o r d e t e c t i n g a n y m a l i c i o u s h o s t a t t a c k f r o m t h e p r e v i o u s v i s i t o r t o r e m o v e a n y a g e n t s t a t e t h a t r e c o r d s t h e c h a n g e s m a d e b y t h e p r e v i o u s h o s t o n t h e a g e n t d u r i n g i t s e x e c u t i o n s e s s i o n . i n a d d i t i o n , t h e m a l i c i o u s h o s t c o u l d a l s o u s e t h e c o l l a b o r a t i o n a t t a c k t o e x t r a c t i n f o r m a t i o n f r o m t h e a g e n t t o w i n s o m e c o m p e t i t i o n o v e r o t h e r h o s t s . t h e a t t a c k c a n b e r u l e d o u t s i n c e t h e u s e d o f m a s t e r s l a v e a g e n t a r c h i t e c t u r e i n i m p l e m e n t i n g t h e r e c o r d e d s t a t e m e c h a n i s m o n l y a l l o w s d i f f e r e n t a g e n t s t o b e s e n t a n d s e r v e d b y d i f f e r e n t r e m o t e h o s t s . a n a g e n t v i s i t s o n l y o n e h o s t , t h u s p r e c l u d i n g t h e c o l l a b o r a t i n g a t t a c k . i n a d d i t i o n , t h e i n f o r m a t i o n e x t r a c t e d f r o m a s i n g l e a g e n t d o e s n o t g i v e e n o u g h i n f o r m a t i o n t o t h e m a l i c i o u s h o s t t o a l l o w i t t o w i n a n y c o m p e t i t i o n o v e r o t h e r h o s t s b e c a u s e t h e e x t r a c t e d i n f o r m a t i o n i s n o t s u f f i c i e n t b y i t s e l f . t h e m a l i c i o u s h o s t c o u l d a l s o l i e a b o u t t h e i n p u t d a t a , w h i c h i s r e c o r d e d i n t h e r e c o r d e d e x e c u t e o n l y a n d t h e r e c o r d e d c o l l e c t o n l y c o n t a i n e r s i n o r d e r t o d e c e i v e t h e o w n e r o f t h e a g e n t . t h i s a t t a c k i s u n a b l e t o b e r u l e d o u t b y t h e r e c o r d e d s t a t e m e c h a n i s m b e c a u s e t h e i n p u t d a t a t h a t w a s s u p p l i e d b y t h e m a l i c i o u s h o s t i s a s s u m e d t o b e a c o r r e c t d a t a b y t h e a g e n t , s i n c e o n l y t h e m a l i c i o u s h o s t k n o w s w h e t h e r t h e i n p u t d a t a i s c o r r e c t o r i n c o r r e c t . h o w e v e r , t h e o w n e r o f t h e a g e n t k n o w s t h e i d e n t i t y o f t h e h o s t , w h i c h s u p p l i e s t h e i n p u t d a t a t o t h e a g e n t b e c a u s e a l l t h e d a t a a n d s t a t e a r e d i g i t a l l y s i g n e d b y t h e e x e c u t i o n h o s t b e f o r e t h e d a t a a n d s t a t e l e a v e d t h e e x e c u t i o n h o s t . t h u s , t h e o w n e r o f t h e a g e n t k n o w s w h i c h e x e c u t i o n h o s t i s r e s p o n s i b l e f o r s u p p l y i n g t h e f a l s e i n p u t d a t a . t h e m a l i c i o u s h o s t c o u l d a l t e r t h e r a n d o m s e q u e n c e 3 l e v e l o b f u s c a t i o n a l g o r i t h m t o e x e c u t e i n m a n y d i f f e r e n t w a y s ( i n c o r r e c t e x e c u t i o n a t t a c k ) t h i s a t t a c k c a n b e r u l e d o u t s i n c e t h e r e c o r d e d s t a t e m e c h a n i s m w i l l c h e c k t h e r e s u l t s g a t h e r e d b y t h e r e t u r n i n g s l a v e a g e n t b y e x e c u t i n g t h e s a m e e x e c u t i o n p r o c e s s t h a t i s a s s u m e d , h a s b e e n d o n e b y t h e s l a v e a g e n t i n s i d e t h e r e m o t e h o s t e x e c u t i o n e n v i r o n m e n t . table 1: possible attacks and solutions of the recorded state mechanism represents a character. this character is use as a data that need to be protected by the agent. the cycle, on the other hand represents a loop that is used to simulate an agent tasks. note that all of the experiments on the recorded state mechanism are using master-slave agent architecture and operates on the distributed migration pattern [1, 2]. the experiment is performed for 20 runs and the result for each run is gathered in milliseconds. from evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts 63 the author’s observation, all the 20 runs in this experiment give very similar results and for this reason, 20 runs of the experiment are considered sufficient. the average result of all the 20 runs is taken and converted into seconds. the result is then rounded up and presented in two decimal places as given and illustrated in tables 2 to 5 and figure 1 to 4 respectively. number of mean standard error standard deviation remote hosts plain cyp cyp+rsm plain cyp cyp+rsm plain cyp cyp+rsm 1 1.54 29.15 28.91 0.003 2.18 1.23 0.01 9.73 5.52 2 2.49 30.89 31.11 0.003 2 1.38 0.02 8.93 6.19 3 3.37 31 32 0.004 0.93 0.98 0.02 4.15 4.38 5 5.35 36.36 36.03 0.011 1.5 1.87 0.05 6.7 8.37 plain = without cryptographic mechanism cyp (crypto) = cryptographic mechanism rsm = recorded state mechanism table 2: summary statistics of the recorded state mechanism overhead (1 input and 1 cycle experiment) s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r e c o r d e d s t a t e m e c h a n i s m 0 1 0 2 0 3 0 4 0 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n c y p ( c r y p t o ) c y p + r s m figure 1: security overhead of the recorded state mechanism (1 input and 1 cycle experiment) based on the observation on the results gained through the experiments done, it can be seen that the standard error and the standard deviation of the security overhead are similar regarding the number of remote host but different between agents. agents with security mechanism give larger standard error since the agents have to execute many tasks such as generate the cryptography key, generate digital signature, verify digital signature and execute encryption and decryption. from the results given in table 2 and illustrated in figure 1, it can be seen that the mean of the security overhead is almost the same for agents with security mechanism and agents with security mechanism plus rsm, where the security overhead for the agent with security mechanism plus rsm is just 7.82 % higher than the overhead for the agent with security mechanism. however, both agent’s security overheads are higher by up to 1792.86 % than the overhead for the plain agent. from table 3 and figure 2, the security overhead for the plain agent is almost the same as with one input given in table 2 and figure 1, but the security overhead for the agents with security mechanism is increased by up to 60.52 % along the security overhead with one input. results in table 4, table 5, figure 3 and figure 4 show that the security overhead for all the agents 64 kamalrulnizam abu bakar, b. s. doherty number of mean standard error standard deviation remote hosts plain cyp cyp+rsm plain cyp cyp+rsm plain cyp cyp+rsm 1 1.55 45.43 45.32 0.003 1.21 1.19 0.01 5.42 5.34 2 2.53 45.99 48.21 0.005 1.35 1.83 0.02 6.03 8.18 3 3.37 49.76 49.42 0.002 1.13 1.26 0.01 5.03 5.65 5 5.43 53.09 53.14 0.005 1.09 1.76 0.02 4.86 7.85 table 3: summary statistics of the recorded state mechanism overhead (100 input and 1 cycle experiment) s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r e c o r d e d s t a t e m e c h a n i s m 0 1 0 2 0 3 0 4 0 5 0 6 0 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n c y p ( c r y p t o ) c y p + r s m figure 2: security overhead of the recorded state mechanism (100 input and 1 cycle experiment) is similar to the security overhead of the agents with the same number of input but different number of cycle given in table 2, table 3, figure 1 and figure 2 respectively. therefore, it is worth noting that number of cycles does not affect the security overhead of the agents. number of mean standard error standard deviation remote hosts plain cyp cyp+rsm plain cyp cyp+rsm plain cyp cyp+rsm 1 2.41 27.65 28.94 0.008 0.77 1.55 0.04 3.45 6.94 2 3.53 30.91 31.31 0.008 1.38 1.68 0.04 6.18 7.53 3 5.17 30.94 33.36 0.005 1 1.04 0.02 4.46 4.65 5 7.34 38.46 37.57 0.01 1.29 1.69 0.05 5.76 7.55 table 4: summary statistics of the recorded state mechanism overhead (1 input and 10000 cycle experiment) summary of experimental results it can be seen from the results shown in tables 2 to 5 and illustrated in figures 1 to 4 that the implementation of the recorded state mechanism does increase the overhead by only up to an acceptable 7.82 % when compared to the agent with security mechanism but 2830.96 % when compared to the plain agent. however, the low overhead of the plain agent is not important since the plain agent does not have any security protection. evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts 65 s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r e c o r d e d s t a t e m e c h a n i s m 0 1 0 2 0 3 0 4 0 5 0 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n c y p ( c r y p t o ) c y p + r s m figure 3: security overhead of the recorded state mechanism (1 input and 10000 cycle experiment) number of mean standard error standard deviation remote hosts plain cyp cyp+rsm plain cyp cyp+rsm plain cyp cyp+rsm 1 2.39 45.93 47.26 0.005 1.06 1.11 0.02 4.76 4.97 2 3.56 48.63 48.85 0.005 0.73 1.42 0.02 3.28 6.36 3 5.17 50.86 51.54 0.008 1.52 1.57 0.03 6.82 7.01 5 7.4 54.36 54.48 0.015 1.8 1.94 0.07 8.05 8.66 table 5: summary statistics of the recorded state mechanism overhead (100 input and 10000 cycle experiment) s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r e c o r d e d s t a t e m e c h a n i s m 0 1 0 2 0 3 0 4 0 5 0 6 0 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n c y p ( c r y p t o ) c y p + r s m figure 4: security overhead of the recorded state mechanism (100 input and 10000 cycle experiment) 3 discussion integrity protection is one of the main requirements for protecting agents against a malicious host attacks. the requirement was successfully fulfilled3 by the recorded state mechanism, which is able to detect most of the malicious host attacks that try to tamper with the agent’s data and state integrity. the analysis on security strength and implementation feasibility of the recorded state mechanism in real world applications has been conducted. the security strength of the recorded state mechanism has 3detect or prevent some attacks and made others more difficult 66 kamalrulnizam abu bakar, b. s. doherty been analysed by evaluating the mechanism against well-known attack scenarios, and from the results, it can be seen that the mechanism is capable to prevent or detect some of the attacks and made other attacks more difficult. the implementation feasibility is measured by examining the overhead imposed by the mechanism in protecting agents integrity against malicious host attacks. the result shows that the rsm imposed an acceptable overhead. 4 conclusion this paper presented the evaluation of the recorded state mechanism for protecting the integrity of the agents against the malicious host attacks. the evaluation produced significant results on the strength of the recorded state mechanism, where it is able to prevent or detect some attacks and made other attacks more difficult with an acceptable overhead. in conclusion, the mechanism offered significant advances in protection of agents against malicious host attacks and is therefore suitable for use in real world applications. bibliography [1] abu bakar, k. and doherty, b. s. a new model for protecting mobile agents against malicious host. proceedings of the iadis international conference www/internet. iadis press, portugal (2002) 780-784 [2] abu bakar, k. and doherty, b. s. protecting mobile agents against a malicious host attacks using recorded state mechanism. proceedings of the 2003 international conference on informatics, cybernetics and systems. i-shou university(2003) 396 – 401 [3] chess, d.m. security issues in mobile code systems. g. vigna(ed.): mobile agents and security, vol. 1419. springer verlag (1998) 1 – 14 [4] chess, d.m. and harrison, c.g. and kershenbaum, a. mobile agents: are they a good idea?. ibm research report. ibm research division (1995). http://www.research.ibm.com/iagents/publications.html [5] corradi, a. and cremonini, m. and montanari, r. and stefanelli, c. mobile agents integrity for electronic commerce application. information system. elsevier science (1999) 519 – 533 [6] diaz, j. and gutierrez, d. and lovelle, j. an implementation of a secure java2-based mobile agent system. proceedings of the second international conference on the practical application of java. practical application company (2000) 125 – 142 [7] farmer, w.m. and guttman, j.d. and swarup, v.: security for mobile agents: issues and requirements. proceedings of the 19th national information system security conference. baltimore (1996) 591-597 [8] ford, w. and baum, m. secure electronic commerce, ed. 2nd. prentice hall (2001) [9] guan, x. and yang, y. and you, j. pom a mobile agent security model against malicious hosts. proceedings of is & n’99 spring verlag (1999) 155 – 167 [10] hohl, f. a framework to protect mobile agents by using reference states. in: proceedings of the 20th international conference on distributed computing systems (icdcs 2000). ieee computer society (2000) 410 – 417 evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts 67 [11] hohl, f.: time limited blackbox security: protecting mobile agents from malicious hosts. in: g. vigna (ed.). mobile agent and security. lecture notes in computer science, vol. 1419. springerverlag, berlin(1998) 92–113 [12] hohl, f. a model of attacks of malicious hosts against mobile agents. in 4th ecoop workshop on mobile object systems (mos’98): secure internet mobile computations. (1998) http://mole.informatik.uni-stuttgart.de/papers.html [13] hohl, f. an approach to solve the problem of malicious hosts. institute of parallel and distributed high-performance systems (ipvr), university of stuttgart, germany (1997) [14] sun microsystems, inc. java 2 platform std. ed. v1.3.1 http://java.sun.com/j2se/ 1.3/docs/api/index.html (2004) [15] kun, y. and xin, g. and dayou, l. security in mobile agent system: problems and approaches. operating system review, vol. 34, no. 1. acm (2000) 21 – 28 [16] reisner, j. and donkor, e. protecting software agents from malicious hosts using quantum computing. proceedings of spie the international society for optical engineering. iee (2000) 50 – 57 [17] sander, t. and tschudin, c.: protecting mobile agent against malicious hosts. in: g. vigna (ed.). mobile agent and security. lecture notes in computer science, vol. 1419. springer-verlag, berlin(1998) 44-60 [18] schneier, s. applied cryptography, ed. 2nd. wiley & son (1996) [19] vigna, g. cryptographic traces for mobile agents. in: g. vigna (ed.). mobile agent and security. lecture note in computer science, vol. 1419. springer verlag (1998) 137 – 153 [20] wang, t., guan, s. and chan, t.: integrity protection for code-on-demand mobile agents in e-commerce. the journal of systems and software. elsevier (2002) 211-221 kamalrulnizam abu bakar faculty of computer science and information system universiti teknologi malaysia 81310 utm skudai johor d. t. malaysia e-mail: kamarul@fsksm.utm.my b. s. doherty school of engineering and applied science aston university aston triangle, birmingham b4 7et united kingdom e-mail: b.s.doherty@aston.ac.uk received: july 22, 2006 68 kamalrulnizam abu bakar, b. s. doherty kamalrulnizam abu bakar is a lecturer at universiti teknologi malaysia, malaysia. he received the diploma and degree of computer science in 1994 and 1996 respectively from universiti teknologi malaysia, malaysia. he then received masters in computer communication and networks degree from leeds metropolitan university, united kingdom in 1998 and phd in network security from aston university, united kingdom in 2004. his current research interests include computer and network security, distributed systems and parallel processing, grid computing, wireless and cellular network. bernard s. doherty (born october 2nd, 1945) obtained the degrees of bachelor of engineering (electrical), bachelor of arts and master of engineering science from the university of melbourne in 1967, 1971 and 1981 respectively. he has held positions with the state electricicity commission of victoria, lm ericsson pty ltd, swinburne college of technology (all in melbourne) and, since 1980, at aston university (birmingham, uk), where is presently lecturer in computer science. his main fields of teaching and research are distributed and networked applications and information security. in addition to supervising a number of doctoral students, he has developed computer-based administration and teaching software, written a number of papers and presented papers at international conferences. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 113-124 eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks d. kumar, t.c. aseri, r.b. patel dilip kumar centre for development of advanced computing, mohali, india e-mail: dilip.k78@gmail.com trilok c. aseri pec university of technology, chandigarh, india e-mail: a_trilok_chand@yahoo.com r.b. patel m.m. university, mullana, india e-mail: patel_r_b@yahoo.com abstract: in recent years, energy efficiency and data gathering is a major concern in many applications of wireless sensor networks (wsns). one of the important issues in wsns is how to save the energy consumption for prolonging the network lifetime. for this purpose, many novel innovative techniques are required to improve the energy efficiency and lifetime of the network. in this paper, we propose a novel energy efficient clustering and data aggregation (eecda) protocol for the heterogeneous wsns which combines the ideas of energy efficient cluster based routing and data aggregation to achieve a better performance in terms of lifetime and stability. eecda protocol includes a novel cluster head election technique and a path would be selected with maximum sum of energy residues for data transmission instead of the path with minimum energy consumption. simulation results show that eecda balances the energy consumption and prolongs the network lifetime by a factor of 51%, 35% and 10% when compared with low-energy adaptive clustering hierarchy (leach), energy efficient hierarchical clustering algorithm (eehca) and effective data gathering algorithm (edga), respectively. keywords: clustering; data aggregation; lifetime; heterogeneous wireless sensor networks. 1 introduction for past few years, wireless sensor networks (wsns) attracted lots of researchers because of its potential wide applications and many research challenges. early study on wsns mainly focused on technologies based on the homogeneous wsn in which all nodes have same system resources. however, heterogeneous wsn is becoming more and more popular because the benefits of using heterogeneous wsns with different capabilities in order to meet the demands of various applications have been presented in recent literature [1], [2]. one of the crucial challenges in the organization of the wsns is energy efficiency and stability because battery capacities of sensor nodes are limited and replacing them are impractical. since, sensor nodes use a large amount of energy for data transmission and aggregation. therefore, new energy efficient routing protocols are required to save energy consumption. in this paper, we propose a novel energy-efficient clustering and data aggregation (eecda) protocol for heterogeneous wsn. in this approach, a new cluster head (ch) election and data communication mechanism is presented to extend the lifetime and stability of the network. after the copyright c⃝ 2006-2011 by ccc publications 114 d. kumar, t.c. aseri, r.b. patel chs election, a path with maximum sum of residual energy would be selected for data communication instead of the path with minimum energy consumption. therefore, each ch first aggregates the received data and then transmits the aggregated data to the base station (bs). the main contributions of eecda protocol is to provide longest stability (when the first node is dead) and improves the network lifetime in comparison to low-energy adaptive clustering hierarchy (leach), energy-efficient hierarchical clustering algorithm (eehca) and effective data gathering algorithm (edga). the rest of this paper is organized as follows. section 2 presents related works. section 3 describes the eecda protocol. section 4 explores on simulation results, and finally paper is concluded in section 5. 2 related work many recent research works in the area of cluster-based wsns have extensively focussed on energy efficiency, lifetime, stability and scalability. in the past few years, numerous clustering algorithms have been proposed for a wide range of applications [3], [4], [5]. data aggregation and hierarchical mechanism are commonly used in many critical applications of wsns. it reduces the data redundancy and communication load [6]. leach [7] is the first clustering protocol based on single-hop communication model. in leach, during the setup phase, each node generates a random number between 0 and 1. if this random number is smaller than the threshold value, t(s) , which is given by equation (1), then the node becomes a ch for the current round. during each round, new chs are elected and as a result balanced load energy is distributed among the chs and other nodes of the network. t(s) =   popt 1−popt×(r mod 1popt ) if s ϵ g 0 otherwise   (1) where popt is the desired percentage of chs, r is the count of current round, g is the set of sensor nodes that have not been chs in the last 1 popt rounds. in this paper, we refer round, 1 popt , as epoch of the heterogeneous wsn. power-efficient gathering in sensor information systems (pegasis) [8] is a chain-based power efficient protocol based on leach. it assumes that each node must know the location of all other nodes. it starts with the farthest node and the chain is constructed by using a greedy algorithm. the chain leader aggregates data and forwards it to the bs. in order to balance the overhead involved in communication between the chain leader and the bs, each node in the chain takes turn to be the leader. in [9], the authors described a heuristic approach to solve the data-gathering problem with aggregation in sensor networks. in this scheme, the data is collected in an efficient manner from all the sensor nodes and transmitted to the bs to maximize the lifetime of the network. in [10], the authors have studied the impact of heterogeneity of sensor nodes in terms of their energy and proposed a heterogeneous-aware protocol to prolong the time interval before the death of the first node. in [11] a cost-based comparative study between homogeneous and heterogeneous clustered wsns is proposed to estimate the optimal distribution among different types of sensors, but this result is hard to use if the heterogeneity is due to the operation of the network. in [12], authors have developed energy efficient clustering protocol in wsn which is more suitable for periodical data gathering applications. a survey on many ad hoc and mobile ad hoc network clustering schemes are presented in [13]. in this article authors observed that new clustering schemes are required to handle the topology maintenance and managing node eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks 115 movement in the network. in [14], the authors have proposed a new data gathering approach for single-hop transmission wherein both the data gathering and the aggregation are performed by the same sensor in a cluster but the report to the bs may be done by a different sensor. in [15], authors have investigated the problem of cluster formation for data fusion by focusing on two aspects: (i) how does one can estimate the number of clusters needed to utilize efficiently data correlation of sensors for a sensor network, and (ii), how does one can pick the chs to cover the whole network more efficiently. in [16], the authors have analyzed the strengths and weaknesses of many existing clustering algorithms and observed many solutions of appropriate aggregation metrics those have been recently proposed in the literature. energy-efficient protocol with static clustering (eepsc) which partitions the network into static clusters and utilizes chs to distribute the energy load among high power sensor nodes and extends the network lifetime [17]. a distributed energy saving clustering algorithm called bpec has been proposed in [18]. in this algorithm, chs are selected by two probabilities. first is based on the ratio between average residual energy of neighbor nodes and its residual energy and second is the node’s degree. by using this algorithm, the entire network broadcasting complexity is o(n), the entire network computing complexity is o(1). the results show that when the network has a higher communication coverage density, analytical and experimental results are very close. energy-efficient hierarchical clustering algorithm (eehca) [19] has adopted a new method for ch election, which can avoid the frequent election of chs. a new concept of backup chs is introduced which improves the performance over leach and hybrid energy-efficient distributed clustering (heed), in terms of network lifetime. an energy efficient hierarchical data gathering protocol, called edga adopts weighted election probabilities of each heterogeneous sensor node to become a ch which better handle heterogeneous energy circumstances [20]. the results demonstrate that edga significantly outperforms leach and heed in terms of network lifetime. the authors in [21] have discussed a new ch election problem based on a set of coverage-aware cost metrics which favor nodes deployed in densely populated network areas. the coverage-aware election of ch nodes, active sensor nodes and routers in clustered wsn increases the lifetime as compared with traditional energy based election methods. in [22], the authors have presented an important corona model to maximize the network lifetime by using maximal transmission range of sensors into different levels. the sensor nodes belong to the same corona have the same transmission range, whereas different coronas have different transmission ranges. in [23] authors have presented a short survey on the main techniques used for energy conservation in wsns. the main focus is primarily on duty cycle scheme which represents the most suitable technique for energy saving. in [24], the authors reviewed many existing definitions of network lifetime and discussed about the merits and demerits of these definitions. 3 eecda protocol the main goal of eecda protocol is to maintain efficiently the energy consumption of sensor nodes by involving them in a single-hop communication within a cluster. the data aggregation and fusion technique is used to reduce the number of transmitted messages to the bs to save the energy and prevent the congestion. to make the protocol implementation, we have adopted a few reasonable assumptions as follows: (i) n sensor nodes are uniformly dispersed within a square field; (ii) all sensor nodes and the bs are stationary after deployment; (iii) the wsn consists of heterogeneous nodes in terms of node energy; (iv) chs perform data aggregation; (v) the bs is not energy limited in comparison with the energy of other nodes in the network. we use the same radio model defined in [7]. the amount of energy required to transmit a l bit packet over a distance, d, is given by equation (2). 116 d. kumar, t.c. aseri, r.b. patel etx(l, d) =   l×eelec + l× ϵfs ×d2 if d <= d0 l×eelec + l× ϵmp ×d4 if d >= d0   (2) eelec is the energy being dissipated to run the transmitter or receiver circuitry. the parameters ϵmp and ϵfs is the amount of energy dissipates per bit in the radio frequency amplifier according to the distance d0, which is given by equation (3). d0 = √ ϵfs ϵmp (3) the amount of energy required to receive a packet is given by equation (4). erx(l) = l×eelec (4) 3.1 impacts of heterogeneity on network performance by placing few heterogeneous nodes in the network can bring three main benefits: (i) extending network lifetime: the average energy consumption for forwarding a packet from the heterogeneous nodes to a bs will be much less than the energy consumed in homogeneous sensor networks, (ii) improving reliability of data communication: the heterogeneous sensor network can get much higher end-to-end delivery rate than the homogeneous sensor network and (iii) decreasing latency of data transmission: the heterogeneous nodes can decrease the forwarding latency by using fewer hops to the bs. 3.2 optimal number of clusters the optimal probability of a node to become a ch is very important in wsns. this clustering is optimal in the sense that energy consumption is well distributed among all the sensor nodes and the total energy consumption should be minimum. such optimal clustering highly depends on the energy model. for eecda, we have used similar energy model as discussed in [7]. let us assume an area a = m ×m square meters over which n nodes are uniformly distributed. for simplicity, assume the bs is located in the center of the field, and the distance of any node to the bs or its ch is d0. therefore, the energy dissipated by the ch node during a round is given by the equation (5). ech = ( n k )×l× (eelec + eda) + l× ϵfs ×d2bs (5) where k is the number of clusters, eda is the data aggregation and dbs is the average distance between a ch and the bs which is given by equation (6). d2bs = ∫ √ (x2 + y2)× 1 a = 0.765× m 2 (6) the energy dissipated by a non-ch node is given by equation (7). ench = l× (eelec + ϵfs ×d2ch) (7) where dch is the average distance between a non-ch node and its associated ch, which is given by equation (8) [10]. d2ch = ∫ ∫ (x2 + y2)×ρ(x, y)dxdy = m2 2πk (8) eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks 117 where ρ(x, y) is the node distribution and m is the area of monitoring field. the total energy dissipated in a cluster per round is given by equation (9). et = ech + ench (9) by substituting equation (5) and equation (7) in equation (9), we obtain energy dissipating during a round which is given by equation (10). et = l× (2×n×eelec + n×eda + ϵfs × (k ×d2bs + n× m2 2πk ) (10) by setting the derivative et with respect to k to zero, we derive the optimal number of clusters which is given by equation (11). kopt = √ n 2π × √ ϵfs ϵmp × m d2bs (11) using equation (6) and equation (11), the optimal probability of a node to become a ch, popt, can be computed by equation (12) popt = 1 0.765 × √ 2 nπ × √ ϵfs ϵmp (12) if the clusters are not constructed in an optimal way, the total energy dissipated per round is increased exponentially either when the number of clusters is greater or less than the optimal value. 3.3 ch election phase eecda considers three types of nodes (i.e., normal, advanced and super) which have deployed in a harsh wireless environment where battery replacement is impossible. nodes with higher battery energy are advanced and super nodes and the remaining nodes are normal nodes. the main aim of eecda is to increase the energy efficiency, lifetime and stability of the network in the presence of heterogeneous nodes. let m be the fraction of advanced nodes among the normal nodes and (mo) be the proportion of super nodes among the advanced nodes. let us assume the initial energy of each normal node is e0 . the initial energy of each advanced and super node is e0 ×(1 +α) and e0 ×(1 +β), where both α and β means the advanced and super node have α and β times more energy than the normal node. intuitively, advanced and super nodes have to become chs more often than the normal nodes, which is equivalent to a fairness constraint on energy consumption. the new heterogeneous setting has no affect on the spatial density of the network so the priori setting of, popt, does not change but the total energy of the network will be changed. the total initial energy of the new heterogeneous network setting is given by equation (13). n×e0×{(1−m)+m×((1−mo)×(1+α)+mo×(1+β)}) = n×e0×(1+m×(α−mo×(α−β))) (13) the first improvement to the existing protocols is to increase the epoch of the sensor network in proportion to the energy increment. in order to optimize the stable region of the system, the new epoch must become equal to ( 1 popt )× (1 + m× (α−mo × (α−β))) because the system has m× (α −mo × (α −β)) times more energy due to heterogeneous nodes. 118 d. kumar, t.c. aseri, r.b. patel if we set the same threshold value for super, advanced and normal nodes with the difference that each normal node ϵg becomes a ch once every ( 1 popt ) × (1 + m × (α − mo × (α − β))) rounds per epoch, and each advanced and super node ϵg becomes a ch (1 + α) and (1 + β) times every ( 1 popt )× (1 + m× (α−mo × (α−β))) rounds per epoch, then there is no guarantee that the number of chs per round per epoch will be popt ×n. this problem can be overcome by modifying the threshold equation (1). in eecda, we assign a weight to the optimal probability popt. this weight must be equal to the initial energy of each node divided by the initial energy of the normal node. let us define pn, pa, and ps are the weighted election probabilities for normal, advanced and super nodes. virtually there are n × (1 + m × (α − mo × (α − β))) nodes with energy equal to the initial energy of a normal node. in order to maintain the minimum energy consumption in each round within an epoch, the average number of chs per round per epoch must be constant and equal to popt × n. in the heterogeneous scenario, the average number of chs per round per epoch is equal to (1 + m×(α−mo ×(α−β)))×n×pn because each virual node has the initial energy of a normal node. therefore, the weighed probabilities for normal, advanced and super nodes are respectively given by equations (14-16). pn = popt (1 + m× (α −mo × (α −β)) (14) pa = popt (1 + m× (α −mo × (α −β)) × (1 + α) (15) ps = popt (1 + m× (α −mo × (α −β)) × (1 + β) (16) by substituting equation (14) in equation (1) and a new threshold is derived for normal nodes which is given by equation (17). t(sn) =   pn 1−pn×(r mod 1pn ) if sn ϵ g ′ 0 otherwise   (17) where r is the current round, g′ is the set of normal nodes that have not become chs within the last, 1 pn , rounds of the epoch and t(sn) is the threshold applied to a population of n × (1 − m) normal nodes. this guarantees that each normal node will become a ch exactly once every ( 1 popt )×(1 + m×(α−mo ×(α−β))) rounds per epoch, and that the average number of chs of normal nodes per round per epoch is equal to (n × (1 − m) × pn). similarly, new thresholds for advanced and super nodes can be derived by substituting equation (15) and (16) into equation (1), which are given by equation (18) and equation (19). t(sa) =   pa 1−pa×(r mod 1pa ) if sa ϵ g ′′ 0 otherwise   (18) t(ss) =   ps 1−ps×(r mod 1ps ) if ss ϵ g ′′′ 0 otherwise   (19) eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks 119 route selection phase once all chs are elected in a specific round by using weighted election probability, each ch first estimates its energy residue e(chr)s and broadcast this information with its ch role to the neighboring nodes. the value of e(chr)s can be calculated by equation (20). e(chr)s = (e(chrem)s − (e(bs)s) s ϵ gc (20) where gc is the set of elected chs per round. (e(chrem)s indicates the remaining energy of chs in current round and (e(bs)s) indicates the communication energy dissipated from chs to the bs. then, each ch records the value of (e(chr)s) in advertisement message and broadcasts advertisement message to the rest of the nodes in the wsn. during the ch election phase, each non-ch node receives all advertisement messages, and extracts all of energy residue data of chs from advertisement messages. moreover, each non-ch node also calculates energy residues (e(nchr)i) to every ch respectively which is given by equation (21). e(nchr)i = (e(nchrem)i − (e(ch)is) i ϵ gn (21) where gn is the set of non-ch nodes. (e(nchrem)i) indicates the residual energy of non-ch node i in the current round and (e(ch)is) indicates the communication energy from non-ch node i to ch node s. finally, each non-ch node would associate one of the existing ch according to maximum energy residue which is given by equation (22). therfore, a path with a maximum sum of energy residues would be selected for data transmission in spite of that path with minimum energy consumption. max{e(chr)s + e(nchr)i} s ϵ gc, i ϵ gn (22) data communication phase in data communication phase, each non-ch node transmits its data to the associated ch. each ch will receive all sensed data from its associated non-ch nodes and sends it to the bs. 4 simulation results and discussion to evaluate and compare the performance of eecda with eehca, edga and leach in the heterogeneous wsn, we have conducted simulations for two scenarios: first, a network with 100 nodes deployed over an area of size 100 × 100 square meter, and second, a network with 200 nodes deployed over an area of size 200 ×200 square meter as shown in figure 1 and figure 2, we denote a normal node with (o), an advanced node with (+), a super node with (*) and the bs with (x). the simulation parameters are summarized in table 1. the performance metrics used for these protocols are: (i) network lifetime: this is the time interval from the start of the operation until the first and last node dies; (ii) stability period: this is the time interval from the start of the operation until the death of the first alive node; (iii) instability period: this is the time interval from the death of the first alive node until the death of the last alive node and (iv) number of alive nodes per round: this is the instantaneous measure reflects that the total number of alive nodes per round that have not yet expended all of their energy. figure 3 and figure 4 show that both leach and eehca fails to take the full advantage of heterogeneity in both the scenarios where the first and last node dies earlier as compared to edga and eecda. therefore, eecda prolongs the network lifetime by 51% , 35% and 10% 120 d. kumar, t.c. aseri, r.b. patel figure 1: random deployment of 100 nodes over an area 100×100 m2. figure 2: random deployment of 200 nodes over an area 200×200 m2. table 1: simulation parameters parameter scenario i and ii network area 100 ×100m2 , 200 ×200m2 bs location (50, 50), (100, 350) n 100, 200 eda 5nj/bit/report packet size 50bytes ϵmp 0.0013pj/bit/m 4 ϵfs 10pj/bit/m 2 eelec 50nj/bit when compared with leach, eehca and edga protocols, respectively. figures 3, 4, 5 and 6 present that the unstable region for eecda is shorter than that of leach, eehca and edga because the normal nodes die in both the scenarios very fast in case of leach, eehca and edga that result in the sensing field it become sparse very fast. on the other hand, advanced and super nodes die in a very slow fashion, because they are not selected as chs very often after the death of the normal nodes, which again affects the election process of chs and makes the network unstable. it is quite evident that the stable region of eecda is extended as compared with leach, eehca and edga for both the scenarios. figure 5 and figure 6 indicate that the number of alive nodes are more per round in case of eecda as compared with edga, eehca and leach because a path with a maximum sum of energy residual would be selected for data transmission in spite of that path with minimum energy in case of eecda. figures 7, 8, 9, 10, 11 and 12 illustrate the performance of residual energy of normal, advanced and super nodes under the heterogeneous settings of eecda, edga, eehca and leach. initially, eecda has the same initial energy as edga, leach and eehca, but gradually it decreases in edga, eehca and leach over rounds. so, edga, eehca and leach have less residual energy left after certain rounds for both the scenarios. therefore, more the residual energy more efficient is the system. 5 conclusion most existing research considers homogeneous sensor networks. however, a homogeneous sensor network suffers from poor performance and scalability. in this paper, we have developed eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks 121 figure 3: network lifetime as a function of first and last dead nodes over an area 100×100 m2. figure 4: network lifetime as a function of first and last dead nodes over an area 200×200 m2. figure 5: stability as a function of number of alive nodes per round over an area 100×100 m2. figure 6: stability as a function of number of alive nodes per round over an area 200×200 m2. figure 7: residual energy of normal nodes per round over an area 100×100 m2. figure 8: residual energy of normal nodes per round over an area 200×200 m2. figure 9: residual energy of advanced nodes per round overan area 100×100 m2. figure 10: residual energy of advanced nodes per round over an area 200×200 m2. 122 d. kumar, t.c. aseri, r.b. patel figure 11: residual energy of super nodes per round overan area 100×100 m2. figure 12: residual energy of super nodes per round over an area 200×200 m2. a novel energy efficient clustering and data aggregation (eecda) protocol to improve the network performance by using some heterogeneous nodes in the network. a novel cluster head election technique and a path with maximum sum of energy residual for data transmission can maintain the balance of energy consumption in the network. simulation results show that eecda has better network lifetime, stability and energy efficiency when compared with edga, eehca and leach protocols. the future work includes more levels of hierarchy with some mobility in the network. bibliography [1] r kumar, v. tsiatsis, m.b. srivastava, computation hierarchy for in-network processing, proceedings of 2nd acm international workshop on wireless networks and applications, san diego, ca, 68-77, 2003. [2] d. kumar, t. c. aseri, r.b. patel, hcee: hierarchical clustered energy efficient protocol for heterogeneous wireless sensor networks, international journal of electronics engineering, 1(1):123-126, 2009. [3] j. yu, p. chong, a survey of clustering schemes for mobile ad hoc networks, ieee communication surveys,7(1): 32-48, 2005. [4] n. vlajic, d. xia, wireless sensor networks: to cluster or not to cluster?, proceedings of international symposium on a wireless of wireless , mobileand multimedia networks (wowmom’06), 259-268, 2006. [5] w.s. jang, w.m. heley, m.j. skibniewsk, wireless sensor networks as a part of web based building environment monitoring system, automation in construction journal, 17: 729-736, 2008. [6] b. krishnamachari, d. estrin, s.b. wicker, the impact of data aggregation in wireless sensor networks, proceedings of 22nd international conference on distributed computing systems workshops (icdcsw’02), 575-578, 2002. [7] w.b. heinzelman, a.p. chandrakasan, h. balakrishnan, an application-specific protocol architecture for wireless microsensor networks, ieee transactions on wireless communications, 1(4):660-669, 2002. [8] s. lindesy, c. raghavendra, pegasis: power-efficient gathering in sensor information system, proceedings of ieee aerospace conference, 1-6, 2002. eecda: energy efficient clustering and data aggregation protocol for heterogeneous wireless sensor networks 123 [9] k. dasgupta, k. kalpakis, p. namjoshi, an efficient clustering-based heuristic for data gathering and aggregation in sensor networks, proceedings of wireless communication and networking (wcnc’03), 3: 1948-1953, 2003. [10] g. smaragdakis, i. matta, a. bestavros, sep: a stable election protocol for clustered heterogeneous wireless sensor networks, proceedings of 2nd international workshop on sensor and actor network protocols and applications (sanpa’04),boston, ma, 660-670, 2004. [11] v. mhatre, c. rosenberg, homogeneous vs. heterogeneous clustered sensor networks: a comparative study, proceedings of ieee international conference on communications (icc’04), 2004. [12] m. ye, c. li, g. chen, j. wu, eecs: an energy efficient clustering scheme in wireless sensor networks, proceedings of 24th ieee international performance, computing and communications conference (ipccc’05), 535540, 2005. [13] d. wei, h. a. chan, clustering ad hoc networks: schemes and classifications, proceedings of 3rd annual ieee communication society on sensors and ad hoc communication and networks (secon’06),, 3: 920-926, 2006. [14] h. yuning, z. yongbing, j. yusheng, s. xuemin, a new energy efficient approach by separating data collection and data report in wireless sensor networks, proceedings of international conference on communication and mobile computing (iwcmc’06), 1165-1170, 2006. [15] h. chen , s. megerian, cluster sizing and head selection for efficient data aggregation and routing in sensor networks, proceedings of wireless communication and networking (wcnc’06), 4: 2318-2323,2006. [16] s. xun, a combinatorial algorithmic approach to energy efficient information collection in wireless sensor networks, acm transactions on sensor networks, 3(1), 2007. [17] a. s. zahmati, b. abolhassani, a. a. b. shirazi, a. s. bakhtiari, an energy-efficient protocol with static clustering for wireless sensor networks, international journal of electronics, circuits and systems, 3(2): 135-138, 2007. [18] x. jianbo, h. yong, l. i. renfa, an energy-aware distributed clustering algorithm in wireless sensor networks, proceedings of international conference on computer science and software engineering, 528-531, 2008. [19] g. xin, w.h. yang, d. degang, eehca: an energy-efficient clustering algorithm for wireless sensor networks, information technology journal, 7(2):245-252, 2008. [20] y. mao, z. liu, l. zhang, x. li, an effective data gathering scheme in heterogeneous energy wireless sensor networks, proceedings of international conference on computational science and engineering , 338-343, 2009. [21] a. bari, a. jaekel, s. bandyopadhyay, clustering strategies for improving the lifetime of two-tiered sensor networks, elsevier, computer communication journal, 31(14): 34513459, 2008. [22] c. song, m. liu, j. cao, y. zheng et. al, maximizing network lifetime based on transmission range adjustment in wireless sensor networks, elsevier, computer communication journal , 32(11): 1316-1325, july 2009. 124 d. kumar, t.c. aseri, r.b. patel [23] h.y. shiue, j.x lieo-hong, s. horijuchi, energy saving in wireless sensor networks, journal of communication and computing , 6(5):20-28, 2009. [24] i. dietrich, f. dressler, on the lifetime of wireless sensor networks, acm transactions on sensor networks , 5(1): 5:1-5:39, 2009. http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 384-394 redistributing fragments into a distributed database leon ţâmbulea, manuela horvat-petrescu abstract: a distributed system database performance is strongly related to the fragment allocation in the nodes of the network. an heuristic algorithm for redistributing the fragments is proposed. the algorithm uses the statistical information relative to the requests send to a distributed database. this algorithm minimizes the size of the data transferred for solving a request. assuming that a distribution of the fragments in the nodes of a network is known, the algorithm generates a plan to transfer data fragments, plan that will be used to evaluate a request. keywords: distributed database, fragment allocation, allocation algorithm, transfer cost, heuristic algorithm, redistribution algorithm 1 introduction let’s consider a distributed database c, formed by n nodes (sites) si, 0 <= i (a ≥ ) : symmetric positive definite (semi-definite) matrix; eqk : q dimensional unit vector which has 1 in the k th element and zero elsewhere. an lmi technique for the global stabilization of nonlinear polynomial systems 337 (ii) the relation between the redundant and the nun-redundant kronecker power of the state vector x can be stated as follows { ∀i ∈n ∃ ! ti ∈ rn i×ni , x [i] = tix̃ [i], (5) a procedure of the determination of the matrix ti is given in [25]. (iii) the permutation matrix denoted un×m is defined as un×m = n∑ i= m∑ k= ( eni ·(emk )t ) ⊗ ( emk ·(eni )t ) . (6) this matrix is square (nm × nm) and has precisely a single 1 in each row and in each column. among the main properties of this matrix presented in [17], [11], we recall the following useful ones (b⊗a) = ur×p(a⊗b)uq×s, (7) (x ⊗y ) = un×m(y ⊗x ), (8) ∀i ≤ k x [k] = uni×nk−i x [k]. (9) (iv) an important vector valued function of matrix denoted vec(.) was defined in [17] as follows a = [ c c ... cq ] ∈rp×q, where ∀i ∈ {, ..., q} , ci ∈rp are the columns of a vec(a) = [ ct c t  ... c t q ]t ∈rpq. we recall the following useful rules [17] of this function vec(bac) = (ct ⊗b)vec(a), (10) vec(at ) = up×qvec(a). (11) (v) a special function mat(n,m) (.) can be defined as follows if v is a vector of dimension p = n.m then m = mat(n,m)(v ) is the (n × m) matrix verifying v = vec(m). (vi) for a polynomial vectorial function a (x ) = r∑ i= aix [i], (12) where x ∈rn and ai are (n×ni) constant matrices, we define the (υ ×υ) matrix m(a) as m(a) =   m(a) m(a)  . . .   m(a) . . . . . . ... ... . . . . . . . . .  ... . . . ms−,s−(as−) ms−,s(as−)  . . . . . .  ms,s(as−)   , (13) 338 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek with υ = n + n + ... + ns. • for j = , ..., s m j, j(a j−) =   mat(n j−,n j ) ( at j− ) mat(n j−,n j ) ( at j− ) ... mat(n j−,n j ) ( ant j− )   , (14) • for j = , ..., s −  m j, j+(a j) =   mat(n j−,n j ) ( at j ) mat(n j−,n j ) ( at j ) ... mat(n j−,n j ) ( ant j )   , (15) where aik is the i th row of the matrix ak ak = [ atk a t k ... a nt k ]t . (16) (vii) we introduce the matrix r defined by r = τ +[] ·u·h ·τ, (17) where τ = diag ( ti,i=,...,s ) , (18) with τ + is the moore-penrose pseudo-inverse of τ and τ +[]  = τ +  ⊗τ + . τ = diag ( tj, j=,...,s ) , (19) u = diag ( uni,i=,...,s×η ) , (20) h =   iη  η×η iη η×(η+η) iη ... . . . ηs×(η+η+...+ηs−) iηs   , (21) for j = , ....., s : η j = n j · ( s∑ i= ni ) . we note γ the matrix defined by γ = (iη  + uη×η ) ( r+t rt − iη  ) , (22) an lmi technique for the global stabilization of nonlinear polynomial systems 339 with η = s∑ j= n j = s∑ j= ( n + j −  j ) and r+ is the moore-penrose pseudo-inverse of r. β = rank(γ ) (23) and ci, i=,...,β are β linearly independent columns of γ . (iix) for a (n×l) matrix φ , we define ds(φ ) the (υ ×υ ) matrix defined as ds(φ ) =   φ  φ ⊗in . . .  φ ⊗ins−   . (24) in the case where the matrix φ is square (l = n), the matrix ds(φ ) is also square (υ × υ), with υ is defined in (vi). as well, if φ is square and is symmetric positive definite, then so is ds(φ ). 3 the proposed global stabilization condition of controlled polynomial systems we consider the polynomial nonlinear systems defined by the equation (1). our purpose is to determine a polynomial feedback control law u = k(x ) = r∑ i= kix [i], (25) with ki,i=,...,r are constant gains matrices which stabilizes asymptotically and globally the equilibrium (x = ) of the considered system. applying this control law to the open-loop system (1), one obtains the closed-loop system ẋ = a(x ) = ( f + gk)(x ), = r∑ i= aix [i], (26) where ai = fi + gki. (27) using a quadratic lyapunov function v (x ) and computing the derivative v̇ (x ), lead to the sufficient condition of the global asymptotic stabilization of the polynomial system, given by the following theorem 1. theorem 1. the nonlinear polynomial system defined by the equation (1) is globally stabilized by the control law (25), if there exist • an (n×n)-symmetric positive definite matrix p; • arbitrary parameters µi,i=,...,β ∈r; • gain matrices ki,i=,...,r; 340 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek such that the (η ×η) symmetric matrix q defined by q = τ t [ds(p)m( f ) + m( f ) t ds(p)]τ + τ t [ds(p)gm(k) + (ds(p)gm(k)) t ]τ + β∑ i= µimat(η,η)(ci), (28) be negative definite. where β and ci,i=,...,β are defined in (23). proof. consider the quadratic lyapunov function v (x ) = x t px , (29) differentiating v (x ) along the trajectory of the system (26), we obtains v̇ (x ) = r∑ k= (x t pakx [k] + x [k] t atk px ), =  r∑ k= x t pakx [k]. (30) using the rule of the vec-function (10), the relation (30) can be written as v̇ (x ) =  r∑ k= v tk x [k+], (31) where vk = vec(pak). (32) we can write r=s−∑ k= v tk x [k+] = s−∑ j= v t jx [ j+] + s∑ j= v t j−x [ j], (33) using the mat-function defined in section 2, one has v̇ (x ) = [ s−∑ j= x [ j] t mat(n j ,n j+)(v t  j)x [ j+] + s∑ j= x [ j] t mat(n j ,n j )(v t  j−)x [ j]]. (34) applying the following lemma [11] lemma 2. consider a (n×nk) matrix a (k ∈n) and a (n×n) matrix p. let i and j two integers verifying i + j = k +  and i ≥ . then mat(ni, n j )(vec(pa)) = uni−×n(p⊗ini− ).m, with m =   mat(ni−,n j ) ( at ) mat(ni−,n j ) ( at ) ... mat(ni−,n j ) ( ant )   , where ai denotes the ith row of the matrix a a = [ at at ... ant ]t an lmi technique for the global stabilization of nonlinear polynomial systems 341 leads to the following relations mat(n j ,n j+)(v t  j) = un j−×n(p⊗in j− )m j, j+(a j), (35) mat(n j ,n j )(v t  j−) = un j−×n(p⊗in j− )m j, j(a j−), (36) where m j, j+(a j) and m j, j(a j−) are defined respectively in (15) and (14) and un j−×n is mentioned in (20). using the results (35) and (36), the equality (34) can be expressed as v̇ (x ) = [ s−∑ j= x [ j] t un j−×n(p⊗in j− )m j, j+(a j)x [ j+] + s∑ j= x [ j] t un j−×n(p⊗in j− )m j, j(a j−)x [ j]], (37) by means of the relation (9), one obtains v̇ (x ) = [ s−∑ j= x [ j] t (p⊗in j− )m j, j+(a j)x [ j+] + s∑ j= x [ j] t (p⊗in j− )m j, j(a j−)x [ j]]. (38) consequently, we obtain v̇ (x ) = xt ds(p)m(a)x, = xt (ds(p)m(a) + m(a)t ds(p))x, (39) with x = [ x t x [] t ··· x [s]t ]t (40) ds(p) and m(a) are defined respectively in (24) and (13). using the nun-redundant kronecker product power form, the vector x can be written as x = τx̃, (41) where x̃ = [ x̃ t x̃ [] t ··· x̃ [s]t ]t ∈rη , η = s∑ j= n j and τ is defined in (18). then v̇ (x ) can be written in the following form v̇ (x ) = x̃t τ t (ds(p)m(a) + m(a) t ds(p))τx̃, (42) a sufficient condition of the global asymptotic stability of the equilibrium (x = ) is that the quadratic form v̇ (x ) is negative definite. this condition can be ensured if there exists a symmetric negative definite q ∈rη×η such that x̃t τ t (ds(p)m(a) + m(a) t ds(p))τx̃ = x̃t qx̃, (43) using the vec-function, the equality (43) can be expressed as vect ( q − τ t (ds(p)m(a) + m(a) t ds(p))τ ) x̃[] = . (44) but, it can be easily checked that x̃[] can be written as x̃[] = rx̃, (45) 342 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek where x̃ = [ x̃[]t . . . x̃[s+]t x̃[s+]t . . . x̃[s]t ]t , (46) and r is the matrix defined in (17). the proof of the relation (45) is given in [11]. therefore the equality (44) yields the following equation rt vec(s) = , (47) with: s = q − τ t ( ds(p)m(a) + m(a)t ds(p) ) τ. the η -vector vec(s) solution of (47) can be expressed as vec(s) = ( r+t rt − iη  ) y, (48) where y is an arbitrary vector of rη  . the matrix s is symmetric since q is symmetric, then we can write s =   (s + st ), (49) and using the property (11) yields vec(s) =   (iη  + uη×η )vec(s) = β∑ i= µici, (50) where • β = rank [ (iη  + uη×η ) ( r+t rt − iη  )] , • ci,i=,...,β are β linearly independent columns of (iη  + uη×η ) ( r+t rt − iη  ) , (51) • µi,i=,...,β are arbitrary values. consequently, the symmetric matrix q verifying (47) is of the following form q = τ t (ds(p)m(a) + m(a) t ds(p))τ + β∑ i= µimat(η,η)(ci). (52) according to (26) and the following lemma [10] lemma 3. let g ∈ rn×m, k(.) a polynomial vectorial function defined in (25) and g.k(.) the resultant product of g by k(.), then one has m(g.k) = gm(k), where g = ds(g) and m(.) the matrix function defined in (13). thus, we can write m(a) = m( f + gk) = m( f ) + gm(k), (53) finally, we obtain the following quadratic form of the symmetric matrix q q = τ t [ds(p)m( f ) + m( f ) t ds(p)]τ + τ t [ds(p)gm(k) + m(k) t gt ds(p)]τ + β∑ i= µimat(η,η)(ci). (54) if q is negative definite, then the derivative v̇ (x ) is negative definite. which ends the proof. an lmi technique for the global stabilization of nonlinear polynomial systems 343 4 stabilizing control synthesis using the lmi approach in this section we show how the stabilization problem stated by the theorem 1 can be formulated as an lmi feasibility problem. let recall that our main problem is to find • gain matrices ki,i=,...,r; • a (n×n) matrix p; • real parameters µi,i=,...,β ; such that p > , (55) τ t [ds(p)m( f ) + m( f ) t ds(p)]τ + τ t [ds(p)gm(k) + m(k) t gt ds(p)]τ + β∑ i= µimat(η,η)(ci) < . (56) note that this problem is nonlinear with respect of the unknown parameters p,ki and µi, since the inequality (56) is bilinear on (p, ki). to overcome this problem we make use of the known schur’s complement [18] and we exploit the separation lemma [26]. in this sequel we transform the bmi problem into lmi problem as it is shown in the following development. making use of the following separation lemma [26] lemma 4. for any matrices a and b with appropriate dimensions and for any positive scalar ε > , one has: at b + bt a ≤ ε at a + ε −bt b, one obtains q ≤ τ t [ds(p)m( f ) + m( f )t ds(p)]τ + β∑ i= µimat(η,η)(ci) +γ τ t ds(p) t ds(p)τ + γ −τ t m(k) t gt gm(k)τ, (57) with γ > . then, to ensure that the matrix q is negative definite, it is sufficient to have τ t [ds(p)m( f ) + m( f ) t ds(p)]τ + β∑ i= µimat(η,η)(ci) −τ t ds(p) t (−γ i)ds(p)τ − τ t m(k) t gt (−γ −i)gm(k)τ < . (58) using the generalized schur’s complement, the inequality (58) is equivalent to   τ t (ds(p)m( f ) + m( f ) t ds(p))τ + β∑ i= µimat(η,η)(ci) (ds(p)τ)t (gm(k)τ)t ds(p)τ −γ −i  gm(k)τ  −γ i   < , (59) when pre-and post-multiplying the inequality (59) by ξ = diag(i, i, γ −i), we get   τ t (ds(p)m( f ) + m( f ) t ds(p))τ + β∑ i= µimat(η,η)(ci) (ds(p)τ)t (gw(k)τ)t ds(p)τ −γ −i  gw(k)τ  −γ −i   < , (60) with w(k) = γ −m(k). this new inequality is linear on the decision variables, and then we can state the following result. 344 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek theorem 5. the equilibrium (x = ) of the system (1) is globally asymptotically stabilizable if there exist • a (n×n)-symmetric positive definite matrix p ; • arbitrary parameters µi,i=,...,β ∈r ; • gain matrices ki,i=,...,r; • a real γ >  ; such that p > , (61) and   τ t (ds(p)m( f ) + m( f ) t ds(p))τ + β∑ i= µimat(η,η)(ci) (ds(p)τ)t (gw(k)τ)t ds(p)τ −γ −i  gw(k)τ  −γ −i   < . (62) thus, a stabilizing control law (25) for the considered polynomial system (1) can be characterized by applying the following procedure 1. solve the lmi feasibility problem i.e., find the matrices ds(p), w(k) and the parameters µi and γ such that the inequalities (61), (62) are verified. 2. extract the gain matrices ki from the relation m(k) = γw(k). this optimization problem can be carried out using matlab software. to provide the effectiveness of the proposed approach, we consider the following numerical example. 5 illustrative example our aim in this section is to apply the proposed approach for the global stabilization of the following polynomial system { ẋ = −x + x + x + xx − x   + xx − xx   + x  , ẋ = −x + .x − x − .xx − x   − xx + .xx   − x   + u. (63) using the kronecker product, this system can be described by the following compact state equation ẋ = fx + fx [] + fx [] + gu, (64) with f = [ −  − . ] f = [     − −.   ] f = [ −   −     − −  .    − ] and g = [   ] . we are interested with the stabilization of the origin equilibrium (x = ) of the system (64). let us note that the uncontrolled (u = ) non linear system is unstable since the matrix f has an unstable eigenvalue. an lmi technique for the global stabilization of nonlinear polynomial systems 345 solving the optimization problem formulated by theorem 2, we obtain    µ = −. µ = . µ = . ; p = [ . . . . ] ; γ = .. the searched gain matrices, extracted from m(k), are given by k = [ −. −. ] k = [ . .   ] k = [ −. −. −. −. . −. . . ] then a global stabilizing control law can be characterized for the studied system using the previous developed method. this control law can be expressed as u = kx + kx [] + kx []. (65) the figure 1 shows the behavior of the state variables x(t) and x(t) of the controlled system from initial conditions which were taken sufficiently far from the initial conditions (x() = −, x() = ). it appears that the state variables converge into the origin point which confirm the asymptotic stability of the controlled system. 0 0.2 0.4 0.6 0.8 1 −10 −5 0 5 10 15 t(s) v ar ia bl es x 1 an d x2 dynamic behaviour of the state variable x1 dynamic behaviour of the state variable x2 figure 1: closed-loop responses of the system (64) with the control law (65). 6 conclusion in this paper, an original technique has been proposed for the global and asymptotic stabilization of the nonlinear polynomial systems. this new stabilizing approach is based on the lyapunov direct method and elaborated algebraic developments using the kronecker product properties. this development has allowed the formulation of the system stabilization condition as an lmi feasibility problem, which resolution leads to a polynomial control law ensuring the quadratic stability in the whole state space of the 346 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek considered system. further works, will consider extension of these results to the robust stabilization of polynomial uncertain systems. bibliography [1] j. c. doyle, “a review of µ for case studies in robust control,” ifac, pp. 395–402, 1987. [2] f. lescher, j. y. zhao, and p. borne, “switching lpv controllers for a variable speed pitch regulated wind turbine,” international journal of computers, communications and control (ijccc), vol. 1, no. 4, pp. 73–84, 2006. [3] a. isidori, nonlinear control systems. springler-verlag, 1995. [4] p. borne, j. p. richard, and n. e. radhy, “stability, stabilization, regulation using vector norms,” nonlinear systems, vol. 2, stability and stabilization, chapter 2, pp. 45–90, 1996. [5] p. borne, g. dauphin tanguy, j. p. richard, f. rotella, and i. zambettakis, commande et optimisation des processus. technip, 1998. [6] y. blanco, w. perruquetti, and p. borne, “stability and stabilization of nonlinear systems and tanaka-sugeno fuzzy models,” european control conference ecc’01, 2001. [7] n. benhadj braiek, “on the global stability of nonlinear polynomial systems,” ieee conference on decision and control,cdc’96, december 1996. [8] n. benhadj braiek and f. rotella, “design of observers for nonlinear time variant systems,” ieee syst. man and cybernetics conference, vol. 4, pp. 219–225, 1993. [9] n. benhadj braiek and f. rotella, “state observer design for analytical nonlinear systems,” ieee syst. man and cybernetics conference, vol. 3, pp. 2045–2050, october 1994. [10] n. benhadj braiek and f. rotella, “stabilization of nonlinear systems using a kronecker product approach,” european control conference ecc’95, pp. 2304–2309, september 1995. [11] n. benhadj braiek, f. rotella, and m. benrejeb, “algebraic criteria for global stability analysis of nonlinear systems,” journal of systems analysis modelling and simulation, gordon and breach science publishers, vol. 17, pp. 221–227, 1995. [12] n. benhadj braiek, “feedback stabilization and stability domain estimation of nonlinear systems,” journal of the franklin institute, vol. 332, no. 2, pp. 183–193, march 1995. [13] f. rotella and g. tanguy, “non linear systems: identification and optimal control,” int.j.control, vol. 48, no. 2, pp. 525–544, 1988. [14] h. bouzaouache and n. benhadj braiek, “on guaranteed global exponential stability of polynomial singularly perturbed control systems,” international journal of computers, communications and control (ijccc), vol. 1, no. 4, pp. 21–34, 2006. [15] h. bouzaouache and n. benhadj braiek, “on the stability analysis of nonlinear systems using polynomial lyapunov functions,” mathematics and computers in simulation, vol. 76, no. 5-6, pp. 316–329, 2008. [16] h. b. ayadi and n. benhadj braiek, “robust control of nonlinear polynomial systems,” ieee syst. man and cybernetics conference, smc’02, 6-9 october 2002. an lmi technique for the global stabilization of nonlinear polynomial systems 347 [17] j. brewer, “kronecker product and matrix calculus in system theory,” ieee trans.circ.sys, vol. cas-25, pp. 722–781, 1978. [18] s. boyd, l. ghaoui, and f. balakrishnan, “linear matrix inequalities in system and control theory,” siam, 1994. [19] j. g. v. antwerp and r. d. braatz, “a tutorial on linear and bilinear matrix inequalities,” journal of process control, vol. 10, pp. 363–385, 2000. [20] d. rosinova and v. vesely, “robust pid decentralized controller design using lmi,” international journal of computers, communications and control (ijccc), may 2007. [21] a. nemirovsky and p.gahinet, “the projective method for solving linear matrix inequalities,” in proc. american control conf., 1994. [22] s. boyd and l. vandenberghe, “introduction to convex optimization with engineering applications,” lecture notes, information systems laboratory, 1995. [23] c. scherer, p. gahinet, and m. chilali, “multiobjective output-feedback control via lmi optimization,” ieee transactions on automatic control, vol. 42, no. 7, pp. 896–910, july 1997. [24] y. nesterov and a.nemirovsky, “interior point polynomial methods in convex programming: theory and applications,” siam, pp. 101–127, 1994. [25] n. benhadj braiek and f. rotella, “logid: a nonlinear systems identification software,” modelling and simulation of systems, scientific publishing co., pp. 211–218, 1990. [26] zhou and khargonedkar, “robust stabilization of linear systems with norm-bounded time-varying uncertainty,” sys. contr. letters, vol. 10, pp. 17–20, 1988. mohamed moez belhaouane was born in tunis in 1980. he received the electrical engineering bachelor and the master degree in automatic control from école supérieure des sciences et techniques de tunis (esstt), in 2003 and 2005, respectively. currently, he is research member of the processes study and automatic control laboratory (lecap) in the polytechnic school of tunisia and he is working toward ph.d. degree in electrical engineering. his research interests include analysis and control of nonlinear systems, polynomial systems and robust control. riadh mtar was born in tunis in 1974. he received his master degree of systems analysis and numerical treatment from école nationale d’ingénieurs de tunis (enit), in 2005. he is currently an contractual assistant in école supérieure de commerce (esc) and research member of the processes study and automatic control laboratory (lecap) in the polytechnic school of tunisia. actually, he is preparing his ph.d. dissertation in electrical engineering from école nationale d’ingénieurs de tunis (enit). his research interests include analysis and control of nonlinear polynomial discret systems. hela belkhiria ayadi received her engineer diplomas from the école nationale d’ingénieurs de monastir (enim) in 1997 and master degree of automatic control from école supérieure des sciences et techniques de tunis (esstt), in 1998. she completed her ph.d. in electrical engineering in 2004 from école nationale d’ingénieurs de tunis (enit). she is now an assistant professor in école supérieure des sciences et techniques de tunis (esstt) and research member of the processes study and automatic control laboratory (lecap) in the polytechnic school of tunisia. her research interests include robust analysis and control of nonlinear uncertain systems. 348 m. moez belhaouane, r. mtar, h. belkhiria ayadi, n. benhadj braiek naceur benhadj braiek was born in mahdia, tunisia, in 1963. he obtained the master of electrical engineers and the master of systems analysis and numerical processing, both from école nationale d’ingénieurs de tunis (enit) in 1987, the master of automatic control from institut industriel de nord (école centrale de lille) in 1988, the ph.d. degree in automatic control from université des sciences et techniques de lille, france, 1990, and the doctorat d’état in electrical engineering in 1995 from école nationale d’ingénieurs de tunis (enit). now, he is professor of electrical engineering at the university of tunis école supérieure des sciences et techniques de tunis (esstt). he is also director of the processes study and automatic control laboratory (lecap) in the polytechnic school of tunisia. his domain of interest is related to the modeling, analysis and control of nonlinear systems with applications on electrical processes. international journal of computers, communications & control vol. i (2006), no. 4, pp. 21-34 on guaranteed global exponential stability of polynomial singularly perturbed control systems hajer bouzaouache, naceur benhadj braiek abstract: the problem of global exponential stability for a class of nonlinear singularly perturbed systems is examined in this paper. the stability analysis is based on the use of basic results of integral manifold of nonlinear singularly perturbed systems, the composite lyapunov method and the notations and properties of tensoriel algebra. some of the derived results are presented as linear matrix inequalities (lmis) feasibility tests. moreover, we pointed out that if the global exponential stability of the reduced order subsystem is established this is equivalent to guarantee the global exponential stability of the original high order closed loop system. an upper bound ε1 of the small parameter ε , can also be determined up to which established stability conditions via lmi’s are maintained verified. a numerical example is given to illustrate the proposed approach. keywords: nonlinear singularly perturbed system, integral manifold, lyapunov stability, kronecker product, linear matrix inequalities (lmis). 1 introduction stability analysis and control of nonlinear singularly perturbed systems have been widely studied in the literature [2], [6], [7], [12], [13]. in a two time scale framework, the stability study of the controlled systems using the lyapunov stability method [15] and the integral manifold approach as a means for the control of nonlinear systems based on the singular perturbation method have been developed in recent years [10], [11], [14], [16], [17]. the approaches proposed in this direction. differ by imposing different conditions on the smoothness properties of the used functions, different assumptions and different classes of lyapunov functions. in this paper, we are concerned with the global exponential stability of polynomial singularly perturbed systems when the chosen design manifold is an exact integral one. further extension of some previous results [11], [17] are suggested and leads to effective global exponential stability conditions via lmis [8] which can be easily verified when using lmi toolbox of matlab. the contribution of the present paper is based, on one hand, on the use of the lyapunov method which is a powerful tool for combined controller design and stability analysis, the definition of appropriate lyapunov functions for the reduced systems and the corrected system via the integral manifold approach and on the other hand, on the notations and properties of the tensoriel product [9]. our paper is organized as follows: in section 2 we present the considered description of the studied systems which allows important algebraic manipulations and some results from the literature on integral manifolds for nonlinear singularly perturbed systems. some useful notations and needed assumptions are introduced in section 3. exploiting the stability statements about singularly perturbed systems possessing integral manifolds and using the composite lyapunov technique, we propose in section 4 an appropriate control law that insures the existence of an attractive integral manifold and furthermore insures stability of the studied systems when the dynamics are restrictive to the integral manifold. the stability results proving the global exponential stability of polynomial singularly perturbed systems are also given and presented as linear matrix inequalities feasibility tests. finally an illustrative example is treated and some conclusions are drawn. copyright c© 2006 by ccc publications 22 hajer bouzaouache, naceur benhadj braiek 2 studied systems and integral manifolds the class of systems to be considered in this paper are described by the following state equations: { ẋ = f (x, z) (a) ε ż = g(x, z) + l(x, z)u (b) (1) where x ∈ rn1 is the state of the slow subsystem (1-a), z ∈ rn2 is the state of the fast subsystem, u ∈ rpis the input control. ε is a small positive parameter. f , g and l are analytic vector fields which are sufficiently many times continuously differentiable functions of their arguments. using the kronecker power of vectors, these functions can be written in the polynomial form as [7]:    f (x, z, ε) = r ∑ i=1 i+1 ∑ j=1 fi jx [i+1− j] ⊗z[ j−1] g(x, z) = r ∑ i=1 i+1 ∑ j=1 gi jx [i+1− j] ⊗z[ j−1] l(x, z) = r ∑ i=1 i+1 ∑ j=1 li j(im ⊗(x[i+1− j] ⊗z[ j−1])) (2) in general the stability of the reduced order subsystems for a class of nonlinear singularly perturbed systems cannot guarantee the stability of the original full order system even with the additional stability of the boundary layer subsystem but when an attractive manifold is designed, the stability problem of the original system reduces to a stability problem of a low dimensional system on the manifold. subsequently, in the context of control system design, our goal is to find an appropriate control law that insures the existence of an attractive integral manifold and furthermore insures stability of the studied systems (1) when the dynamics are restrictive to the integral manifold. the basic ideas of exploiting the integral manifold method are: – if an integral manifold σ of systems described by (1) is established, so that if the initial states start on σ, the trajectory of the system remains on σ thereafter. – when restricted to the integral manifold σ, the dynamics of the system should insure stability of the equilibrium. – the integral manifold should be attractive so that if the initial conditions are off σ, the solution trajectory asymptotically converges to σ. according to these important issues of the integral manifold method, let’s present the definition, and the properties of integral manifold of nonlinear systems. definition 1. [16] the set σ ⊂ r×rn is said to be an integral manifold (invariant manifold) for the differential equation: ẋ = n(t, x ), x , n ∈rn if for (t0, x0) ∈ σ, the solution (t, x (t)), x (t0) = x0, is in σ for t ∈r. if (t, x (t)) ∈ σ for only a finite interval of time, then σ is said to be a local integral manifold. lemma 1. [11] consider the following system: { ẋ = f (t, x, y, ε) ε ẏ = g(t, x, y, ε) (3) x, f ∈rn, y, g ∈rm,t ∈r, ε a small parameter. and suppose the following hypotheses hold: – the algebraic equation g(t, x, y, 0) = 0 has an isolated solution y = h0(t, x), ∀t ∈r, ∀x ∈ bx – the functions f , g, and h0 are twice continuously differentiable (∈c2) ∀t ∈r,∀x ∈ bx. ∀ε ∈ [0, ε0) and for ‖y−h0(t, x)‖ ≤ ϕ̄y where ε0 and ϕ̄y are positive real constants. on guaranteed global exponential stability of polynomial singularly perturbed control systems 23 – the eigenvalues λi = λi(t, x), i = 1, 2, . . . , m of the matrix z(t, x) := ( ∂ g ∂ y ) (t, x, h0(t, x), 0) satisfy the inequality re [λi] ≤ −2β < 0 ∀t ∈r,∀x ∈ bx (4) then there exists ε ≤ ε1 such that ∀ε ∈ [0, ε1), the singularly perturbed system (3) has an m-dimensional local integral manifold σε : y = h0(t, x) + h(t, x, ε) = h(t, x, ε) (5) where h(t, x, ε) is defined for all x ∈ bx and ε ≤ ε1 and is continuously differentiable (∈ c1) the function h(t, x, ε) ∈ c1 satisfies the so-called manifold equation : ε ∂ h ∂ t + ε ∂ h ∂ x f (t, x, h, ε)g(t, x, h, ε) (6) which is obtained by substituting y by h in equation (3). on this manifold, the flow of systems (3) is governed by the n-dimensional reduced system ẋ = f (t, x, h(t, x, ε), ε) (7) furthermore, if for x ∈ bx and p integer we have f (t, x, y, ε) ∈ c p+1, g(t, x, y, ε) ∈ c p+2 and h0(t, x) ∈ c p+2 then h ∈ c p 3 useful notations and assumptions in our study we make use of the following lemma 2 and assumptions 1-2. the lemma 2 is concerned with a kronecker transformation of vectors. more properties of the kronecker product are given in the appendix. lemma 2. [6] given x = ( x z ) ∈ rn; x ∈ rn1 , z ∈ rn2 and n = n1 + n2 there exists a matrix (i) m ∈ rn i×ni making possible a transformation which introduces the change of coordinates that forms the new following kronecker power of vector: (̂ x z )[i] =   x[i] : x[i− j] ⊗z[ j] : z[i]   ∈rni such that x [i] = ( x z )[i] = (i) m (̂ x z )[i] (8) with    (i) m = ( (i−1) m ⊗in) (i) u (i) v (1) m = in ∣∣∣∣∣∣ 1 ≤ j ≤ (i−1) ni = i ∑ j=0 n i− j 1 n j 2 (9) 24 hajer bouzaouache, naceur benhadj braiek and (i) v =   ini1 a b 0 . . . 0 ab . . . ini2   ︸ ︷︷ ︸∣∣∣∣ (i+1) blocs columns2i blocs rows (i) u =   u n (i−1) 1 ×n . . . 0 u n (i−k) 1 n (k−1) 2 ×n 0 . . . u n (i−1) 2 ×n   f or j ∈ {2, ...i} { a = u n2×n(i− j+1)1 ⊗i n ( j−2) 2 b = i n (i− j+1) 1 ×n ( j−1) 2 (10) the permutation matrix denoted un×m is defined in [9] un×m = n ∑ i=1 m ∑ k=1 ( ei (n) etk (m) )⊗(etk (m) ei (n) ) (11) this matrix is square (nm×nm) and has precisely a single 1 in each row and in each column. to clarify the meaning of (i) m, consider the following example: for n = 3 (n1 = 2, n2 = 1), i = 2; x [2] = ( x z )[2] = (2) m (̂ x z )[2] x [2] = ( x z )[2] =   1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1     x[2] x⊗z z[2]   assumption 1. there exists a continuously differentiable function v1(t, x) : r×rn1 →r+ such that the following inequalities hold: ∀t ∈r, x ∈rn1 α1 ‖x‖2 ≤ v1(t, x) ≤ α2 ‖x‖2 (12) ‖∇xv1(t, x)‖ ≤ α3 ‖x‖2 (13) on guaranteed global exponential stability of polynomial singularly perturbed control systems 25 ∇tv1(t, x) + (∇xv1(t, x))t f (t, x, 0, 0) ≤ −2γ1v1 (14) where α1, α2, α3, and γ1 are positive constants. assumption 2. there exists a continuously differentiable function v2(t, z) : r×rn2 →r+ such that the following inequalities hold: ∀t ∈r, z ∈rn2 β1 ‖z‖2 ≤ v2(t, z) ≤ β2 ‖z‖2 (15) dv2(t, z) dt ≤ −2 ε γ2v2(t, z) (16) (17) where β1, β2 and γ2 are positive constants. 4 main results given the system (1), (2), we have to determine an adequate feedback control u that, starting from any initial states, will attract exponentially the trajectories of the closed loop system along the chosen design manifold to the equilibrium point at the origin. in what follows, we assume that hypothesis of lemma 1 are satisfied, and hence the singularly perturbed system (1) has an n2 dimensional integral manifold: z = h0(x) (18) satisfying the equation (1-b). the flow of system (1), on this manifold, is governed by the n1 dimensional reduced system: ẋ = f (t, x, h0(t, x, ε), ε) (19) this result can be reached by the design of a desired control u satisfying: l(x, z)u = −g(x, z) + a(z−h0) + ε dh0(x) dx f (x, z) (20) where a is a hurwitz matrix. specifically, we choose the design manifold in this paper to be equal to z = h0(x) = 0. then, the control in equation (20) becomes: l(x, z)u = −g(x, z) + az (21) and the nonlinear singularly perturbed system (1) can be written as:    ẋ = r ∑ i=1 i+1 ∑ j=1 fi jx [i+1− j] ⊗z[ j−1] (a) ε ż = az (b) (22) it is then clear, that the fast subsystem and the fast states of the system (22) are attracted toward the manifold as quickly as desired by the choice of the hurwitz matrix a. the reduced order system of (22) is obtained by setting ε = 0 as: ẋ = f (x, 0) = r ∑ i=1 fiix [i] (23) the boundary layer system is given, in the fast time scale τ tε , by: dz∗(τ) dτ = az∗(τ) (24) 26 hajer bouzaouache, naceur benhadj braiek now to study the stability of the system (22), let’s consider that the reduced order system (23) and the boundary layer system (24) have respectively v1(x) and v2(z) as quadratic lyapunov candidate functions verifying assumptions 1-2 and defined as follows : v1(x) = x t p1x (25) v2(z) = z t p2z (26) where p1, p2 are symmetric positive definite matrices solutions of the following lyapunov equations: v̇1(x) ≤ −xt q1x (27) v̇2(z) ≤ −zt q2z (28) q1, q2 are also positive definite matrices. based on results of the stability theory [15] and others derived in previous work [1], [5], (27) and (28) are formulated as follows: τ t1 (m t 1 p1 + p1m1)τ1 ≤ −q1 (29) ( a ε )t p2 + p2 ( a ε ) ≤ −q2 (30) where p1 =   p1 0 p1 ⊗in1 . . . 0 p1 ⊗ins−11   (31) and m1 =   λ11π11 λ12π12 ··· λ1sπ1s ... . . . ... ... . . . ... λs1πs1 ··· ··· λssπss   (32) with πk− j+1, j =   mat (nk− j ,n j ) (f 1 t kk ) mat (nk− j ,n j ) (f 2 t kk ) ... mat (nk− j ,n j ) (f n t kk )   (33) for the corrected system (22), we define the following lyapunov functions: v (x, z, ε) = x t eε px (34) where x = [ x z ] ∈rn; p = ( p1 0 0 p2 ) and eε = ( in1 0 0 ε in2 ) (35) the derivative of v (x, z, ε) along the trajectories of (22) is given by: v̇ (x, z, ε) = x t eε pẋ + ẋ t eε px (36) on guaranteed global exponential stability of polynomial singularly perturbed control systems 27 in the above equation, we need to explicit the derivative of the state vector x . so, we begin by writing the state equations (22) in the following form: ẋ = .( x z ) = r ∑ i=1 λi (̂ x z )[i] (37) with λ1 = ( f11 f12 0 aε ) and for i > 1: λi = ( fi1 ···fi j ···fi(i+1) on2×αi ) (38) using the results given by the lemma 2, it follows from equation (37) that ẋ = r ∑ i=1 λi (i) m +x [i] (39) where (i)+ m is the moore-penrose pseudo inverse of (i) m defined in (a.4). the derivative of the composite lyapunov function (34) is then written: v̇ (x, z, ε) = 2 r ∑ k=1 x t (eε pλk (k) m +)x k (40) using the property of the vec-function (1), we have: v̇ (x, z, ε) = 2 r ∑ k=1 v tk x [k+1] (41) where vk = vec(eε pλk (k) m +) (42) knowing that all polynomials with even degree (2s) can be represented as a symmetric quadratic form. thus, we assume in the following development that r is odd: r = 2s−1, and it comes out: v tk x [k+1] = hk ∑ j=gk λk− j+1, jx [k+1− j]nk− j+1, jx [ j] (43) where λk− j+1, j are arbitrary reals verifying: hk ∑ j=gk λk− j+1, j = 1 (44) and for k = 1, . . . , 2s−1: gk = sup(0, k + 1−s) and hk = inf(s, k) (45) for j = gk, . . . , hk: nk− j+1, j = mat (nk− j+1,n j ) (vk) (46) applying the properties [1], one obtains: nk− j+1, j = mat (nk− j+1,n j ) ( vec(eε pλk (k) m +) ) = unk− j×n(eε p⊗ink− j ).mk− j+1, j (47) 28 hajer bouzaouache, naceur benhadj braiek with mk− j+1, j =   mat (nk− j ,n j ) (b1 t k ) mat (nk− j ,n j ) (b2 t k ) ... mat (nk− j ,n j ) (bn t k )   andbk=λk (k) m + (48) where bik is the i-th row of the matrix bk: bk=   b1k b2k ... bnk   (49) by (47) and from the relation (48), we obtain: x [k− j+1] t nk− j+1, jx [ j] = x [k− j+1] t unk− j×n(eε p⊗ink− j )mk− j+1, jx [ j] = x [k− j+1] t (eε p⊗ink− j )mk− j+1, jx [ j] (50) consequently, we have: v tk x [k+1] = hk ∑ j=gk λk− j+1, jx [k− j+1] t nk− j+1, jx [ j] = x t (pε mk)x (51) with x =   x x [2] ... x [s]   (52) and pε =   eε p 0 eε p⊗in . . . 0 eε p⊗ins−1   (53) let’s note that pε is a symmetric positive matrix, and v̇ (x , ε) (41) can be written as: v̇ (x , ε) = 2 2s−1 ∑ k=1 v tk x [k+1] = x t (pε mε + m t ε pε )x (54) with mε = 2s−1 ∑ k=1 mk =   λ11m11 λ12m12 ··· λ1sm1s ... . . . ... ... . . . ... λs1ms1 ··· ··· λssmss   (55) when considering the nun-redundant form, the vector x can be written as: x = τ x̃ (56) on guaranteed global exponential stability of polynomial singularly perturbed control systems 29 where τ =   t1 0 . . . 0 ts   and x̃ =   x̃ ... x̃ [s]   (57) >from (54) and (56) we easily obtain: v̇ (x , ε) = x̃ t τ t (pε mε +mtε pε )τ x̃ (58) let us denote the largest eigenvalue of the matrix pε by λmax(pε ), the smallest eigenvalue of q by λmin(q). where the matrix q verifies: v̇ (x , ε) ≤−x t qx . the positive definiteness of pε and q implies that these scalars are all strictly positive. since matrix theory shows that: pε ≤ λmax(pε )i; λmin(q)i ≤ q (59) we have x t qx ≥ λmin(q) λmax(pε ) x t [λmax(pε )i] x ≥ λmin(q) λmax(pε ) x t [λmax(eε p)i] x (60) otherwise x t x ≥ ‖x‖2 and eε p ≤ λmax(eε p)i (61) hence, (54) will satisfies the following condition: v̇ (x , ε) ≤ −2γv (x , ε) where γ = 1 2 · λmin(q) λmax(pε ) (62) it comes out v (x , ε) ≤ v (x0)e−2γ(t−t0) (63) considering the previous developments, we state now our main result: theorem 1. assume the following assumptions hold: (i) lemma 1 satisfied (ii) assumptions 1 2 are satisfied the system (1) is globally exponentially stable (ges), if there is, for all ε < ε1, ε1 > 0 a feasible solution to the lmi :    ε > 0 ∃pt1 = p1 > 0 ∃pt2 = p2 > 0 ∃pt = p > 0( a ε )t p2 + p2 ( a ε ) ≤ −q2 τ t1 (m t 1 p1 + p1m1)τ1 ≤ −q1 τ t (mtε pε + pε mε )τ ≤ −q (64) m1, τ1 and p1 are given by (32), (57) and (31). mε , τ and pε are given by (55), (57) and (53). moreover, the lyapunov function that demonstrates the g.e.s is given by: v (x) = x t eε pε x now, let’s evaluate the convergence rate of the full order system (22). in view of (12), (15), and (27), we have for all t ∈r, x ∈rn1 and z ∈rn2 : v1(x) ≤ (α2 ‖x0‖2 + ε β2 ‖z0‖2)e−2γ(t−t0) (65) >from (12) and (15) we have: ‖x‖ ≤   (√ α2 α1 ‖x0‖ )2 +   √ ε β2 α1 ‖z0‖   2   1/2 e−γ(t−t0) ≤   √ α2 α1 ‖x0‖+ √ ε β2 α1 ‖z0‖   e−γ(t−t0) (66) 30 hajer bouzaouache, naceur benhadj braiek identically, using (15) and (16), we obtain: β1 ∥∥z2 ∥∥ ≤ v2(z) ≤ β2 ∥∥z20 ∥∥ e−2(γ2/ε)(t−t0) (67) then ‖z‖ ≤ √ β2 β1 ‖z0‖e−(γ2/ε)(t−t0) (68) >from (66) and (68), we can write in the case γ ≤ (γ2/ε) that ‖x‖2 ≤ 2η e−2γ(t−t0) where η = max     √ α2 α1 ‖x0‖+ √ ε β2 α1 ‖z0‖   2 , (√ β2 β1 ‖z0‖ )2  (69) which implies that the norm ‖x‖ of the state vector converges to zero exponentially, with a rate γ . the convergence rates of the reduced systems can be calculated: γ1 = 1 2 · λmin(q1) α2 , γ2 = λmin(q2) 2β2 >from above, we state the following second result: theorem 2. assume the following assumptions hold: (i) lemma 1 satisfied (ii) assumptions 1 2 are satisfied (iii) there exists a lyapunov function v (t, x , ε) that satisfies equation ((34)) then the original nonlinear singularly perturbed system ((1)) is globally exponentially stable under the proposed control ((21)) and with the convergence rate γ ((63)). moreover, note that when we proves that the limit of γ as ε → 0 , tends to the convergence rate of the reduced order system. this implies that under the proposed control (21), the global exponential stability of the initial studied system is equivalent to that of the reduced order system. 5 illustrative example to illustrate the previous derived results, we consider a third order nonlinear singularly perturbed system defined by the following equations:    ẋ1 = −x1 + x2 + 0.1x1z ẋ2 = −x1 −0.09x2 + 2z + 0.05x1z ε ż = 4x1 −4x2 + z + 0.5x21 −x22 + 10u this system can be described by the following model using the kronecker product and the power of vectors which allowed important algebraic manipulations. { ẋ = f11x + f12z + f21x [2] + f22x⊗z + f23z [2] ε ż = g11x + g12z + g21x [2] + g22x⊗z + g23z [2] + bu on guaranteed global exponential stability of polynomial singularly perturbed control systems 31 where f11 = [ −1 1 −1 −0.09 ] , f12 = [ 0 2 ] , g11 = [ 4 −4 ] , g12 = 1, f21 = 02×4, f22 = [ 0.1 0 0 0.5 ] , f23 = 02×1 g21 = [ 0.5 1 0 ] , g22 = [ 0 0 ] , g23 = 0, b = 10. when implemented using the lmi toolbox of matlab, the proposed lmi’s conditions proves that the numerical studied system which is initially instable can be globally exponentially stabilised by the given controller with the considered a = −1 for all ε < ε1 = 0.5 in view of theorem 1: u = −0.4x1 + 0.4x2 −0.1z−0.05x21 + 0.1x22 figure 1: state trajectories of the controlled studied system hence for all ε < ε1 = 0.5 and from any initial states, the trajectories of the system are steered to the origin along the integral manifold with the convergence rate 0.1 in view of (62). indeed, it is shown in fig. 1 that the state trajectories of the controlled system ( – – –) are bounded by the function (—). 6 conclusion in this paper, the global exponential stabilisation for nonlinear singularly perturbed control systems is investigated. in the stability study, the composite lyapunov method was applied and the global exponential stability of the equilibrium of the full control system was established for all ε < ε1. the upper bound ε1 for which the stability properties are guaranteed can be reached after a number of iterations on ε when resolving the proposed lmi’s conditions via the lmi toolbox of matlab. a numerical example has been provided to illustrate the proposed results. 32 hajer bouzaouache, naceur benhadj braiek 7 appendix notations: the dimensions of the matrices used here are the following: a(p×q), b(r ×s), c(s×h), d(s×h), e(n× p), p(n×n), x (n×1) ∈rm, y (m×1) ∈rm, z(q×1) ∈rq let’s consider the following notations: in: n×n identity matrix; 0n×m: n×n zero matrix; 0zero matrix of convenient dimensions ; at : transpose of matrix a; a > 0 (a ≥ 0): symetric positive definite (semi definite matrix a); ek (q) : q dimensional unit vector which has 1 in the kth element and zero elsewhere. the kth row of a matrix such as a is denoted ak. and the kth column is denoted a.k. the ik element of a will be denoted aik. the kronecker product of a and b is denoted a⊗b a (p.r×q.s) matrix, and the i−th kronecker’s power of a denoted i a[i] = a⊗a⊗···⊗a s a ( pi ×qi) matrix. the nun-redundant j-power x̃ [ j] of the state vector x introduced in [9] is defined as: x̃ [1] = x [1] = x   ∀ j ≥ 2 x̃ [ j] = [ x j 1, x j−1 1 x2,··· , x j−1 1 xn, x j−2 1 x 2 2 x j−2 1 x2x3,··· , x j−2 1 x2xn, ···x j−21 xn2 ,··· , x j−3 1 x 3 2 ,··· , x jn ] (a.1) where the repeated components of the redundant j-power are omitted. then we have the following relation:    ∀ j ∈n ∃!tj ∈rn j×α j ; α j = ( n + j −1 j ) x [ j] = tjx̃ [ j] (a.2) thus, one possible solution for the inversion can be written as: x̃ [ j] = t +j x [ j] (a.3) where t +j is the moore-penrose pseudo inverse of tj given by: t +j = ( t tj tj )−1 t tj (a.4) and α j stands for the binomial coefficients. an important vector valued function of matrix denoted vec(.) was defined as [9]: vecpq×1(a) =   a.1 a.2 ... a.q   (a.5) a matrix valued function is a vector denoted mat(n,m)(.) was defined in [1] as follows: if v is a vector of dimension p = n×n then mmat(n,m)(v ) is the n×m matrix verifying: v = vec(m) (a.6) among the main properties of this product presented in [9], [1], we recall the following useful ones: (a⊗b) (c ⊗d) = (ac)⊗(bd) (a.7) (a⊗b)t = at ⊗bt (a.8) b⊗a = ur×p (a⊗b)uq×s (a.9) x ⊗y = un×m (y ⊗x ) (a.10) vec (eac) = ( ct ⊗e ) vec (a) (a.11) vec ( at ) = up×qvec (a) (a.12) ∀i ≤ k x [k] = uni×nk−i x [k] (a.13) on guaranteed global exponential stability of polynomial singularly perturbed control systems 33 references [1] e. benhadj braiek , f. rotella, m. benrejeb, algebraic criteria for global stability analysis of nonlinear systems, sams journal, vol.17, pp. 211-227, 1995. [2] p. borne, j.c gentina, on the stability of large nonlinear systems. structured and simultaneous lyapunov for system stability problem, joint. aut. cont. conf., austin, texas, 1974. [3] p. borne, m. benrejeb, on the stability of a class of interconnected systems. application to the forced working condition, actes 4th ifac symposium mts, fredericton, canada, 1977. [4] p. borne and g. dauphin-tanguy, singular perturbations, boundary layer problem, systems and control encyclopedia, m.g.singh eds, pergamon press, iii i-2, 1987. [5] h. bouzaouache, e. benhadj braiek, on the stability analysis of nonlinear systems using polynomial lyapunov functions, imacs world congress, paris, 2005. [6] h. bouzaouache, sur la représentation d’état des systèmes non linéaires singulièrement perturbés polynomiaux, conférence tunisienne de génie electrique ctge ,pp. 420-424, 2004. [7] h. bouzaouache, e. benhadj braiek, m. benrejeb, a reduced optimal control for nonlinear singularly perturbed systems", systems analysis modelling simulation journal.vol 43, pp. 75-87, 2003. [8] s. boyd, l. el ghaoui and feron e. balakrishnan, linear matrix inequalities in system and control theory, siam, philadelphia,1994. [9] j. w. brewer, kronecker product and matrix calculus in system theory, ieee trans.on circ.syst, 25 , nř9, pp. 772-781, 1978. [10] c.c. chen, research on the feedback control of nonlinear singularly perturbed systems, phd thesis, inst. electrical eng., natsun yat sen univ, taiwan, roc, 1994. [11] f. ghorbel and m.w.. spong, integral manifolds of singularly perturbed systems with application to rigid-link flexible joint multibody systems, international journal of nonlinear mechanics 35, pp. 133-155, 2000. [12] m. innocenti, l. greco, l. pollini, sliding mode control for two time scale systems : stability issues, automatica, vol. 39,pp. 273-280,2003. [13] p.v. kokotovic, h.k. khalil, o’reilly, singular perturbation methods in control: analysis and design, academic press , new york, 1986. [14] p.m. sharkey and j. o’reilly, exact design manifold control of a class of nlsp systems, ieee trans. automat. contr., vol.32, pp.933-937, 1987. [15] j.j.e. slotine, applied nonlinear control, englenwood cliffs, nj, prentice hall, 1991. [16] v.a. sobolev, integral manifolds and decomposition of singularly perturbed systems, systems control letters, vol.5, pp.169-179, 1984. [17] m.w.spong, k. khorasani, p.v. kokotovic, an integral manifold approach to feedback control of flexible joint robots, ieee j. robot. automat.3 (4), pp. 291-300, 1987. 34 hajer bouzaouache, naceur benhadj braiek hajer bouzaouache, naceur benhadj braiek laboratory of study and automatic control of processes address: polytechnic school of tunisia (ept) bp.743, 2078 la marsa, tunisia. e-mail: hajer.bouzaouache,naceur.benhadj@ept.rnu.tn received: november 6, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 224-237 towards structured modelling with hyperdag p systems r. nicolescu, m.j. dinneen, y.-b. kim michael j. dinneen, yun-bum kim and radu nicolescu department of computer science, university of auckland, private bag 92019, auckland, new zealand e-mail: {radu,mjd,yun}@cs.auckland.ac.nz abstract: although p systems are computationally complete, many real world models, such as socio-economic systems, databases, operating systems and distributed systems, seem to require more expressive power than provided by tree structures. many such systems have a primary tree-like structure augmented with shared or secondary communication channels. modelling these as tree-based systems, while theoretically possible, is not very appealing, because it typically needs artificial extensions that introduce additional complexities, inexistent in the originals. in this paper, we propose and define a new model called hyperdag p systems, in short, hp systems, which extend the definition of conventional p systems, by allowing dags, interpreted as hypergraphs, instead of trees, as models for the membrane structure. we investigate the relation between our hp systems and neural p systems. despite using an apparently restricted structure, i.e., a dag instead of a general graph, we argue that hp systems have essentially the same computational power as tissue and neural p systems. we argue that hp systems offer a structured approach to membranebased modelling that is often closer to the behavior and underlying structure of the modelled objects. keywords: hyperdag p systems, tissue and neural p systems, membrane structures. 1 introduction p systems provide a distributed computational model, based on the structure and interaction of living cells, introduced by g. păun in 1998 [10]. the model was initially based on transition rules, but was later expanded into a large family of related models. essentially, all versions of p systems have a structure consisting of cell-like membranes and a set of rules that govern their evolution over time. many of the “classical” versions use a structure, where membranes correspond to nodes in a rooted tree. such a structure is often visualized as a venn diagram, where nesting denotes a parent–child relationship. for example, figure 1 [12] shows the same p system structure with nine membranes, labelled as 1,...,9, both as a rooted tree and as a venn diagram. more, recently, neural p systems [11], abbreviated as np systems (also known as tissue p systems [7]), have been introduced, partially to overcome the limitations of the tree model. essentially, these systems organize their cells in an arbitrary graph. for example, ignoring for the moment the actual contents of cells (states, objects, rules), figure 2 illustrates the membrane structure of a simple np system, consisting of three cells, σ1,σ2,σ3, where cell σ1 is the output cell. a large variety of rules have been used to describe the operational behavior of p systems, such as multiset rewriting rules, communication rules and membrane handling rules. essentially, transition p systems and np systems use multiset rewriting rules, p systems with symport/antiport rules operate by communicating immutable objects and p systems with active membranes combine all three rule types. for a comprehensive overview and more details, we refer the reader to [11, 12]. besides theoretical computer science and biology, p systems have been applied to a variety of other domains, ranging from linguistics [5] to theoretically efficient solutions of np-complete problems [16], copyright c⃝ 2006-2010 by ccc publications towards structured modelling with hyperdag p systems 225 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 figure 1: a p system structure represented as a tree and as a venn diagram. σ1 σ2 σ3 figure 2: an np system structure represented as a digraph. or to model distributed algorithms [3, 6]. the underlying tree structure provides good support for reasoning and formal verification, good potential for efficient implementation on multi-core architectures, and an excellent visualization, very appealing to practitioners. although the p systems are computationally complete, many real world models seem to require more expressive power, essentially trees augmented by shared or secondary communication channels. for example, the notion of a processing node having a unique parent is not true for (a) computer networks where a computer could simultaneously be attached to several subnets (e.g., to an ethernet bus and to a wireless cell), (b) living organisms may be the result of multiple inheritance (e.g., the evolutionary “tree” is not really a tree, because of lateral gene transfer [4]) and (c) socio-economic scenarios where a player is often connected to and influenced by more than one factor [13, 14, 15]. modelling these as tree-based systems, while theoretically possible, is not very appealing. simulating shared or secondary channels requires artificial mechanisms that will ripple data up and down the tree, via a common ancestor. this could of course limit the merits of using a formal model. models based on general graphs, such as np systems, while allowing any direct communications, also tend to obscure the structures already present in the modelled objects, limiting the advantages that a more structured approach could provide. verification is more difficult without a clear modularization of concerns, practical parallel implementation could be less efficient, if the locality of reference is not enforced, and visualizations are not very meaningful, unless the primary structure is clearly emphasized. we do not think that we have to choose between structure and flexibility. we propose a solution that seems to combine both, i.e., flexibility without sacrificing the advantages of a structured approach. our main contribution in this paper is to propose a new model for p systems, called hyperdag p systems, in short, hp systems, that allows more flexible communications than tree-based models, while preserving a strong hierarchical structure. this model, defined in section 3, (a) extends the tree structure of classical p systems to directed acyclic graphs (dags), (b) augments the operational rules of np systems with broadcast facilities (via a go-sibling transfer tag), and (c) enables dynamical changes of the rewriting modes (e.g., to alternate between determinism and parallelism) and of the transfer modes (e.g., to switch between unicast or broadcast). in contrast, classical p systems, both treeand graph-based p systems, seem to focus on a statical approach. we investigate the relation between our hp systems and np systems. despite using an apparently 226 r. nicolescu, m.j. dinneen, y.-b. kim restricted structure, we show in section 4 that our dag-based model has the same computational power as graph-based tissue p systems and neural p systems. we argue that hp systems offer a structured approach to membrane-based modelling that is often closer to the behavior and underlying structure of the modelled objects. because our extensions address the membrane topology, not the rules model, they can be applied to a variety of p system flavors, such as systems based on symport/antiport rules. we support our view with a realistic example (see examples 11 and 12), inspired from computer networking, modelled as an hp system with a shared communication channel (broadcast channel). classical p systems allow a “nice” planar visualization, where the parent–child relationships between membranes are represented by venn-like diagrams. we show in section 5 that the extended membrane structure of hp systems can still be visualized by hierarchically nested planar regions. 2 preliminaries a (binary) relation r over two sets x and y is a subset of their cartesian product, r ⊆ x ×y . for a ⊆ x and b ⊆ y , we set r(a) = {y ∈ y | ∃x ∈ a,(x,y) ∈ r}, r−1(b) = {x ∈ x | ∃y ∈ b,(x,y) ∈ r}. a digraph (directed graph) g is a pair (x,a), where x is a finite set of elements called nodes (or vertices), and a is a binary relation a ⊆ x × x , of elements called arcs. for an arc (x,y) ∈ a, x is a predecessor of y and y is a successor of x. a length n −1 path is a sequence of n distinct nodes x1,...,xn, such that {(x1,x2),...,(xn−1,xn)} ⊆ a. a cycle is a path x1,...,xn, where n ≥ 1 and (xn,x1) ∈ a. a dag (directed acyclic graph) is a digraph (x,a) without cycles. for x ∈ x , a−1(x) = a−1({x}) are x’s parents, a(x) = a({x}) are x’s children, a(a−1(x))\{x} = a(a−1({x}))\{x} are x’s siblings (siblings defines a symmetric relation). a node x ∈ x is a source iff |a−1(x)| = 0, and x ∈ x is a sink iff |a(x)| = 0. the height of a node x is the maximum length of all paths from x to a sink node. an arc (x,y) is transitive if there exists a path x1,...,xn, with x1 = x, xn = y and n > 2. dags without transitive arcs are here called canonical. a (rooted unordered) tree is a dag with exactly one source, called root, and all other nodes have exactly one parent (predecessor). sinks in a tree are also called leaves. a topological order of a dag is a linear reordering of vertices, in which each vertex x comes before all its children vertices a(x). dags and trees are typically represented with parent-child arcs on the top-down axis, i.e., sources (roots) up and sinks (leaves) down. example dags are shown in figures 3 and 4. we consider a variant hypergraph definition, based on multisets, as an extension of the classical definition [1], which is based on sets. a hypergraph is here a pair (x,e), where x is a finite set of elements called nodes (or vertices), and e is a finite multiset of subsets of x , i.e., e ∈ e ⇔ e ⊆ x . by using a multiset of edges, instead of a more conventional set of edges, we introduce an intensional element, where two extensionally equivalent hyperedges (i.e., hyperedges containing the same nodes) are not necessarily equal. a graph is a set based hypergraph, where hyperedges are known as edges and contain exactly two nodes. alternatively, a graph (x,e) can be interpreted as a digraph (x,a), where a = {(x,y) | {x,y} ∈ e}. hypergraphs (set or multiset based) can be represented by planar diagrams, where hyperedges are represented as regions delimited by images of jordan curves (simple closed curves) [2]. with the above hypergraph definition, a height 1 dag (x,a) can be interpreted as a hypergraph (x,e), where e is the multiset e = {a(x) | |a−1(x)| = 0}. for example, figure 3 represents, side by side, the dag d = ({a,b,c,d,e, f },{(d,a),(d,b),(d,c),(e,b), (e,c),( f ,b),( f ,c)}) and its corresponding hypergraph h = ({a,b,c},{d,e, f }), where d = {a,b,c},e = {b,c}, f = {b,c}. note that the apparently empty differences of regions are needed in the case of multiset based hypergraphs, to support the intensional (as opposed to the extensional) aspect: here e ̸= f , despite containing the same nodes, b and c, and neither e nor f is included in d. generalizing the above hypergraph definition, a height n generalized hypergraph is a system (x,e), recursively built via a sequence of n hypergraphs (x1,e1),...,(xn,en) where x1 = x , xi ∩ ei = /0,xi+1 = towards structured modelling with hyperdag p systems 227 d e a b c a b c d e f f figure 3: a simple height 1 dag and its corresponding hypergraph representation. xi ∪ ei, e ∩ ei ̸= /0 for ∀e ∈ ei+1 and e = ∪ i∈{1,...,n} ei. an arbitrary height n dag can be represented by a height n generalized hypergraph, where the hypergraph nodes correspond to dag sinks, and height i hyperedges correspond to height i dag nodes, for i ∈ {1,...,n}. we will later see that any generalized hypergraph that corresponds to a non-transitive dag can also be represented by hierarchically nested planar regions delimited by jordan curves, where arcs are represented by direct nesting. for example, figure 4 shows a height 2 dag and its corresponding height 2 hypergraph (x,e), where x = x1 = {a,b,c,d,e}, e1 = { f ,g,h}, e2 = {i}, e = { f ,g,h,i}. a b c d e a b c d e f g h i f g h i figure 4: a height 2 dag and its corresponding height 2 hypergraph. an alphabet o is a finite non-empty sets of objects. we will assume that the alphabet o is implicitly ordered. multisets over an alphabet o are represented as strings over o, such as on11 ...o nk k , where oi ∈ o, ni ≥ 0, and, in the canonical form, letters appear in sorted order, i.e., o1 < ··· < ok, and ni ≥ 1. the set of all multisets is denoted by o∗. for this representation, two strings are equivalent if they become equal after sorting, e.g., a2cbd0a and a3bc are equivalent representations of the same multiset {a,a,a,b,c}. under this convention, the empty string λ represents the empty multiset, and string concatenation represents multiset union, e.g., (a2c) ·(ab) = a3bc. 3 hyperdag p systems in this paper we use the definition of np systems, as given in [11], that coincides with an early definition of tissue p systems as given in [7]. our definition includes a small technical correction (slight ambiguity). for details, please see our technical report [8]. as in the mentioned np systems definition, we will use the following sets of tagged objects: ogo = {(a,go) | a ∈ o}, oout = {(a,out) | a ∈ o}, and we set otot = o ∪ ogo ∪ oout . for simplicity, we will use subscripts for these tagged objects, such as ago for (a,go) and aout for (a,out). we also define projection homomorphisms, here denoted in postfix notation: |o, |go, |out : o∗tot → o∗, by o|o = o,ogo|go = o,oout|out = o for o ∈ o, and otherwise λ . for example, a2a3gob4bgo|go = a3b. besides the existing go, out tags, we consider three other object tags: 1. go-parent, abbreviated by the symbol ↑, indicating objects that will be sent to parents; 228 r. nicolescu, m.j. dinneen, y.-b. kim 2. go-child, abbreviated by the symbol ↓, indicating objects that will be sent to children; 3. go-sibling, abbreviated by the symbol ↔, indicating objects that will be sent to siblings. the precise semantics of these tags will be explained below when we detail the hp system object transfer modes. in fact, we could also discard the go tag, as it corresponds to the union of these new target tags (go-parent, go-child, go-sibling); however, we will keep it here, for its concise expressive power. we use similar notation as np systems for these new tags o↑,o↓,o↔, and postfix projections |↑, |↓, |↔. other extension tags, including addressing mechanisms (such as from, to or via tags) are possible, and indeed seem natural, but this is beyond the scope of this article. we will now define hp systems, as an apparent restriction of np systems, where the underlying structure is a dag, with several other adjustments. definition 1 (hyperdag p systems) an hp system (of degree m) is a system π = (o,σ1,..., σm,δ ,iout), where: 1. o is an ordered finite non-empty alphabet of objects; 2. σ1,...,σm are cells, of the form σi = (qi,si,0,wi,0,pi), 1 ≤ i ≤ m, where: • qi is a finite set (of states), • si,0 ∈ qi is the initial state, • wi,0 ∈ o∗ is the initial multiset of objects, • pi is a finite set of multiset rewriting rules of the form sx → s′x′u↑v↓w↔ygozout , where s,s′ ∈ qi, x,x′ ∈ o∗, u↑ ∈ o∗↑ , v↓ ∈ o∗↓ , w↔ ∈ o∗↔ , ygo ∈ o∗go and zout ∈ o∗out , with the restriction that zout = λ , for all i ∈ {1,...,m}\iout , 3. δ is a set of dag parent–child arcs on {1,...,m}, i.e., δ ⊆ {1,...,m}×{1,...,m}, representing duplex communication channels between cells; 4. iout ⊆ {1,...,m} indicates the output cells, the only cells allowed to send objects to the “environment”. the essential novelty of our proposal is to replace the arbitrary arc set used in neural p systems by a more structured arc set δ (dag), or, otherwise interpreted, as a generalized multiset-based hypergraph. this interpretation has actually suggested the name of our proposal, hyperdag p systems, and their abbreviation hp systems. the changes in the rules format are mostly adaptations needed by the new topological structure. here, we have reused and enhanced the rewriting rules used by np systems [11]. however, we could adopt and adapt any other rule set, from other variants or extensions of p systems, such as rewriting, symport/antiport or boundary rules [12]. definitions of configurations, transitions, computations and results of computations in hp systems are similar to definitions used for np systems (see also [8]), with the following essential additions and differences, here informally stated: • the rewriting mode α and transfer mode β may not be fixed from the start, i.e., they may vary, for each cell σi and state s ∈ qi. • if object transfer mode is repl (this is a deterministic step): – the objects tagged with ↑ will be sent to all the parents, replicated as necessary – the objects tagged with ↓ will be sent to all the children, replicated as necessary towards structured modelling with hyperdag p systems 229 – the objects tagged with ↔ will be sent to all the siblings, of all sibling groups, replicated as necessary • if object transfer mode is one (this is a nondeterministic step): – the objects tagged with ↑ will be sent to one of the parents, arbitrarily chosen – the objects tagged with ↓ will be sent to one of the children, arbitrarily chosen – the objects tagged with ↔ will be sent to one of the siblings, of one of the sibling groups, arbitrarily chosen • if object transfer mode is spread (this is a nondeterministic step): – the objects tagged with ↑ will be split into submultisets and distributed among the parents, in an arbitrary way – the objects tagged with ↓ will be split into submultisets and distributed among the children, in an arbitrary way – the objects tagged with ↔ will be split into submultisets and distributed among the siblings and sibling groups, in an arbitrary way figure 5 schematically shows the possible object transfers from a cell σi, having two children, two parents, hence two sibling groups, with one sibling in the first group and two siblings in the other. the above mentioned transfer modes will select one, some or all the illustrated transfer targets, deterministically (repl) or nondeterministically (one, spread). go-parent (↑) go-parent (↑) go-sibling (↔) go-child (↓) go-child (↓) go-sibling (↔) go-sibling (↔) σi figure 5: an annotated hp system indicating possible transfers from cell σi. the parent-child axis is top-down. plain lines indicate parent-child relations and dashed lines indicate siblings. arrows at the end of long thick lines, plain or dashed, indicate possible transfer directions from cell σi. more formal definitions follow. definition 2 (configurations) a configuration of the hp system π is an m-tuple of the form (s1w1,...,smwm), with si ∈ qi and wi ∈ o∗, for 1 ≤ i ≤ m. the m-tuple (s1,0w1,0,...,sm,0wm,0) is the initial configuration of π . definition 3 (rewriting and transfer modes) for an hp system of degree m, • the object rewriting mode is a function α : ∪ i∈{1,...,m} {i}× qi → {min, par,max} . • the object transfer mode is a function β : ∪ i∈{1,...,m} {i}× qi → {repl,one,spread} . 230 r. nicolescu, m.j. dinneen, y.-b. kim definition 4 (rewriting steps) for each cell σi with s,s′ ∈ qi, x ∈ o∗, y ∈ o∗tot , we define a rewriting step, denoted by ⇒α , where α = α(i,s) ∈ {min, par,max}. • sx ⇒min s′y iff sw → s′w′ ∈ pi, w ⊆ x, and y = (x − w)∪ w′; • sx ⇒par s′y iff sw → s′w′ ∈ pi, wk ⊆ x, wk+1 * x, for some k ≥ 1, and y = (x − wk)∪ w′k; • sx ⇒max s′y iff sw1 → s′w′1,...,swk → s′w′k ∈ pi, k ≥ 1, such that w1 ...wk ⊆ x,y = (x−w1 ...wk)∪ w′1 ...w ′ k, and there is no sw → s′w′ ∈ pi, such that w1 ...wkw ⊆ x (note that rules can be combined only if they start from the same state s and end in the same state s′). definition 5 (transition steps) given two configurations c1 = (s1w1,...,smwm) and c2 = (s′1w ′′ 1 ,...,s ′ mw ′′ m), we write c1 ⇒α,β c2, for α and β (as defined in definition 3), if the conditions below are met. first, we apply rewriting steps (as defined in definition 4) on each cell, i.e., siwi ⇒α(i,si) s′i w′i , 1 ≤ i ≤ m. secondly, we define z↑j,k, z↓j,k, z↔j,k, the outgoing multisets from j to k, where j ∈ {1,...,m} and, respectively, k ∈ δ −1( j), k ∈ δ ( j), k ∈ δ (δ −1( j))\{ j}: • if β ( j,s j) = repl, then – z↑j,k = w′j|↑, for k ∈ δ −1( j); – z↓j,k = w′j|↓, for k ∈ δ ( j); – z↔j,k = w′j|↔, for k ∈ δ (δ −1( j))\{ j}. • if β ( j,s j) = one, then – z↑j,k j = w′j|↑, for an arbitrary k j ∈ δ −1( j), and z↑j,k = λ for k ∈ δ −1( j)\{k j}; – z↓j,k j = w′j|↓, for an arbitrary k j ∈ δ ( j), and z↓j,k = λ for k ∈ δ ( j)\{k j}; – z↔j,k j = w′j|↔, for an arbitrary k j ∈ δ (δ −1( j))\{ j}, and z↔j,k = λ for k ∈ δ (δ −1( j))\{ j,k j}. • if β ( j,s j) = spread, then – {z↑j,k}k∈δ −1( j) is an arbitrary multiset partition of w′j|↑; – {z↓j,k}k∈δ ( j) is an arbitrary multiset partition of w′j|↓; – {z↔j,k}k∈δ (δ −1( j))\{ j} is an arbitrary multiset partition of w′j|↔. finally, we set w′′i = w ′ i |o ∪ ∪ j∈δ −1(i) z↑j,i ∪ ∪ j∈δ (i) z↓j,i ∪ ∪ j∈δ (δ −1(i))\{i} z↔j,i , for i ∈ {1,...,m}. definition 6 (halting and results) if no more transitions are possible, the hp system halts. for halted hp system, the computational result is the multiset that was cumulatively sent out (to the “environment”) from the output cells iout . the numerical result is the set of vectors consisting of the object multiplicities in the multiset result. within the family of p systems, two systems are functionally equivalent, if they yield the same computational results. towards structured modelling with hyperdag p systems 231 example 7 consider two hp systems, π1 and π2, (which are functionally equivalent). π1 = (o,σ1,σ2,σ3,δ ,iout), where: • o = {a}; • σ1 = ({s},s,a,{sa → sa↓,sa → saout}); • σ2 = ({s},s,λ ,{sa → sa↑}); • σ3 = ({s},s,λ ,{sa → sa↑}); • δ = {(1,2),(1,3)}; • iout = {1}. s, a sa → sa↓ sa → saout s, λ sa → sa↑ s, λ sa → sa↑ σ1 σ2 σ3 π2 = (o,σ1,σ2,σ3,σ4,σ5,δ ,iout), where: • o = {a}; • σ1 = ({s},s,a,{sa → sa↔,sa → saout}); • σ2 = ({s},s,λ ,{sa → sa↔}); • σ3 = ({s},s,λ ,{sa → sa↔}); • σ4 = ({s},s,λ , /0); • σ5 = ({s},s,λ , /0); • δ = {(4,1),(4,2),(5,1),(5,3)}; • iout = {1}. s, a sa → sa ↔ sa → saout s, λ sa → sa ↔ s, λ sa → sa ↔ σ1σ2 σ3 σ4 σ5 s, λ s, λ 4 relations between p systems, neural p systems and hyperdag p systems theorem 8 (hyperdag p systems include non-dissolving transition p systems). any non-dissolving1 transition p system can be simulated by an hp system, with the same number of steps and object transfers. proof: given a non-dissolving, transition p system πt [12], we build a functionally equivalent hp system πh by the following transformation f . essentially, we use the same elements, with minor adjustments. as the underlying structure, we can reuse the rooted tree structure of the p systems, because any rooted tree is a dag. πt = (o,c, µ,w1,...,wm,r1,...,rm,io), πh = f (πt ) = (o′,σ ′1,...,σ ′ m,δ ,iout). • o′ = o; • σ ′i = (q ′ i ,s ′ i,0,w ′ i,0,p ′ i ), 1 ≤ i ≤ m, where: – q′i = {s}, where s /∈ o; – s′i,0 = s; – w′i,0 = wi; – p′i = {su → sv′ | u → v ∈ ri}, where v′ is a translation of v by the following homomorphism: (o ∪ o ×{here,in,out})∗ → o∗, such that a → a, (a,here) → a, (a,out) → a↑, (a,in) → a↓. 1a dissolving membrane occurs if we allow rules that tell a membrane to disappear where its remaining objects go to its parent membrane; see [12]. 232 r. nicolescu, m.j. dinneen, y.-b. kim • δ = µ ; • iout = {io}; • the object rewriting mode is the max constant function, i.e., α(i,s) = max, for i ∈ {1,...,m},s ∈ qi; • the object transfer mode is the spread constant function, i.e., β (i,s) = spread, for i ∈ {1,...,m},s ∈ qi. tags go-child(↓), go-parent(↑) correspond to p system target indications in,out, respectively. an empty tag corresponds to p system target indication here. object rewriting and transfer modes of hp systems are a superset of object rewriting and transfer modes of p systems. we omit here the rest of the proof that shows the two systems, πt and πh , yield the same computational results, which is now straightforward but lengthy. 2 remark 9 in analogy to the p systems, it is straightforward to extend the hp systems with additional features, such as dissolving membranes, priorities or polarities. however, to keep the arguments simple, we here omit such extensions. proving that hp systems also simulate np systems appears more daunting. however, here we will use a natural interpretation of hp systems, where the bulk of the computing will be done by the sink nodes, and the upper nodes (parents) will function mostly as communication channels. remark 10 the combination of go-sibling (↔) with repl object transfer mode enables the efficient modelling of a communication bus, using only one hyperedge or, in the corresponding dag, n arcs. in contrast, any formal systems that use graph edges (or digraph arcs) to model 1:1 communication channels will need n(n −1) separate edges (or 2n(n −1) arcs) to model the associated complete subgraph (clique). it is expected that this modelling improvement will also translate into a complexity advantage, if we count the number of messages. in hp systems, a local broadcast needs only one message to siblings, while graphor digraph-based systems need n −1 messages. example 11 figure 6 shows the structure of an hp system that models a computer network. four computers are connected to “ethernet bus 1”, the other four computers are connected to “ethernet bus 2”, while two of the first group and two of the second group are at the same time connected to the same wireless cell. in this figure, we also suggest that “ethernet bus 1” and “ethernet bus 2” are themselves connected to a higher level communication hub in a generalized hypergraph. example 12 figure 7 shows the computer network of figure 6, modelled as a graph (if we omit arrows) or as a digraph (if we consider the arrows). note that the graphor digraph-based models, such as np systems, do not support the grouping concept, i.e., there is no direct way to mark the nodes a,b,c,d as being part of the “ethernet bus 1”. we can now mention an important theorem comparing hp systems and np systems. theorem 13 (hyperdag p systems can simulate symmetric neural p systems). any symmetric np system can be simulated by an hp system, with the same number of steps and object transfers. proof: the simulation details are given in our research report [8]. 2 remark 14 we leave here open the case of non-symmetric np systems, which can also be simulated by hp systems, but require additional costs, in terms of steps and object transfers. towards structured modelling with hyperdag p systems 233 ethernet bus 1 ethernet bus 2 wireless cell ethernet bus 1 ethernet bus 2 a b c d e f g h a b c d e f g h wireless cell figure 6: a computer network and its corresponding hypergraph representation. a b c d e f g h (ethernet bus 1) (ethernet bus 2)(wireless cell) figure 7: the digraph representation of the computer network of figure 6. 5 planar representation of hyperdag p systems classical tree-based p systems allow a “nice” planar representation, where the parent–child relationships between membranes are represented by venn-like diagrams. can we extend this representation to cover our dag-based hp systems? in this section, we will show that any hp system, structurally based on a canonical dag, can still be intensionally represented by hierarchically nested planar regions, delimited by jordan curves (simple closed curves). conversely, we also show that any set of hierarchically nested planar regions delimited by jordan curves can be interpreted as a canonical dag, which can form the structural basis of a number of hp systems. we will first show how to represent a canonical dag as a set of hierarchically nested planar regions. algorithm 15 (algorithm for visually representing a canonical dag) without loss of generality, we consider a canonical dag (v,δ ) of order n, where vertices are indexed according to an arbitrary topological order implied by the arcs, by considering parents before the children, i.e., v = {vi | 1 ≤ i ≤ n}, where (vi,v j) ∈ δ implies i < j. figure 8 shows side by side a simple height 1 canonical dag and its corresponding hypergraph representation. note the intensional representation (as opposed to the extensional one), where v2 is not totally included in v1, although all vertices included in v2, i.e., v4 and v5, are also included in v1. a possible topological order is v1,v2,v3,v4,v5. 234 r. nicolescu, m.j. dinneen, y.-b. kim v3 v4 v5 v1 v2 1 2 3 4 5 figure 8: a simple canonical dag and its corresponding hypergraph representation. for each vertex vi, we associate a distance ψi = 12(n−i+1) , for i ∈ {1,...,n}. for figure 8, ψi = 1 32 , 1 16 , 1 8 , 1 4 , 1 2 , for i ∈ {1,...,n}. we process the vertices in reverse topological order vn,...,v1, at each step i representing the current vertex vi by a planar region ri. first, we set parallel horizontal axis xo and xp, vertically separated by distance 3(n −1). secondly, we set points o1,...,on on xo, such that oi and oi+1 are separated by distance 3, for 1 ≤ i ≤ n − 1. we define oi as the origin point of vi, and write oi = origin(vi). finally, we set points p1,..., pn on xp, such that pi and pi+1 are separated by distance 3, for 1 ≤ i ≤ n −1. we define pi as the corridor point of vi. figure 9 shows the construction of xo,xp,oi and pi, for the dag of figure 8, where n = 5. o3 o4 o5o1 o2 p1 p2 p3 p4 p5 xo xp figure 9: construction of xo,xp,oi and pi, for the dag of figure 8, where n = 5. if the current vertex vi is a sink, then ri is a circle with radius 1 2 centered at oi. if the current vertex vi is a non-sink, then ri is constructed as follows. assume that the children of vi are w1,...,wni , and their (already created) regions are s1,...,sni . consider line segments l0,l1,...,lni , where l0 is bounded by oi and pi, and l j is bounded by pi and origin(w j), for j ∈ {1,...,ni}. let l0, l1,...,lni , t1,...,tni be the regions enclosed by jordan curves around l0, l1,...,lni , s1,...,sni , at a distance ψi, and let r′i = l0 ∪ ∪ j=1,...,ni l j ∪ ∪ j=1,...,ni tj. we define ri as the external contour of r ′ i . this definition will discard all internal holes (such as the dashed enclosed regions of figure 10), if any, without introducing any additional containment relations between our regions. the details of our construction guarantee that no internal hole will ever contain an origin point. 2 figure 10 shows the side by side, a dag and its corresponding planar region representation; internal holes are represented by dotted lines. our objective here was not to create “nice” visualizations, but to prove that it is possible to represent an arbitrary canonical dag, i.e., an arbitrary hp system structurally based on a canonical dag, by hierarchically nested planar regions. we will next show that, for any finite set of hierarchically nested planar regions, we can build a corresponding canonical dag (i.e., the underlying structure of an hp system). algorithm 16 (algorithm for building a canonical dag from finite set of hierarchically nested planar regions) towards structured modelling with hyperdag p systems 235 1 2 3 4 r1 r2 r3 r4 xo xp figure 10: a height 2 dag and its corresponding representation, built by algorithm 15. assume that we have n hierarchically nested planar regions, 1. label each planar region by ri, i ∈ {1,...,n}, 2. if ri directly nests r j then draw an arc from a vertex vi to a vertex v j, i, j ∈ {1,...,n}, i ̸= j. 2 we now show that a canonical digraph produced from algorithm 16 does not contain any cycles. our proof is by contradiction. let us assume a digraph g produced from algorithm 16 contains a cycle vi,...,vk,...,vi. then every vertex in a cycle has an incoming arc. if vertex vk is a maximal element in a cycle, with respect to direct nesting, then its corresponding planar region rk have the largest region area among planar regions in a cycle. since no other planar region in a cycle can contain rk, there are no arc incident to vertex vk. hence, there is no cycle in g. remark 17 we present in [9] a solution to the problem of representing dags (that contain transitive arcs) by a set of simple regions, where direct containment denotes a parent–child relation. 6 summary we have proposed a new model, as an extension of p systems, that provides a better communication structure and we believe is often more convenient for modelling real-world applications based on tree structures augmented with secondary or shared communication channels. we have shown that hp systems functionally extends the basic functionality of transition p systems and np systems, even though the underlying structure of hp systems is different. in dag-based hp systems, we can have a natural separation of computing cells (sinks) from communication cells (hyperedges). this model also allows us to easily represent multiple inheritance or to distribute computational results (as specified by a dag) amongst several different parts of a membrane structure. we note that the operational behavior of hp systems is separate from the topological structure of a membrane system. in this paper, we illustrated hp systems using the computational rules of np systems, where multisets of objects are repeatedly changed within cells, by using a fixed set of multiset rewriting rules, or transferred between cells, using several possible transfer modes. finally, we provided an intuitive visualization of hp systems, by showing that any set of hierarchically nested planar regions (which represents any set of cells ordered by containment) is equivalent to, or modelled by, a dag without transitive arcs. we provided simple algorithms to translate between these two interpretations. 236 r. nicolescu, m.j. dinneen, y.-b. kim this paper is part of an ongoing research dedicated to structured modelling and model checking of p systems. dedication this article is dedicated to mario j. pérez-jiménez, on the occasion of his 60th birthday (november 2008). bibliography [1] c. berge, hypergraphs: combinatorics of finite sets, elsevier science publishers, 1989. [2] c. carathéodory, theory of functions of a complex variable, vol.1, chelsea publishing company, 1954. [3] g. ciobanu, distributed algorithms over communicating membrane systems, bio systems, 70(2):123–133, 2003. [4] w. f. doolittle, uprooting the tree of life, scientific american, 282(2):90–95, 2000. [5] t. -o. ishdorj, m. ionescu, replicative-distribution rules in p systems with active membranes, proceeding of the first international colloquium on theoretical aspects of computing (ictac 2004), 68–83, 2004. [6] c. li, validating p system as distributed computing models, master thesis, 2008. [7] c. martín-vide, g. păun, j. pazos, a. rodríguez-patón, tissue p systems, theoretical computer science, 296(2):295–326, 2003. [8] r. nicolescu, m. j. dinneen, y.-b. kim, structured modelling with hyperdag p systems: part a, cdmtcs research report series, cdmtcs-342, 1–24, december 2008. http://www.cs.auckland.ac.nz/cdmtcs/researchreports/342hyperdaga.pdf [9] r. nicolescu, m. j. dinneen, y.-b. kim, discovering the membrane topology of hyperdag p systems, proceeding of the tenth workshop on membrane computing (wmc10 2009), curtea de argeş, romania, august 24–27, 426–451, 2009. [10] g. păun, computing with membranes. journal of computer and system sciences, 61(1):108–143, 2000, (and turku center for computer science, tucs report 208, november 1998). [11] g. păun, membrane computing: an introduction. springer-verlag, 2002. [12] g. păun, introduction to membrane computing, proceeding of the first brainstorming workshop on uncertainty in membrane computing, 17–65, 2004. [13] g. păun, r. a. păun, membrane computing as a framework for modeling economic processes, seventh international symposium on symbolic and numeric algorithms for scientific computing (synasc 2005), 11–18, 2005. [14] m. slikker, a. van den nouweland, social and economic networks in cooperative game theory, kluwer academic publishers, 2001. [15] v. i. voloshin, coloring mixed hypergraphs: theory, algorithms and applications, american mathematical society, 2002. [16] c. zandron, c. ferretti, g. mauri, solving np-complete problems using p systems with active membranes, proceeding of the second international conference on unconventional models of computation, 289–301, 2000. towards structured modelling with hyperdag p systems 237 michael j. dinneen received his phd in 1996 from the university of victoria in canada. he is currently a senior lecturer at the university of auckland. his research interests are in combinatorial algorithms, graph algorithms, uncoventional computing models and network design. yun-bum kim is currently a phd student at the university of auckland, new zealand. in 2007 he has completed a msc thesis in network optimization design problems and currently has interests in molecular and distributed computing. radu nicolescu (phd bucharest, macm, memieee) is currently a senior lecturer at the university of auckland, new zealand. he has research interests in formal languages, information complexity and service oriented computing. int j comput commun, issn 1841-9836 vol.7 (2012), no. 3 (september), pp. 459-472 inverse kinematics solution for robot manipulator based on neural network under joint subspace y. feng, w. yao-nan, y. yi-min yin feng, wang yao-nan, yang yi-min the college of electrical and information engineering hunan university, changsha, hunan province 410082, p.r.china e-mail: yinfeng83@126.com, yaonan@hnu.cn, yimin-yang@126.com abstract: neural networks with their inherent learning ability have been widely applied to solve the robot manipulator inverse kinematics problems. however, there are still two open problems: (1) without knowing inverse kinematic expressions, these solutions have the difficulty of how to collect training sets, and (2) the gradient-based learning algorithms can cause a very slow training process, especially for a complex configuration, or a large set of training data. unlike these traditional implementations, the proposed metho trains neural network in joint subspace which can be easily calculated with electromagnetism-like method. the kinematics equation and its inverse are one-to-one mapping within the subspace. thus the constrained training sets can be easily collected by forward kinematics relations. for issue 2, this paper uses a novel learning algorithm called extreme learning machine (elm) which randomly choose the input weights and analytically determines the output weights of the single hidden layer feedforward neural networks (slfns). in theory, this algorithm tends to provide the best generalization performance at extremely fast learning speed. the results show that the proposed approach has not only greatly reduced the computation time but also improved the precision. keywords: inverse kinematics, neural network, extreme learning machine. 1 introduction the inverse kinematics (ik) problem for a serial-chain manipulator is to find the values of the joint positions given the position and orientation of the end-effector relative to the base. there are many solutions to solve the inverse kinematics problem [1] , such as geometric, algebraic, and numerical iterative methods. in particular, some of the most popular methods are mainly based on inversion of the mapping established between joint space and task space by the jacobian matrix. this solution uses numerical iteration to invert the forward kinematic jacobian matrix and does not always guarantee to produce all possible inverse kinematics solutions. the artificial neural network, which has significant flexibility and learning ability, has been used in the inverse kinematics problem. one solution followed a closed-loop control scheme where a neural network is used to directly learn the nonlinear relationship between the displacement in the workspace and control signal in the joint angle space to achieve a desired position([2] and [3]) . other schemes used neural networks to learn a mapping function from the world space to joint space. although there are various neural networks, the multi-layer perceptron network (mlpn) and the radial basis function network (rbfn) are the most popular neural network applied to functional approximation problems. in [4], the effects of structural parameters, iteration steps and different numbers of training points on the performance of the inverse kinematics approximation were investigated. the results showed that a more complex mlpn configuration is likely to produce a more accurate inverse kinematics approximation. however, it also leads to the number of iterations increasing significantly to satisfy the required training goal. similarly, the neural networkss generalization ability seems to be improved when the number of training sets is increased. however, if the numbers of hidden neurons or training sets are too large, copyright c⃝ 2006-2012 by ccc publications 460 y. feng, w. yao-nan, y. yi-min the training process can not even converge to an expected error goal in some cases. in [5], an mlpn with various structures of the input layer were proposed to solve the inverse kinematics problem of a 6 dof manipulator. three different forms representing the orientation of the end-effector with respect to the base were defined: a 33 rotation matrix, a set of 3 euler angles and one angle and a 13 unit vector. another solution combining an mlpn and a lookup table to solve an inverse kinematics problem of a redundant manipulator was proposed in [6]. although the use of mlpn in the inverse kinematics problem has a greater extent, there have some significant disadvantages. for example, there is no reasonable mechanism to select a suitable network configuration relating to the system characteristics represented by training sets. in addition, training mlpn using the back-error propagation algorithm is complex and slow. for a complex mlpn structure required for a complex configuration manipulator, or a large set of training data, the training process is slow to converge to a specific goal. therefore, trends towards using rbfn which are conceptually simpler and possess the ability to model any nonlinear function conveniently have become more popular. in [7], a variety of network configurations based on rbfn were developed to explore the effect of various network configurations on the performance of the network. in [8], a novel architecture of rbfn with two hidden layers was developed for a inverse kinematics problem of a 3-link manipulator. a fusion approach was proposed in [9]. the proposed approach used rbfn for prediction of incremental joint angles which in turn were transformed into absolute joint angles with the assistance of forward kinematics relations. another rbfn-based method was presented in [10]. it developed a structure of six parallel rbfn, each of which consists of six inputs which represent a location of the end-effector and one output as the joint angle. thus, the group of six parallel rbfn (one for each joint angle) could perform an inverse kinematics approximation. in addition, some hybrid techniques made use of neural networks along with expert system [11], fuzzy logic [12] and genetic algorithm [13] for solving the inverse kinematics. though these intelligence approaches can be applied for two or three dof planar robots, they often demand high performance computing systems and complex computer programming for complex robotic system. traditionally, all the parameters (weights and biases) of the feedforward networks need to be turned. for past decades gradient descent-based methods have mainly been used in various learning algorithms. it is clear that the learning process often needs many training patterns and times to cover the entire workspace. thus, it is not surprising to see that it may take several hours and several days to train neural networks to solve the inverse kinematics. unlike these traditional implementations, this paper uses a novel learning algorithm called extreme learning machine (elm) for single hidden layer feedforward neural networks (slfn) which randomly chooses the input weights and biases, and analytically determines the output weights of slfn [14,15]. in theory, this algorithm tends to provide the best generalization performance at extremely fast learning speed. another issue of concern for solving the inverse kinematics using neural networks is the training data sets. as we know, the joint space of the robot can be considered as an inverse image of the cartesian space and vice versa. thus, the forward kinematics can be assumed to be an inverse image of inverse kinematics and vice versa [9]. the pose p can be used as an input and the corresponding joint angle q as the output for the neural network training data. in other words, q−→p relationship is used while generating the data whereas p−→q mapping is done while training the neural network. usually, the inverse kinematics problems have multiple solutions. for example, the puma 560 robot has at most eight solutions when there are no joint limits imposed. hence, the inverse kinematics equation is one-tomany mapping.unfortunately,the neural network can not match the actual output with the desired output. so the learning error of neural network is hard to be calculated when training. an effective solution is that the training sets are constrained to only one solution set so that the one-to-one mapping can be achieved. for simple structure, such as two-link planar manipulator, the training sets can be collected based on the inverse kinematics equation which only consist of either the positive or negative solution. however, this solution has the difficulty of how to collect constrained data without knowing the inverse kinematic inverse kinematics solution for robot manipulator based on neural network under joint subspace 461 expressions of the complex robotic system. the present work attempts to resolve this crucial issue by using a novel heuristic algorithm, called electromagnetism-like method (em)[16,17], for determining a joint subspace which includes one and only one inverse kinematics solution for a given pose. for convenience’s sake, a graphic depiction of the proposed method is illustrated by using a 2d example, as shown in figure 1. 1 2 the whole joint space joint subspace 1 d 2 d 1 2 3 figure 1: an illustration of the proposed algorithm. the point 1 and 2 is true solution and point 3 is an approximate solution in figure 1, assume that there are two inverse solutions in the whole space. one approximate solution is denoted by (θ∗1,θ ∗ 2) . if we select appropriate dθ1 and dθ2 such that θ1 ∈ [θ ∗ 1 − dθ1,θ ∗ 1 + dθ1] and dθ2 ∈ [θ∗2 − dθ2,θ ∗ 2 + dθ2], this joint subspace includes just one true solution point 1. based on this, the data required for training of neural network is proposed to be derived from the joint subspace with the forward kinematics relations instead of deriving a set complex inverse kinematics equations from the whole joint space. then the true solution point 1 can be approached by using the trained network. the proposed method can be summarized as follows: 1. given a desired coordinate of position and orientation of the end-effector, making use of em to calculate an approximate solution near to one true solution. 2. specify appropriate value of dθk such that θk ∈ [θ∗k − dθk,θ ∗ k + dθk](k = 1,2, · · · ,n), where n is the number of joint and θ∗k is the approximate solution of the k joint variable calculated with em in step 1. for the sake of simplicity, all dθ can be set to be the same value. 3. collect the training sets from the joint subspace, and train the neural network with elm. for a new coordinate of position and orientation of the end-effector, the neural networks usually need to be retrained following the steps above. fortunately, our results show that the training process is very fast. thus, the retraining procedure appears to be acceptable. 2 calculation of joint subspace with em 2.1 problem formulation as shown in figure 2, the desired position vector and orientation matrix of a manipulator end-effector are denoted by: pd and [rd] = [d1,d2,d3], where dj (j=1, 2, 3) are unit vectors along the xd,yd,zd axes. ph is the current position vector of the end-effector. the current orientation matrix is defined by : [rh] = [h1,h2,h3], where hj (j=1,2,3) are unit vectors along the xh,yh,zh axes and the joint variables are denoted by the n×1 vector, θ= [θ1,θ2, · · · ,θn]t. the error between the current and the desired locations of the end-effector can be described by the following functions [18]: 462 y. feng, w. yao-nan, y. yi-min figure 2: the current and the desired end-effector configurations position error: ∆p(θ) =∥ pd − ph(θ)∥ (1) orientation error: ∆o(θ) = 3∑ j=1 (d j · h j (θ) − 1) 2 (2) the total error: e(θ) =∆p(θ) +∆o(θ) (3) where (·) denotes the vector dot product. furthermore, the total error can be chosen to be a weighted sum of the position and orientation components: e(θ) =wp∆p(θ) +wo∆o(θ) (4) where wp and wo are weighting factors assigned to position and orientation, respectively, such that wp +wo = 1. now the inverse kinematics problem is to find a solution θ∗, such that e(θ∗) ≤ ε(ε−→ 0).it is clear that this problem can be transformed into the following minimization problem: mine(θ) s.t. θ ∈ℜn|lk ≤ θk ≤ uk, i = 1,2, · · · ,n (5) 2.2 brief of electromagnetism-like method (em) to solve the problem in (5), the general scheme of em is given by following procedures: initialize, local search, calculation of charge and total force vector and movement according to the total force. initialization the procedure initialization is used to sample m points, θ1, · · · ,θm, randomly from the feasible domain of the joint variables, where θi = [θi1, · · · ,θ i n](i = 1, · · · ,m). the procedure uniform sampling can be determined by following θik = lk + rand · (uk − lk) k = 1,2, · · · ,n (6) inverse kinematics solution for robot manipulator based on neural network under joint subspace 463 the procedure ends with m points identified, and the point that has the best function value is stored in θbest. local search the local search procedure is used to gather the local information and improve the current solutions. it can be applied to one or many points for local refinement per iteration. the selection of these two procedures, does not affect the convergence result. calculation of charge and total force vector the charges of the points are calculated according to their objective function values, and the charge of each point is not constant and changes from iteration to iteration. the charge of the ith point, qi, is evaluated as following qi = exp[−n (e(θi) − e(θbest)) m∑ k=1 (e(θk) − e(θbest)) ], i = 1,2, · · · ,m (7) in this way, points that have better objective values possess higher charges. notice that, unlike electrical charges, no signs are attached to the charge of an individual point in (7). instead, the direction of a particular force between two points is decided after comparing their objective function values. hence, the total force fi exerted on point i is computed by the following equation fi =  m∑ j,i (θ j − θi) q jqi ∥ θ j − θi ∥2 , i f e(θ j) < e(θi) m∑ j,i (θi − θ j) q jqi ∥ θ j − θi ∥2 , others (8) according to (8), the point that has a better objective function value attracts the other one. contrarily, the point with worse objective function value repels the other. since θbest has the minimum objective function value, it acts as an absolute point of attraction. then it attracts all other points in the population to better region. movement according to the total force after evaluating the total force vector fi, the point i is moved in the direction of the force by a random step length in (8). here the random step length λ is assumed to be uniformly distributed between 0 and 1. θi = θi +λ fi ∥fi∥ rng, i = 1,2, · · · ,m (9) in (9), rng is a vector whose components denote the allowed feasible movement toward the upper bound uk or the lower bound lk of the joint variables. after finishing the above procedures, the positions of points are updated and we have finished one iteration calculation of em. take the figure 3 for example. there are three particles and their own objective values are 15, 10 and 5, respectively. because particle 1 is worse than particle 3 while particle 2 is better than particle 3, particle 1 represents a repulsion force which is f13 and particle 2 encourages particle 3 that moves to the neighborhood region of particle 2. consequently, particle 3 moves along with the total force f. 464 y. feng, w. yao-nan, y. yi-min 1 2 3 ( ) 5f x ( ) 15f x ( ) 10f x f13{repulsion} f f23 {attraction} figure 3: an example of attract-repulse effect on particle number 3 2.3 performance evaluation of em in solving the inverse kinematics this example is used to examine the precision of the approximate solution calculated by em, which directly impact the choice of the interval width dθ. the robot structure for this example is based on puma 560. the link parameters are given in table 1. table 1 the link parameters of the puma 560 robot joint link length (m) twist angle (degree) offset length (m) joint limitations (degree) 1 0 -90 0.6604 [−160,160] 2 0.4320 0 0.2000 [−225,045] 3 0 90 -0.0505 [−045,225] 4 0 -90 0.4320 [−110,170] 5 0 90 0.0000 [−100,100] 6 0 0 0.0565 [−266,266] the desired configuration of the end-effector is given by: pd=[0.7433, 0.3111, 0.7883] (m), and d1= [-0.6366, 0.7712, -0.0084], d2= [0.0227, 0.0296, 0.9993], d3 = [0.7709, 0.6359, -0.0364]. note that there are multiple solutions within the joint limitations shown in table 1. for the sake of simplicity, the joint 1 and 3 limitations are rearranged into [-120,160] and [-45,120], respectively. for the given coordinates of the end-effector, it corresponds to an exact solution of θ = [10 20 30 40 50 60](degree) within the adjusted joint limitations. then the error between an approximate solution and the true solution can be easily calculated. the stopping criterion for em is defined by ε=0.01. in other words, stop calculation when the total error (see (3)) is less than ε. in this example, 100 trials have been conducted for em and the maximum absolute error (absolute value) at each joint angle is shown in figure 4. from figure 4, the widths of the joint limitations are set as about 20◦ at least, i.e.dθ = 10◦, which can guarantee that the one-to-one mapping is achieved. it should be noted that em is not suitable for high precision applications. as can be seen in figure 5, the number of evaluations drastically increases with precision. however, during the early stage of computations, em algorithm is highly efficient. thus, em is suitable for providing a good initial guess. 3 model the inverse kinematics with neural network the architecture used for solving the inverse kinematics problems is shown in figure 6. the single layer network consists of n outputs (joint angles) and 12 inputs [n, s, a, p] which represents a location (position and orientation) of the end-effector. as mentioned earlier, the training set have been constrained to only one solution set so that the one-to-one mapping could be achieved. for the present work, a fast and accurate learning algorithm called as extreme learning machine inverse kinematics solution for robot manipulator based on neural network under joint subspace 465 figure 4: maximum absolute error at each joint angle among 100 trials 0 50 100 150 200 250 300 350 400 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 steps t o ta l e rr o r figure 5: the performance of em 466 y. feng, w. yao-nan, y. yi-min x p y p z p x n y n z n x s y s z s x a y a z a 1 2 1n n position and orientation of the end-effector output: joint angles figure 6: a general structure of the slfn to approximate the inverse kinematics (elm) are used to train the neural network in modeling the inverse kinematics of robot. test results show that the learning speed of elm algorithm is much faster than the traditional methods. for example, the learning speed of elm is at least 1000 and 2000 times faster than bp and svm for solving the benchmark problem of california housing [14]. thus, this new training method is very suitable for solving the inverse kinematics. 3.1 brief of extreme learning machine (elm) elm is a unified with randomly generated hidden nodes independent of the training data. the output of an slfn with l hidden nodes can be represented by fl(x) = l∑ i=1 βig(ai,bi,x), x ∈ rn,ai ∈ rn (10) where ai and bi are the learning parameters of hidden nodes and βi is the weight connecting in ith hidden node to the output node. g(ai,bi,x) is the output of the ith hidden nodes with respect to the input x. additive and rbf hidden nodes are used often in applications. for additive hidden node with the activation function g(x) (e.g. sigmoid,threshold,sin,etc.), g(ai,bi,x) is given by g(ai,bi,x) = g(ai · x + bi), bi ∈ r (11) where ai is the weight vector connecting the input layer to the ith hidden node and bi is the bias of the ith hidden node. ai · x denotes the inner product of vectors. for rbf hidden node with activation function g(x) (e.g. gaussian), g(ai,bi,x) is given by inverse kinematics solution for robot manipulator based on neural network under joint subspace 467 g(ai,bi,x) = g(bi ∥ x − ai ∥) bi ∈ r+ (12) where ai and bi are the center and impact factor of ith rbf node. r+ indicates the set of all positive real values. the rbf network is a special case of slfn with rbf nodes in its hidden layer. each rbf node has its own centroid and impact factor, and its output is given by a radially symmetric function of the distance between the input and the center. for a given set of trainning samples(xi,ti)ni=1 ⊂ r n ×rm,if the outputs of the network are equal to the targets, we have fl(x j) = l∑ i=1 βig(ai,bi,xi) = t j j = 1,2, · · · , n. (13) above equation can be written compactly as hβ= t (14) where h =  g(a1,b1,x1), · · · ,g(al,bl,x1) ..., · · · , ... g(a1,b1,xn ), · · · ,g(al,bl,xn )  n×l (15) β=  βt1 ... βtl  l×m and t =  tt1 ... ttn  n×m (16) βt is the transpose of a matrix or vector β. h is called the hidden layer output matrix of the network; the ith column of h is the ith hidden node’s output vector with respect to input and the jth row of h is the output vector of the hidden layer with respect to input x j. usually, when the number of training data is larger than the number of hidden nodes n > l, one can not expect an exact solution of the system (14).after the hidden nodes are randomly generated and given the training data, the hidden-layer output matrix h is known and need not be tuned. thus, training slfns simply amounts to getting the solution of a linear system (14) of output weights β. under the constraint of minimum norm least square, i.e., min ∥β∥ and∥hβ− t∥ , a simple representation of the solution of the system (14) is given explicitly as β̂= h†t (17) where h† is the moore-penrose generalized inverse of the hidden-layer output matrix h. the simple learning algorithm can be summarized as follows: algorithm elm: given a training set ℜ= (xi, ti)|xi ∈ rn,ti ∈ rm, i = 1, · · · , n, activation function g(x),and hidden neuron number n step 1: assign arbitrary input weight wi and bias bi, i = 1, · · · , n; step 2: calculate the hidden layer output matrix h; step 3: calculate the output wight β : β= h†t where h,β and t are defined as formula (15) and (16). 468 y. feng, w. yao-nan, y. yi-min 4 performance evaluation and discussion example 1: this simple example demonstrates that the neural network trained by the constrained data can produce a better approximation of the inverse kinematics function. an rbfn is used to approximate the inverse kinematics function of two-link manipulator. it consists of two revolute joints and two links that have the same length of 30mm. two coordinate values x, y describe the position of the tip of the manipulator. the forward kinematics is x = l1cosθ1 + l2cos(θ1 + θ2)y= l1 sinθ1 + l2 sin(θ1 + θ2) (18) the inverse kinematics can be described by θ2 = atan2(± √ 1 − ( x2 +y2 − l21 − l 2 2 2l1l2 )2, x2 +y2 − l21 − l 2 2 2l1l2 ) (19) θ1 = atan2(y, x) − atan2(l2 sinθ2, l1 + l2cosθ2) (20) given a desired configuration of the end-effector, there are usually two desired true solutions which correspond with the lower-elbow structure and the upper-elbow structure respectively. we test the neural network with three different cases. 1. the training set randomly sample from the whole joint space. 2. the training set randomly sample from the constrained joint space which only consisted of the positive solution (+sign in (19)). 3. the training set randomly sample from the sub joint space. all the simulation are carried out in matlab 6.5 environment running in an intel(r) core(tm) 2 duo cpu 3.00ghz pc. the training process of the neural network can be executed using matlab code "newrb". the root mean squared (rms) error goal is defined by 0.001, and the number of training sets is 1000. 0 100 200 300 400 500 10 −4 10 −2 10 0 10 2 10 4 steps r m s e rr o r case1,training time:84.8590s case2, training time: 10.5620s case3,training time:1.3440s figure 7: the training convergence performance as can be seen in the figure 7, the same network trained by the constrained training data produces a better convergence performance.moreover, the neural network trained within the sub joint space produces the best performance. for case 1, the training sets contain the many-to-one mapping from the joint space to the cartesian space. it may be one reason that leads to training failure. inverse kinematics solution for robot manipulator based on neural network under joint subspace 469 example 2: in this example, the performance comparison of the new proposed elm algorithm and the gradient-based learning algorithm has been conducted for an inverse kinematics of puma robot. the desired configuration of the end-effector is the same with section 2.3. test 1:training the network with traditional algorithm first, the approximate solution is calculated by em. set the dθ = 30◦, then one of the sub space is determined for each joint, as shown in table 2. table 2 one group of joint subspace joint number joint 1 joint 2 joint 3 joint 4 joint 5 joint 6 subrange (degree) [-20.1, 39.9] [-8.7, 51.3] [2.1, 62.1] [2.9, 62.9] [11.9, 71.9] [37.6, 97.6] next, different training size, which is 100, 500 and 1000 respectively, sample randomly from the sub joint space. other 500 data set is used for testing the performance of neural network. the root mean squared error goal and the maximum number of neurons are set as 10−8 and 500, respectively. and the spreads in three cases are experimentally selected as 3, 1.2 and 1.2 so that the rbfn can produce an appropriate performance. the training steps are repeated until the network’s root mean squared error falls below goal or the maximum number of neurons are reached. figure 8 shows the training convergence performance obtained by using different training size. the training time increases greatly with the number of the training data, as can be seen in the figure 8. although the training error fail to reach the goal 10−8 using 500 and 1000 training data, all three trained networks are considered to achieve a good approximate performance. since the training error successfully reach the 10−4 in three case, which is an accepted result for inverse kinematics. these conclusions can also be confirmed by the following results. figure 9, 10 and 11 shows the testing root mean square (rms) error at each joint angle using the corresponding networks trained above. it can be seen that the rms error is very small. in addition, the network trained using 500 and 1000 size performs similarly. and the generalizations of both of them are better than the network trained using 100 data size. this occurs because less training data reduces the generalization of the network. however, taking into account training time, the network trained with less data size appears to be a better choice. 0 100 200 300 400 500 10 −8 10 −6 10 −4 10 −2 10 0 10 2 10 4 steps r m s e rr o r training size=1000, training time=100.0780s training size=500 training time=44.320s training size=100 training time=0.8750s figure 8: network training convergence with different training size. figure 9: absolute error at each joint angle using 100 training set test 2: training the network with elm in this example, a single feedforward network with sigmoidal additive activation function is used. for elm, the input weights and biases are randomly chosen from the range [-1, 1].to compare the results of elm and gradient-based learning algorithm in test 1, two groups of tests use the same training/testing sets. figure 12 shows the training rms errors with different hidden nodes number in three cases. the corresponding testing rms errors are plot in figure 13. the average training time is 0.0014 s, 0.0056 s and 0.012 s, respectively. as observed from figure 12 and 13, in general, the network trained using three 470 y. feng, w. yao-nan, y. yi-min 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3 3.5 x 10 −3 joint number t ra in in g r m s e rr o r( d e g re e ) figure 10: absolute error at each joint angle using 500 training set. 1 2 3 4 5 6 0 0.5 1 1.5 2 2.5 3 3.5 x 10 −4 joint number t ra in in g r m s e rr o r (d e g re e ) figure 11: absolute error at each joint angle using 1000 training set groups of training data performs similarly. furthermore, the lowest validation error is achieved when the numbers of hidden nodes are within the ranges [15, 50]. the results show that the generalization performance obtained by the elm algorithm is very close to the generalization performance of gradientbased learning algorithm. however, the elm algorithm can be simply conducted and runs much faster. according to our results, the average learning speed of elm algorithm is at least 1000 times than the gradient-based learning algorithm. 0 5 10 15 20 25 30 35 40 45 50 0 0.005 0.01 0.015 0.02 (a) number of hidden nodes t ra in in g r m s e rr o r 0 5 10 15 20 25 30 35 40 45 50 0 0.005 0.01 0.015 0.02 (b) number of hidden nodes t ra in g r m s e rr o r 0 5 10 15 20 25 30 35 40 45 50 0 0.005 0.01 0.015 0.02 (c) number of hidden nodes t ra in g r m s e rr o r figure 12: the training rms error (degree) with elm, the training size: (a) 100, (b) 500 and (c) 1000. example 3: this example demonstrates that the proposed method can be used for continuous joint space trajectory planning. the robot structure for this example is still based on puma 560 robot. the desired trajectory of the end-effector is a circle centered at (0.2, 0.05, 0.5) (m) with respect to the base coordinate frame and a radius equal to 0.2(m). the trajectory is discretized into 72 equally spaced points. to ensure the existence of solution, the joint limitations are released in this example. moreover, noting that multiple solutions do exit, in order to prevent a sudden jump to another solution, a unique orientation is assigned and the approximate solution for each of the successive points is given by the solution of the preceding point. for example, if the calculated solution of the k point is denoted by θk, the joint variable limitations are set as [θk − dθ,θk + dθ] for the k+1 point, instead of re-computing the approximate solution. the computed joint trajectories and the corresponding total error (sum of the position and orientation error) are plotted in figure 14 and figure 15, respectively. it should be noted inverse kinematics solution for robot manipulator based on neural network under joint subspace 471 0 5 10 15 20 25 30 35 40 45 50 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 number of hidden nodes t e st in g r m s e rr o r (d e g re e ) training data size=100 training data size=500 training data size=1000 figure 13: the testing rms error with elm. that the trajectory in figure 14 is just one of the multi-trajectory for puma robot. 0 10 20 30 40 50 60 70 80 −100 −50 0 50 100 150 200 trackpoint jo in t v al ue (d eg re e) theta1 theta2 theta3 theta4 theta5 theta6 figure 14: computed trajectories of the joints. 0 10 20 30 40 50 60 70 80 0 0.5 1 1.5 2 2.5 x 10 −9 trackpoint t ot al e rr or ( th e po si tio n an d or ie nt at io n er ro r) figure 15: total error at each track point the results in figure 15 show that the idea of using a neural network has produced an excellent approximation of the inverse kinematics function. although neural network solutions are usually not suited for high precision robotic application, high precision results are achieved here. this occurs because the joint varies are limited within a small space when training network. 5 conclusions the proposed hybrid approach combined the electromagnetism-like method and the neural network to solve the inverse kinematics problem. unlike the traditional neural network approaches that generate the training data from the whole joint space, the neural network in the proposed approach collects the training data from a sub joint space, in which the training set is constrained to only one solution set so that the one-to-one mapping is achieved. another important feature of the proposed approach is to use an efficient learning algorithm, elm, to train the neural network. the learning speed of this novel training algorithm can be thousands of times faster than traditional feedforward network learning algorithms while obtaining better generalization performance. the results show that the proposed hybrid approach has not only greatly reduced the computation time but also improved the precision. 472 y. feng, w. yao-nan, y. yi-min bibliography [1] bruno siciliano, oussama khatib, springer handbook of robotics,springer press,2008. [2] h jack, dma lee, ro buchal and wh elmaraghy, neural networks and the inverse kinematics problem, journal of intelligent manufacturing,4:43-66,2003. [3] fl lewis,neural network control of robot manipulators,ieee expert,11(3):64-75,1996. [4] bb choi and c lawrence,inverse kinematics problem in robotics using neural networks,nasa technical memorandum-105869. [5] z binggul, hm ertunc and c oysu, comparison of inverse kinematics solutions using neural network for 6r robot manipulator with offset,in proceedings of the 2005 congress on computational intelligence method and application,pp:1-5. [6] as morris , a mansor,finding the inverse kinematics of manipulator arm using artificial neural network with look-up table. robotica,15:617-625,1997. [7] ja driscoll,comparison of neural network architectures for the modeling of robot inverse kinematics,in proceedings of the 2000 ieee,3:44-51,2000. [8] ss yang, m moghavvemi and john d tolman,modelling of robot inverse kinematics using two ann paradigms, in proceedings of tencon2000 intelligent system and technologies for the new millennium,3:173-177,2000. [9] shital s, chiddarwar n and ramesh babu,comparison of rbf and mlp neural networks to solve inverse kinematic problem for 6r serial robot by a fusion approach,engineering applications of artificial intelligence,, 23(7):1083-1092,2010. [10] py zhang, ts lu and lb song, rbf neworks-based inverse kinematics of 6r manipulator,int. journal of advanced manufacturing technology,26:144-147,2004. [11] eimei oyama, arvin agah and karl f, a modular neural architecture for inverse kinematics model learning,neurocomputing, 38(40):797-805,2001. [12] srinivasan alavandar, mj nigam, neuro-fuzzy based approach for inverse kinematics solution of industrial robot manipulators, int. j. of computers, communication and control, 3(3):224-234,2008. [13] karlra p, prakash nr, a neuro-genetic algorithm approach for solving inverse kinematics of robotic manipulators, ieee international conference on systems, man and cybernetics,2:1979-1984,2003. [14] guang-bin huang, qin-yu zhu, chee-kheong siew, extreme learning machine: a new learning scheme of feedforward neural networks, in proceedings of ieee international joint conference on neural networks,2:985-990,2004. [15] guang-bin huang, lei chen, enhanced random search based incremental extreme learning machine,neurocomputing, 71(16-18):3460-3468,2008. [16] birbil si, fang sc, an electromagnetism-like mechanism for global optimization,journal of global optimization, 23(3):263-282,2003. [17] birbil si, fang sc, sheu rl, on the convergence of a population-based global optimization algorithm,journal of global optimization, 30:301-318,2004. [18] wang lct, chen cc, a combined optimization method for solving the inverse kinematics problem of mechanical manipulators,ieee transaction on robotics and automation, 7(4):489-499,1991. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 3, pp. 304-316 surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida abstract: in this paper the authors describe the results of experiments for surface roughness image acquisition and processing in order to develop an automated roughness control system. this implies the finding of a characteristic roughness parameter (for example ra) on the bases of information contained in the image of the surface. to achieve this goal we use quasi-fractal characteristics and fuzzy clustering methods. keywords: image processing, surface roughness, quasifractal parameters, fuzzy clustering. 1 introduction surface roughness of manufactured products is defined in sr iso 4287/2001 standard and other international standards. simple and complex characterization parameters are explained in works like [1], which are considering the use of stylus devices to measure roughness after a linear or curved path [3, 7, 7, 12]. although these devices had been continuously upgraded in order to increase measuring precision [3], they are not efficient enough used in automated measuring systems, due to the fact that the stylus must make contact with the measured surface and also due to the very long time of measurement. a newer technique in surface roughness measurement is the employment of digital image acquisition and processing [4, 6]. in this case the camera is coupled to a microscope (bellow a magnification of x100) and the acquisitioned images are processed with specially designed computer programs. so one image of 24 mm2, corresponds to 100 stylus scanning. in the paper [10] a method of summit and directionality identification of textured images is defined using surface image analysis. in [2] there is shown that surfaces obtained by turning, milling and grinding presents a high complexity when they are analyzed by optical, electron microscopes or afm (atomic force microscope). isotropic surfaces obtained by machining can be characterized by the mandelbrotweierstrass function using fractal methods. for the characterization of anisotropic surfaces some authors are proposing methods based on the two dimensional fft algorithm. this method had been used for characterization of grinded surface. the basic idea in [11] is to decompose the surface roughness (described in terms of amplitude, wave length and direction) in convex elements (summits) and then analyze these structures with morphologic trees. the authors claim that clear correlations can be obtained between the obtained morphologic tress and the tribologic proprieties of the surfaces. in [4] the correspondence between surface roughness obtained with a certain manufacturing method and its image had been studied based on functional dependence between roughness height and the grey level values of the image. the authors had studied these correspondences with the help of polynomial nets, trained with experimental results, which has as inputs cutting speed, feed and cutting depth and also the mean values of image grey levels. the polynomial net is capable to estimate the surface roughness with an acceptable accuracy, which had been validated with a series of experimental measurements. the advantage of this method is the possibility to apply it to online roughness estimation in turning processes. the paper [9] proposes a new method to analyze and characterize the surface roughness. on the basis of an algorithm in three steps the classification of textured images of some manufactured surfaces is made, surfaces obtained by casting, milling and grinding. in the first step the image is processed by a frequency normalized wavelet transform, obtaining a set of images at different scales and phases. in the copyright © 2006-2008 by ccc publications surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 305 second step characteristic parameter values are extracted and in the third step the image classification is obtained using the set of extracted features. from the synthesis of presented works, it can be concluded that the method of surface image processing is better than the methods using the stylus type measurement, because it is faster and there is no contact between the measuring instrument and the surface. it also has been shown that there is a correlation between the height of the roughness and the image grey levels and the estimation of surface roughness can be done in similar ways as texture analysis. 2 acquisition and preprocessing of surface images for image acquisition purposes several manufactured roughness probes with known roughness parameters were used (stalî dovodca gost 9378-80 e15718) obtained by manufacturing operations as: cylindrical milling, plane milling, shaping, frontal grinding, plane grinding and polishing. in this paper only surface roughness images representing shaping, plane grinding and polishing will be analyzed, because these images are more similar to each other and harder to classify. four non-overlapping images, of every probe’s surface were taken using a ccd camera mounted on a citival microscope at magnifications of x10 and x25. the resolution of the images was 640x480 pixel. the correlation between surface roughness and surface image had been studied in a large number of papers [4] showing a certain functional dependency between asperity height and image intensity. during experiments however, we observed that this correlation is more complex and depends in a very high degree on the illumination conditions of the probe. usual image processing phases, of non-object representation images are presented in [14]. after the image acquisition, a number of preprocessing operations had to be made in order to obtain better image quality. the used preprocessing steps were as follows: filtering eliminate inherent image noises; establishing region of interest keep only high information regions of the image; uneven illumination effects elimination eliminate effects of higher intensity in the middle of the image, which is characteristic for images taken with microscopes (figure 1 and 2) ; correction of probe rotation and position variations as the images are anisotropic, rotation of the probe can alter the analysis results. here 2d fast fourier transforms described in [2] or oriented gabor filters described in [5], can be used. the authors had tested several automatic image rotation algorithms and finally a 1d fft method was used. on the base of tested preprocessing methods a program module had been developed, which can perform al preprocessing steps automatically and which can be eventually included in an automated quality control system. after preprocessing, the image quality was fair enough to perform the next step of image processing. studying recent researches in texture analysis and image processing a number of statistical methods (co-occurrence, statistical moments) and frequency domain methods (gabor filters, wavelet analysis), had been tested in order to obtain automated recognition of surface roughness parameters, but these methods didn’t yield the wanted results. so we focused our research on fractal methods. 3 fractal image processing characterization considering the goal of our research, computation of fractal dimension is less important from a practical point of view. it is more important to use fractal or pseudo-fractal parameters in order to discriminate surfaces with different roughness characteristics. fractal dimension computation of rough 306 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida figure 1: surface image with higher center intensity. figure 2: image after preprocessing (uneven lighting and rotation has been eliminated). surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 307 surfaces using the weierstrass-mandelbrot function is described in [2] and others. when this function is correlated to power spectral density, the fractal dimension is correlated to the slope of the spectrum represented in logarithmic scale. the weierstrass-mandelbrot function is difficult to apply in practice. that is why we had to use methods, which are easier to implement as computer algorithms. these methods are the box counting method (bc) and the frequency domain fractal parameter (using power spectral density diagrams). both methods had been tested on the roughness probes images. the box counting method (bc) had been derived from the “compass dimension” and is closely related to fractal dimension as it has been stated by mandelbrot with the relation: d = log n log(1/r) (1) the compass dimension is obtained measuring a curve (which can represent a section through a surface) with decreasing measuring units (ri, i = k...1) and storing the number of measures ni for each ri. the diagram of log(ni) as function of log(1/ri) is drawn obtaining a so called richardson plot. if the richardson plot is a straight line then the measured object is fractal and the slope of the plot is it’s compass dimension. the bc method uses rectangular boxes of decreasing edges instead the linear measure ri. fractal dimension can also be computed on the bases of power spectral density (psd), as it is stated in [1]. if the psd amplitude is represented as a function of spatial frequency (f) in a logarithmic diagram then the fractal parameter can be considered as the slope (p′1) of the log(psd) approximation line and the (p2’) as the intersection of this line with the ordinate axis. log(psd) = p′1 log( f ) + p ′ 2 (2) first we have developed a 2d box counting algorithm and then a 3d algorithm (which uses 3d boxes on 3d matrix as shown in figure 2) both yielding satisfactory results. although the obtained results show that the analyzed images do not have true fractal behavior (the resulted richardson plot is not a rigorously straight line), the goal is to find correlations between obtained parameters on one hand and the surface roughness on the other hand. in this research we had used the bc3d (3 dimensional box counting) method, but in the richardson plot, instead of using only linear approximation in order to define parameters, we also used second and third degree polynomials. if we denote y = log(ni) and x = log(1/ri), we will have the following relations: y = p1x + p2 (3) y = p3x 2 + p4x + p5 (4) y = p6x 3 + p7x 2 + p8x + p9 (5) examples of curve fitting for relations (3), (4), (5) are given in figures 3, 4 and 5. we had considered then to use coefficients p1ěp9 to characterize the roughness of the studied manufactured surfaces. these coefficients had been named by us “quasi fractal parameters” (qfp, meaning fractal-like parameters) highlighting the fact that they are not rigorously correlated to fractal dimension. in order to study the possibilities to classify images representing rough surfaces, with the above defined parameters, we have made two dimensional representations that we denoted as qfp diagrams (quasi fractal parameter diagrams). each of these diagrams represents a bi-dimensional space having as dimensions two of the qfps defined above. 308 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida figure 3: linear curve fitting for points obtained with the bc3d algorithm applied on an image of shaped surface. figure 4: second order polynomial curve fitting for points obtained with the bc3d algorithm applied on an image of shaped surface. surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 309 figure 5: third order polynomial curve fitting for points obtained with the bc3d algorithm applied on an image of shaped surface. 4 experimental considerations in order to establish how qfps can characterize surface roughness we had acquired and processed four different images from each surface roughness probe, for three types of cutting operations: shaping with 4 different roughness values, grinding with four different roughness values and polishing with three different roughness values. table 1 shows sample categories, roughness values, sample codes and diagram symbols. in diagram symbols the color represents the operation and the symbol represents a specific roughness value. some examples of analyzed images are shown in figure 6. there had been also acquired images for magnification of x25. for both magnifications, the images had been studied using qfp diagrams. two examples of such diagrams are shown in figure 6.a and 6.b. comparing diagrams in figures 6.a. and 6.b., it can be observed that some of the same studied samples have different locations in the parameter space. for example the black squares (representing s4 samples) have one location for x10 magnification and other location for x25 magnification. this shows that p1 and p2 parameters are not “true fractal” parameters because they do not exhibit an invariance to scale, but this also shows that if in x10 magnification we can not really distinguish the s4 samples from the g group samples, at x25 magnification the s4 samples are well distinguishable. this lead to the conclusion that acquiring and analyzing sample images at different magnifications can help to better discriminate the samples. the selection of optimum magnifications to be used needs to be experimented for large sets of images. in this paper we will present discrimination algorithms only for samples with magnification of x10. the establishing of box dimension range is also an issue, but this can be also solved with experiments on large sets of calibration images. the authors plan to present algorithms for these issues in a future work. we had mentioned before that there is a closed link between fractal dimension 310 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida figure 6: examples of studied images (magnification x10, coding as stated in table 1). figure 7: qfp diagrams for parameters p1 − p2, a. magnification x10; b. magnification x25. surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 311 table 1: machining roughness code diagram operation (ra) symbol 12.5−6.3 s1 black diamond shaping 6.3−3.2 s2 black up pointing triangle 3.2−1.6 s3 black down pointing triangle 1.6-0.8 s4 black square 3.2−1.6 g3 blue down pointing triangle grinding 1.6−0.8 g4 blue square 0.8−0.4 g5 blue circle 0.4−0.2 g6 blue star 0.2−0.1 p7 red plus sign polishing 0.1−0.05 p8 red x 0.05−0.025 p9 red dot and power spectral density parameters, obtained with fft methods [1] and [2]. the authors had made experiments with the psd method too, in order to compare the two methods. for the psd method the same probes were used as in the first case. the obtained results were very close to results obtained with the box counting method. here an issue to solve is the automated selection of the analysis frequency range. establishing samples discrimination can be made automatically by a series of clustering methods, like fuzzy c-means or artificial neural networks. the goal of applying clustering methods is to find the cluster center for each sample with known roughness parameter (training phase). after finding the cluster central point this will be used to classify unknown roughness samples (recognition phase). in this phase we will discuss only the training phase. regardless what kind of clustering method we use, a good practice is to make the discrimination in successive steps: 1. plot the qfp diagrams for combinations of quasi-fractal parameters taken by two (it is also possible to use higher order qfp spaces, but these can not be properly represented in diagrams); 2. apply a clustering algorithm and find cluster centers; 3. observe which samples are well discriminated, store the cluster centers for these samples and eliminate them from the data set; 4. restart from step 1. with the remaining samples, until all the samples are discriminated. 5 fuzzy c-means clustering of quasi-fractal parameters in order to perform sample discrimination, we choose to use the fuzzy c-means clustering method, which has been implemented in some programming environments as for example in matlab. this method does not need large sets of data for training and was suitable for our purpose. in this method each sample is considered to be a part of a cluster, in some degree, defined by a membership degree. this method has been introduced in [13], as an enhancement of existing clustering methods. the method solves the problem of clustering by grouping data sets in multi-dimensional spaces in a number of specified clusters. the method starts with an estimation of the cluster centers marking the central value of each cluster. in the same time, for each sample is assigned a membership degree, which reflects the 312 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida belonging of that sample to certain cluster. the initial cluster center is then successively modified in order to achieve the minimum of an objective function which is the distance of a sample to the center, weighted by the samples membership degree. we are presenting in the followings the results obtained applying the fuzzy c-means clustering method to the qfp spaces of the described samples. final clustering is achieved in 4 phases. figure 8: qfp diagram (a) and clustering (b) for phase 1. the black diamond markers in (b) represent the cluster center and each color represents one cluster. figure 9: qfp diagram (a) and clustering (b) for phase 2. the black diamond markers in (b) represent the cluster center. in the first phase (figure 8) we could find a well discriminated clustering of samples s1, s3, s4, in the second phase (figure 9) we discriminate s2, in the third (figure 10) p1, p2, p3 and g6 and eventually in phase four (figure 11) g3, g4, g5. the found cluster centers will serve to classify any unknown sample later on. in order to increase clustering precision, a combination of different diagrams can also be used. 6 conclusions in this paper new quasi-fractal parameters (p1 . . . p9) were defined and a new type of diagram (qfp diagram) was proposed to achieve roughness image recognition. surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 313 figure 10: qfp diagram (a) and clustering (b) for phase 3. figure 11: qfp diagram (a) and clustering (b) for phase 4. 314 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida the presented method is not an optimal one since the selection of parameters for the different phases was made by hand, but this selection is needed to be done only once for a group of roughness samples obtained with certain manufacturing methods. the algorithms must also be tested on larger sets of images. as further developments the selection of box dimension range for bc3d method and frequency range for psd method will be studied. we will also study the influence of magnification on quasi-fractal parameter discrimination, and a method to find optimal parameter selection. bibliography [1] m. a. costa fractal description of rough surfaces for haptic display phd thesis, stanford university, 2000. [2] z. jiang; h. wang; b. fei research into the application of fractal geometry in characterising machined surfaces, international journal of machine tools and manufacture, elsevier science ltd, 2001. [3] r. k. leach nanosurf iv: traceable measurement of surface texture at the national physical laboratory, international journal of machine tools and manufacture, elsevier science ltd, 2001. [4] b. y. lee; y. s. tangsurface roughness inspection by computer vision in turning operations, international journal of machine tools and manufacture, elsevier science ltd, 2001. [5] d. m. tsai; s. k. wu; m.c. chenoptimal gabor filter design for texture segmentation using stochastic optimization, image and vision computing, elsevier science, 2000. [6] s. baleix, s. le roux, g. bernhart, p. luorssurface and image analysis of oxides grown and spalled on heat resistant cast steels exposed on thermal cycles, ecole des mines d’albi-carmaux, albi, france, journal of materials processing technology, elsevier science bv, 2001. [7] s. brinkmann, h. bodschwinna, h. w. lemke accessing roughness in three-dimensions using gaussian, regression filtering, university of hanover, germany, international journal of machine tools and manufacture, elsevier science ltd, 2001. [8] s. lu; y. gao; t. xie; f. xie; x.q. jiang; z. li; f. wang a novel contact/non-contact hybrid measurement system for surface topography characterization huazhong, hong kong university of science and technology, second research institute of the public security ministry, china, international journal of machine tools andmanufacture, elsevier science ltd, 2001. [9] b. josso, d. r. burton, m. j. lalor wavelet strategy for surface roughness analysis and characterisation, liverpool jhon moores university, uk, computer methods in applied mechanics and engineering, elsevier science, 2001. [10] k. yanagi, s. hara, t. endoh summit identification of anisotropic surface texture and directionality assessment based on asperity tip geometry, nagaoke university of technology, tokyo institute of technology, japan, international journal of machine tools and manufacture, elsevier science ltd, 2001. [11] h. zahouani, m. assoul, r. vargiolu, t. mathia the morphological tree transform of surface motifs. incidence in tribology, ecole centrale de lion, universite france comte, france, international journal of machine tools and manufacture, elsevier science ltd, 2001. surface roughness image analysis using quasi-fractal characteristics and fuzzy clustering methods 315 [12] m. wieczorowski spiral sampling as a fast way of data acquisition in surface topography, international journal of machine tools and manufacture, elsevier science ltd, 2001. [13] j. c. bezdecpattern recognition with fuzzy objective function algorithms, plenum press, new york, 1981. [14] c. aguilera, m. ramos, g. roaan automatic grading system for panels surfaces using artificial vision, international journal of computers, communications and control, vol. i (2006), no. 2, pp. 15-22, 2006. tiberiu vesselenyi university of oradea universitatii st. 1, 410087, oradea, romania e-mail: tvesselenyi@yahoo.co.uk ioan dzitac department of economics agora university of oradea piata tineretului 8, oradea 410526, romania e-mail: idzitac@univagora.ro simona dzitac university of oradea universitatii st. 1, 410087, oradea, romania e-mail: simona.dzitac@gmail.com victor vaida university of oradea universitatii st. 1, 410087, oradea, romania sc electrocentrale deva sa str. santierului, nr.1, mintia, romania e-mail: vaida@termodeva.ro tiberiu vesselenyi was born in oradea, romania in 1957, he finished the university “politehnica” from timişoara in 1983. from 1983 to 1991 he worked at a machine building company in oradea as designer and cnc programmer. from 1991 till 1994 he was a research engineer at the “geothermal energy research center” in oradea and from 1994 till today is assoc. prof. at the university of oradea, where he teaches robot and cnc programming. he had earned a phd in robotics at the university “politehnica” at timişoara. he had published over 150 papers in national and international conferences and journals, and is author or coo author of 4 books. 316 tiberiu vesselenyi, ioan dzitac, simona dzitac, victor vaida ioan dzitac received m. sc. in mathematics (1977) and ph.d in information sc. (2002) from “babes-bolyai” university of clujnapoca. at this moment, he is associate professor and head of economics department at agora university, oradea, romania. his current research interests include different aspects of parallel and distributed computing, applied mathematics and economic informatics. he has edited 6 conference proceedings, published 15 books and more than 50 scientific papers in journals and conferences proceedings. he was member of the program committee of 27 international conferences. simona dzitac received b.sc. (2000) and m. sc. (2001) in mathematics-physics, b.sc. (2005) and m. sc. (2007) in energy engineering from university of oradea and b.sc. in economic informatics (2007) from university of craiova, romania. at this moment, she is phd student in energy engineering field and researcher at university of oradea. her current research interests include reliability, applied mathematics and computer science in engineering fields. she published 5 books and 45 scientific papers in journals and conferences proceedings. victor vaida graduated from the technical university of timisoara, faculty of electrotechnics, being awarded a b.sc degree in electrical power engineering in 1968. in 1997 he was awarded a phd in technical sciences by transilvania university of brasov. he completed several specialization trainings and courses: in automation, electric and information systems in power plants at siemens company in germany (1972 1974), in the quality of electricity supply (2007 2008) at sier bucharest and in business management at the bucharest institute of management (1994). at present, he is the technical manager of sc electrocentrale deva and an associate professor of the university of oradea, faculty of power engineering. he is also an associate researcher at the economy and industry institute of the romanian academy and the president of the society of power engineers of romania. his research activity includes: 7 specialized books and 160 articles in the power field published in romania and abroad, 27 contract/grant-based research projects and some other r and d. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 439-451 mpm job-shop under availability constraints n. zribi, l. duţă, a. el kamel nozha zribi école centrale de lille france luminiţa duţă state university "valahia tirgoviste", romania abstract: a large part of scheduling literature assumes that machines are available all the time. in this paper, the mpm job-shop scheduling problem, where the machine maintenance has to be performed within certain time intervals inducing machine unavailability, is studied. two approaches to solve the problem are proposed. the first is a two-phase approach where the assignment and the sequencing are solved separately. the second is an integrated approach based on the exact resolution of the 2-job problem using the geometric approach. keywords: genetic algorithm, geometric approach, assignment heuristic most of scheduling literature assumes that machines are available all the time. however, in many realistic situations, e.g., in typical industrial settings, machine breakdowns and preventive scheduled maintenance have rather quietly common occurrences. these considerations increase the complexity of any scheduling problem but make the problem closer to the industrial reality [26]. in this paper, we consider the job-shop scheduling with multi purpose machines and availability constraints. we consider the deterministic model where the unavailability periods corresponding to maintenance tasks are known in advance. we also assume that preemption of operations is not allowed. more precisely, an operation oi j of job ji on machine mk starts only if its execution can be finished before mk becomes unavailable. the problem considered is a generalization of the classical job-shop problem and the multi-purpose machine problem studied in [12], where machines are available all times. as compared to the literature dedicated to classical scheduling problems, studies dealing with limited machine scheduling problems are rather rare. availability constraints have been firstly introduced in single machine [1], [28] and parallel machines [24], [25]. lee extensively investigated flow-shop scheduling problems with two machines [15], [18], [19]. in particular, the author defined the resumable, non-resumable and semi-resumable models. an operation is called resumable if it can be interrupted by an unavailability period and completed without penalty as soon as the machine becomes available again. if the part of the operation that has been processed before the unavailability period must be partially (respectively fully) re-executed, then the operation is called semi-resumable (respectively non-resumable). recently, flow-shop scheduling problems with two machines and resumable jobs have been treated in [9] and [14]. job-shop problem under unavailability constraints has also been considered recently [30], [3] where authors proposed a branch and bound algorithm for the job-shop problem with heads and tails and unavailability periods. the problem considered here is strongly np-hard since problem without unavailability periods is already strongly np-hard [12]. in this paper we propose two different approaches to solve this problem. the remainder of this paper is organized as follows. after a description of the considered problem in the following section, we propose first a two-phase method where a heuristic is used to solve the assignment problem and a genetic algorithm is developed for the sequencing problem. an integrated method, based on the exact resolution of the 2-job problem, is then developed. a comparison between the two algorithms is given in section 4. copyright c© 2006-2009 by ccc publications 440 n. zribi, l. duţă, a. el kamel 1 problem formulation the mpm job-shop (job shop with multi purpose machines) with availability constraints ( j(mpm)ncwin | cmax : terminology defined in [29]) may be formulated as follows. there are n jobs j, ..., jn to be processed on a set of m machines r = (m, ..., mm). each machine mr can process at most one job at a time. each job ji consists of a sequence of ni operations, that must be accomplished according to its manufacturing process. each operation oi j (i = , ..., n; j = , ..., ni) can be performed by any machine mr in a given set µi j ⊂ r for pi j time units. each operation is non-preemptive, i.e., it must be accomplished without interruption. moreover, we assume that machine mr is unavailable during giving periods corresponding to preventive maintenance. the starting times and durations of these tasks are fixed and known in advance. we note kr the number of maintenance tasks on machine mr. arl and drl represent respectively the starting and the finishing time of the lth maintenance task on machine mr. the objective is to find a schedule, defined by the starting time si j and the completion time ci j of each operation oi j, with a minimum makespan (maxci j). the scheduling problem in j(mpm)ncwin | cmax can be decomposed in two subproblems: • a routing subproblem that consists in assigning operations to machines; • an operation scheduling subproblem associated with each machine to minimize the makespan. this is a job-shop scheduling problem with availability constraints j, ncwin | cmax. 2 two-phase approach for the problem j(mpm)ncwin | cmax 2.1 the routing problem since the precedence constraints could be relaxed following the decomposition of the problem in two separate stages, the assignment problem may be treated as a parallel machine problem with the two additional constraints: • an operation can be performed by a machine belonging to a subset of the set of the available machines: partial flexibility • machines are subjected to several maintenance constraints: the planning horizon is divided into subintervals we propose a heuristic based on several priority rules taking into account these two additional constraints. assignment heuristic we use a list algorithm based on priority rules in order to construct an initial assignment solution. let us define the following parameters: • ri j: earliest starting time of operation oi j (definition 1) • t sk availability date of machine mk at iteration s, where s denotes the iteration number • erk set of operations which can be performed on machine mk • eask set of operations which can be assigned to machine mk at iteration s • cmsk load of machine mk at iteration s mpm job-shop under availability constraints 441 definition 1. to each operation oi j, we associate an earliest starting time ri j calculated by the following formula: { ri, =  ∀  ≤ i ≤ n , ri, j+ = ri, j + pi, j ∀  ≤ j ≤ ni − , ∀  ≤ i ≤ n. (1) in step 1, the different parameters are initialized. in step 2, for each machine we determine the set eask of operations such that: ri j ≤ t sk . in step 3, we evaluate (the potential) starting time of each operation on each possible machine. the availability periods are taken into account. in fact we test if the operation can be scheduled before the next availability period on that machine. a pair (operation/machine) is selected using the following priority rule: the less flexible machine mk (min cmsk ) is selected. operations in eak are sorted in non decreasing order of card(µi j) (priority is accorded to the less flexible operation). mk is assigned to the first operation in eak which can be scheduled before the next unavailability period. this priority rule allows occupying the time intervals before the unavailability periods and takes into account the load of machines and the flexibility degree of each operation. in order to ensure a high level of the solution quality, we have chosen to improve the assignment given by the assignment heuristic. to this end, a local improvement search has been studied. such search is based on a tabu algorithm , an adapted routing move technique and an adapted criteria for the studied problem. in next section, we give a description of the tabu algorithm. a tabu search algorithm for the assignment problem optimization criteria: for a classical routing problem, where machines are available all times, we choose, in general, to minimize the workload of the most loaded machine, since it provides a lower bound for the makespan. we define, for each assignment s, a lower bound denoted lb(s) for the makespan corresponding to s. this lower bound is based on relaxation into a set of single-machine problems taking into account the unavailability periods. the objective of the tabu search algorithm presented here is to minimize cr = lb(s) and hence to preoptimize the makespan. given an assignment s, we associate with each machine mk, a single-machine problem πk with ready times (definition 1), tails (definition 2) and unavailability periods. a lower bound for πk is the makespan of a preemptive schedule with unavailability periods, based on the jackson preemptive schedule (jps) algorithm. such schedule is calculated for each machine and lb(s) is the maximum makespan value of these schedules. definition 2. after the finishing of operation oi j , a time of qi j has to go before job ji is finished completely. qi j is called the tail of operation oi j the procedure of preemptive schedule allows constructing the optimal schedule when preemptresume applies and hence to obtain a lower bound for πk due to the two following reasons: 1. the unavailability period is treated as an operation, so the problem here is equivalent to the preempt-resume case where jps gives the optimal solution. 2. the unavailability period will start right on its ready time and will never be preempted since it has the largest tail among the available operations. preemptive schedule is calculated for each machine and lb(s) is the maximum makespan value of these schedules. 442 n. zribi, l. duţă, a. el kamel description of the tabu search (ts) algorithm ts was introduced by glover as a general iterative meta-heuristic for solving combinatorial optimization problems [16]. the ts algorithm is as follows. the initial solution is obtained by applying the assignment heuristic described above. the solution is described as a list of operations with their corresponding machines. a routing move is defined by the relocation of a critical operation (operation that belongs to the critical machine) to a feasible machine position. for a given solution, we consider every possible relocation of every reroutable critical operation. the routing move is based on the following steps: 1. find the critical machine mkc . 2. find an operation oi j that can be assigned to another machine mk ∈ µi j without increasing the criterion value. 3. reassign oi j to mk if possible. the tabu list consists of pairs (op; mo), where op denotes the operation that is moved from machine mo to a different machine. the choice of the move is based on the value of cr which is the maximum makespan value of the preemptive schedules. 2.2 genetic algorithm for the sequencing problem after the assignment step, each operation is assigned to a fixed machine. thus the mpm job-shop problem is reduced to a job-shop problem with availability constraints (jspac). the problem is then to assign a starting time si j and a completion time ci j to each operation oi j (ci j = si j + pi j). the considered objective is to minimize the makespan (cmax = maxi, jci j ). we propose a genetic algorithm to optimize the makespan in a jspac. coding according to the literature, two types of approaches exist. in the first, the schedule is directly coded in the chromosome. in the second, a scheduler is associated to the ga to transform the chromosome into actual schedule. in this paper, the latter approach is used to code ga chromosomes. in fact, we use a representation based on job operation. it consists in representing the schedule in a chain of nt operations ( ∑ ≤i≤n ni) where operations of the same job are represented by the same symbol ji, the job number. each job ji appears exactly ni times (ni is the number of operations of ji) in the chain. for example , for a job-shop problem of dimension 3*3 (3 jobs and 3 operations per job), an example of a chromosome is (1 2 1 3 1 3 2 2 3). the computation of the starting time and the completion time (si j , ci j) is obtained according to the order z of each task in the chain (chromosome) and taking into account the unavailability periods of the machines. crossover and mutation we use gox generalized order crossover , a swap based mutation and an "intelligent" mutation operator. mpm job-shop under availability constraints 443 "intelligent" mutation operator: this operator consists in reducing the idle time before unavailability periods in order to improve the makespan. this mutation heuristic is described by algorithm 1 and consists in: for each unavailability period of the critical machine, we exchange an operation scheduled before a maintenance period with another operation which can begin before this maintenance period, but is scheduled after this one. all possible permutations are tested. the permutation minimizing the makespan is selected. algorithm 1 heuristic for the "intelligent" mutation operator choose a chromosome x aleatory calculate the schedule and find the critical machine mmax find ommax : set of operations oi j assigned to mmax for each maintenance period d of mmax for each operation oi j in ommax finishing before d for each operation oi′ j ′ de ommax which can begin before d and having been scheduled after d test the permutation of oi j and oi′ j ′ choose the permutation minimizing the makespan 2.3 application example let us consider an example of a mpm job-shop. it is made of 15 jobs, 5 operations per job and 5 machines. each machine is subject to two maintenance periods as follows: m: [201 250],[463 512] means that the machine m is unavailable between the dates 201 and 250 and between the date 463 et 512. m: [104 139] , [520 588] m: [233 331], [499 528] m: [137 186], [507 556] m: [129 187], [783 881] 1. assignment step we apply first the assignment heuristic to obtain an initial solution. in order to evaluate the solution given by the assignment heuristic, we report in table 1 the load of the different machines as well as the makespan value of the preemptive schedule constructed using jackson rule. m m m m m load 714 782 868 789 839 preemptive 812 907 995 887 997 schedule table 1: results of the assignment schedule 2. sequencing problem 444 n. zribi, l. duţă, a. el kamel m m m m m load 815 812 790 818 757 preemptive 913 915 917 916 915 schedule table 2: results of the ts algorithm 0 500 1000 1500 2000 2500 in s t 1 in s t 2 in s t 3 in s t 4 in s t 5 in s t 6 in s t 7 in s t 8 in s t 9 in s t 1 0 in s t 1 1 in s t 1 2 in s t 1 3 in s t 1 4 in s t 1 5 in s t 1 6 in s t 1 7 in s t 1 8 in s t 1 9 in s t 2 0 instances m ak es p a n cmax lbjmpm figure 1: simulation tests table 3 gives the value of the lower bounds based on preemptive schedule for the initial solution of assignment (solution 1) and the solution obtained after applying ts (solution 2) as well as the makespan found by the genetic algorithm. these results show that ts improves the global solution of the problem and ga gives a good solution comparing to the lower bound. we propose in the next section an integrated approach based on the exact resolution of the 2-job problem. solution 1 solution 2 preemptive 997 917 schedule makespan 1023 968 table 3: results of the genetic algorithm other experiments were performed on randomly generated instances with more or less availability periods. we report in this section different results for three classes of instances. each class has five instances. the number of jobs for each class is 10 , 15, 10 and 20 respectively. the number of machines is equal to 5 , 10, 10 and 10 respectively. the processing time for each operation is randomly selected in [|40,150|]. for each machine, the maintenance tasks occur after at least one operation. the starting time for each maintenance task differs from machine to another. the duration of a maintenance task on a machine is the average of the processing times of operations. for the ga, the mutation and crossover probabilities are fixed to: (pcrossover = ., pmutation = .). in figure 1 we compare the result of the two-phases approach with a lower bound denoted lbjmpm that we have developed for the problem [31]. comparing with lbjmpmac our approach gives interesting results (rdjmpmac .%) with a short computational time. it’s worth noting that lbjmpm , which is based on a lower bound for the parallel machine problem, is more interesting for instances with high flexibility. mpm job-shop under availability constraints 445 3 an integrated approach for the j(mpm), ncwin | cmax this approach is based on the exact resolution of the problem j(mpm), ncwin|n = |cmax. a polynomial algorithm is developed to solve the problem. 3.1 polynomial algorithm for j, ncwin|n = |cmax state of the art the geometric approach has been firstly introduced by akers and friedman (1955) in [2]. it consists in reducing the two-job job-shop scheduling problem in the search of a shortest path and thus gives a polynomial algorithm to solve it. the first step of the geometric approach is the representation of the scheduling problem in a 2dimensional plane with obstacles, which represent the machine conflict between operations of the two jobs [22]. more precisely, each job ji is represented by an axe with ni intervals according to its manufacturing process. each interval corresponds to an operation oi j and has a length of pi j (fig.2). intervals o j and ok form an obstacle if o j and ok share the same machine (fig.2). the horizontal and the vertical crossing the final point f, which corresponds to the completion of the two jobs, are considered as the final obstacle. a feasible solution of the scheduling problem is then a path going from the origin o to the final point f . such a path consists of horizontal, vertical and diagonal legs. a horizontal (resp. vertical) leg represents the exclusive progression of job j (resp. j), whereas diagonal legs correspond to simultaneous executions of the two jobs. moreover, any path must avoid the interior of the obstacles. this is due to the fact that two operations can not be executed simultaneously on the same machine and are not preemptable. the length of a horizontal or vertical segment is equal to its usual length while the length of a diagonal segment is equal to the length of its projection in any axe, which is the time spent for the simultaneous processing of two operations. the shortest path problem in the plane can be transformed into an unrestricted shortest path problem in an acyclic network (see fig.2 ), where the set of vertices corresponds to the origin o, the final point f and the north-west and south-east corners of the obstacles. each vertex has at most two successors obtained by going diagonally until hitting an obstacle d. if the obstacle d is the final obstacle, the vertex f is the only successor of node, otherwise the nw and se corners of obstacle d, are immediate successors of node (see fig.2 ). the temporized geometric approach (tga), developed by aggoune [3], [4] is an extension of the geometric approach which exactly solve the problem j, ncwin|n = |cmax. it allows integrating the evolution of time and so the availability of the machines, based on the definition and the introduction of new vertices, as well as a new and dynamic way to progress from one vertex to its successors. vertices characterization and definitions in tga: in the classical geometric approach, vertices of the network are the north-west (nw) and south-east (se) corners of the obstacles hit when going diagonally in the plane. these corners are located at the extremities of the intervals corresponding to operations in conflict. each vertex can then be defined thanks to its coordinates in the plane: the x-coordinate (resp. 446 n. zribi, l. duţă, a. el kamel j1= {(m1, 1), (m2, 2), (m3, 1)} j2= {(m2, 2), (m3, 1), (m1, 1)} nw1 se1 o f o nw1 se1 f 2 3 3 4 figure 2: classic geometric approach y-coordinate) of the vertex corresponds to operation of job j (resp. j) to be executed. in tga [4], some vertices can be located between two lines bounding an operation, i.e., inside the intervals. for each vertex, each coordinate is additionally attributed by information related to the duration of already processed part of the associated operation. moreover, an earliest starting time h(s) is associated with each vertex s. h(s)is the length of the shortest path from the origin to s. the set of vertices of the network constructed by tga is composed by the three following types of vertices: • regular vertices, located at the intersection of horizontal and vertical lines, to which nw and se corners of obstacles belong. • singular vertices, located on a horizontal (resp. vertical) line, which means that the execution of the operation of job j (resp. j) has not started yet • waiting vertices, also located at the intersection of two lines, for which the execution of operations of jobs j and j has not started yet. a singular vertex is created if the progression of only one job is possible (availability problem for the other job), whereas waiting vertices are created if the progression is possible for none of the two jobs. a waiting vertex is always a duplication of the regular vertex having the same geometric coordinates but not the same earliest starting time. the progression works as follow: • if the operations of the two jobs cannot start at time h(s), the earliest starting time of vertex s, a waiting vertex is then created. • if there is an availability problem in the direction j (resp. j), the progression is made along the vertical (resp. horizontal) line, what means that the execution of the operations of job j (resp. j) only, until job j (resp. j) becomes available. a singular vertex , from which a diagonal progression is possible, is added as successor of s. • if there is no availability problem, that is to say if the operations of the two jobs can be executed at time h(s), the progression works as in the classical geometric approach. 3.2 an extended approach we propose a generalization of tga (gtga) in order to deal with the flexibility property of the j(mpm), ncwin | n =  | cmax. this generalization is based on the works of aggoune [4] and mati and al. [21] for the flexible job-shop without availability constraints. as for the job-shop problem, the mpm job-shop under availability constraints 447 scheduling of mpm job shop can be represented in the 2-dimensional plane with potential obstacles that depend on the assignment of machines for the two jobs. let us define the vertices of the network describing the progression in the plane, the successors of each vertex and the distance between any two vertices. we develop the algorithm succvertex allowing to find the successors of each vertex s = ((k, ∆ k ), (k, ∆  k )). the algorithm succvertex is in three steps. • step 1 is an initialization step. set ph (resp pv) is defined to keep the machines of job j (resp j) allowing to progress until meeting an horizontal and \ or a vertical. this set is used to progress in the next iteration of the program in the case of diagonal progression. e is the set of the possible machines of ov and e is the set of the possible machines of oh. • in step 2, first we check the availability of the two machines for ov et oh. if these machines are available, we progress diagonally until a vertical (end of operation of job 1) and or an horizontal (end of operation of job 2) is met depending on the duration of the current operations. set ph or pv is defined to keep the machines of job j or j respectively in the case of diagonal progression. if an availability problem occurs in one of the two directions, the algorithm succvertexavailability is used to define the successors of s in this case. the machines concerned by this case are memorized in sets pv_ availavility, rh_ availability, ph_ availavility and rv_ availability. these sets are used by algorithm succvertexavailability. the corners se and nw of the potential obstacles that could be reached from s are added as successors of s during the diagonal progression. • in step 3, we update the current time current_ time, the sets e, e, v and h. the algorithm succvertex is stopped if the final obstacle is hit or when the diagonal progression is not possible because of availability problems or unavoidable obstacle. the algorithm succvertexavailability allows progressing horizontally or vertically (availability problem) until the progression in the two directions becomes possible (end of the unavailability period) , in this case a singular or a regular vertex is added as successor to s ; another availability problem occurs, and in this case a waiting vertex is added as successor of s or an unavoidable obstacle is hit. distance between two vertices s and s′: the distance between a vertex vi and its successor vi′ is calculated inside the two developed algorithms using the variable current_ time. in fact, all machines used to progress from vi until vi′ are fixed. remark: if f is a successor of s, the distance between s and f is calculated using only available machines, if possible, or machines becoming available first. in fact we neglect the other paths. theorem 1. the set of vertices constructed by applying algorithm succvertex is sufficient to determine the optimal schedule. proof. the correctness of theorem 1 is due to the fact that tga gives the optimal schedule in the case of classical job-shop [3] and the developed algorithm checks all possible machines for each operation. 3.3 the general job shop problem with multi purpose machine and availability constraints from the result of the previous section we can deduce a greedy heuristic to calculate a solution for j(mpm), ncwin | cmax. this heuristic works as follows: 1. the two first jobs are optimally scheduled using the gtga algorithm. 2. additional unavailability periods, corresponding to the execution of operations of the two scheduled jobs, are fixed on each machine. 448 n. zribi, l. duţă, a. el kamel instance size (nxmxnt) two-phase approach integrated approach inst1 10x5x50 852 833 inst2 10x5x50 641 631 inst3 10x5x50 697 707 inst4 10x5x50 710 703 inst5 10x5x50 633 625 inst6 15x5x75 945 983 inst7 15x5x75 897 891 inst8 15x5x75 1023 1017 inst9 15x5x75 1001 997 inst10 15x5x75 998 1002 table 4: comparison of the two approaches 3. the algorithm is applied to the next two jobs of the sequence, taking into account the initial and the new unavailability periods. this procedure continues until all jobs are treated. if the number of job is odd we need an insertion procedure to schedule the last job. it is based on the following rule: an operation of the last job is inserted in such a way, that it begins as early as possible, if we have the choice between two machines we choose the machine giving the smallest idle time. 4 experimental results to perform an experimental evaluation of the proposed approaches, we present, in this paper, a ten classical flexible job-shop instances [13]. in order to provide proper experimental settings, two availability periods are generated randomly for each machine. it is worth noting that these results were also confirmed by several other experiments based on randomly generated instances with more or less sizes and/or availability periods [31]. in table 4, we report the values of the makespan given respectively by the two-phase approach and the integrated approach. these simulations show that the two-phase approach gives interesting results comparing with the integrated approach. the main advantage of the two-phase approach is related to the computation time. the integrated approach is rather more complicated mainly in terms of computing time. besides, we note that solutions given by the integrated approach vary with the initial sequence of jobs. hence, this approach can be improved by adding an optimization algorithm for the initial sequence of jobs. meanwhile, it appears clearly worth applying this polynomial algorithm in a branch and bound algorithm, as done by jurisch for the classical mpm job-shop without availability constraints [17]. 5 conclusion we have investigated in this paper mpm job shop scheduling problems under availability constraints. we have proposed two kinds of methods. the first one solves the assignment and the sequencing problems separately. the second one is based on an extension of the geometric approach to deal with the machine availability and the flexibility property of the problem. we are now working on the development of a maintenance management system with an industrial partner including these optimization in a multi-objective environnement. in fact, the analysis of performance of scheduling problem involves mpm job-shop under availability constraints 449 more than one criteria [7]. we are focusing on two main criteria : the maintenance total costs and the delivery processes. other aspects that we will focus on is the real-time approaches to solve schedule problem with unanticipated interruptions [5]. bibliography [1] adiri i., bruno j., frostig e., and rinnooy kan a. h. g. : single machine flow-time with a single breakdown. acta informatica, 26, 679-696. [2] s.b. akers et j. friedman. – a non-numerical approach to production scheduling problems. operations research, vol. 3, 1955, pp. 3, 429–442. [3] aggoune, r.: ordonnancement d’ateliers sous contraintes de disponibilité des machines(2002) ph.d. thesis, université de metz, france. [4] aggoune, r.: two-job shop scheduling problems with availability constraints. icaps 2004, june 3-7, 2004, whistler, british columbia, canada. [5] duta, l.: contribution ŕ l’étude de la conduite des systčmes de désassemblage.these ( 2006). université de franche-comté université de bucarest. [6] duta,l., filip, f. g. henrioud,j.-m. popescu: disassembly line scheduling with genetic algorithms. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 3, pp. 270-280. [7] filip f.g., neagu g. and donciulescu d. (1983). job shop scheduling optimization in real time production control. computers in industry, 4(4) (north holland, amsterdam), 395 403. [8] ruiz-torres aj. , nakatani k.: application of real-time simulation to assign due dates on logisticmanufacturing networks. proceedings of the 1998 winter simulation conference. [9] blazewicz j., breit j., formanowicz p., kubiak w., schmidt g.: heuristic algorithms for the twomachine flowshop problem with limited machine availability. omega journal (2001), 29, 599-608. [10] carlier j.: scheduling jobs with release dates and tails on identical machines to minimize the makespan. european journal of operational research(1987), 29:298-306, north-holland. [11] carlier j.: the one-machine sequencing problem, european jounal of operational research(1982), 11: 42-47. [12] jurisch b.: scheduling jobs in shops with multi purpose machines (1992) ph.d thesis, universität osnabrück. [13] j. hurink, b. jurisch et m. thole. – tabu search for the job-shop scheduling problem with multipurpose machines. operations research spektrum, vol. 15, 1994, pp. 205–215. [14] kubiak w., blazewicz j., formanowicz p., breit j., schmidt g.: two-machine flow shops with lim-ited machine availability. european journal of opera-tional research (2002) 136: 528-540. [15] lee c.y.: machine scheduling with an availability constraint. journal of global optimization(1996) 9: 395-416. [16] glover f., laguna m.: tabu search, kluwer publishers, boston 1997. 450 n. zribi, l. duţă, a. el kamel [17] jurisch, b., (1995). lower bounds for the job-shop scheduling problem on multi-purpose machines. discrete applied mathematics, 58, 145-156. [18] lee c.y.: minimizing the mazkespan in two-machine flows-hop scheduling with availability constraint. operations research letters (1997), 20: 129-139, . [19] lee c.y.: two-machine flowshop scheduling with availability constraints. european journal of opera-tional research (1999), 114: 420-429. [20] lee km., yamakawa t.: a genetic algorithm for general machine scheduling problems. int.conf. on conventional and knowledge-based electronics systems, vol 2 pp60-66 australia, 1998. [21] mati, y., and xie, x.: un algorithme polonimial pour le job shop flexible avec blocage : cas de deux jobs. mosim’2003, april 23-25 april, toulouse, france. [22] mati, y., and xie, x.: the complexity of two-job shop problems with multi-purpose unrelated machines. european journal of operational research, 152 (1), 159-169, 2004. [23] nowicki e., smutnicki c.: a fast taboo search algorithm for the job-shop problem, management science (1996), vol. 42, no. 6, pp. 797-813. [24] schmidt g.: scheduling on semi identical processors. z. oper.res.1984, a28, 153-162, . [25] schmidt g.: scheduling independent tasks with deadlines on semi-identical processors. journal of operational research society, 39, 271-277, 1988. [26] sanjay j. , william j. foley :impact of interruptions of schedule execution in flexible manufacturing systems. the international journal of flexible manufacturing systems, 14, 319-344, 2002. [27] roy b., sussmann b.: les probl‘emes d’ordonnancement avec contraintes disjonctives (in french). technical report 9 bis, sema, paris (france), december 1964. [28] leon v. j., wu s. d.: on scheduling with ready-times, due-dates and vacations. naval research logistics, 39:53-65, 1992. [29] schmidt g.: scheduling with limited machine availability. european journal of operational research(2000), 121, 1-15. [30] mauguiere ph., billaut j-c., bouquard j-l.: new single machine and job-shop scheduling problems with availability constraints. journal of scheduling, 2004. [31] zribi n. : ordonnancement des job-shop flexibles sous contraintes de disponibilité des machines. phd thesis, ecole centrale de lille, france, 2005. nozha zribi has obtained an engineer diploma in 2002, a master of science and european master in computer engineering in 2002, and a phd in operational research from ecole centale of lille in 2005. since 2007, she is a research engineer. her interests are logistics, software design and implementation and sea. luminiţa duţă is currently associate professor (lecturer) at "valahia" university of targoviste, romania. she took the phd from université franche comté, besancon (france) and from technical university "politehnica" of bucharest in automation and control field. her research interests include the use of decision support systems in complex process controlling and meta-heuristics. she is a member of ifac technical committees 5.2 and 5.4. mpm job-shop under availability constraints 451 abdelkader el kamel (m’96-sm’00) received the engineering diploma in 1990, the ph.d. in 1993 and the "habilitation ŕ diriger des recherches" in 2000. he is currently professor at the ecole centrale de lille and visiting professor in different countries (china, chili, india and tunisia). he is the author or coauthor of more than 100 journal articles, book chapters, plenary sessions, and communications in international conferences. his current research interests include intelligent control of complex systems under uncertainty; modeling, design, real-time monitoring of autonomous dynamical systems and mobile cooperative robots. dr. el kamel was the president of the ieee-smc conference held in tunisia in 2002. he was program chair or ipc member of several ieee, ifac and wac conferences, member of the adcom of ieee france section, president of the ieee-smc tc on "complex systems under uncertainty", member of the ifac tc 3.2 and president of the ieee-smc france chapter. international journal of computers, communications & control vol. i (2006), no. 4, pp. 110-125 ant colony with dynamic local search for the time scheduling of transport networks salah zidi, salah maouche, slim hammadi abstract: this article presents an ant colony optimization for the time scheduling of public transport traffic. in fact, the assistance of a decision support system becomes necessary for the real-time regulation of this transport networks since the size of the search space increases exponentially with the number of vehicles and stops. so, we propose an ant colony algorithm with dynamic local search, in the case of unpredictable disturbance. this approach consists in applying a local search window with increasing dimension according to the iterations. it treats the regulation problem as an optimization and provides the regulator with relevant decisions. a regulated timetable is proposed as solution aiming at minimizing the waiting time of passengers. we insure the three most important criteria of regulation which are the punctuality, the regularity and the correspondence. keywords: urban transportation systems, real-time scheduling, ant colony optimization. 1 introduction in real time, the transport system can be affected in an unpredictable way by incidents which cause a delay between these theoretical time schedules and the real time schedules. in these conditions, we have re-adjust the planning (time table) made at previous time to return quickly to the theoretical schedules. it is a real-time regulation. within this context we developed an algorithm of scheduling which allows us to ensure the most important three criteria: the punctuality, the regularity of passing of vehicles by stops as well as the correspondence between the lines of the different transport modes. it is an ant colony algorithm where the main goal is to find in every movement between two successive stops the delay which it is necessary to apply to concerned vehicles to optimize these three criteria of regulation. at the beginning, our regulation algorithm encountered difficulties to escape from local optima. in fact, the optimization problem which we have to resolve is complicated and the research space is important. to manage these difficulties we propose the idea of the dynamic local search. it is the new method which consists in applying a local search window with increasing dimensions according to the iterations. this article contains five parts. in the first, we will present the regulation problem. the second part is a presentation of the ant colony algorithm. in the third part we will detail our algorithm of regulation and we will also explain the simulation results of this approach in the urban transport network of lille. we will finish by a conclusion. 2 real-time regulation the planning process of a public transport company is made by establishing different timetables that describe trips according to the lines, frequencies, transport demand, and travel times in the network. these trips are then transformed into blocks and assigned to vehicles. a crew scheduling process finally follows this vehicle scheduling [1]. hence, the vehicle schedules are fixed for every timetable period. this type of vehicle scheduling is in fact called predictive scheduling. it is based on a periodic review copyright c© 2006 by ccc publications ant colony with dynamic local search for the time scheduling of transport networks 111 of demand and resource availability in order to create arrival and departure times for the vehicles at the different stops of the network. however, in reality, travel times and transport demands are not fixed because of random external influences that affect the traffic within the network and cause disturbances. these disturbances can be, for example, caused by traffic jams, accidents, or strikes. consequently, the theoretical schedules resulting from the planning process cannot be followed exactly, which compels trips to start late and makes customers wait longer. therefore, to reduce the effects of the disturbances, the theoretical schedules have to be adapted to the real traffic conditions through regulation, or rescheduling tasks [2]. this process is then called reactive scheduling. it consists in creating new schedules that increase the level of service by undertaking operational decisions, such as, the injection of an extra vehicle in the network, or the deviation of the routes of some vehicles. the real-time traffic management of an urban transport system is presented by the figure1. figure 1: process of real time management of public transport traffic presently, it’s a human operator, regulator, who performs these real time tasks and controls the global network traffic by treating the information provided by the automatic vehicle monitoring (avm) system and the vehicle drivers. the level of service can be represented by different regulation criteria such as, the regularity, punctuality, and connection criteria. the choice of the criteria depends on the regulation objectives obtained from the nature of the disturbances. however, the regulator is usually overloaded with information, which complicates its decision-making task. in addition, despite the avm system assistance, the regulator spends more than 50% of his work time in communication with the vehicle drivers. hence, the regulator has to carry out difficult tasks that are often inaccessible for the human scale especially if many disturbances occur simultaneously, which involves the assistance of a decision support system [3]. within this context, researchers began to think about the development of a computer system for the regulators by using different tools such as the fuzzy logic [4], the multi-agent system [5] and an evolutionary algorithm [6]. in our work we will apply an approach of ant colony optimization and we will introduce a new idea of dynamic local search. 112 salah zidi, salah maouche, slim hammadi 3 ant colony optimization (aco) ant colonies are able to organize their foraging behavior in a seemingly efficient way without any centralized control[7]. this self-organizing structure is carried out via stigmergic communication, i.e. communication by changing the environment, in this case by laying down pheromone trails. initially ants have no idea of where food is in the environment, so they wander randomly, leaving a pheromone trail. when an ant finds food it wanders back to the nest. initially these paths will be arbitrary, but when an ant follows a shorter path it will be able to follow that path more often within the same time period than an ant following a longer path, so there is a positive reinforcement process whereby the shorter paths get stronger. a simple version of this is illustrated in figure 2, where ants have two possible routes from a nest to a food source. if two ants set out at the same time, one taking route a and one route b, which is twice as long, then the ant taking a will have traveled back and forth between the food source twice in the same time that the other ant has traveled back and forth once. therefore there will be a stronger pheromone trail on route a compared to route b. this idea can be effectively scaled up to solving route finding problems such as the tsp, with performance as good as or better than existing heuristics. figure 2: a simple ant foraging problem. the natural ants inspired "ant colony algorithms" invented in 1992 by marco dorigo from free brussels university, in his ph.d. thesis [8]. in an iteration of this algorithm, n ants build n solutions according to decisions based on heuristics criteria and on the quantity of pheromone. this quantity is updated by examining the solutions. it is strengthened for the decisions having given better solutions and decreased for the others. this mechanism allows to improve gradually the solutions during the iterations. the ants colony optimization were applied to divers problems of optimization such as the salesman traveling problem [9], the problems of robotics [10], the industrial problems [11] as well as the carp (capacitated arc routing problem) in [12] and the rucksack problem [13]. and there are several versions of the ants colony algorithm such as the ant system [14], the min-max ant system [15], the asrank [16] and the ant colony system [9]. 4 rescheduling algorithm 4.1 notation we use even notations in the horizon of regulation. sh : set of stops of the regulation horizon. v h : set of the vehicles in the horizon of regulation. srk: k th stop situated on the line r. v li : i th vehicle in the line l . veh(v li , s m j , s r k): first successor of v l i at traveling s m j to s r k. almi j : stop variable of v l i ats m j . ant colony with dynamic local search for the time scheduling of transport networks 113 x lmri jk : destination variable of v l i from s m j to s r k. talmi j : arrival time of v l i at s m j . tdlmi j : departure time of v l i from s m j . nmont lmi j : number of persons who go aboard v l i in s m j . ndesclmi j : number of persons who come down of v l i in the stop s m j . ρ ll ′m ii′ j : rate of correspondence from v l i to v l′ i′ in s m j . µ(∆ti, smj , s r k): arriving rate of the passengers traveling between these stops during ∆ti. nl ′mr i′ jk : number of passengers in v l′ i′ traveling from s m j to s r k. y ll ′m ii′ j : variable of correspondence from v l i to v l′ i′ in the stop s m j (equal 1 if a correspondence is possible and 0 otherwise). wll ′m ii′ j : number of transferring persons from v l i to v l′ i′ at s m j . clmi j : load of v l i at its departure from s m j . at: total time of waiting of the passengers in the regulation horizon. at0: initial waiting time of passengers at the different stops of the regulation horizon according to the disturbed schedules. t t : total duration of transfers in the regulation horizon. t t0: initial transfer or connection time between the different vehicles of the regulation horizon according to the disturbed schedules. rt : total duration of roads in the regulation horizon. rt0: initial route time for the different vehicles of the regulation horizon according to the disturbed schedules. 4.2 criteria of regulation to have a good quality of service in a transport network, several criteria must be assured during the off-line planning and the on-line regulation such as the safety, the regularity, and the punctuality. in the present problem, we chose the criteria of the regularity, the punctuality and the correspondence. they are the most important and the most used by regulators and researchers. regularity this criterion expresses the preservation of the regularity of the time intervals which separate the successive passings of vehicles. it concerns the minimization of the passenger wait in stops. the calculation of the traveler wait in a stop smj depends on the interval separating two successive vehicles and the number of travelers at this stop. we suppose that in a given period of the day, v l ′ i′ is the vehicle succeeding v l i in the stop s m j . the time interval which separates both passages is: ∆t = tal ′m i′ j −tdlmi j (1) we consider the distribution of the passenger arrivals, µsmj (t), to the stop s m j . we can then calculate, according to the figure 3, the passenger wait, during t. (equation 2) attente(∆t, smj ) = ∫ ∆t 0 µsmj (t)(∆t −t)dt (2) the distribution of the passenger arrivals to stops is often considered as a non-stationary process [6]. besides, if we have reduced intervals (2 to 4 minutes) or situated in the homogeneous periods, we can consider a constant passenger flow,µsmj . consequently, the number of persons who arrive in s m j during ∆t is µsmj ×∆tand the average wait becomes: 114 salah zidi, salah maouche, slim hammadi attente(∆t, smj ) = µsmj × ∆t 2 2 (3) figure 3: distribution of the passenger arrivals to a stop in the case of a wider interval not belonging to a homogeneous period, it can be divided into several reduced intervals to simplify the calculation of the traveler waits, ∆t = ⋃ i=1...n ∆ti . the number of persons arriving in smj during ∆ti with a rate of arrival equal to µi is µi ×∆ti . their average wait is then: attente(∆ti , smj ) = µi ×∆ti ×( ∆ti 2 + n ∑ i′=i+1 ∆ti′) (4) indeed, the averages wait of the travelers who arrived during ∆ti is ( ∆ti2 + ∑ n i′=i+1 ∆ti′). we can so calculate the average wait during t at the stop smj : attente(∆t, smj ) = n ∑ i=1 µi ×∆ti ×( ∆ti 2 + n ∑ i′=i+1 ∆ti′) (5) we can now formulate, in the following equation, the total wait, at the stop smj , of the travelers who go to srk during the interval ∆t which separates the successive passages of both vehicles v l i and v l ′ i′ (v l′ i′ = veh +(v li , s m j , s r k)). attente(∆t, smj , s r k) = n ∑ i=1 µ(∆ti , smj , s r k)×∆ti ×( ∆ti 2 + n ∑ i′=i+1 ∆ti′) (6) the duration of the wait of all the passengers at smj is then the sum of the waits for all the vehicles which pass by this stop, as described below: attente(smj ) = ∑ v li ∈v h (almi j × ∑ srk>s m j attente(tal ′m i′ j −tdlmi j , smj , srk)) (7) finally, because the criterion of regularity is concerning the total wait, at, of passengers at stops in the regulation horizon, this at is then formulated in equation 8 and 9 by adding the wait at the different concerned stops. at = ∑ smj ∈sh attente(smj ) (8) at = ∑ smj ∈sh ∑ v li ∈v h (almi j × ∑ srk>s m j attente(tal ′m i′ j −tdlmi j , smj , srk)) (9) ant colony with dynamic local search for the time scheduling of transport networks 115 correspondence the correspondence criterion is associated to the duration of transfers between vehicles in the disrupted zone. we can suppose that the number of persons in transfer at stop smj is proportional to the passenger number who go to this stop with the rate ρ ll ′m ii′ j so w ll′m ii′ j = ρ ll′m ii′ j ×ndesclmi j . we can deduct the total duration of transfers, tt, who is equal to a sum of the durations of the correspondences between the various vehicles at the concerned stops of the network (equation 10). t t = ∑ v li ∈v h ∑ v l ′ i′ ∈v h ∑ smj ∈sh y ll ′m ii′ j ×wll ′m ii′ j ×(tdl ′m i′ j −talmi j ) (10) punctuality the punctuality criterion deals with the route duration of the different vehicles. it is computed after an estimation of the vehicle loads via the arrival rates of the passengers at the stops, and also the initial real loads that are assumed known. hence, rt = ∑ v li ∈v h ∑ smj ∈sh almi j ×clm ′ i j′ ×(tdlmi j −tdlm ′ i j′ ) (11) in fact, the loads are determined by the number of the alighting and boarding persons, according to the arrival rates or to the origin destination matrix. it can be written as clmi j = c lm′ i j′ −ndesclmi j + nmont lmi j (12) 4.3 principle of the rescheduling algorithm at first, we have a set of stops and routes of the disrupted zone. we add for every inter-stop (route chosen between two successive stations) a set of fictitious arcs which don’t have a physical existence but we consider them as delays to be applied to this road. in the figure 4, for example, we dispose of 5 arcs between every two successive stops. the first arc presents the real arc with 0 minutes of delay and the others possess 1, 2, 3 or 4 minutes of delay witch we can consider in one of both stops or in a route between these stops. figure 4: graphic presentation of the decision arcs the objective of the ant colony algorithm is to find the delay to be applied for every vehicle, with the aim to finding the schedules that satisfy the different criteria then propose a regulated timetable. so, for every vehicle ants move between stops and search the best arcs (delay) to be taken, until the arrival terminus. an ant has to propose all the delays which it is necessary to apply between the departure and the arrival. 116 salah zidi, salah maouche, slim hammadi 4.4 objective function the objective function to optimize is an aggregation of three criteria representing the total travel time, total waiting time, and total transfer time. this aggregation relies on weight parameters representing the relative importance of the criteria according to the disturbances and the regulator objectives. for instance, if no connection is involved in the disturbance, the weight parameter associated with the transfer criterion would be surely null. hence, the objective function to maximize is written as f = c=3 ∑ c=1 αccrc (13) where cr1 = (at0 −at ): for the regularity, cr2 = (t t0 −t t ): for the transfer (correspondence), cr3 = (rt0 − rt ): for the punctuality, α1, α2andα3 weight parameters for the regularity, transfer and punctuality criteria, respectively and ∑−13αc = 1. 4.5 generation of a new solution from a stop s and with the probability p, an ant uses the first method witch chooses an arc i with the probability p1 described by the equation (14). in that case we give the same probability to the k arcs (in our case k=5) to be chosen. this choice allows us a better exploration of the research space. p1 = { 1 k if i ∈ ωs 0 otherwise (14) with the probability 1-p, the ant uses the second method, more intelligent than the first. that is by regard to the pheromone trail, τ(t). and it chose an arc according to the probability given by the equation (15). p1 = { [τi(t)] ∑kj=1[τ j (t)] if i ∈ ωs 0 otherwise (15) where ωs is a set of arcs witch have a stop s as departure. 4.6 update of pheromone trail by analogy with the nature, every ant leaves a quantity of pheromone on every chosen arc. we reinforce the pheromone trail on the chosen arcs by taking into account vaporization. that is represented by the equation (16), which includes a term of persistence ρ and a term of strengthening ∆τa, it is a quantity added by an ant a. τi(t + 1) = ρ τi(t) + ∑ allants ∆τa (16) where ∆τa = fa is the objective function of the solution proposed bay the ant a. 4.7 algorithm structure every ant moves from a stop to the other, by using the method of generation of solution described previously, and it adds this arc to its road, until the terminus stop, then the ant begins again from the departure stop for all the vehicles of the disrupted zone. as soon as the ant chose the regulation decision (the delay) to apply to every vehicle, we build the new regulated timetable and we calculate the three criteria: the regularity, the punctuality and the transfer then the objective function which we compare ant colony with dynamic local search for the time scheduling of transport networks 117 with those found by the previous ants and we keep the best (maximal). when all the ants treat all the transport services we update the pheromone trail on every arc. the algorithm structure is presented by the figure 5. figure 5: ants colony algorithm for the regulation we stop the algorithm when the best solution found by ants is unchanged since a number of iteration i1 or a maximum number of iteration i2 is attained. 4.8 dynamic local search to escape from local optima, the methaheuristic algorithms showed an important efficiency. but, many difficulties persist for the more intricate problems and the wide research areas. we proposed in the first algorithm, in the paragraph iv, the second solution based on research idea. according to our early execution tests related to the second algorithm, in the paragraph v. c, we noticed that the unequal decisions to zero (the delays to be applied) are always located in a part of the disrupted spatiotemporal zone. so, we adopted another way based on local research, which is one of the most applied ideas with ant colony algorithms [12] as well as other heuristics such as the genetic algorithms [17]. this idea, which shows promising results, is based on a procedure that aims to improve the found solutions. in fact, this idea deals with a restricted research area, where the early solutions are located. nevertheless, we still have the problem of bumping into local optimums areas, which leads us to poor quality solutions. so, we used a new idea of dynamic local research. this idea aims at restricting the research area by means of spatiotemporal windows with increasing dimension according to the iterations. we begin the investigation in a small zone of the research space and we look for decisions, which can be different from zero on this zone, but we apply only the zero 118 salah zidi, salah maouche, slim hammadi figure 6: rescheduling ant colony algorithm with dynamic local search ant colony with dynamic local search for the time scheduling of transport networks 119 decision delay on the rest of the research space. after some iteration, we increase the spatiotemporal dimensions of this zone and we investigate the research space for new solutions. after that, we compare the results and we continue to increase the local search zone, after some iteration, until we get a dimension equals to the complete space. the figure 6 shows our improved algorithm comparing to the one illustrated in figure 5. this algorithm includes the research process with increase of the zone. in fact, we try to look for optimal decisions included between s1 and s2 stations (spatial limitation), and t1 and t2 times (temporal limitation). we affect the decision zero outside of this zone. after some iteration, we decrease a station for s1 and we add a station for s2 to increase the spatial zone and we make same for the temporal window. without initializing the pheromone trails, the solutions of the first zone will be more strengthened than the others and therefore they will have more chance to be chosen. 5 simulation and result we applied this work to scenarios inspired from a real transportation system existing in lille, in the north of france. we used an algorithm with 100 ants and two maximal number of iteration i1=10 and i2=500 and a probability p=10%. 5.1 scenario1 in the line 0 which has a frequency of one bus every 10 minutes. a disturbance, caused by the vehicle v 03 , is detected at tpert=12:01am, at its departure from the stop s 0 2. the incident consists of a traffic accident between two cars, what slows down vehicles. the delay of the disrupted vehicle at its arrival in s03 is estimated to 5 minutes. we suppose that no correspondence is involved in the disturbance. so, we are only interested in the criteria of regularity and punctuality. we assume that the studied horizon is included in a homogenous period of the day. then, we can have a constant arrival rate of passengers at all the stations. let µ = 2 passengers per minute. s00 s 0 1 s 0 2 s 0 3 s 0 4 s 0 5 s 0 6 s 0 7 v 00 0 0 0 0 0 0 0 0 v 01 0 0 0 0 0 0 0 0 v 02 0 0 0 0 0 0 0 0 v 03 0 0 0 0 0 0 0 0 v 04 0 0 0 0 0 0 0 0 v 05 0 0 0 0 0 0 0 0 v 06 0 0 0 0 0 0 0 0 example 1: α1 = α2 = 0andα3 = 1 f = 0 v 00 0 0 0 0 0 0 0 0 v 01 0 0 0 0 0 0 0 0 v 02 0 0 0 0 0 2 1 0 v 03 0 0 0 0 0 0 0 0 v 04 0 0 0 3 0 0 0 0 v 05 0 0 0 1 0 0 0 0 v 06 0 0 0 0 0 0 0 0 example 2: α1 = 1andα2 = α3 = 0 f = 160 table 1: results of the monocriterion regulation 120 salah zidi, salah maouche, slim hammadi the table 1 shows the delays to be applied to the vehicles of the regulation horizon. they involve decisions proposed by our ant colony algorithm for a regulation. for the first two examples, we consider a monocriterion regulation where we optimize only the punctuality in the first and the regularity in the second. in the example1, the optimal solution for the punctuality can correspond only to null decisions in all the compartments of table. so, we had a null objective function f. in the example 2 the algorithm can allow to delay vehicles to adjust the intervals which separate them. we notice that vehicles v 02 and v 0 4 , before and after the disrupted vehicle, were delayed 3 minutes and v 05 was delayed 1 minute. figure 7: vehicles schedules representation for the example 2 scenario 1 the figure 7 shows the efficiency of the scheduling algorithm to insure the regularity of vehicles in the perturbed zone. s00 s 0 1 s 0 2 s 0 3 s 0 4 s 0 5 s 0 6 s 0 7 v 00 0 0 0 0 0 0 0 0 v 01 0 0 0 0 0 0 0 0 v 02 0 0 0 0 1 0 0 0 v 03 0 0 0 0 0 0 0 0 v 04 0 0 0 1 0 0 0 0 v 05 0 0 0 0 0 0 0 0 v 06 0 0 0 0 0 0 0 0 exp 3: α1 = 0.9α2 = 0α3 = 0.1 f = 20.89 v 00 0 0 0 0 0 0 0 0 v 01 0 0 0 0 0 0 0 0 v 02 0 0 0 0 3 0 0 0 v 03 0 0 0 0 0 0 0 0 v 04 0 0 0 3 0 0 0 0 v 05 0 0 0 1 0 0 0 0 v 06 0 0 0 0 0 0 0 0 exp 4: α1 = 0.98α2 = 0α3 = 0.02 f = 132.78 table 2: results of the multicriteria regulation the example 3 favors the punctuality criterion, although α1 < α3. we notice a difference with the example 2 in the number of treated decisions. indeed, only vehicles v 02 and v 0 4 have to be delayed 1 minute and we find an objective function f = 20,89. in the example 4 the result is very similar to the ant colony with dynamic local search for the time scheduling of transport networks 121 example 2. indeed, v 02 and v 0 4 were delayed 3 minutes as in the example 2, but for the vehicle v 0 2 the delay is applied in s04 instead of and because the passenger number in these stops is more important thus a delay in is more interesting for the punctuality. we had f=132.78. in this first scenario the time of execution is always between 7 and 8 seconds. 5.2 scenario2 the disturbance is detected at tpert=12:24. it is caused by a technical problem at the tram line t, obliging the tram v t3 to stand still 7 min at stop s t 2 . this tram-line has a frequency of one vehicle per 10 min. the stop is situated at 10 min from a connection node, n, where a connection is planned at 12:40 with a bus from line b, which has a frequency of one bus every 20 min. however, because of the disturbance, it would arrive at 12:43 at n, so the connection would not occur. we assume that the studied horizon is included in a homogenous period of the day. then, we can have a constant arrival rate of passengers at all the stations (µ = 2). additionally, we assume that the connection rates between the two concerned lines are constant. hence, we suppose that the number of passengers in the tram arriving at the node and willing to take a bus on line is proportional to the load of the tram with a rate of 10%. and, the connection rate from the buses to the trams is 20%. we applied our algorithm for a first example which takes into account the regularity criterion (table 3). the best solution is obtained within 20 s with a maximal value of the objective function f=362 passengers-minute, that is a decrease of wait of 10 minutes for more than 36 passengers. we notice the important number of decisions (delays) for the disrupted line (t) to adjust the intervals before and after the disrupted vehicle. line t st0 s t 1 s t 2 s t 3 n s t 5 s t 6 s t 7 s t 8 v t0 0 0 0 0 0 0 0 0 0 v t1 0 0 0 3 0 0 3 0 0 v t2 0 0 0 0 0 0 0 0 0 v t3 0 0 3 2 0 0 0 1 0 v t4 0 0 0 3 0 0 1 0 0 v t5 0 0 0 0 0 0 0 2 2 v t6 0 0 0 0 0 0 0 0 0 line b sb0 s b 1 s b 2 s b 3 n s b 5 s b 6 s b 7 s b 8 v b0 0 0 0 0 0 0 0 0 0 v b1 0 0 0 0 0 0 0 0 0 v b2 0 0 0 0 0 0 0 0 0 v b3 0 0 0 0 0 0 0 0 0 v b4 0 0 0 0 0 0 0 0 0 α1 = 1α2andα3 = 0 table 3: results of example1 for scenario 2 the second example concerns the transfer criterion (table 4). so, the delays were applied before the stop n and we had an objective function f=208. the figure 8 shows the efficiency of the scheduling algorithm to insure the correspondence in the perturbed zone. we executed the algorithm also in other multicriteria example where α1 = 0.4, α2 = 0.58 and α3 = 0.02. we had a decrease of the decisions number (not equal to zero) because the punctuality criterion 122 salah zidi, salah maouche, slim hammadi line t st0 s t 1 s t 2 s t 3 n s t 5 s t 6 s t 7 s t 8 v t0 0 0 0 0 0 0 0 0 0 v t1 0 0 0 0 0 0 0 0 0 v t2 0 0 0 0 0 0 0 0 0 v t3 0 0 0 3 3 0 0 0 0 v t4 0 0 0 0 0 0 0 0 0 v t5 0 3 0 3 0 0 0 0 0 v t6 0 0 0 0 0 0 0 0 0 line b sb0 s b 1 s b 2 s b 3 n s b 5 s b 6 s b 7 s b 8 v b0 0 0 0 0 0 0 0 0 0 v b1 0 0 0 0 0 0 0 0 0 v b2 0 0 0 2 0 0 0 0 0 v b3 0 0 0 0 0 0 0 0 0 v b4 0 0 0 0 0 0 0 0 0 α1 = 0α2 = 1andα3 = 0 table 4: results of example 2 for scenario 2 figure 8: vehicles schedules representation for the example 2 scenario 2 ant colony with dynamic local search for the time scheduling of transport networks 123 and we had f=104. 5.3 comparison between both rescheduling ant colony algorithms we applied both rescheduling algorithms, without local search and with dynamic local search, for real transport scenarios. we present in the table 5 the results of these simulations. we notice that the algorithm with dynamic local search is faster. its execution time is always lower than the first algorithm, with same number of iteration. the ant colony algorithm with the dynamic local search space proposes an important improvement of solutions with regard to the algorithm without local search. ant colony algorithm (aca) aca with dynamic local search scenario example f execution time (ms) f execution time (ms) 1 1 0 7390 0 7390 2 160 7157 182 6922 3 20.89 7047 20.89 6890 4 132.78 7468 132.94 6860 2 1 192 10094 212 10000 2 526.4 10150 533.99 8290 3 394 10000 391.956 9370 3 1 362 28000 362 29000 2 208 31000 232 22800 3 104.88 28930 104.88 28060 4 114.39 28.31 115.23 26040 4 1 192 10500 192 7828 2 290 10109 310 8578 3 0 5000 0 5000 4 74.8 8700 74.8 8672 table 5: results of the both rescheduling ant colony algorithms for the found optima, we notice that it is also effective. in fact, the results of the algorithm with dynamic local search are better than the author 7 times on 15 examples. the local search allows us to win in execution times and in search space exploitation. in fact, it is easier and faster to look for optima in a smaller zone. this parameter time is very important for our real time problem of regulation. but also the idea of the dynamic dimension allows us more investigation than the idea of the classic local search. 6 conclusion the disturbance of a transport system affects, first of all, the vehicle schedules. in this article we presented an ant colony algorithm for the time-based regulation of a multimodal transport network, in real-time. the results of this algorithm applied to real scenarios of transportation system existing in lille, showed the efficiency of our approach. the execution time is also important. indeed our objective consists in proposing quickly a solution before the propagation of the disturbance. for a set of five stops, for example, for every vehicle there are 44 = 254 possible solutions. so it is a complex problem. and we also noticed problems of convergence of our algorithm because of the important dimension of the research space. the idea of the dynamic local search allowed us to win in the execution times but also the improvement of the solutions without decreasing the search space exploration and exploitation. 124 salah zidi, salah maouche, slim hammadi references [1] d. huisman, r. freling, and a. p. m.wagelmans, "a dynamic approach to vehicle scheduling," econometric inst., erasmus university, rotterdam, the netherlands, rep. ei2001-17, 2001. begin comment [2] s. maouche, h. laichour, s. hayat, "amélioration de la qualité de correspondances dans les réseaux de transport", rapport final grrt, avril 2001. [3] p. borne, b. fayech, s. hammadi and s. maouche, "decision support system for urban transportation networks", ieee smc part c: applications and reviews, special issue on decision technologies in honour of prof madan singh, vol.33, no.1, pp.67-77, 2003. [4] a. soulhi, "contribution de l’intelligence artificielle à l’aide à la décision dans la gestion des systèmes de transport urbain". thèse de doctorat, université des sciences et technologies de lille, france, 2000. [5] h. laichour, " modélisation multi-agent et aide à la décision : application à la régulation des correspondances dans les réseaux de transport urbain". thèse de doctorat, université des sciences et technologies de lille, france, 2002. [6] b. fayech, "régulation des réseaux de transport multimodal : systèmes multi-agent et algorithmes évolutionnistes", thèse de doctorat, université des sciences et technologies de lille, france, 2003. [7] j. d. moss and c. g. johnson, "an ant colony algorithm for multiple sequence alignment in bioinformatics", in david w. pearson, nigel c. steele, and rudolf f. albrecht, editors, artificial neural networks and genetic algorithms, pages 182-186. springer,april 2003. [8] m. dorigo,"optimization, learning and natural algorithms". ph.d.thesis, politecnico di milano, italy, in italian, 1992. [9] m. dorigo and l. m. gambardella, "ant colonies for the traveling salesman problem". biosystems, 43:73-81. also tecnical report tr/iridia/1996-3, iridia, université libre de bruxelles, 1997. [10] n. monmarché, "algorithme de fourmis artificielles : application à la classification et à l’optimisation", thèse à l’université de françois rabelais tour, 2000. [11] c. gagné and w. l. price, "optimisation par colonie de fourmis pour un problème d’ordonnancement industriel avec temps de réglages dépendants de la séquence". 3e conférence francophone de modélisation et simulation mosim01, troyes (france), 2001. [12] p. lacomme, c. prins, a. tanguy, "optimisation par colonies de fourmis pour les tournées sur arcs". 4e conférence francophone de modélisation et simulation mosim03, toulouse (france), 2003. [13] i. alaya, c. solnon and k. ghédira, "algorithme fourmi avec différentes stratégies phéromonales pour le sac à dos multidimensionnel", mhosi’05, hammamet, tunisie, 2005. [14] m. dorigo, v. maniezzo, and a. colorni. the ant system: optimization by a colony of cooperating agents. ieee transactions on systems, man and cybernetics, part b, 26(1):2941, 1996. [15] t. stutzle and h. hoos. max-min ant system and local search for combinatorial optimization problems. in s. vos, s. martello, i.h. osman, and c. roucairol, editors, meta-heuristics: advances and trends in local search paradigms for optimization, pages 137-154. kluwer, boston, 1998. ant colony with dynamic local search for the time scheduling of transport networks 125 [16] b. bullnheimer, r. f. hartl, and c. strauss. "a new rank-based version of the ant system: a computational study". technical report pom-03/97, institute of management science, university of vienna, accepted for publication in the central european journal for operations research and economics, 1997. [17] p. lacomme, c. prins and w. ramdane-chérif "competitive genetic algorithms for the capacitated arc routing problem and its extensions", in e.j.w. boers and al. (ed.), applications of evolutionary computing, pp. 473-483, lecture notes in computer science 2037, springer, 2001. acknowledgement: the authors want to acknowledge the support of the eu thought the feder grant # obj2-2005/3-4.1-253presrge-7820 salah zidi, salah maouche and slim hammadi université des sciences et technologies de lille and ecole centrale de lille ufr i.e.e.a. bâtiment p2, bureau 308 ufr i.e.e.a. cité scientifique 59655 villeneuve dáscq cedex france e-mail: salah.zidi@ed.univ-lille1.fr, salah.maouche@univ-lille1.fr, slim.hammadi@ec-lille.fr received: november 11, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 634-641 parallel simulation of quantum search s. caraiman, v. manta simona caraiman, vasile manta “gheorghe asachi” technical university of iasi romania, 700050 iasi, 27 dimitrie mangeron e-mail: {sarustei,vmanta}@cs.tuiasi.ro abstract: simulation of quantum computers using classical computers is a computationally hard problem, requiring a huge amount of operations and storage. parallelization can alleviate this problem, allowing the simulation of more qubits at the same time or the same number of qubits to be simulated in less time. a promising approach is represented by executing these simulators in grid systems that can provide access to high performance resources. in this paper we present a parallel implementation of the qc-lib quantum computer simulator deployed as a grid service. using a specific scheme for partitioning the terms describing quantum states and efficient parallelization of the general singe qubit operator and of the controlled operators, very good speed-ups were obtained for the simulation of the quantum search problem. keywords: quantum computer simulation, parallel computing, quantum search. 1 introduction the research in quantum informatics has gained an immense interest due to the remarkable results obtained for the factorization [11] and search [6] problems. these results prove the huge computational power of a quantum machine with respect to the classical computers. however, building quantum computers represents an immense technological challenge and, at present, the quantum hardware is only available in research labs. under these circumstances quantum simulators have become valuable instruments in developing and testing quantum algorithms and in the simulation of physical models used in the implementation of a quantum processor. according to feynman’s paper [3], classical computers will never be able to simulate quantum systems in polynomial time. the simulation of 29 qubits (quantum bits) uses 32 gb of memory [1] and any additional qubit doubles the resources needed: time, memory, computational power and space. in this paper we present a solution based on grid computing for the quantum simulation problem. our simulator relies on paralel processing for storing quantum states and applying quantum operators. the deployment of this solution in grid systems provides access to high performance computing devices for simulation and availability in the context of collaboration through the means of virtual organizations. our quantum simulator, gqcl, partitions the terms coresponding to a quantum state between several procesing nodes using a scheme that minimizes communication between nodes during the application of quantum operators. in a previous paper [1] we describe the development of a grid service that provides this functionality to client applications by enabling the quantum computation language [9] through a parallel implementation of the qc-lib simulator [8]. the results recorded for the application of the hadamard transform illustrate the performances of this approach [1]. in the following we present the parallelization of the general single qubit operator, the conditional operators and of the measurement process. this allows us to study the performance of our simulator regarding the quantum search problem. copyright c⃝ 2006-2010 by ccc publications parallel simulation of quantum search 635 2 basic concepts in quantum computing the quantum analogous of the classical bit is the qubit. a qubit is a quantum system whose states can be completely described by the superposition of two orthonormal basis states, labeled |0⟩ and |1⟩ (in a hilbert space h = c2, |0⟩ = (1 0)t , |1⟩ = (0 1)t ). any state |ψ⟩ can be described by: |ψ⟩ = α|0⟩ + β|1⟩, |α|2 + |β|2 = 1, (1) where α and β are complex numbers. thus, unlike the classical bit, the qubit can also be in a state different from |0⟩ and |1⟩: linear combinations of states can be formed, called superpositions (eq. 1). when measuring a qubit either the result 0 is obtained, with probability |α|2, or 1 with probability |β|2. the sum of the probabilities must be 1, so the state of a qubit represents a unit vector in a complex bi-dimensional vector space. a collection of n qubits is called a quantum register with dimension n. the general state of a n-qubit register is |ψ⟩ = 2n−1∑ i=0 ai|i⟩, (2) where ai ∈ c, ∑2n−1 i=0 |ai| 2 = 1. this means that the state of a n-qubit register is represented by a complex unit vector in hilbert space h2n. the quantum analogous of the classical not gate is labeled x and can be defined such that x|0⟩ = |1⟩ and x|1⟩ = |0⟩. the quantum not gate acts similarly with its classical counterpart, although, unlike in the classical case, its action is linear: state α|0⟩ + β|1⟩ is transformed in a coresponding state β|0⟩+α|1⟩. a convenient way of representing the action of the quantum not gate is in matrix form: x = ( 0 1 1 0 ) . (3) controlled gates are quantum logical gates acting on more than one qubit. the notion of controlled gate allows the implementation of the if − else constructs. quantum controlled gates use a control qubit to determine whether a specific unitary action is applied to a target qubit. the controlled-not operator (cnot) is the prototypical multi-qubit gate. the first parameter of a cnot gate is the control qubit. if this qubit is in state |0⟩, the target qubit is left unchanged and if the control qubit is in state |1⟩, the target qubit is flipped: |00⟩ → |00⟩; |01⟩ → |01⟩; |10⟩ → |11⟩; |11⟩ → |10⟩. the cnot operator is a generalization of the classical xor, since its action can be summarized as |x, y⟩ → |x, x ⊕ y⟩, where ⊕ is addition modulo two. the matrix representation of cnot is: cnot =   1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0   . (4) there are several other multi-qubit gates, nevertheless, the controlled-not gate and the single qubit gates represent the prototypes for any other quantum gate because of the folowing remarkable universality result: any multi-qubit gate can be built out of cnot gates and single qubit gates. the proof of this statement represents the quantum analogous to the universality of the classical nand gate. 636 s. caraiman, v. manta 3 parallel simulation of quantum computation the state of a n-qubit register is represented by a complex unit vector in hilbert space h2n . storing a complex number a = x + iy on a classical computer requires storing the pair of real numbers (x, y) for which the 8 byte representation is prefered. thus, in order to store an n-qubit quantum register using a conventional (classical) computer, at least 2n+4 bytes are required. the memory needed for simulating a n-qubit quantm computer grows exponentially with respect to the number n. for example, when n = 24 (n = 36) at least 256 mb (1 tb) of memory is required to store a single arbitrary state |ψ⟩. the time evolution of a n-qubit quantum register is determined by a unitary operator defined in the h2n space. the matrix dimension is 2n x 2n. in general, 2n x 2n space and 2n(2n+1 − 1) arithmetic operations are needed to execute such an evolution step. thus, the simulation of a quantum computer using a classical device represents a computationally hard problem and the memory and processor generate drastic limitations on the size of the quantum computer that can be simulated. because of the exponential behavior of quantum systems, simulation using classical computers enforces the use of exponential memory space and the execution of an exponential number of operations. it is obvious that the simulation of quantum problems of interesting sizes enforces the use of high performance computing devices. parallel computing can represent a solution to this problem [5, 7, 10, 13]. nevertheless, the development of a quantum simulator must consider another important aspect: it has to be easily accessible. but this contradicts the first requirement, that it is parallel, which deeply restricts the group of potential users. a solution based on the concept of grid systems ca be used to solve this contradiction and to provide the scientific community with an useful and easily accessible instrument. the grid concept adresses the problem of coordinated resource sharing and problem solving in dinamic, multi-institutional virtual organisations [4]. a grid enabled quantum computer simulator is gqcl [1]. this simulator allows the use of the qcl [9] quantum programming language to implement quantum algorithms and the quantum programs are executed using a parallel version of the qc-lib simulation library [8]. using a specific data partitioning scheme and efficient storing of quantum states allowed very good speedups and efficiency of this parallel implementation which will be discussed in the following. 3.1 overview of gqcl grid service for quantum simulation our quantum computer simulator is based on the qc-lib simulation library which provides a framework to execute programs written in a quantum programming language, qcl, in the absence of quantum hardware. the reasons that lead to this choice for a quantum programming language are detailed in [1] and mainly consider the representation of the quantum state using complex numbers, the possibility to write complex quantum operators, the classical extension and its universality. qcl was conceived by ömer [9] and the first version appeared in 1998 and the last one in 2004. it is open-source running under linux operating system and it is a procedural high level language with a c like syntax. qc-lib is a c++ library for the simulation of quantum computers at an abstract functional level [8], and it is used as the back end interpreter for qcl. for the execution of quantum programs written in qcl we developed a parallel version of the qc-lib simulator in which the terms representing quantum states are distributed across multiple processing nodes. we have chosen to expose the parallel implementation of qc-lib through a globus toolkit 4 (gt4 for short) grid service. parallelization has been achieved through the use of lam 7.1.2/7.1.4 implementation of the mpi-2 standard. in gqcl, the execution of parallel simulation of quantum search 637 figure 1: distribution of the 16 basis states of a 4-qubit register using 23 = 8 proccesing nodes. the processing nodes represent the corners of a 3-dimensional hypercube. the mpi implementation of qc-lib is enabled through the means of a wrapper service based on the factory/instance architecture [12]. in gqcl, the instance service, is responsible for actually managing the quantum simulation as a grid job. through the use of a ws-resource, the instance service starts and monitors the job state, notifying the client application on any relevant changes. also, file staging is automated and when the job finishes, the client is given access to the results of the simulation. the architectural details of gqcl and its advantages are presented in [1]. in the following we discuss the complete parallel implementation of the simulation library, addressing the issues regarding the representation of quantum states using multiple processing nodes, the application of singleand multi-qubit quantum operators and measurements. 3.2 parallel implementation of the qc library a quantum register in qcl contains a number of basis vectors, each with a corresponding amplitude. when the qubits forming the quantum register are in a superposition of states, the number of vectors grows exponentially. in qc-lib, the superposition state of a 1-qubit register is represented by two basis vectors (terms) for which the correponding complex amplitudes must be stored: 2 x complex < double >= 32 bytes. when appplying a quantum operator, two term lists are created: one for storing the terms in the current state and one to accumulate the result of an operation on the state. this gives a total of 64 bytes/term which for a n-qubit register requires the use of 2n+6 bytes. thus for n = 25 (n = 29) qubits 2 gb (32 gb) of memory is necessary. in order to provide an efficient parallel execution of qc-lib we take advantage of the specific form of the quantum computation process and distribute the 2n basis states of a quantum register to 2p processors based on the p least significant bits. in this representation, the processing nodes and the basis vectors are actually considered the coordinates of a n-dimensional hypercube (figure 1). each processing node applies quantum operators only to local terms and communicates the generated terms to corresponding processing nodes if necessary. another feature of our implementation is that for a quantum state only non-zero amplitude terms are stored thus diminishing the communication costs in early stages of some operator execution and the space required to store a quantum state. the general single qubit operator. communication between processing nodes is only necessary when applying the operator to a qubit determining the data distribution. applying a 638 s. caraiman, v. manta general single qubit operator u = ( u11 u12 u21 u22 ) on a single qubit with state |ψ⟩ = α|0⟩ + β|1⟩ yelds u|ψ⟩ = (αu11 + βu12)|0⟩ + (αu21 + βu22)|1⟩ (5) if 2 processors are used, then each processor holds the amplitude of one basis state. applying operator u locally on each processor, terms are created that are not owned by the processor, and so communication of these terms is needed: p0 : α|0⟩ u−→ u11α|0⟩ + u21α|1⟩ p1 : β|1⟩ u−→ u12β|0⟩ + u22β|1⟩ comm−→ u11α|0⟩ + u12β|0⟩ u21α|1⟩ + u22β|1⟩ for each term in the initial state at most two terms are created, out of which at most one needs to be communicated. if working, for example, with an n-qubit register and 2p processors, communication is necessary only when applying a single qubit operator on any of the qubits that form the distribution key. for the rest of the qubits, all the terms needed for computing the amplitude of the resulting state are locally owned by each processor. moreover, in the first case, for each processor, all the remotely owned terms are owned by the same other processor as a single bit is flipped in the distribution key. the parallel implementation of the general single qubit operator allows the parallel execution of not, hadamard, phase shift of the amplitude and exponentiation gates. controlled gates. cnot operator (controlled-not) in the parallel implementation of qc-lib, when the control qubit is in state |0⟩, the state of the target qubit doesn’t change, so no new terms are generated and the amplitudes of existing terms are left unchanged. when the control qubit is in state |1⟩, the state of the target qubit is flipped. in this case new terms are generated that need to be communicated to another processing node if the target qubit is part of the distribution key. for example, working with 4 processing nodes and applying cnot to the least significant qubit in a 3-qubit register initially in the state α|100⟩ + β|011⟩, and the control qubit is qubit 2, the following evolution is obtained: p0 : α|100⟩ cnot−−−−→ α|101⟩ p1 : − p2 : − p3 : β|011⟩ cnot−−−−→ β|011⟩ comm−→ − α|101⟩ − β|011⟩ in qc-lib the cnot operator can act on two registers: the control register and the target register. these registers can represent substates of the quantum basis state (sub-registers). in this case, the cnot gate inverts the state of the target (sub-)register if the control (sub-)register is in the state |1⟩c, where c is the number of qubits in the control register. for example, let a be a 1-qubit register in state |0⟩, b a 2-qubit register in state α0|01⟩ + β0|10⟩ and c a 2-qubit register in state α1|10⟩+β1|11⟩. applying cnot to target register b with control register c, the state of the entire quantum memory distributed to 8 processing nodes will be: p2 : |10010⟩, |11010⟩ cnot−−−−→ |10010⟩, |11100⟩ p4 : |10100⟩, |11100⟩ cnot−−−−→ |10100⟩, |11010⟩ comm−→ |10010⟩, |11010⟩|10100⟩, |11100⟩ similar to the case of the general single qubit operator, each processing node communicates with at most one other process node. the index of the process involved in communication is determined by the qubits of the target (sub-)register that make part of the distribution key of the whole quantum memory. parallel simulation of quantum search 639 the cphase operator is another example of 2-qubit quantum gate implemented in qc-lib and allows for a controlled phase shift of the amplitudes. its inputs are a rotation angle, θ, and a control qubit that acts in the same manner as in the cnot case. the amplitudes of the basis states where the control qubit is |0⟩ are left unchanged, an if the control qubit is in state |1⟩, the phase of the amplitudes of the basis states are multiplied by eiθ. the matrix form of the cphase operator is: cphase =   1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 eiθ   . (6) operator cphase can also act on (sub-)registers of the quantum memory and its parallel implementation is analogous to that of the cnot operator. one important difference between the two implementations is that when applying the cphase operator communication between processing nodes is not necessary as the action of this operator doesn’t generate new terms, and only the amplitudes of the local terms are modified. measurement of quantum states. in qc-lib, the measurement of a n-qubit quantum register is simulated in o(2n) time. let |ψ⟩ = ∑2n−1 j=0 αj|j⟩ be the state of a n-qubit quantum register. the measurement step is simulated in the following manner: 1. rrandomly generate a number p, 0 ≤ p < 1, 2. randomly generate a positive integer x, smaller than the number of terms with non-zero amplitude, 3. determine an integer i, 0 ≤ i < 2n − 1, such that ∑i−1 j=x |αj| 2 ≤ p < ∑i j=x |αj| 2. integer i is the representation of the measured state. after measurement, the state of the register becomes |i⟩. because the terms of the quantum register are distributed across processing nodes, the measurement operation requires communication between these nodes in order to correctly select the term i, but also to colapse the register in state |i⟩. thus, a master process is responsible with the random generation of numbers p and i and with computing the sum. sincronization between processing nodes is achieved using mpi_bcast operations such that the master process could receive the norm of the amplitude of a term j from the owning processing node. after selecting number i, all processing nodes know this number and can pass the state of the quantum register in |i⟩. 4 simulation of quantum search in gqcl many problems in classical computing can be reformulated to express the search of a unique element that satisfies a certain predefined condition [2]. if there is no additional information about the search condition, the best classical algorithm is a brute-force search, meaning that the elements are sequentially tested against the search condition. for a list of n elements, this algorithm executes an average of n/2 comparisons. by exploiting the advantages of quantum parallelism and interference of quantum states, grover formulated a quantum algorithm that can find the searched element in an unstructured database in only o( √ n) steps [6]. grover’s algorithm is based on the concept of amplitude amplification and its principle is to encode the elements in the data set as quantum states of a quantum register and to apply an operator, g, whose effect is to raise the probability that the system finds itself in the marked state (the state encoding the solution of the search problem). because only unitary transformations are used to act upon the system, the probability conservation takes place. this allows that as the probability that the system finds itself in the desired state grows, the probability of all 640 s. caraiman, v. manta (a) (b) figure 2: (a) execution time for grover’s algorithm; (b) speed-up for grover’s algorithm. other (unmarked) states are correspondingly diminished. applying grover’s operator g a certain number of times will determine the probability of the marked state to be very close to 1. in order to acheive this behavior of the quantum system, a grover iteration first inverts the phase of the amplitude of the marked state and then inverts the phase of the amplitude of all states around the mean. the inversion of the solution state can be obtained using a so-called "black box" function (known as a quantum oracle) which must be able only to identify wheather a certain record is member of the solution set and thus the mechanism is very general. after one application of grover operator, the amplitude of the marked state grows with a factor of o( 1√ n ), while the amplitudes of the unmarked states lower correspondingly. to obtain o(1) probability for the solution state, grover iteration must be applied o( √ n) times. there is a finite probability that the search operation doesn’t end in success, in which case, grover’s algorithm must be repeated. the performance of our gqcl quantum simulator with respect to the quantum search problem is evaluated. in order to eloquently compare the running times for different problem sizes, we only measure the execution time for one application of grover’s algorithm. in figure 2 we present the results obtained for different problem sizes on various numbers of processing nodes. it can be observed from figure 2(a) that the run time grows with an average factor of about 2.8 for each additional qubit. this is due to the fact that each extra qubit represents a doubling of the problem size and that the number of applied grover iterations grows with a factor of √ 2 for an additional qubit. variation of the speedup with the number of processing nodes is presented in figure 2(b). for only 19 qubits we obtain a speed-up of 7.9 and the measurements reveal a growing trend of the speed-up with the increase of the problem size. 5 conclusions classical sequential computers enforce drastic limitations over the quantum computation simulation process. quantum computer simulators have become an attractive alternative for experimentation with quantum algorithms, but their purpose cannot be achieved without significant computing resources. a promising approach is represented by executing these simulators in grid systems that can provide high performance resources. the quantum computer simulator described in this paper relies on parallel processing implemented in qc-lib. besides the parallelization of the general single qubit operator, we also described the parallelization of the control gates (cnot, cphase) and of the measurement process. the efficient representation and partitioning of the quantum states using the distributed memory of a computer cluster allowed parallel simulation of quantum search 641 very good speed-ups to be recorded at the execution of grover’s search algorithm. bibliography [1] s. caraiman, a. archip, and v. manta. a grid enabled quantum computer simulator. in proc. of synasc’09. ieee computer society, 2009. [2] s. caraiman and v. manta. new applications of quantum algorithms to computer graphics: the quantum random sample consensus algorithm. in proc. of acm cf ’09, pages 81–88, new york, ny, usa, 2009. acm. [3] r. feynman. simulating physics with computers. int. j. theor. phys., 21(6):467–488, 1982. [4] i. foster, c. kesselman, and s. tuecke. the anatomy of the grid: enabling scalable virtual organizations. int. j. high perform. comput. appl., 15(3):200–222, 2001. [5] i. glendinning and b. omer. parallelization of the qc-lib quantum computer simulator library. in proc. of ppam 2003, volume 3019 of lncs, pages 461–468. springer, 2004. [6] l. grover. a fast quantum mechanical algorithm for database search. in proc. of 28th acm annual stoc, pages 212–219, 1996. [7] j. niwa, k. matsumoto, and h. imai. general-purpose parallel simulator for quantum computing. in proc. of umc ’02, pages 230–251, london, uk, 2002. springer-verlag. [8] b. ömer. simulation of quantum computers, 1996. http://tph.tuwien.ac.at/ oemer/doc/qcsim.ps. [9] b. ömer. structured quantum programming. phd thesis, tu vienna, 2003. [10] k. d. raedt, k. michielsen, h. d. raedt, b. trieuc, g. arnoldc, m. richterc, t. lippertc, h. watanabed, and n. itoe. massively parallel quantum computer simulator. computer physics communications, 176(2):121–136, 2007. [11] p. shor. algorithms for quantum computation: discrete logarithms and factoring. in proc. of sfcs ’94, pages 124–134. ieee computer society, 1994. [12] b. sotomayor. the globus toolkit 4 programmer’s tutorial, 2005. http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html. [13] f. tabakin and b. juliá-díaz. qcmpi: a parallel environment for quantum computing. computer physics communications, 180(6):948–964, 2009. international journal of computers, communications & control vol. ii (2007), no. 1, pp. 48-55 advances in intelligent tutoring systems: problem-solving modes and model of hints alla anohina abstract: the paper focuses on the issues of providing an adaptive support for learners in intelligent tutoring systems when learners solve practical problems. the results of the analysis of support policies of learners in the existing intelligent tutoring systems are given and the revealed problems are emphasized. the concept and the architectural parts of an intelligent tutoring system are defined. the approach which provides greater adaptive abilities of systems of such kind offering two modes of problem-solving and using a two-layer model of hints is described. it is being implemented in the intelligent tutoring system for the minimax algorithm at present. in accordance with the proposed approach the learner solves problems in the mode which is the most appropriate for him/her and receives the most suitable hint. keywords: intelligent tutoring system, problem-solving mode, hint 1 introduction emerging of a knowledge society and growing demands for highly skilled and educated labor force claim for changing traditional teaching and learning processes. one way of changes is related with an integration of various kinds of computer-based learning systems as supplements to conventional teaching methods. however, it is necessary to provide intelligent and adaptive abilities of a software system in order it could take over a role of a teacher in effective way. this idea is not new one as it is exploited in intelligent tutoring systems for more than 30 years since the earliest scholar system [1] appeared. during this time a huge amount of intelligent tutoring systems has been implemented for different areas, for example, for mathematics, physics, medicine, informatics and computer science [2, 3, 4, 5, 6, 7, 8, 9, 10]. nowadays developments of systems of such kind have received new breath with the appearance of the agent paradigm [11]. however, adaptive abilities of intelligent tutoring systems still are not high enough, particularly regarding modes of practical problems solving and support of a learner in this process. solving of domain problems is an important part of intelligent tutoring systems, as it allows to deepen the acquired theoretical knowledge in practice, but the mere solving is unlikely to lead to improved skills or deeper understanding of a subject matter. learning often takes place best when the learner receives feedback from the system. feedback is a way to improve the learning process on the basis of continuous assessment of learning results, the analysis of their quality and performance of necessary corrections. feedback encourages desired learning behavior and discourages undesired one, allows to understand how successfully the learner acts, whether he/she applies relevant knowledge, and it provides opportunities to correct misconceptions. in case of intelligent tutoring systems feedback is the various reactions of the system to learner’s learning behaviour. in its turn, a hint is only one form of feedback. unfortunately, little prior researches have been done which are devoted to the general issues of hints formation in intelligent tutoring systems. the most significant work is [12], containing the description of the results of studying hints used by experienced tutors and an attempt to formulate a strategy for using hints in intelligent tutoring systems. according to [12] hints encourage the student to engage in active cognitive processes that are thought to promote deeper understanding and long-term retention. as it is pointed in [13], the developed intelligent tutoring systems have relatively simple and inflexible hinting policies, which more often demand from the learner to follow a prescribed problem-solving strategy and, therefore, hints are always aimed at the next step which should be taken accordingly to the copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 advances in intelligent tutoring systems: problem-solving modes and model of hints 49 strategy. the authors draw attention to two problems: inflexible choice of the steps targeted by hints and proceeding of hints from the most general to the most specific. the analysis of the existing intelligent tutoring systems allows to make the following conclusions about reactions of a system to actions of a learner. typically the system gives the learner an immediate feedback after each performed action or step during problem-solving irrespective of the fact whether the action or the step was correct or incorrect. such policy prevents the learner from proceeding along a wrong solution path. the examples of immediate feedback are found in [5, 8, 9, 14, 15]. but may be a learner would like to make a series of steps and after that to receive feedback about correctness and to find by his/herself what step has led to the incorrect solution? the system usually provides a special button or tool, which the learner can use to request a hint. in algebrain [5] such tool is an animated agent. the system responds with two types of support: generalized "here’s what i’m expecting you to do at this point" help text and a hint specific to the current state of the problem. in andes [9] there are two buttons. one of them gives help "what’s wrong with that?" on an incorrect entry. other button provides a hint about the next step in problem-solving. typically hints are organized in a range from the most general to the most specific. the general hint as a rule contains a minimum information on an error. further the informativeness of hints increases. the most specific hint clearly specifies or shows what should be done. hints are given sequentially. there is a number of systems which use this approach, for example, [5, 8, 10, 14, 16, 17]. the organization of hints from the most general to the most specific is not flexible enough. the insufficient amount of information in a hint can cause frustration and desire to request the subsequent hints without attempts to solve a problem by the learner. information, which specifies necessary actions after first request of a hint, in its turn, is contradictory to the learning process. thus, mechanisms, which will allow to implement individual system’s reactions for each learner giving such amount of information, which will help and at the same time will provide certain cognitive load, are necessary. the example of adaptive hinting is described in [18]. the authors use learner’s proficiencies to select an appropriate hint. the learner with high proficiency at a particular skill receives the more subtle hint. the less proficient learner is presented with a more obvious hint. the authors point out that this is better than require learners to wade through several levels of hints before they receive material that is appropriate to their knowledge level. the paper describes an approach which provides greater adaptive abilities of intelligent tutoring systems supporting two modes of problem-solving and using a two-layer model of hints. thus, the learner solves problems in the mode which is the most appropriate for him/her and receives the most suitable hint. the aforementioned approach is being implemented in the intelligent tutoring system for the minimax algorithm at present. the paper is organized as follows. section 2 defines the concept and the architectural parts of an intelligent tutoring system. the developed approach based on two modes of problem-solving and a twolayer model of hints is discussed in section 3. section 4 describes the intelligent tutoring system for the minimax algorithm in which the proposed approach is being implemented. finally, conclusions are presented, and some directions for future work are outlined. 2 intelligent tutoring systems despite of a broad variety of the developed systems an unequivocal and exhaustive definition of an intelligent tutoring system still does not exist. however, it is possible to list the most often mentioned characteristics of systems of such kind [10, 19, 20, 21, 22, 23, 24]. thus, the intelligent tutoring system is a computer-based system. it is an intelligent system because it uses principles and methods of artificial intelligence [25] such as knowledge representation, inference mechanisms and machine learning in its structure and operation. an intelligent tutoring system is an adaptive system as it alters aspects of its structure, functionality or interface for the particular user and his/her changing needs over time [26]. it 50 alla anohina emulates a human teacher, tries to provide benefits of individual (one-on-one) tutoring, and is based on the theory of learning and cognition. furthermore, intelligent tutoring systems are characterized by the fact that they store three basic kinds of knowledge [20, 27]: domain knowledge, knowledge about learners, and pedagogical knowledge. the knowledge types determine three main parts of the system’s architecture: the domain knowledge, the student diagnosis module, and the pedagogical module. an intelligent tutoring system, as any other software intensively communicating with users, needs a part of the architecture responsible for the interaction between the system and the learner. it is a communication module or interface which controls screen layouts, interaction tools, etc. however, each system can contain additional components the presence of which depends on the following factors: features of problem domain, locking down of separate functions of the basic constituent parts in the isolated components of the structure, technology used for system implementation, and additional functional capabilities of the system. the general architecture of an intelligent tutoring system is shown in figure 1. figure 1: the general architecture of an intelligent tutoring system (adopted from [28]) the domain knowledge is the knowledge the system is teaching. most often it is incorporated in the expert model which represents skills and expertise that an expert in a particular domain holds. the model serves as a standard for evaluating the learner’s performance and the knowledge level. the domain knowledge can include fragments of theoretical materials, texts of practical tasks and attributes related with them, explanatory units, rules and principles used in the domain, etc. typically, it is represented within the system using logical, procedural, network or structured knowledge representation schemes [29]. moreover, the domain knowledge is organized in a certain way, commonly, as a hierarchy, for example, a topic includes some units, which consist of several chapters. the expert module generates solutions of problems for their further comparison with solutions of the learner. the student diagnosis module carries out the student diagnosis process that collects information about the learner, analyzes it and stores in the student model. the student model is formed for a particular learner and serves as an input to the pedagogical module which tailors the learning process to the needs of the learner. the model contains learner’s identifying information, information on the current knowledge level of the learner, information about learner’s cognitive, emotional and psychological features, his/her past experience, interests, and system’s options usage by the learner. the pedagogical module provides a knowledge infrastructure for adaptation of the learning process to characteristics and needs of a learner without interventions of a human-teacher. it implements the advances in intelligent tutoring systems: problem-solving modes and model of hints 51 learning process on the basis of teaching strategies and instructions held in the pedagogical model. the primary tasks of this module are selection and sequencing of learning material that is the most suitable for the learner, determining of the type and content of feedback and help, and answering questions from the learner. 3 the proposed approach 3.1 the problem-solving modes generally, there are two possibilities regarding moments of feedback delivering: an immediate feedback after each step or action in problem-solving and feedback after submission of a whole solution to the problem. it is a basis for two modes of problem-solving in the proposed approach. in the completeness mode a learner chooses the moments of feedback presentation to check correctness of a series of steps. so, he/she can perform one or more steps solving a problem and then to require checking of the performed steps. the system provides feedback about correctness of his/her previous actions and the learner by his/herself should determine what step has led to the incorrect solution. this mode is similar to reinforcement learning [30] which is widely used in artificial intelligence. in the step-by-step mode the system monitors each problem-solving step and gives feedback about its correctness. there are four variations of the step-by-step mode regarding a kind of information given to the learner: • the learner receives both positive and negative feedback. in the case when the learner has performed the correct action he/she is praised (receives a positive feedback, or a reward). if the step was incorrect, criticism (negative feedback) is given to the learner. moreover, negative feedback can be given in two different forms: only as a text, which informs that the action was incorrect, and as a text about the incorrect step together with a hint about how to improve his/her operation. • the learner receives only negative feedback. in this case negative feedback also can be given in two different ways described above. in the completeness mode the learner is not praised or criticized for each performed step. instead of it he/she receives a total estimation of all performed actions. the estimation specifies how far the learner is from his/her goal: the correct solution of a problem. the total estimation can have a positive or negative deviation regarding difference between a number of correctly and incorrectly performed steps. in case when the mentioned difference exceeds some admissible value, a hint can be given to the learner. thus, there are two variations of the completeness mode regarding a kind of feedback: • the learner receives only a total estimation of the performed steps. • the learner receives a total estimation of the performed steps together with a hint about how to improve his/her operation. it is obvious, that it is necessary to provide an opportunity to change the problem-solving mode and a kind of feedback by the learner, as well as, to request a hint in case when he/she receives only the text of feedback. thus, the general scheme of the problem-solving modes and kinds of feedback is displayed in figure 2. it is necessary to stress, that the described problem-solving modes can be implemented only if the process of finding of a problem solution consists of several (homogeneous or heterogeneous) steps. 52 alla anohina figure 2: the problem-solving modes and kinds of feedback for an intelligent tutoring system 3.2 the model of hints the model of hints in the proposed approach defines two layers (figure 3): a layer of the general hint categories and a layer of hints within the general categories. there are three general hint categories: general hints, hints of average informativeness, and specific hints. each category contains one or more hint, which also are ranged from less informative to more informative. the model allows the learner to receive a hint that is the most suitable for him/her. before the learner starts to work in problem-solving mode testing should be taken with the purpose to determine a general hint category which is suitable for the learner. further requesting help during problem-solving the learner will receive an average by number hint from the hint category suitable for him/her. if after receiving of a hint the learner is not capable to execute a correct action, he/she is presented with a subsequent hint. the process proceeds while he/she will not reach last hint for the given error. such approach spares the learner from being presented with informativeless hints. contrary, the learner timely receives a hint providing help and certain cognitive load, therefore, reducing an opportunity of frustration, floundering and loss of interest to learning. figure 3: the two-layer model of hints (adopted from [28]) 4 the intelligent tutoring system for the minimax algorithm the described approach is being implemented in the intelligent tutoring system for a topic of the learning course "fundamentals of artificial intelligence" at the faculty of computer science and information technology at riga technical university. the topic is related with the algorithm for implementing advances in intelligent tutoring systems: problem-solving modes and model of hints 53 two-person games with full information, i.e., the minimax algorithm [29] which example is given in [31] in details. all practical problems directed to the development of skills of applying of the minimax algorithm consist of a sequence of homogeneous steps. let’s consider one of them. a game tree is presented to the learner. it has arcs which are inadmissible for a game with full information: arcs between nodes at the same level or through levels. as a rule, there are from 3 up to 5 wrong arcs in the tree. the learner should find them and to remove from the tree. thus, a removal of one (wrong or correct) arc is a step in this task. it is obvious, that tasks for the minimax algorithm are a fine example of an opportunity to provide two problem-solving modes in the system. at present the following tasks regarding the developed approach are completed: possible mistakes and hints corresponding to them are defined for each problem, sets of hints for each mistake are divided into categories according to the two-layer model of hints described in the previous section, and the user interface of both problem-solving modes is developed. the architecture of the system corresponds to the general architecture of an intelligent tutoring systems displayed in figure 1. the system carries out assessment of an initial learner’s knowledge level on the topic, provides the theoretical knowledge acquiring mode and the practical problem-solving mode with preliminary determining of the problem-solving mode and a category of hints most suitable for the learner, and gives a final assessment of the achieved knowledge level. 5 conclusions and future work adaptive abilities of intelligent tutoring systems are not high enough especially regarding problemsolving modes offered to a learner and ordering of hints from the most general to the most specific. the paper presents an approach which allows the learner to work in the problem-solving mode that is the most appropriate for him/her and to receive the most suitable hint. the proposed two-layer model of hints can reduce frustration, floundering and loss of interest to learning that are inevitable in case when the learner receives too little support during problem-solving. at present, the proposed approach is in a stage of development. firstly, it is necessary to determine, how testing for the problem-solving mode and a category of hints most suitable for the learner may be implemented. secondly, both psychological and pedagogical foundations of the proposed approach should be specified. after the implementation of the approach in the intelligent tutoring system for the minimax algorithm the testing of the system will be done in the corresponding learning course together with questioning of learners and the subsequent interpretation of the received results. references [1] j. r. carbonell, ai in cai: an artificial intelligence approach to computer-assisted instruction, ieee transactions on man-machine systems, vol. 11, no. 4, pp. 190-202, 1970. [2] j. s. brown and r. r. burton, a paradigmatic example of an artificially intelligent instructional system, international journal of man-machine studies, vol. 10, pp. 323-339, 1978. [3] j. s. brown, r. r. burton and j. de kleer, pedagogical, natural language, and knowledge engineering techniques in sophie i, ii and iii, in d.h. sleeman and j.s. brown (eds): intelligent tutoring systems, academic press, london, 1982. [4] j. r. anderson and b. j. reiser, the lisp tutor, byte magazine, vol. 10, pp. 159-175, 1985. [5] s. r. alpert, m. k. singley and p. g. fairweather, deploying intelligent tutors on the web: an architecture and an example, international journal of artificial intelligence in education, vol. 10, no. 2, pp. 183-197, 1999. 54 alla anohina [6] v. devedzic, j. debenham and d. popovic, teaching formal languages by an intelligent tutoring system, educational technology & society, vol. 3, no. 2, pp. 36-49, 2000. [7] m. hospers, e. kroezen, a. nijholt, r. den akker and d. heylen, an agent-based intelligent tutoring system for nurse education, in j. nealon and a. moreno (eds): applications of intelligent agents in health care, birkhauser publishing ltd, basel, switzerland, 2003. [8] n. matsuda and k. vanlehn, advanced geometry tutor: an intelligent tutor that teaches proof-writing with construction, proceedings of the 12th international conference on artificial iintelligence in education, amsterdam, pp. 443-450, 2005. [9] k. vanlehn, c. lynch, k. schulze, j. a. shapiro, r. shelby, l. taylor, d. treacy, a. weinstein and m. wintersgill, the andes physics tutoring system: lessons learned, international journal of artificial intelligence in education, vol. 15, no. 3, pp. 147-204, 2005. [10] r. s. crowley and o. medvedeva, an intelligent tutoring system for visual classification problem solving, artificial intelligence in medicine, vol. 36, no. 1, pp. 85-117, 2006. [11] a. anohina, agents in intelligent tutoring systems: state of the art, scientific proceedings of riga technical university, computer science, 5th series, vol. 22, pp. 110-121, 2005. [12] g. hume, j. a. michael, a. a. rovick, and m. evens, hinting as a tactic in one-on-one tutoring, the journal of the learning science, vol. 5, no. 1, pp. 23-47, 1996. [13] n. matsuda and k. vanlehn, modeling hinting strategies for geometry theorem proving, proceedings of 9th international conference on user modeling, johnstown, pa, usa, pp. 373-377, 2003. [14] kinshuk, t. lin, a. yang and a. patel, plug-able intelligent tutoring and authoring: an integrated approach to problem-based learning, international journal of continuing engineering education and life-long learning, vol. 13, no. 1/2, pp. 95-105, 2002. [15] m. a. nunes, l. l. dihl, l. m. fraga, c. r. woszezenki, l. oliveira, d. j. francisco, g. machado, c. nogueira and m. notargiacomo, ivte pedagogical game for distance learning, proceedings of aset conference, melbourne, 2002. [16] p. suraweera, an animated pedagogical agent for sql-tutor, honours project hons 08/99, 1999. [17] m. kalayar, h. ikematsu, t. hirashima and a. takeuchi, intelligent tutoring system for search algorithm, proceedings of icce, seoul, korea, pp. 1369-1376, 2001. [18] m. stern, j. beck and b. p. woolf, adaptation of problem presentation and feedback in an intelligent mathematics tutor, in c. frasson, g. gauthier and a. lesgold (eds): intelligent tutoring systems, springer-verlag, new york, 1996. [19] b. a. cheikes, gia: an agent-based architecture for intelligent tutoring systems, proceedings of the cikm’95 workshop on intelligent information agents, baltimore, maryland, usa, 1995. [20] n. capuano, m. de santo, m. marsella, m. molinara and s. salerno, a multi-agent architecture for intelligent tutoring, proceedings of the international conference on advances in infrastructure for electronic business, science, and education on the internet ssgrr 2000, l’aquila, 2000. [21] a. m. bell and s. ramachandran, an intelligent tutoring system for remote sensing and image interpretation, proceedings of the interservice/industry training, simulation, and education conference (i/itsec), orlando, florida, usa, 2003. [22] c. j. butz, s. hua and r. b. maguire, a web-based intelligent tutoring system for computer programming, proceedings of the ieee/wic/acm international conference on web intelligence (wi’04), beijing, china, pp. 159-165, 2004. advances in intelligent tutoring systems: problem-solving modes and model of hints 55 [23] e. remolina, s. ramachandran, d. fu, r. stottler and w. r. howse, intelligent simulation-based tutor for flight training, proceedings of the interservice/industry training, simulation, and education conference (i/itsec), orlando, florida, usa, 2004. [24] j. m. gascueña and a. fernández-caballero, an agent-based intelligent tutoring system for enhancing e-learning/ e-teaching, international journal of instructional technology and distance learning, vol. 2, no. 11, pp. 11-24, 2005. [25] p. brusilovsky and c. peylo, adaptive and intelligent web-based educational systems, international journal of artificial intelligence in education, vol. 13, pp. 156-169, 2003. [26] d. r. benyon and d. m. murray, adaptive systems: from intelligent tutoring to autonomous agents, knowledge-based systems, vol. 6, no. 4, pp. 197-219, 1993. [27] c. frasson, t. mengelle and e. aimeur, using pedagogical agents in a multi-strategic intelligent tutoring system, proceedings of the 8th world conference on artificial intelligence in education ai-ed97, workshop v: pedagogical agents, kobe, japan, pp. 40-47, 1997. [28] a. anohina, the problem-solving modes and a two-layer model of hints in the intelligent tutoring system for minimax algorithm, proceedings of the 1st international conference on virtual learning, bucharest, romania, pp. 105-112, 2006. [29] g. f. luger, artificial intelligence: structures and strategies for complex problem solving, addison wesley, 2001. [30] s. russell and p. norvig, artificial intelligence: a modern approach, prentice hall, 2003. [31] a. anohina, intelligent tutoring system for minimax algorithm, scientific proceedings of riga technical university, computer science, 5th series, vol. 22, pp. 122-130, 2005. alla anohina riga technical university department of systems theory and design kalku street 1, riga, latvia, lv-1658 e-mail: alla.anohina@cs.rtu.lv received: november 8, 2006 editor’s note about the author: alla anohina is an assistant at the department of system theory and design of riga technical university in latvia. she got m.sc.ing. in 2002 from riga technical university and received werner von siemens excellence award, award of latvian fund of education and award and memorial medal of latvian academy of sciences, lattelecom ltd. and latvian fund of education for the best master’s thesis in the year 2002. her main research fields are intelligent tutoring systems, computer-assisted assessment systems and artificial intelligence. now she is finishing her ph.d. thesis which main topic is related with the development of the intelligent supporting system for adaptive learning and knowledge assessment. she has five years’ experience of teaching in the field of computer science both in riga technical university, and in other educational institutions of latvia. she has participated in several research projects related with the development of knowledge assessment software. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 121-131 modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks adam borowa, mietek a. brdys, krzysztof mazur abstract: most of industrial processes are nonlinear, not stationary, and dynamical with at least few different time scales in their internal dynamics and hardly measured states. a biological wastewater treatment plant falls into this category. the paper considers modelling such processes for monitorning and control purposes by using state space wavelet neural networks (sswn). the modelling method is illustrated based on bioreactors of the wastewater treatment plant. the learning algorithms and basis function (multidimensional wavelets) are also proposed. the simulation results based on real data record are presented. keywords: neural network models, model approximation, learning algorithms, waste treatment. 1 introduction biological wastewater treatment plants (wwtp) are very important due to their ability of neutralising results of human activity. figure 1: activated sludge reactor (bioreactor) with secondary clarifier typical wwtp consists of three phases of treatment: mechanical, biological and chemical. example of biological part of wwtp (bioreactor with secondary clarifier) is shown in figure 1. before biological treatment the wastewater passes through mechanical treatment where coarse particle, inorganic solids and suspended particulate matter are removed. chemical treatment may be implemented before, after or into biological treatment. activated sludge is responsible for nitrogen and phosphorus removing in bioreactor. biological treatment, due nitrogen and phosphorous removing, consists of three phases: anaerobic, anoxic and aerobic. in figure 1 recirculation (from secondary clarifier to anoxic zone and from anoxic to anaerobic) are shown. control of that recirculation, the air flow rate to aerobic zone and excessive sludge flow rate is very important for the process quality [8]. wastewater treatment process is very complex due to its specific features such as: highly non-linear and multiple time scale dynamics, varying influent flow, high dimension of state vector with many states not accessible by hard sensors; see [4] for details. due to nationwide regulations, which force high standards on treated wastewater quality, a need for better treatment still exists. there are two solutions of this problem. the first is to enlarge the wwtp and the second, to implement an intelligent control system. itšs obvious that the last proposition is better in an economic sense. the main purpose of control of wwtp is to keep all quality parameters of treated waste under specific norm. because of complexity of the process, the advanced control technologies are required. the multilevel-multilayer hierarchical control structure was recently derived [1] and further developed in [4]. copyright © 2006-2007 by ccc publications 122 adam borowa, mietek a. brdys, krzysztof mazur figure 2: multilevel-multilayer hierarchical control structure this structure (figure 2) consists of 3 control levels: supervisory control level, optimising control level and follow up control level; each with different control objectives. optimising control level (ocl) uses a robust model predictive control (rmpc) algorithm and it is decomposed into three layers each with different control horizon and time scale. this work assembles on modeling the wwtp for rmpc and supervisory control. a good candidate for modelling a dynamical, non-linear system with multiple time scales is a state space wavelet network (sswn). using the wavelets as the basis functions solves the multiple time scale problem. the rest of article order goes as follow. section 2 is a description of problem statement. wavelet networks are presented in section 3. a learning algorithm is proposed in section 4. stability of sswn is mentioned in section 5. application and results are shown in section 6 and 7. 2 problem statement the paper aim is to verify the possibility of applying the sswn modelling of a wwtp for monitoring and control purposes. 2.1 monitoring of wwtp for supervisory control purposes monitoring the wwtp state is essential for the supervisory control purposes [4]. most of the wwtp states are not measurable. even though the sswn for state monitoring can be made. first model of wwtp in simba has to be calibrated. methods for simba model calibration are presented in [2]. when calibrated model in simba is available then it can be used as a data generator for learning the sswn. 2.2 progress of the hierarchical intelligent control structure the layer decomposition of the ocl raises a loss on optimality and certain problems with accommodating the constraints into the layer optimisation tasks. as the new sswn model has an ability to combine the two time scales (fast and medium), the fast and medium layers can be combined into one layer, hence eliminating the above problems. modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks 123 3 wavelet network wavelet network is a neural network with one hidden layer consisting wavelets as the basis function. wavelets are specific mathematical functions and are described below. neurons made up of wavelets are called wavelons. 3.1 wavelets any function satisfying the conditions (1) and (2), where ψ(ω) is a fourier transform of ψ(t), is called a mother wavelet. it is required that cψ = ∫ ∞ 0 |ψ(ω)|2 ω dω < ∞ (1) ∫ ψ(t)dt = 0 (2) examples of wavelets are haar wavelet or morlet wavelet shown in figure 3 and defined by the equations (3) and (4) respectively. ψ(x) =    1, 0 ≤ x < 0.5 −1, 0.5 ≤ x < 1 0, elsewere (3) ψ(x) = exp(−x2/2)∗cos(5x) (4) a family of wavelets is made by dilating and translating mother wavelet. see equation (5), where d and figure 3: haar and morlet mother wavelets. t represent the dilation and translation parameters respectively. ψdt (x) = √ dψ(d(x−t)) (5) the translation and dilation parameter determine the position (time) and scale (frequency) domain. the wavelets represented by equation (5) may be design as orthonormal. 3.2 multidimensional wavelets the multidimensional wavelet (6) was presented first by zhang and beneveniste in [11]. in equation (6) ψs(x) is a one–dimensional wavelet, x is a vector and ψ(x ) is a scalar ψ(x ) = ψ(x1, ..., xn) = πnj=1ψs(x j) (6) 124 adam borowa, mietek a. brdys, krzysztof mazur few months later zhang [12] presented new multidimensional wavelet radial wavelet (7) and (8) where ψ(x ) is a one–dimensional wavelet. ψ(x ) = ψs(||x||) (7) ||x|| = (xt x) 12 (8) it is logical that for a multivariable function approximation the multidimensional wavelets are desirable. the multidimensional wavelet (6) was tested and some problems were encountered. first, often the optimisation problem to be solved by the learning algorithm was illűconditioned. second, a large n relatively easily led to overparameterization. only when radial wavelet (equations (7) and (8)) was used the network learning was successfully finalized. the radial multidimensional wavelet, used in the paper, is given by equations (9) (13) and it is shown in figure 4. figure 4: multidimensional radial wavelon. z=[x,u] (9) d j = [d1, j, ..., dk+m+n, j] (10) t j = [t1, j, ...,tk+m+n, j] (11) a= diag(d j)∗(z−t j)t (12) a j = r(a(z,d,t)) = (at a) 1 2 (13) a one ű dimension wavelet used in this application was a morlet wavelet (4). proposed structure for a wavelon was described in [12]. 3.3 feed-forward and input-output wavelet networks. it was presented in [5] that feed–forward wavelet network (ffwn) in the form (14) is a universal approximator for any function in sobolev space. wavelet networks have more freedom then other neural networks because of number of optimised parameters for each wavelon. z = σni=1wiψ(di(x−ti)) (14) the wavelet network for one-dimensional input network is described by equation (14), where di and ti are dilation and translation parameters respectively, wi are linear weights and n is a number of wavelons. a feed forward wavelet network (figure 5) was presented first by zhang and beneveniste [11]. a dynamical wavelet network (dwn) was presented in [7]. the dwn structure is shown in figure 6. it is the input– output structure, which is commonly used but it has some drawbacks that do not permit this dwn to be used for wwtp modelling. since 1992 many wavelet networks were presented and used in different places of human activity. modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks 125 figure 5: feed-forward wavelet network. figure 6: dynamical wavelet nertwork. 3.4 state space wavelet network state space wavelet network (sswn) is not as well known as ffwn or dwn but it has specific advantages over mentioned networks. due to its of internal state space component the sswn, better captures the modeled plant structure. therefore the modeling error is smaller and the learning process is faster. nevertheless, there is no proof for such a network to be the universal approximator. sswn with multidimensional wavelets is shown in figure 7 and described by the equations (15) and (16), where n is a number of outputs, m + n is a number of state variables, k is a number of inputs (control and disturbance), l is a number of wavelons. a number of parameters to be estimated during learning process are then (2∗l∗(n + m + k) + l∗(n + m)). it combines the state space architecture of dynamic neural network [10] with the multidimensional wavelons as the processing nodes. figure 7: structure of state space wavelet network with multidimensional wavelons ∀n+mi=1 xi(k + 1) = σlj=1wi, j ∗ψ j(x(k), u(k)) (15) ∀ni=1yi(k) = σlj=1wi, j ∗ψ j(x(k), u(k)) (16) 4 learning algorithm during searching for the right structure of wavelet network, selecting the learning algorithm was also investigated. searching over a large set of combinatorial optimization algorithms included: simple genetic algorithm (sga), sga with elitism, evolutionary algorithm (ea), ea with sbx crossover, 126 adam borowa, mietek a. brdys, krzysztof mazur simulated annealing (sa) and parallel hybrid of sa and ea with the use of computer grid technology. the sa algorithm turned out to be the best for our problems. 4.1 simulated annealing whilst inspiration for ga and ea was in biology (genetic), the sa was inspired by thermodynamics (statistical mechanics). the algorithm was motivated by the growing mechanism of a single crystal from a melt [6]. it was found that slow cooling (annealing) of melted metal goes to low state of energy while fast cooling does not. a simple algorithm based on monte carlo search was proposed in (metropolis 1953) which then became an important part of the sa algorithm [6]. this algorithm works on a chain of atoms (s). in each step one atom from the chain is disturbed and the new chain energy e(s′) is calculated. a difference between the chain s and s′ energies is calculated by equation (17). ∆e = e(s′)−e(s) (17) if ∆e < 0 then new chain s′ is accepted; otherwise the new chain is conditionally accepted with a probability given by boltzmann probability factor (18), where kb is a boltzmannšs constant and t is a temperature factor. whilst t is not real temperature and kb is a constant then product kb ∗ t may be replaced for practical implementation by single factor t . p(∆e) = exp(−∆e/(kbt )) (18) the annealing schedule was added in [6] in order to formalise the sa algorithm. the sa algorithm works iteratively as follow. for given temperature t0 the metropolis monte carlo (mmc) method is applied. when chain of atoms is said to be stable then new t is computed and mmc is applied; this procedure goes as long as the temperature reaches 0 or the energy obtains optimum. for the new t the computation-annealing schedule is given by equation (19), where t0 is initial temperature and k is sa iteration counter. for practical matter chain of atoms is said to be stable when mmc iteration counter obtain an established number. t (k) = t0 1 + ln(k) (19) 4.2 a simple method for sswn learning with simulated annealing algorithm in the paper the learning procedure was implemented as follow: – initialize a chain of atoms, – set the initial temperature, – establish a number of mmc iterations needed to obtain a stable chain, – run iterative sa algorithm. initialization of chain of atoms is made using a random number generator with upper and lower constrains for weights and wavelet coefficients. the initial temperature is chosen by the user (between 0 and 1). number of mmc iterations is proportional to length of the chain of atoms. in optimisation only one chain of atom should be used because convergence of sa is independent of initialization due to exploring nature of the method. before the sa is applied the energy function must be described. energy function is given by equation (20), where y is the plant output and y κ is a sswn output, n is a number of sswn outputs, j is a number of samples taken for network learning. e = 1 n ∗j σ n i=1σ j j=1|yi, j −y κi, j| (20) modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks 127 it is important to normalize the data before learning the network. 5 stability of sswn it was proved that under certain conditions the state space neural networks (ssnn) can be made stable [9]. the sufficient conditions for the stability suitable constrain the network weights. it is not a subject of this work to proof the sswn stability. however, we shall demonstrate by simulation that the stability is in place if the network parameters are constrained. a discharge of a randomly chosen initial state of the network is illustraed in figure 8. after the discharge has been finished the network output accurately follows the plant output. figure 8: discharge of randomly chosen initial state of sswn 6 application after the sswn structure and learning algorithm have been chosen the inputs, outputs, size of the state vector and the number of wavelons must be fixed. figure 9: learning results for different m and l the presented sswn was applied to wastewater treatment plant modelling. the modelled plant consists of 4 control inputs (flow rate to aerobic zone, 2 recirculation flow rates and excessive sludge flow rate), 4 measured or estimated disturbance inputs, including inflow and quality (cod, bod, t ss), and 4 outputs: outflow (q), concentrations of nitrate and nitrite nitrogen (sno) and nh + 4 + nh3 nitrogen (snh ) in effluent and concentration of oxygen in aerobic zone (so). still the number of state space variables m and number of wavelons l are unknown. fortunately we know the size of state of the modelled plant, which is 14 for each zone of biological treatment. therefore m was searched in a set of values: 14, 21 and 28; the larger m implied a huge set of optimized parameters. in order to reduce the computational burden m wavelons were applied. the network was parameterized by 980, 1911 and 3136 parameters, respectively. results of the learning (limited to single output) for these three parameterization examples are shown in figure 9. finally m and l were selected as 28 to give small modelling error and acceptable learning time. 128 adam borowa, mietek a. brdys, krzysztof mazur 7 results the results of long term learning are shown in figure 10. the learning time was around 36 hours with simulated annealing algorithm. the bold line shows the modelled plant output while the dashed line illustrates the network output. the mean modelling error was about 1.84 figure 10: comparison of model and plant outputs 8 conclusions a structure of a dynamical wavelet network called state space wavelet network (sswn) has been proposed. the multidimensional radial wavelon has been proposed as the network processing nodes. the simulated annealing for the sswn learning has been derived and validated by application to modelling the wastewater treatment plant. it has been demonstrated that such a network is able to approximate this dynamic, nonlinear, not stationary process with several different time scales. references [1] m. a. brdys, m. grochowski, k. duzinkiewicz, w. chotkowski, y. liu "design of control structure for integrated wastewater treatment plant űsewer systems", international conference on technolog, automation and control of wastewater and drinking water systems tiaswik’02 gdansk – sobieszewo, poland, june 19-21 2002. [2] w. chotkowski, j. mźkinia, m.a. brdys, k. duzinkiewicz, k. konarczak "mathematical modelling of the processes in integrated municipal wastewater systems", proc. of the 9th ifac/ifors/imacs/ifip symposium on large scale systems: theory and applications, bucharest, july 18-20 2001. [3] i. daubechies ten lectures on wavelets cbms-nsf regional series in applied mathematics, siam, philadelphia, 1992. modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks 129 [4] m. grochowski, m.a. brdys, t. gmiñski "intelligent control structure for control of integrated wastewater systems" ifac 10th symposium large scale systems: theory and applications osaka ű japan july 26-28 2004. [5] a. juditsky, q. zhang, b. delyon, p-y. glorennec, a. beneveniste "wavelets in identification" rapport de recherche nř2315 1994. [6] s. kirkpatrick, c.d. gelatt, m.p. vecchi "optimization by simulated annealing" science vol. 220 pp. 671-680, 1983. [7] y. oussar, i. rivals, l. personnaz, g. dreyfus "training wavelet networks for nonlinear dynamic input-output modeling" neurocomputing, vol. 20, pp. 173-188, 1998. [8] g. olsson, r newell wastewater treatment systems. modelling, diagnosis and control. iwa publishing, london, 1999. [9] e.n. sanchez, j.p. perez "input-to-state stability (iss) analysis for dynamic neural networks" ieee transactions on circuits and systems ű i: fundamental theory and applications, vol. 46, no. 11, pp 1395 ű 1398, november 1999. [10] j.m. zamarreno, v. pastora "state space neural network. properties and applications." neural networks, vol. 11, pp 1099-1112, 1998. [11] q. zhang, a. beneveniste "wavelet networks" ieee trans. on neural networks, vol. 3, num. 6, pp 889-898, nov. 1992. [12] q. zhang "wavelet network: the radial structure and an efficient initialization procedure" technical report of linköping university, lith-isy-i-1423, october 1992. [13] j. zhao, b. chen, j. shen "multidimensional non-orthogonal wavelet basis function neural network for dynamic process fault diagnosis" computer and chemical engineering vol. 23 pp. 83-92, 1998. adam borowa, krzysztof mazur gdansk university of technology, department of automatic control, ul. g. narutowicza 11/12, 80 952 gdansk, poland e-mail: aborowa@ely.pg.gda.pl, kmazur@ely.pg.gda.pl mietek a. brdys the university of birmingham, school of engineering, department of electronic, electrical and computer engineering, birmingham b15 2tt, uk e-mail: m.brdys@bham.ac.uk received: march 12, 2007 130 adam borowa, mietek a. brdys, krzysztof mazur adam borowa received his m.sc. degree in control engineering in 2002 from electrical and control engineering department at gdansk university of technology. soon after he became a ph.d. student in this department. during the period of 2001 to 2002 he served one’s apprenticeship on wastewater treatment plant at swarzewo. he published 6 publications. mainly he focuses on modelling and monitoring of large scale systems, especially processes with many time scales. mietek a. brdys received the m.sc. degree in electronic engineering and the ph.d. and the d.sc. degrees in control systems from the institute of automatic control at the warsaw university of technology in 1970, 1974 and 1980, respectively. from 1974 to 1983, he held the posts of assistant professor and associate professor at the warsaw university of technology. in 1992 he became full professor of control systems in poland. between 1978 and 1995, he held various visiting faculty positions at the university of minnesota, city university, de montfort university and university polytechnic of catalunya. since january 1989, he has held the post of senior lecturer in the school of electronic, electrical and computer engineering at the university of birmingham. since february 2001 he has held the post of full professor of control systems in the department of automatic control at gdansk university of technology. he has served as consultant for honeywell systems and research center in minneapolis, gec marconi and water authorities in uk, france, spain, germany and poland. he is head of interdisciplinary research network on decision support and control systems at the university of birmingham and head of intelligent decision support and control system group at technical university of gdansk. his research is supported by the uk and polish research councils, and industry and european commission. he is author and co-author of about 200 refereed papers and six books. his current research includes intelligent decision support and control of complex uncertain systems, robust monitoring and control, softly switched robustly feasible model predictive control. the applications include environmental systems, technological processes, autonomous intelligent vehicles and defence systems. he is a chartered engineer, a member of the iee, a senior member of ieee, a fellow of ima and a vice-chair of ifac technical committee on large scale complex systems. he the ipc chair of the 11th ifac symposium on large scale complex systems, gdansk, july 23-25, 2007. modelling of wastewater treatment plant for monitoring and control purposes by state – space wavelet networks 131 krzysztof mazur received his m.sc. degree in control engineering from electrical and control engineering department at gdansk university of technology in 2005. currently a ph.d. student in this department. his research interests are in the areas of modelling, control and monitoring of large scale systems. coauthor of 4 publications. international journal of computers, communications & control vol. i (2006), no. 1, pp. 25-32 one more universality result for p systems with objects on membranes gheorghe păun abstract: we continue here the attempt to bridge brane calculi with membrane computing, following the investigation started in [2]. specifically, we consider p systems with objects placed on membranes, and processed by membrane operations. the operations used in this paper are membrane creation (cre), and membrane dissolution (dis), defined in a way which reminds the operations pino, exo from a brane calculus from [1]. for p systems based on these operations we prove the universality, for one of the two possible variants of the operations; for the other variant the problem remains open. keywords: membrane computing, brane calculi, matrix grammar, universality 1 introduction this paper is a direct continuation of [2], where a first step was made to bridge membrane computing [4], [5], [6] and brane calculi [1]. the main point of this effort is to define p systems which work with multisets of objects placed on the membranes rather than inside the compartments defined by membranes, and to process these multisets by means of operations with membranes rather than by multiset rewriting rules acting only on objects. the operations pino, exo, mate, drip were formalized in [2] as membrane computing rules, and used in defining p systems based on them. the universality of mate, drip operations was proved in [2] (for systems using simultaneously at any step of a computation at most eleven membranes). we give here an universality result for other two operations, membrane creation (cre), and membrane dissolution (dis), which have the same syntax as pino, exo operations, but a different interpretation in what concerns the contents of the handled membranes – details can be found in section 3 below. actually, as it was the case in [2] with pino, exo, we have two variants of each of the operations cre, dis. for one of these variants, we prove the turing completeness, while the case of the other variant remains open (we believe that a similar result holds true). 2 prerequisites all notions of formal language theory we use are elementary and standard, and can be found in any basic monograph of formal language theory. for the sake of completeness, we introduce below only the notion of matrix grammars with appearance checking – after specifying that by re we denote the family of recursively enumerable languages, and by psre the family of parikh images of languages from re (the parikh mapping associated with an alphabet v is denoted by ψv ). a matrix grammars with appearance checking [3] is a construct g = (n, t, s, m, f), where n, t are disjoint alphabets (of non-terminals and terminals, respectively), s ∈ n (axiom), m is a finite set of matrices, that is sequences of the form (a1 → x1, . . . , an → xn), n ≥ 1, of context-free rules over n ∪t , and f is a set of occurrences of rules in the matrices of m. for w, z ∈ (n ∪ t )∗ we write w =⇒ z if there is a matrix (a1 → x1, . . . , an → xn) in m and the strings wi ∈ (n ∪t )∗, 1 ≤ i ≤ n + 1, such that w = w1, z = wn+1, and, for all 1 ≤ i ≤ n, either (1) wi = w′iaiw′′i , wi+1 = w′ixiw′′i , for some w′i, w ′′ i ∈ (n ∪ t )∗, or (2) wi = wi+1, ai does not appear in wi, and the rule ai → xi appears in f . (if applicable, the rules from f should be applied, but if they cannot be applied, then we may skip them. that is why the rules from f are said to be applied in the appearance checking mode.) if f = /0, then the grammar is said to be without appearance checking. the language generated by g is defined by l(g) = {w ∈ t ∗ | s =⇒∗ w}, where =⇒∗ is the reflexive and transitive closure of the relation =⇒. the family of languages of this form is denoted by matac; it is known that matac = re. we say that a matrix grammar with appearance checking g = (n, t, s, m, f) is in the z-binary normal form if n = n1 ∪ n2 ∪{s, z, #}, with these three sets mutually disjoint, and the matrices in m are in one of the following forms: 1. (s → x a), with x ∈ n1, a ∈ n2, 2. (x → y, a → w), with x ,y ∈ n1, a ∈ n2, w ∈ (n2 ∪t )∗,|w| ≤ 2, copyright c© 2006 by ccc publications 26 gheorghe păun 3. (x → y, a → #), with x ∈ n1,y ∈ n1 ∪{z}, a ∈ n2, 4. (z → λ ). moreover, there is only one matrix of type 1, f consists exactly of all rules a → # appearing in matrices of type 3, and, if a sentential form generated by g contains the symbol z, then it is of the form zw, for some w ∈ (t ∪{#})∗ (that is, the appearance of z makes sure that, except for z, all symbols are either terminal or the trap-symbol #). the matrix of type 4 is used only once, in the last step of a derivation. for each language l ∈ re there is a matrix grammar with appearance checking g in the z-binary normal form such that l = l(g). as usual, we represent multisets over an alphabet v by strings over v , with the obvious observation that all permutations of a string represent the same multiset. 3 p systems using the cre/dis operations we start by recalling from [2] the formalization of the operations pino, exo in terms of membrane computing. a membrane is represented, as usual, by a pair of square brackets, [ ], but we associate here with membranes multisets of object (corresponding to the proteins embedded in the real membranes). a membrane having associated a multiset u (represented by a string) is written in the form [ ] u; we also use to say that the membrane is marked with the multiset u. the following four operations were defined in [2]: pinoi : [ ] uav → [ [ ] ux] v, (1) exoi : [ [ ] ua] v → [ ] uxv, (2) pinoe : [ ] uav → [ [ ] v] ux, (3) exoe : [ [ ] u] av → [ ] uxv. (4) in all cases with a ∈ v , u, x ∈ v ∗, v ∈ v +, with ux ∈ v + for pino rules, where v is a given alphabet of objects. in each case, multisets of proteins are transferred from input membranes to output membranes as indicated in the rules, with protein a evolved into the multisets x (which can be empty). the subscripts i and e stand for “internal" and “external", respectively, pointing to the “main" membrane of the operation in each case. it is important to note that the multisets u, v and the protein a marking the left hand membranes of these rules correspond to the multisets u, v, x from the right hand side of the rules; specifically, the multiset uxv resulting when applying the rule is precisely split into ux and v, with these two multisets assigned to the two new membranes. the rules are applied as follows. assume that we have a membrane [ ] zuav, for a ∈ v, u, v, z ∈ v ∗. by a pinoi rule as in (1), we obtain any one of the pairs of membranes [ [ ] z1ux ] z2v such that z = z1z2, z1, z2 ∈ v ∗, and by a pinoe rule as in (3), we obtain any one of the pairs of membranes [ [ ] z1v ] z2ux such that z = z1z2, z1, z2 ∈ v ∗. in the case of the two exo operations, the result is uniquely determined. from a pair of membranes [ [ ] z1ua] z2v, by an exoi rule as in (2) we obtain the membrane [ ] z1z2uxv, and from [ [ ] z1u] z2av, by an exoe rule as in (4) we obtain the same membrane [ ] z1z2uxv. the contents of membranes involved in these operations is transferred from the input membranes to the output membranes in the same way as in brane calculi (p,q represent here the possible contents of the respective membranes): pinoi : [ p ] uav → [ [ ] ux p ] v, exoi : [ [ p ] ua q ] v → p [ q ] uxv, pinoe : [ p ] uav → [ [ ] v p ] ux, exoe : [ [ p ] u q ] av → p [ q ] uxv. here we change the interpretation of these rules, as suggested below (because the new semantics do not correspond to the operations pino, exo, we change the name of operations to cre, dis, for “membrane creation" and one more universality result for p systems with objects on membranes 27 “membrane dissolution"): crei : [ p ] uav → [ [ p ] ux ] v, disi : [ [ p ] ua q ] v → [ p q ] uxv, cree : [ p ] uav → [ [ p ] v ] ux, dise : [ [ p ] u q ] av → [ p q ] uxv. that is, when a membrane is created inside an existing membrane, the new membrane contains all previously existing membranes, and while dissolving a membrane, its contents remains inside the membrane where it was placed before the operation. the interpretation of the latter operation is rather similar to the usual dissolution operation in membrane computing, while the membrane creation is understood as doubling the existing membrane, with a distribution of the multiset marking the initial membrane to the two new membranes. using rules as defined above, we can define a p system as π = (a, µ, u1, . . . , um, r), where: 1. a is an alphabet (finite, non-empty) of objects; 2. µ is a membrane structure with m ≥ 2 membranes; 3. u1, . . . , um are multisets of objects (represented by strings over a) bound to the m membranes of µ at the beginning of the computation; the skin membrane is marked with u1 = λ ; 4. r is a finite set of cre, dis rules, of the forms specified above, with the objects from the set a. for a rule of any type, with u, a, v as above, |uav| is called the weight of the rule. in what follows, the skin membrane plays no role in the computation, no rule can be applied to it. also, we stress the fact that there is no object in the compartments of µ ; a membrane can contain other membranes inside, but in-between membranes there is nothing. when using any rule of any type, we say that the membranes from its left hand side are involved in the rule; they all are “consumed", and the membranes from the right hand side of the rule are produced instead. similarly, the object a specified in the left hand side of rules is “consumed", and it is replaced by the multiset x. the evolution of the system is defined in the standard way used in membrane computing, with the rules applied in the non-deterministic maximally parallel manner, with each membrane involved in at most one rule. thus, the parallelism is maximal at the level of membranes – each membrane which can evolve has to do it – but each multiset of objects evolves in a sequential manner, as only one rule can act on any multiset in a transition step. more precise details can be found in [2]. a computation which starts from the initial configuration is successful if (i) it halts, that is, it reaches a configuration where no rule can be applied, and (ii) in the halting configuration there are only two membranes, the skin (marked with λ ) and an inner one. the result of a successful computation is the vector of multiplicities of objects which mark the inner membrane in the halting configuration. the set of all vectors computed in this way by π is denoted by ps(π). the family of all sets of vectors ps(π) computed by p systems π using at any moment during a computation at most m membranes, and crei, disi rules of weight at most p, q, respectively, is denoted by psopm(crep, disq). when one of the parameters m, p, q is not bounded we replace it with ∗. we end this section by pointing out some relations which follow directly from the definitions (and from turingchurch thesis). lemma 1. (i) psopm(crep, disq) ⊆ psopm′(crep′, disq′), for all m ≤ m′, p ≤ p′, q ≤ q′. (ii) psop∗(cre∗, dis∗) ⊆ psre. we also recall the main result from [2]: psop11(mate5, drip5) = psre (the notation is self-explanatory). 28 gheorghe păun 4 universality for the cre/dis operations in the case of cre, dis operations as defined above, we cannot generate vectors of norm 0 or 1: in each rule [ ] uav → [ [ ] ux] v, [ [ ] ua] v → [ ] uxv (necessary in the last step of any computation in order to get only one internal membrane) we have imposed to have |uxv| ≥ 2. that is why the universality below is obtained modulo vectors of the form (0, . . . , 0) and (0, . . . , 0, 1, 0, . . . , 0). we denote by ps′re and ps′opm(crep, disq) the sets of vectors from psre and psopm(crep, disq) having the sum of elements greater than or equal to 2. theorem 2. ps′re = ps′opm(crep, disq) for all m ≥ 7, p ≥ 4, and q ≥ 4. proof. let us consider a language l ∈ re = matac, l ⊆ v 2v ∗, for an alphabet v with n symbols. we write this language in the form l = ⋃ a,b∈v {ab}∂ lab(l). let gab = (nab,v, sab, mab, fab) be a matrix grammar with appearance checking such that l(gab) = ∂ lab(l), for a, b ∈ v . we consider these grammars gab in the z-normal form, with the notations from section 2 (hence nab = nab,1 ∪nab,2 ∪{sab, zab, #}), and we construct the matrix grammar g = (n,v, s, m, f) with n = n1 ∪n2 ∪{zab | a, b ∈ v}∪{s, #}, n1 = ⋃ a,b∈v nab,1, n2 = ⋃ a,b∈v nab,2, m = {(s → x a) | for (sab → x a) ∈ mab, a, b ∈ v} ∪ {(x → y, a → w) | for (x → y, a → w) ∈ mab, a, b ∈ v} ∪ {(zab → ab) | for (z → λ ) ∈ mab, a, b ∈ v}. obviously, l(g) = l. we assume that all two-rules matrices from m are injectively labeled, in the form ml : (x → y, a → x), l ∈ lab, for a set of labels lab. starting from the grammar g we now construct a p system π = (a, [ [ ] ], λ , s1s2, r), with the alphabet a = {y,y ′,y ′′,y ′′′,y iv,y v,y vi,y vii,y viii,y ix,y x | y ∈ n1} ∪ {α, α′, α′′ | α ∈ n2 ∪v} ∪ {ā | a ∈ n2} ∪ {zab, z′ab, z′′ab, z′′′ab | a, b ∈ v} ∪ {e, h, h′, s1, s2, s3, c1, . . . , c11, c0, c′0, c′′0 , c′3, c′′3 , d1, d2, d′1, d′2, f ′, f ′′, #}, and the rules from the set r as constructed below. any computation starts from the configuration [ [ ] s1s2 ] λ , by using the following rules: step 1 : [ ] s1s2 → [ [ ] x ] s2 , step 2 : [ [ ] x ] s2 → [ ] x c0d1s2 , step 3 : [ ] x s2c0d1 → [ [ ] x s3 ] c0d1 , step 4 : [ ] s3x → [ [ ] eā ] x , [ ] c0d1 → [ [ ] c′0 ] d1 , step 5 : [ [ ] eā ] x → [ ] eāx , [ [ ] c′0 ] d1 → [ ] c′′0 d1 , step 6 : [ ] x āe → [ [ ] x a ] e , [ ] c′′0 d1 → [ [ ] c1 ] d1 , for each matrix (sab → x a) ∈ mab, for a, b ∈ v . one more universality result for p systems with objects on membranes 29 the rules are used as indicated in the table above, with two rules simultaneously applied in steps 4, 5, 6. the only possible branching is in step 3, when instead of the rule [ ] x s2c0d1 → [ [ ] x s3 ] c0d1 , we can also use the rule [ ] c0d1 → [ [ ] c′0 ] d1 . in this way we obtain the membranes [ [ ] c′0 ] d1 , with x s2 distributed among them. because s3 will be never introduced, we continue only with rules which process membranes marked with ci and d1, namely, the rules from the third column of table 1; in this way, the computation will never stop, both because we can return again and again to a pair of membranes of the form [ [ ] c1 ] d1 , and because pairs of membranes marked with c ′ 3 will appear and introduce trap objects/membranes – see also below. the evolution of the membrane structure is indicated in figure 1. initial [ [ ] s1s2 ] λ step 1 [ [ [ ] x ] s2 ] λ step 2 [ [ ] x c0d1s2 ] λ step 3 [ [ [ ] x s3 ] c0d1 ] λ step 4 [ [ [ [ [ ] eā ] x ] c′0 ] d1 ] λ step 5 [ [ [ ] eāx ] c′′0 d1 ] λ step 6 [ [ [ [ [ ] x a ] e ] c1 ] d1 ] λ figure 1: the evolution of membranes at the beginning of computations. thus, we end with a configuration of the form [ [ [ [ [ ] x a ] e ] c1 ] d1 ] λ . the rules for simulating the two-rules matrices from m are indicated in table 1; by w′ we denote here the string obtained from w by priming one symbol; if w = λ , then w′ = f ′, hence α′ = f ′, α′′ = f ′′ and, in row 6, α = λ . step ml : (x → y, a → w) ml : (x → y, b → #) 1 [ [ ] x ] e → [ ] xl e [ [ ] x ] e → [ ] xl e [ [ ] c1 ] d1 → [ ] c2c3d1 2 [ ] aexl → [ [ ] w′ ] exl [ ] xl be → [ [ ] xl ## ] e [ ] c3c2d1 → [ [ ] c′3 ] c2d1 3 [ [ ] exl ] c′3 → [ ] ey ′c′3 [ [ ] xl e ] c′3 → [ ]y vi hec′3 [ ] c2d1 → [ [ ] c4 ] d1 4 [ ] c′3y ′e → [ [ ] c′3y ′′ ] e [ ]y vic′3eh → [ [ ] c′3y vii ] eh [ [ ] c4 ] d1 → [ ] c5d1 5 [ [ ] α′ ] c′3y ′′ → [ ] α′′c′3y ′′ [ ]y vii c′3 → [ [ ]y viii ] c′3 [ ] c5d1 → [ [ ] c6 ] d1 [ ] he → [ [ ] h′ ] e 6 [ [ ] α′′c′3y ′′ ] e → [ ] α c′3y ′′e [ [ ] c′3 ] h′ → [ ] c′′3 h′ [ [ ] c6 ] d1 → [ ] c7d1 7 [ ] c′3y ′′e → [ [ ] c′3y ′′′ ] e [ [ ]y viii ] c′′3 h′ → [ ]y ix c′′3 h′ [ ] c7d1 → [ [ ] c8 ] d1 8 [ [ ] c′3y ′′′ ] e → [ ]y ′′′e [ [ ]y ix c′′3 h′] e → [ ]y ix h′e [ [ ] c8 ] d1 → [ ] c9d1 9 [ ]y ′′′e → [ [ ]y iv ] e [ ]y ix h′e → [ ]y x ] e [ ] c9d1 → [ [ ] c10 ] d1 10 [ [ ]y iv ] e → [ ]y ve [ [ ]y x ] e → [ ]y x e [ [ ] c10 ] d1 → [ ] c11d1 11 [ ]y ve → [ [ ]y ] e [ ]y x e → [ [ ]y ] e [ ] c11d1 → [ [ ] c1 ] d1 table 1: rules for simulating two-rules matrices. we also consider the rules [ ] xl e → [ [ ] ## ] e , for each matrix ml : (x → y, a → w), [ [ ] h′ ] e → [ ] ##e , [ ] ## → [ [ ] # ] #, [ [ ] # ] # → [ ] ##. the simulation of matrices in g is performed by modifying the marking of the central membranes, those emerging from the initial membranes with markings x a and e, with these operations being assisted by the two membranes with markings c1 and d1 and their successors, which are external to the central membranes where the sentential form of g is produced. always during the computation, the membranes remain embedded one in another, in a linear manner, never having two membranes on the same level (here stands the essential difference between the interpretation of the cre, dis operations and the interpretation of the pino, exo operations from [1], [2]). 30 gheorghe păun the evolution of the membranes and of their relevant markings can be followed in figure 2. if in the second step the rule [ ] aexl → [ [ ] w′ ] exl is not applicable (hence the matrix ml cannot be applied), then the rule [ ] xl e → [ [ ] ## ] e will be applied, introducing the trap-object #, and the computation will never halt. starting [ [ [ [ [ ] x ] e ] c1 ] d1 ] λ step 1 [ [ [ ] xl ea ] c2c3d1 ] λ step 2 [ [ [ [ [ ] w′ ] exl ] c′3 ] c2d1 ] λ step 3 [ [ [ [ [ ] α′ ] ey ′c′3 ] c4 ] d1 ] λ step 4 [ [ [ [ [ ] α′ ] c′3y ′′ ] e ] c5d1 ] λ step 5 [ [ [ [ [ ] α′′c′3y ′′ ] e ] c6 ] d1 ] λ step 6 [ [ [ ] α c′3y ′′e ] c7d1 ] λ step 7 [ [ [ [ [ ] c′3y ′′′ ] e ] c8 ] d1 ] λ step 8 [ [ [ ]y ′′′e ] c9d1 ] λ step 9 [ [ [ [ [ ]y iv ] e ] c10 ] d1 ] λ step 10 [ [ [ ]y ve ] c11d1 ] λ step 11 [ [ [ [ [ ]y ] e ] c1 ] d1 ] λ figure 2: the evolution of membranes when simulating ml : (x → y, a → w). the evolution of membranes in the case of the simulation of a matrix ml : (x → y, b → #) can be followed in figure 3. this time, if b is present, in step 2 we have to use the rule [ ] xl be → [ [ ] xi## ] e , and the computation will never halt. if no copy of b is present, then the central membrane does not evolve, waiting for the membrane marked with c′3 to be produced; this membrane can be used in the next step for evolving the central membrane. starting [ [ [ [ [ ] x ] e ] c1 ] d1 ] λ step 1 [ [ [ ] xl e ] c2c3d1 ] λ step 2 [ [ [ [ ] xl e ] c′3 ] c2d1 ] λ step 3 [ [ [ [ ]y vihec′3 ] c4 ] d1 ] λ step 4 [ [ [ [ ] c′3y vii ] eh ] c5d1 ] λ step 5 [ [ [ [ [ [ [ ]y viii ] c′3 ] h′ ] e ] c6 ] d1 ] λ step 6 [ [ [ [ [ ]y viii ] c′′3 h′ ] e ] c7d1 ] λ step 7 [ [ [ [ [ ]y ix c′′3 h′ ] e ] c8 ] d1 ] λ step 8 [ [ [ ]y ix h′e ] c9d1 ] λ step 9 [ [ [ [ [ ]y x ] e ] c10 ] d1 ] λ step 10 [ [ [ ]y x e ] c11d1 ] λ step 11 [ [ [ [ [ ]y ] e ] c1 ] d1 ] λ figure 3: the evolution of membranes when simulating ml : (x → y, b → #). another step when we can apply a rule different from that indicated in table 1 is step 4, when we can also use the rule [ ] he → [ [ ] h′ ] e . in this way, we pass to the configuration of membranes [ [ [ [ ] h′w1 ] ew2 ] c5d1 ] λ , where w1w2 = y vic′3. no rule can be applied to the two inner membranes other than [ [ ] h′ ] e → [ ] ##e , and again the computation will never stop. therefore, the simulation of matrices in g should be done as above, and in this way we return to a configuration as that we have started with, with four membranes marked with x , e, c1, d1, respectively (the central membranes also having on them the symbols of the current sentential form of g which is simulated in π). note that the rules used for simulating a matrix ml : (x → y, a → w) cannot be mixed with the rules used for simulating a matrix ml′ : (x ′ → y ′, a′ → #), because of the injective labeling of matrices from m and because of the priming of symbols from n1. the process can be iterated, hence at some moment we introduce the symbol zab identified by the symbols from n1 used. the respective configuration is of the form: [ [ [ [ [ ] zab ] e ] c1 ] d1 ] λ . the central membrane will one more universality result for p systems with objects on membranes 31 “swallow" all other membranes, also removing all auxiliary objects. to this aim, we use the following rules: step 1 [ [ ] zab ] e → [ ] z′abe , step 2 [ [ ] z′abe ] c2c3 → [ ] z′abbc2c3 , step 3 [ ] z′abc2c3d1 → [ [ ] z′ab ] c3d1 , step 4 [ [ ] z′ab ] c3d1 → [ ] z′′abc3d1 , step 5 [ ] z′′abc3d1 → [ [ ] z′′ab ] d1 , step 6 [ [ ] z′′ab ] d1 → [ ] z′′′abd1 , step 7 [ ] z′′′abd1b → [ [ ] z′′′ab ] b, step 8 [ [ ] z′′′ab ] b → [ ] ab, for all a, b ∈ v . furthermore, we consider the rules [ ] z′abe → [ [ ] ## ] e , [ [ ] c′3 ] c′3 → [ ] ##c′3 , [ ] #a → [ [ ] ## ] a, for all a ∈ v. the first of these rules is used in step 2 if the rule [ [ ] z′abe ] c2c3 → [ ] z′abbc2c3 is not used – the objects c2c3d1 might be used at that time by the rule [ ] c3c2d1 → [ [ ] c′3 ] c2d1 from table 1. similarly, if this last rule is used in step 3 instead of the rule [ ] z′abc2c3d1 → [ [ ] z′ab ] c3d1 , then a membrane marked with c ′ 3 is introduced, which will never be removed. in particular, after 11 steps, we introduce another membrane marked with c′3, and then the rule [ [ ] c′3 ] c′3 → [ ] ##c′3 is used, preventing the termination of the computation. in conclusion, the evolution of the membranes in the final stage of the computation is as indicated in figure 4. starting [ [ [ [ [ ] zab ] e ] c1 ] d1 ] λ step 1 [ [ [ ] z′abe ] c2c3d1 ] λ step 2 [ [ ] z′abbc2c3d1 ] λ step 3 [ [ [ ] z′ab ] c3d1 ] λ step 4 [ [ ] z′′abc3d1 ] λ step 5 [ [ [ ] z′′ab ] d1 ] λ step 6 [ [ ] z′′′abd1 ] λ step 7 [ [ [ ] z′′′ab ] b ] λ step 8 [ [ ] ab ] λ figure 4: the evolution of membranes in the end of computations. the equality ψv (l(g)) = ps(π) follows from the previous explanations. with the observation that the maximal number of membranes present in the system is seven, in step 5 from figure 3 (during the simulation of matrices with a rule to be used in the appearance checking mode), and that the rules have the weight as specified in the theorem, we conclude the proof. 5 final remarks the case of using the operations cree, dise remains as a task for the reader, and the same with other operations from brane calculus – see also [2] for related problems. improvements of the result in theorem 2 are also plausible in what concerns the degree of context-sensitivity of the rules (and maybe also in what concerns the number of membranes). the same problems can be formulated for the result from [2]. as a general research topic, it remains to systematically investigate p systems with multisets of objects placed on membranes (maybe also in the compartments), processed by membrane handling operations like in brane calculi (maybe also by local multiset rewriting rules). 32 gheorghe păun references [1] l. cardelli, brane calculi. interactions of biological membranes, proc. computational methods in systems biology, 2004, springer-verlag, berlin, to appear. [2] l. cardelli, gh. păun, an universality result for a (mem)brane calculus based on mate/drip operations, intern. j. foundations of computer sci., 17, 1 (2006), 49–68. [3] j. dassow, gh. păun, regulated rewriting in formal language theory, springer-verlag, berlin, 1989. [4] gh. păun, computing with membranes, journal of computer and system sciences, 61, 1 (2000), 108–143 (and turku center for computer science–tucs report 208, november 1998, www.tucs.fi). [5] gh. păun, membrane computing. an introduction, springer-verlag, berlin, 2002. [6] the membrane computing web page: http://psystems.disco.unimib.it. institute of mathematics of the romanian academy po box 1-764, 014700 bucureşti, romania and research group on natural computing department of computer science and artificial intelligence university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: george.paun@imar.ro, gpaun@us.es editor’s note about the author: gheorghe păun (born on december 6, 1950) graduated the faculty of mathematics of the bucharest university in 1974 and got his phd at the same faculty in 1977. he has won many scholarships, in germany, finland, the netherlands, spain, etc. presently he is a senior researcher at the institute of mathematics of the romanian academy, bucharest, and a ramon y cajal research professor at sevilla university, spain. since 1997 he is a corresponding member of the romanian academy, and since 2006 a member of academia europaea. his main research fields are formal language theory (regulated rewriting, contextual grammars, grammar systems), automata theory, combinatorics on words, computational linguistics, dna computing, membrane computing (this last area was initiated by him in 1998). he has (co)authored and (co)edited more than fifty books in these areas, and he has (co)authored more than 400 research papers. in the last two decades he has visited many universities from europe, usa, canada, japan, also participating to many international conferences, several times as an invited speaker. he is a member of the editorial board of numerous computer science journals and professional associations. international journal of computers, communications & control vol. i (2006), no. 2, pp. 61-71 solution to the reliability problem of radial electric distribution systems through artificial intelligence e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez abstract: in this paper the distribution electric system reliability is recognized like an artificial intelligence problem. how this idea is applied in evaluation of reliability is detailed. concepts as intelligence matrix and inter-feeder route are defined. from the last one a reliability prediction strategy for medium voltage networks is proposed and tested. keywords: artificial intelligence, agent, searching, primary route, secondary route 1 introduction it has been established that within an electric system, nearly 80% of the faults occur in the distribution system, (billinton and allan,1998 ). legal aspects protect the costumers from faults in the electric system. so it’s necessary, for electrical companies, to guarantee a high level of security, quality and reliability in the service. companies are not only affected by the demanding norms but also by high financial lost due to energy non-sell and penalties. the reliability is evaluated using the markovian models (brown and gupta, 1998; asgapoor and mathine, 1997 brown, et al., 1997 brown and ochoa, 1998) or different analytic methods (billinton y wagn, 1999), that, according to the past behavior, they make an extrapolation of its future one. this paper is based in developing a method that makes possible the prediction of distribution system’s behavior in terms of reliability, addressing it to the artificial intelligence (ai). this is capable of giving information in terms of representative indexes in the points of loading and overall system, including alternative supply in case of the principal feeding’s failure. when considering the ai, we intent to model the distribution system’s reliability and developing concepts to be used in the solution of a generic problem that requires topological analysis. therefore, emphasis is made in searching problems as ait’s tasks. within the ai’s wide world we find the searching’s problems (russell and norvig, 1996). once the problem is defined (this action is called the "abstraction") the process starts from an initial state. then, operators are applied to the present state, resulting in a new set of states. this process is called "expansion" state. the essence of the search is to choose one option and to put all the others aside to be expanded afterwards, just in case the first election does not reach solution. the dilemma of which state to be expanded first is determined by the "strategy of search". the process of searching can be included as the construction of a search tree that is superposed on the space of states where the node of roots is the initial state whereas the nodes leaves are states that do not have successor in the tree. (because they have not been expanded yet or because they have already been expanded but they generate an empty state). an efficient strategy of search is named "depth-first search". this strategy always expands one of the nodes at the deepest level of the tree and only when the search finds its end (a goal state or one without expansion) the search continues expanding nodes of less deeper level. 2 proposed method the algorithm has the mission or purpose of finding the failure modes of the system. the hypotheses are: the elements of protection are a 100% reliable. the fault is determined by first order cut. the first step of the method is to make a protocol of nodal assignation. it consists in labelling a bus or node of distribution with number 1 and the branches with ascendant (rising) numbers from the departure node to full stop of load, in the form shown by the arrows in figure 1. copyright c© 2006 by ccc publications 62 e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez figure 1: basic system next the space of state is defined, the one that corresponds to the environment in which the agent can move to find the solution. according to the above for the basic system of test (bs), figure 1, the states are defined by each one of the buses of the system. the bs consists of 16 buses and 5 points of load (lp). there are 16 possible states by which the agent can "travel" with the purpose of satisfying the test of goal. the information related with the topology of the bs is in the so called "intelligence matrix"(im) which forms the base of the algorithm of search. part of the im corresponding to the bs is shown in figure 2 figure 2: part of im for the basic system the numbers for the rows and columns are the nodes or buses. the procedure to enter the data consists of entering the components between two consecutive nodes, identifying it with a letter and associating it with the respective element of the im. for bs, between the node 1 and 2 there is a line, indicated by an l in the position of the element [1,2] of the matrix. the same for the element [2,1]. when there is a switching or protection device (as between nodes 2 and 3) or when there is a line and a disconnects, the element, [2,3], is defined with an l (line). in the position [3,2] you enter an s (disconnects) indicating that the switching device is closer to bus 3. this directional quality or differentiation of the common elements of the system with those of switching and/or protection is conclusive in the optima resolution of the problem, this is the reason of the name "intelligence matrix". specially, for the evaluation of the indicator of future reliability, en the bs are identified: initial state: the search begins from the point of load to evaluate. operators: the agent can "jump" or "travel" from a particular state towards the next closer, i.e., from [3,2] to [2,1]. in direction to the node of generation (ascending form) or towards the other point of load (descending form). state space: the states extended by the agent from the load point (initial state). route: the route from one state to another within the space of states. goal test: it corresponds to have extended all the possible states in which any eventual fault may produce a lost in supply energy to the load point evaluated. solution to the reliability problem of radial electric distribution systems through artificial intelligence 63 cost of route: unit cost in order to travel from one state to the next nearest one. solution: it corresponds to the result of the algorithm of search once the goal is fulfilled. in accordance to the above the complete im for the bs is shown in figure 3. the non-existence of elements in the system is indicated with blank spaces in figure 3. in order to find the failure modes of system, the algorithm must identify the primary route and the secondary route (lópez et al, 1998). the im of the bs shows that the diagonal divides the information of the different routes. the last one, due to the arranged assignation of the number of nodes. on the other, the algorithm uses the "best first search", then, the best expanding option occurs at first. in this case, it corresponds to the primary route. it leaves, in "waiting queue", the secondary routes for the next expansion. 2.1 getting the primary route the primary route is the minimal cost one from the load point to the feeding node. the information about the primary route is contained under the principal diagonal of the im. the primary route of each load point is stored in a matrix called " matrix of primary route" (mpr). though each row will contain the primary route corresponding to a load point. the mpr is of order m x n (load point x nodes) and initially is a null matrix. its formation is ordered and it is starting with the agent in the first load point (lp1). in the intelligence matrix the row corresponding to the node number, that has the load point, is checked. then the elements contained under the diagonal are examined. when finding an element within the search sector, in the row of the matrix of primary routes, the number of the next node that corresponds is entered. the number of the column that corresponds to the found element gives this node. then, is verified the row corresponding to the next node of the primary route and so on, until arriving at node 1 of the feeding. the figure 4 outlines the way of how to find the primary route for the load point lp1. it corresponds to the node 16. figure 5 shows the bs’s matrix of the primary route (mpr of bs). regarding to the agent like an "problem-solving agent" (russell and norvig, 1996) and one state as a structure of simple data, the agent is placed in a problem of determining the route. the agent corresponds to an algorithm of resolution that uses a sequence of actions to follow in order to obtain its goal. the "resolutor-agent" of the simplified problem, in order to find the primary route, corresponds to figure 6. this agent is executed for each load point (lp) and ends or gets to the goal, when finding the feeding node (node 1). the route of the agent corresponds to the one shown above in figure 4. it is observed in figure 6 that the agent has two rules (if condition, then action).they take step from a basic and incipient system to an expert one that has the particularity to provide a great flexibility by the time of incorporating new knowledge. the incorporation of a new rule is enough for it, which don’t need to change the algorithm’s behavior. 2.2 secondary routes at the moment the "resolutor agent" of the primary route crosses the system and full the matrix of primary route, mpr. a vector is added that stores the quantity of nodes including each primary route this vector is called "cont". by knowing the dimensions of each primary rout (cont) the agent can track the secondary routes ’looking’ for it in the superior diagonal of the im. the last one for each one of the nodes that the primary route contains. extending the first secondary routes nearer to the feeding and leaving in delay the rest of the routes in the nearest nodes to the load point does this. for this, the mpr in inverse form is crossed. for example, for the load point lp1 the first secondary routes that are originated in node 1, then those of node 2, 7, and 8 are extended, to arrive to node 16 which corresponds to the node that contains the load point. the search of these routes is similar to which is made in the primary routes, but with some restrictions. one of them is that the agent must finish the search at the moment a fuse is find and must begin to extend the following one that is in delay. as secondary routes are subdivided in different branches, it is 64 e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez figure 3: intelligence matrix corresponding to bs figure 4: searching the primary route for lp1 (node 16) necessary to store the nodes that at the moment of the distance traveled (on the diagonal of the matrix) will have to wait until the previous one in its deeper level extends (point of neighboring or fusible load ). for this, it is strictly necessary to store four data of the node to expand: figure 5: matrix of primary route (mpr) for the bs • the preceding node is required in case that there is a switching or protection device in the arrival of the node. these elements can involve the end of the route searching or a change in the repairing time to switching time. • the node to expand, is the node that indicates in which row of the intelligence matrix, to look for the elements that form the secondary route and if there are more elements that will be needed to expand more ahead. • the node towards which the agent travels, gives the direction in which the search takes place. • condition in which it is found, considering the time of repairing or switching, essential condition for the calculus of the unavailability. these data are stored in a matrix of 4 rows and a undetermined number of columns. it is filled during the route and it is an uncertain number at first. this matrix has the name of "extend" and determines the end of the process of searching as the last element in delay expands. the simplified agent to find the secondary routes is summarized in figure 7. this agent is executed for each primary route, i.e., for each load point it finds all the corresponding secondary routes. it is also observed that it conditions on switching time the rest of the route in case of finding a disconnects (s) and ends the route when finding a fuse (f). the end of this agent corresponds to the extension of the last secondary route (on the primary route) and that there aren’t any nodes in delay waiting to be extended. solution to the reliability problem of radial electric distribution systems through artificial intelligence 65 figure 6: simplified agent to find the primary route 2.3 rate of failure and unavailability for a load point it is possible to calculate its rate of failure and its unavailability by adding those that correspond to primary or secondary routes. the time of shut down is the quotient between the total unavailability of the load point and its corresponding rate of failure. rate o f f ailure : λ (l p) = λpr(l p) + λsr(l p) (1) u navailability : u (l p) = upr(l p) + usr(l p) (2) outage time : r(l p) = u (l p) λ (l p) (3) in the primary route: the information stored is checked in the mpr. a rate of failure is assigned to each element. this information has been entered in a routine of parallel data entrance, to the im. the sum of the rates individual failures provide the rate of failure of the primary route for the load point λpr(l p). the unavailability of the primary route is the sum of individual unavailability of the elements involved in it, without considering the presence of the switching devices. in the secondary routes: while the search is made the rates of individual failures of the elements in this route are added. at the same time, the unavailability of the secondary routes is being calculated. at the beginning, the unavailability is related to the repair time of the element, when a switching device is found the unavailability is associated to the switching time and this is kept from this node to the end of the corresponding secondary route. as long as one advances in the search the individual unavailability’s are added. at the end of the process the results are the unavailability, usr(l p) and the rate of failure λsr(l p) of the secondary routes by load point. the way in which the algorithm is worked is shown in figure 9 (getting the mode of failure for the lp1). with a different color the point where the disconnects is indicated, which conditions to use the time of switching for the rest of the route. 2.4 considering the alternative feeding a system with alternative feeding diminishes the times of unavailability to the customer. before making any calculus, it necessary to know where the alternative feeding is. for the previous, the "inter66 e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez feeding route" that joins the main feeding with the alternative feeding is defined. the corresponding agent is similar to the "resolutor agent" that finds the primary route (under the diagonal of the matrix). but instead of beginning at the load point (lp), it starts its nodal search where the alternative feeding is. this route is stored in a vector called "ralt". in the first place, the inter-feeding route is located. then, it is compared with the primary routes for each load point settling down the intersection point among them. then, a pursuit between the main feeding and the intersection point is done, where the agent has to realize if there is a switching device in this sector. if not in this route, a calculus is made in a traditional way, without affecting the alternative feeding. if there is a switching device between the main feeding and the intersection point of the routes, this conditions all the elements that are found between the switching device and the main feeding, in case of a possible fault to only consider the time of switching, since this one is isolated, connecting the alternative supplies. this lightens the search, since the agent leaves the search of other switching devices in that sector to assign times. the rest of the system is analyzed as if there is no alternative feeding. considering the bs with alternative feeding in the node 11, nodes-1 2 3 4 11 form the inter-feeding route for that configuration. for the lp3 (node 15), the intersection of the primary routes, the inter-feeding and the switching device in [3,2] are shown in figure 11 the existing switching device conditions a great part of the system to a time of switching. this same example is considered, in terms of evaluating the lp1 (node 16). the primary route of this load point only intersects in node 2 with the inter-feeding route and there is no switching device between node 2 and the main feeding, in which the alternative supply does not influence the index calculus. figure 7: simplified agent finding the secondary routes solution to the reliability problem of radial electric distribution systems through artificial intelligence 67 3 applications the algorithm was applied to several distribution systems. in this document 4 of them are presented: the basic system (bs), two rbts feeders (billinton and kumar, 1989; allan et al., 1991) and a real system. 3.1 basic system this system was created to replace the necessity of having a small distribution system (ds) that had the complexity and diversity of a real one. the system has 5 load points and a primary feeding in node 1. the elements corresponding to a conventional ds are also present, such as: line, cables, fuses, transformers, switching devices, and so on. the modes of failure, the times of switching and repairing used correspond to those indicated in the ieee st. 493 (1990). the results are indicated in table 1. figure 8: mode of failure lp1 (node 16) figure 9: inter-feeding route. alternative supplies in 11 3.2 rbts system (roy billinton test system) this is a test system that is divided en 6 buses. bar 1 is the feeding of the system, whereas bus 2 to 6 correspond to the load buses. the whole system shows different level of tension which it works 220, 138, 33, and 11 kv. with the purpose of proving the algorithm, the reliability of the feeder 1 of buses 2 and 4 are evaluated, corresponding to a level of 11 kv. table 2 gives the result of the reliability indexes. 3.3 the cge’s feeder this feeder is inserted in the cge’s distribution system. this has 70 elements and 33 load points. for its evaluation the same considerations of the experimental feeder are applied. three evaluations to the system were made. case 1: future reliability evaluation. case 2: future reliability evaluation considering the alternative feeding in node 27. case 3: future reliability evaluation considering the alternative feeding in node 55. table 3, show the results of the reliability evaluation for the three different cases given. 68 e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez figure 10: switching zone and lp3-alternative supplies alt node 5 alt node 11 nerc indexes saifi 0.3963 0.3963 0.3963 saidi 4.4847 4.0171 4.1588 caidi 11.3159 10.1359 10.4935 ens mwh/year 21.396 19.102 19.759 cier indexes f 0.3964 0.3964 0.3964 t 4.4576 3.9616 4.1166 d 11.2442 9.9931 10.3841 end 21.396 19.102 19.759 (cier: regional electric inter-american council) (nerc: national electric reliability council) table 1: reliability indexes of the basic system 4 analysis of results the index of future reliability for each system as the nerc presents was obtained, those that are associated to the client. the index corresponding to the cier; that referring to the power (kva) were calculated. these last ones are of great importance due to the fact that these are the authorized by the cne (national energy council) in chile through the general law’s regulation of the electric service (1980). table 1 shows the difference between the alternative feeding in some of the bs’s nodes in respect to the same system with only a main feeding. an important improvement is observed in the reliability’s index when considering the alternative feeding. if the analysis is centered in one of the index as the average time of fault is, when applying the alternative feeding in node 5 a diminish in time of 11%, can be proved. by applying the same alternative feeding in point 11 the diminishing time of fault was around 7.6%. this is justified whereas node 5 is in the biggest point load of the feeder and there is a switching device immediately before the connection of the new feeding. the rbts system was useful in confirming the good behavior of the proposed algorithm. this system, though being small, was very easy to follow with a hand calculator, in a addition to the complete results base already given in the brown et al., (1997). referring to the results (table 2) the most important is to see the effect that is produced in the reliability the connection to the client from the main one with a disconnects (bus 2) or with two disconnects isolating the client in both sides (bus 4). a this difference is only remarked by the fact that both bus’s feeders consider an alternative feeding. with this specific fact and in similar conditions the solution to the reliability problem of radial electric distribution systems through artificial intelligence 69 rbts 2.1 rbts 4.1 nerc indexes saifi 0.2488 0.3021 saidi 3.6193 3.4694 caidi 14.5443 11.4849 ens 13.155 12.196 cier indexes f 0.2477 0.3031 t 3.6090 3.4746 d 14.5696 11.4630 end 13.155 12.196 table 2: reliability indexes of the rbts systems best reliability is obtained in the bus 4’s feeder. this is clear since with the possibility of having an alternative feeding from both ends, the most advisable it is to maintain the client with the switching. this means that before a possible fault, the client can isolate himself of the extreme in which the fault is produced and can keep connected with the other end in which the feeding remains, diminishing therefore the times of unavailability and improving the reliability of the system. for the cge’s feeder just like the previous cases, got good results being within the established limits for f and t (ministry of mining, 1980). in table 3 it is possible to see that the unavailability index decreases when considering alternative feeding. for the alternative feeding en node 27, the algorithm obtained a decrease of 15.6% en the unavailability. in as much as if the alternative feeding is in node 55, the decrease in the unavailability is of 24,5%. the differences between values is directly related with the amount of the existing switching devices. all results were checked with theoretical or manual analysis to assure the correct execution of the developed algorithm. case 1 case 2 case 3 nerc indexes saifi 0.3222 0.3222 0.3222 saidi 2.8079 2.3575 2.1948 caidi 8.7139 7.3162 6.8112 ens 12.410 10.470 9.3700 cier indexes f 0.3198 0.3198 0.3198 t 3.2547 2.7458 2.4573 d 10.176 8.5849 7.6830 end 12.410 10.470 9.3700 table 3: reliability indexes of cge system 5 conclusions this paper deals with the problem of the future reliability of a distribution system through ai. the solution considers the process of "searching" placed in the field of the ai. the approach presented in this paper is a powerful tool in distribution system reliability prediction. its kindness was demonstrated in many evaluations that were made in systems with completely different characteristics. as it was expected, the results obtained were consequent with the theoretical and practical considerations of the 70 e. lópez, j. campos, c. tardon, f. salgado, j. tardon, r. lópez problem. the model proposes the concepts of "intelligence matrix" and "agent". a very remarkable aspect of the conjunction matrix-agent is the facility with which it deals with the elements of protection and switching devices to value the importance of the strategic location of this elements. furthermore the "intelligence matrix" gathers a condition so that the "agent" works in an efficient way within the topological search. his connections make the run in an efficient and rapid way to complete the layout of the routes that involves the distribution reliability’s calculus. this point is the clue of success in the search tree-failure modes. a second significant contribution corresponds to the route concept "inter-feeding" helping to harness the model in which it says to be related with the option of alternative feeding. with the help of this a decrease in the unnecessary expenses of time and computer memory was obtained. this, as well, becomes a potential tool of evaluation of the ideal positioning of an alternative point of feeding in a real system of distribution. from a more general perspective, we can conclude that the use of this model prevents important economical measures, in which the electric companies could commit or incur when not having a suitable control. finally, the investigation’s development resulted in the necessity to deepen in ordaining the switching and protection devices, that can lead to obtain the best reliability of the system. references [1] asgarpoor s. y m. mathine, reliability evaluation of distribution systems with non-exponential down times. ieee transactions on power systems. vol. 12, no. 2, 1997. [2] allan r., r. billinton, i. sjarief, l. goel and k. s. so, a reliability test system for educational purposes basic distribution system data and results, ieee transactions on power system, vol. 6, no. 2, 1991. [3] billinton, r. y allan, r., reliability assessment of a large electric power systems. kluwer academic publishers, boston, usa, 1988. [4] billinton r y s. kumar, a reliability test system for educational purposes basic data ieee transactions on power systems, vol. 4, no. 3, 1989. [5] billinton r., y s. jonnavithula, a test system for teaching overall power system reliability assessment, ieee transactions on power systems, vol. 11, no. 4, 1996. [6] billinton r., y p. wang, teaching distribution system reliability evaluation using monte carlo simulation, ieee transactions on power systems, vol.14, no. 2, 1999. [7] brown r., s. gupta, r. d. christie, s. s. venkata y r. fletcher, distribution system reliability assessment using hierarchical markov modeling, ieee transactions on power delivery, vol. 11, no. 4, 1996. [8] brown r., s. gupta, r. d. christie, s. s. venkata y r. fletcher, distribution system reliability assessment momentary interruptions and storms, ieee transaction on power delivery, vol. 12, no. 4, 1997. [9] brown r., y j. ochoa, distribution system reliability: default data and model validation, ieee transactions on power systems, vol. 13 no. 2, 1998. [10] ieee st 493, ieee recommended practice for the design of reliable industrial and commercial power systems, 1990. solution to the reliability problem of radial electric distribution systems through artificial intelligence 71 [11] lópez e., tardon c., contreras v., reliability evaluation of primary distribution systems via search tree, procc. of international congress of acca/ifac automatic control association 2000, santiago of chile, 1998. [12] ministry of mining, general law of electric services. official newspaper of the republic of chile, 1998. [13] russell s y p. norvig, artificial intelligence. a modern approach, editorial prentice hall & hispanoamericana s.a., 1996. e. lópez, j. campos, c. tardon, f. salgado, university of concepción, chile department of electrical engineering e-mail: elopez@die.udec.cl j. tardon sts-saesa-frontel e-mail: jtardon@saesa.cl r. lópez supelec. lep-university of paris xi. e-mail: rodrigo.lopez@supelec.fr international journal of computers communications & control issn 1841-9836, 10(3):298-307, june, 2015. threshold based best custodian routing protocol for delay tolerant network q. ayub, m. s. mohd zahid, s. rashid, a. hanan abdullah qaisar ayub*, soperi mohd zahid, sulma rashid, abdul hanan abdullah faculty of computing universiti teknologi malaysia utm skudai, 81310 johor,malaysia sheikhqaisar@gmail.com, soperi@utm.my, sulmaqaiser@gmail.com, hanan@utm.my *corresponding author:sheikhqaisar@gmail.com abstract: delay tolerant network (dtn) is a kind of network in which the source may not be able to establish the stable and uninterrupted path to destination due to network partitioning, dynamic topology change and frequent disconnections. in order to dealt disruption and disconnections a store, carry and forward paradigm is used in which node stores the incoming messages in its buffer, carries it while moving and forward when comes within the transmission range of other nodes. message forwarding contributes and important role in increasing its delivery. for instance, probabilistic routing protocol forwards message to a node having high probability value to meet message destination. these protocols cannot handle a situation in which the node continually transmits messages even the probability difference is very small. in this paper, we have proposed a routing protocol known as threshold based best custodian routing protocol (tbbcrp) for delay tolerant network. we have proposed a threshold-based method to compute the quality value which is the ability of node to carry message. a self-learning mechanism has been used to remove the delivered messages from the network. moreover, a buffer aware mechanism has been used that make sure availability of buffer space at receiver before message transmission. we have compared the performance of tbbcrp with epidemic, prophet and delegated forwarding. the proposed tbbcrp outperforms in terms of maximizing the delivery probability, reducing number of transmissions and message drop. keywords: delay tolerance network , store-carry-forward, routing protocols , algorithms. 1 introduction with advancement in communication technologies [1-2] it is now possible to interconnect mobile nodes, stand-alone computers and provide an innovative way to join the social and business communities. despite, other communication architectures such as lan, wlan, the mobile ad hoc networks have gained more popularity. in ad hoc networking routing protocols [3-6], the source and destination establishes the end-to-end path prior to the transmission of data. this prerequisite is impossible in highly disrupted wireless applications such as wildlife monitoring, deep-space communication and military networks. such environments suffer frequent disconnections, dynamic teleology change and network partitioning due to node mobility. in addition, limited network resource, for instance, buffer space, bandwidth, energy and processing power of nodes makes routing a real challenge. delay tolerance network (dtn)[7] is a kind of network that aims to provide the communication via opportunistically connected mobile nodes. a novel method called as the store, carry and forward is used in which nodes stores the message in their buffers carries them while moving and forwards when connected to other nodes. the dtn routing protocols can be classified as copyright © 2006-2015 by ccc publications threshold based best custodian routing protocol for delay tolerant network 299 single copy and multi copy. in single copy protocols, the unique copy of the message exists in entire network [8,21]. these protocols are capable to operate under limited resource but reduce delivery ratio and raises the delivery delay. multi copy routing protocols transmits the redundant copies of each message to all connected nodes [9-13]. therefore, the message can reach to its destination via multiple intermediate nodes. as a result, multi copy routing protocols minimize the delivery delay and maximize the delivery [14-18]. the multi copy routing protocols are more robust, but unreliable due to consumption of high volume of network resources. the probabilistic routing protocols were proposed to reduce the resource consumption that considers node behavior such as its movement pattern, encounter history [12,14,27] before the transmission of the message. a carrier node with probabilistic protocol continues to forward message to high probable relay nodes. this issue was addressed in [19] where vijay erramilli et al. proposed a new message forwarding technique called as delegated forwarding. in this method, each node maintains a quality metric and forward the message to another node only if it has high quality metric which have been seen by the message. later, in [20][23-24] the authors present the variations of delegated forwarding. the previous works has not defined a method to compute quality value of nodes. the contribution to this paper is as follows • we have proposed a routing protocol called as threshold based best custodian routing protocol for delay tolerant network (tbbcrp). • we have used a self-learning method to remove the previously delivered messages from the network. • a threshold-based method has been used to assign the quality value to network nodes. • we have compared the performance of tbbcrp with epidemic, prophet and delegated forwarding in terms of minimizing number of transmissions, number of drops, overhead while raising the deliver probability. 1.1 review of dtn routing protocols in dynamic surroundings like intentions topology change, node mobility and frequent network partitions, problem is to select a suitable relay node for a message. in addition, scarce network resources such as limited buffer space, bandwidth, and low power of nodes makes data routing even more challenging. therefore, prototype of a good routing protocol must focus on minimizing the consumption of network resources and delivery of more messages to their destinations. in flooding based routing protocols such as epidemic protocol [13] each node encounter results in the exchange of messages. the encountering nodes further diffuse the message copy and process continues. despite the fact that in epidemic protocol, each message may have more than one path to reach destination, epidemic protocol consumes high volume of network resources. the control on creation of message copies can reduce the resource requirement. in this background, qouta based routing protocols were emerged where each node was given the opportunity to transmit the n number of message copies for example spray and wait[10], spray and focus[11], spray and wait binary qon spray and wait[26]. the spray and wait algorithm consist of a spray phase, where node spread n message copies to its neighbors called as relays. if the destination is not found in the spray phase then each node wait until contacted to message destination. in spray and wait protocol, message transmission was limited only to the neighboring nodes. this problem was solved in binary spray and wait protocol in which a source node on encountering forwards the n/2 message copies to the connected 300 q. ayub, m. s. mohd zahid, s. rashid, a. hanan abdullah node while keeps n/2. in addition, the receiver node was also privileged to distribute n/2 message copies. this hierarchical forwarding improves the performance of spray and wait and increases message delivery. the spraying protocols work well when the node movement is independent and identically distributed (iid) which is not possible for real world scenarios where each node exhibits its own movement pattern. these challenges motivate the researchers and various utility functions were introduced in spraying algorithms. for example, spray and focus [11] protocol starts by distributing the n/2 message copies like spray and wait binary, however when the node left only one copy of message then it shifts to the focus phase where the nodes forwards the message to neighbors by observing its suitability to meet the destination. the suitability is determined by the time since two nodes last saw each other. quality of node spray and wait [26] improves the performance of binary spray and wait algorithm by introducing qon (quality of node). the qon is represented by an integer number which describes encountering frequency of one node to encounter with other node in a given time interval. the primary objective of quota based routing protocols was to control the transmission of message copies. despite the fact that spraying algorithms has exploited the encountering history of nodes, other factor such as mobility patterns or positional coordinates can improve the routing procedure. for example in [28], the author designs a mobility based spraying strategy most social first, most mobile first (mmf), last seen first (lsf). the shen ling et [22] observe the node mobility and introduce a influence factor which is determined by the mobility of the nodes. in [12] lindgren et al. introduces prophet protocol which reduces the number of message transmissions by introducing a new metric called as delivery predictability and transitive connectivity. the nodes are capable receive a message only if they constitute a high value of predictability and transitivity. as expected, prophet protocol compared to epidemic protocol minimizes the number of transmissions. the variation of prophet such as procs [29] introduces a new message forwarding method which observes movement pattern of nodes and their time sequence in [19] vijay erramilli et al. propose a new message forwarding technique called as delegated forwarding. in delegated forwarding, each node maintains a quality metric and forwards the message to another node only if it has high quality metric which have been seen by the message. the protocol works well to and controls the transmission of the message on the relay nodes. however, it does not provide any solution to control the transmission of the source messages. in [20] author modified the algorithm by updating source message with the probability value of high quality node. in this way, the replication was also controlled from the source messages. in [23] the author defines the delegated forwarding by designing cost-based drop and transmission methods. according to this, the message that is close to their destinations are assigned the high priorities by defining a replication count number called as the delegated number. yunsheng wang et.al [30] proposed for single copy multicast, multi copy multicast and delegated forwarding multicast algorithms. 1.2 the proposed threshold based best custodian routing protocol in proposed tbbcrp, each network node maintains the time information about encountering to other nodes in a vector called as previous encounter vector (pev). the pev consists of node id nid and encounter time (et). we have used et to assign the quality value which describes the future encountering likelihood among same nodes. the high quality value indicates that node is more likely to delver message. the quality information is stored in the quality vector. the quality vector consists of node id and quality value (qv). principal-1. when nodes contact, they assigns quality values by using upstream and downthreshold based best custodian routing protocol for delay tolerant network 301 stream time threshold: td = currenttime − et(ni). (1) when the node encounters first time, they initializes the default quality in the quality vector and current time in the et of pev. if nodes have encountered previously, then the time difference (td) is computed by subtracting the current time from the et by using equation 1 and threshold streams module is invoked. the threshold stream module updates the quality value for a node by mapping the td in the pre-defined collection of threshold queue. table 1 shows the meaning of variables used in tbbcrp. table 1: meaning of variables used in tbbcrp symbol description ni , nj node i and node j pev,et previous encounter vector, encounter time qv quality value td time difference qp quality points vd vector deliver figure 1: structure of threshold queue figure 1 show the structure of threshold queue which is divided into upstream time thresholds and downstream time thresholds. the upstream time thresholds further defines its lower bound of upstream limit (lbul) and upper bound of upstream limit (ubul). the upstream thresholds are used to decrement quality value while downstream thresholds are used to increase quality values. the nodes encountering after large interval of time shows high td value and relevant quality points (qp) are subtracted from quality value of node. when the time difference is above the ubul then quality value of node is initialized to zero. the downstream threshold starts after lbul and defines its lower bound of downstream limit (lbdl). the downstream threshold is used to increment the quality value of nodes. for instance, nodes encountering after small interval of time are expected to encounter again. the td is mapped and relevant quality points (qp) are incremented in the quality value. when time difference is lower than the lbdl then maximum quality points ( qp) are assigned to the quality value (qv). figure 2 shows the algorithmic flow of threshold based method in which node x and node y have established connectivity. the node x and y has maintained previous encounter vector 302 q. ayub, m. s. mohd zahid, s. rashid, a. hanan abdullah figure 2: threshold based best custodian routing protocol example (pev) and quality vector. in step one, x map tdy which represents time elapsed since x has seen y. in step two, the relevant quality values qvy will be given to x. the same steps are followed by node y. 1.3 self learning method to remove delivered messages since, dtn is a highly disrupted environment where it is not possible to keep the track of the transmitted messages via central administration. hence, most of the time the message even after finding their destinations cannot convey their delivery status to the other nodes, and message replication continues even it is delivered. when the network resources scarce then replications of delivered messages produce high overhead on the buffer space, bandwidth and energy. despite the influence of other factors, these messages also produce the congestion that a node overcomes by dropping its stored messages. hence, a solution is required to remove the delivered message from network. inspired by immunity based routing protocol, we have defined a de-centralized mechanism to remove the previously delivered messages. principal-2. the algorithm states that when a node deliverers a message to the current connection as a final recipient then it stores the message id in vector delivered (vd) and remove it from the buffer. the tbbcrp , each network node maintains a vector called vector delivered (vd). when a node forwards the message copy to a connection as final recipients it inserts the message id in vd and removes the message from the list of its carried messages. this module is invoked after the threshold computation and before the transmission of messages. figure 3: exchange of previously delivered messages figure 3 show the technical flow of removing delivered messages. accordingly, on encounterthreshold based best custodian routing protocol for delay tolerant network 303 ing, ni forward vdi [16-17] to nj. vdi hold ids of delivered messages known by ni. nj subtracts vdi from vdj to get vdrequired that holds list of delivered messages not known by nj and send it to ni by using eq. (2). v drequired = (v di − v dj) (2) ni computes v dremove by intersecting vdrequired from vdi and send it to nj by using eq. (3). v dremove = (v drequired ∩ v di) (3) finally, nj removes the v dremove messages from buffer and update vdj by using eq. (4). v dj = v dremove ∪ v dj (4) 1.4 control on message replication by buffer space the dtn message consists of message header and payload header. the payload header contains the actual contents of message. the message header is collection of control information such as message identification, hop count, and time to live. the dtn node utilizes control information to forward and drop messages. in tbbcrp, we have included a new data field in message header called as recent quality (rq). the rq is an integer value initialized with zero for the messages generated by the source. principal-3 when a transmitter forward the message copy it updates the rq of message with the of quality value of receiver, while the receiver will update the rq of message to its own. the principal 3 is about the implementation of delegated forwarding in message header. we have used the same concept in df++[24]. briefly, after transmitting message copy, the sender node updates the rq of message header to quality value of node which receives message. similarly, receiving node update the message rq to its own quality value. the idea is that the receiver or transmitter will not replicate the message until the encountered node has higher quality value than the rq. principal-4. the transmitter will forward the message only if the qv of receiver to meet with the message destination is greater then the rq and available buffer space at receiver is capable to store the message. the high quality nodes are likely to encounter the message destination. however, if we forward a message to a congested high quality node then this forwarding decision may degrade the network performance. since, the congested node will drop its previously stored messages to accommodate the new one. in our previous work, df++ [24] and cfbarp [25] an adaptive mechanism has been defined to dealt with buffer space. hence, the node forward the message only if the quality value of receiver is high as well as available buffer is able to accommodate the incoming message. after transmission, the transmitter will subtract the message size from available buffer. 2 simulation and results this section provides the performance analysis of existing and proposed routing protocols in terms of minimizing the message transmissions, message drop and raising the delivery probability by one simulator [31]. one is event driven simulator written in java and has been designed to evaluate the dtn applications. the reality of simulation has bee increased by using a city based environment which consist on pedestrian, cars and trains. the pedestrians were divided into two groups with 40 members at each group. the pedestrian are moving with shortest path map based movement model at the speed between 0.5km/h and 1.5 km/h. each pedestrian has been 304 q. ayub, m. s. mohd zahid, s. rashid, a. hanan abdullah carrying mobiles with 2mb of buffer size. the transmission range of mobile nodes is 10 meters. the 40 cars are moving via map route movement at the speed between 10km/h-50km/h. finally, six trains are moving via map route movement at the speed between 7km/h and10km/h. the random size message generated from the sample of 100k-300k and the inter message creation interval is 25s-35s. the bandwidth if equally distributed at 2mbps. figure 4: transmissions by varying number of nodes figure 4 represents the results of exiting prophet, epidemic and delegated forwarding as compared to proposed tbbcrp routing protocol in terms of number of message transmissions. the flooding based epidemic protocol has been showing high number of transmissions. the delegated forwarding has controlled the message diffusion as compared to epidemic protocol but still forwards high quantity of messages compare to prophet and tbbcrp protocols. the message transmissions are getting higher with increasing number of nodes. the reason is that, at high number of nodes, message exchange gets higher. it is possible to sustain such traffic under the infinite buffer space. however, in the current environment the buffer is limited resource thus a better quality node when receive a message by having no space mechanically triggers the drop event. further, due to the multi copy of each message the same high quantity node may reputedly receive the dropped messages, thus cause high transmissions, message drop and waste of node energy. the proposed tbbcrp routing protocol has reduced the message transmissions. figure 5: message dropped by varying number of nodes the figure 5 depicts the results message drop by increasing the number of nodes. we can see that increasing the number of nodes has raised the message dropped. this is because the buffer space is finite, and nodes cannot accommodate all incoming messages. for instance, at increasing threshold based best custodian routing protocol for delay tolerant network 305 number of nodes such as 186, 216, and 246, even the protocols like prophet and delegated forwarding has dropped large number of messages. the reason is that when the encounter rate among nodes is high then multiple nodes became highly probable to receive the message. the proposed tbbcrp has shown the constant stance for all network traffic. figure 6: delivery by varying number of nodes the figure 6 plot the results of existing and proposed routing protocols in terms of message delivery probability by increasing number of nodes. it can be observed that at less number of nodes such as 126, 156 the protocols such as prophet, epidemic and delegated forwarding has delivered more messages. nevertheless, as the number of nodes gets higher like 186,216 and 246 less number of message find their destinations. the reason is that messages were dropped before reaching destination. 3 conclusion in this paper we have proposed a routing protocol called as threshold based best custodian routing protocol (tbbcrp) for delay tolerant network. a threshold based method has been proposed to compute the quality value of nodes, which is the ability of nodes to carry message. moreover, a self learning method has been used to remove previously delivered messages from network. the proposed protocol out performs well as compared to existing strategies in terms of maximizing the delivery probability, reducing number of transmissions and message drop. acknowledgments this work is financed by institution scholarship provided by utm and ministry of higher education of malaysia. bibliography [1] ariyavisitakul, s. l. (2000); turbo space-time processing to improve wireless channel capacity. ieee transactions on communications. 48(8): 1347-1359. [2] yujin lim.,jesung kim.,sang lyul min.,joong soo ma(2001); performance evaluation of the bluetooth-based public internet access point information networking, 2001. proceedings.15th international conference on information networking, 643-648. 306 q. ayub, m. s. mohd zahid, s. rashid, a. hanan abdullah [3] latiff l.a.,fisal, n.,. (2003); routing protocols in wireless mobile ad hoc network a review. the 9th asia-pacific conference on communications (apcc 2003), 600-604. [4] murthy s., and j.j. garcia-luna-aceves.(1996); an efficient routing protocol for wireless networks, mobile networks and applications, 1(2):183-197. [5] ] perkins c.e., and e.m. royer. (1999); ad-hoc on-demand distance vector routing, ieee wmcsa 99, 90-100 [6] johnson d.b., and d.a. maltz.(1996); dynamic source outing in ad hoc wireless networks, mobile computing, 153-181. [7] fall, k. (2003); a delay-tolerant network architecture for challenged internets. in sigcomm 03: proceedings of the 2003 conference on applications, technologies, architectures, and protocols for computer communications. new york, ny, usa: acm, 27-34. [8] spyropoulos t., k. psounis., and c.s raghavendra.(2004); single-copy routing in intermittently connected mobile networks. in proc. ieee conf. sensor and ad hoc communications and networks (secon), 235-244. [9] ramanathan, r., hansen, r., basu, p., rosales-hain, r. and krishnan, r. (2007); prioritized epidemic routing for opportunistic networks. in proc. of the 1st international mobisys workshop on mobile opportunistic networking, acm, 62-66. [10] spyropoulos, t., psounis, k. and raghavendra, c. (2005); spray and wait: an efficient routing scheme for intermittently connected mobile networks. in proceedings of the 2005 acm sigcomm workshop on delay-tolerant networking, acm, 252-259. [11] spyropoulos, t., psounis, k. and raghavendra, c. s. (2007); spray and focus:efficient mobility-assisted routing for heterogeneous and correlated mobility. in fifth annual ieee international conference on pervasive computing and communications workshops, percom workshops 07, ieee, 79-85. [12] lindgren, a., doria, a. and schelen, o. (2004); probabilistic routing in intermittently connected networks. in service assurance with partial and intermittent resources. springer, 239-254. [13] vahdat, a., becker, d. et al. (2000); epidemic routing for partially connected ad hoc networks. technical report. technical report cs-200006, duke university. [14] de oliveira, e. c. and de albuquerque, c. v. (2009); nectar: a dtn routing protocol based on neighborhood contact history. in proceedings of the 2009 acm symposium on applied computing. acm, 40-46. [15] bulut, e., geyik, s. c. and szymanski, b. k. (2010); conditional shortest path routing in delay tolerant networks. in ieee international symposium on a world of wireless mobile and multimedia networks (wowmom). ieee, 1-6. [16] srinivasa, s. and krishnamurthy, s. (2009); crest: an opportunistic forwarding protocol based on conditional residual time. in 6th annual ieee communications society conference on sensor, mesh and ad hoc communications and networks, secon09, ieee, 1-9. threshold based best custodian routing protocol for delay tolerant network 307 [17] hua, d., du, x., qian, y. and yan, s. (2009); a dtn routing protocol based on hierarchy forwarding and cluster control.in international conference on computational intelligence and security, cis09, ieee, 2: 397-401. [18] wang, g., wang, b. and gao, y. (2010); dynamic spray and wait routing algorithm with quality of node in delay tolerant network. in international conference on communications and mobile computing (cmc), ieee, 3: 452-456. [19] erramilli, v., et al. (2008); delegation forwarding. acm mobihoc08, 251-260. [20] chen, x., et al.(2009); probability delegation forwarding in delay tolerant networks. ieee icccn09, 1-6. [21] t. spyropoulos, k. psounis, and c. s. raghavendra (2007); utility-based message replication for intermittently connected heterogeneous wireless networks, in proc. of ieee wowmom workshop on autonomic and opportunistic communications (aoc), (inria technical report rr-6129), june 2007. [22] ling, s. and wei, w. (2009); feedback adaptive routing algorithm for dtn. in wri international conference on communications and mobile computing, cmc09, ieee, 2: 267-271. [23] liu, c. and j. wu (2009); an optimal probabilistic forwarding protocolin delay tolerant networks. acm mobihoc 09, 105-114. [24] ayub, q., zahid, m. s. m., rashid, s., & abdullah, a. h. (2013); df++: an adaptive buffer-aware probabilistic delegation forwarding protocol for delay tolerant network. cluster computing, 1-8. [25] qaisar ayub; m soperi mohd zahid; abdul hanan abdullah; sulma rashid (2013); connection frequency buffer aware routing protocol for delay tolerant network. journal of electrical engineering and technology, 8(3): 649-657. [26] wang, g., wang, b. and gao, y. (2010); dynamic spray and wait routing algorithm with quality of node in delay tolerant network. in international conference on communications and mobile computing (cmc), ieee, 3: 452-456. [27] nelson, s. c., bakht, m. and kravets, r. (2009); encounter-based routing in dtns. in ieee infocom 2009, ieee, 846-854. [28] elwhishi, ahmed, pin-han ho, sagar naik, and basem shihada (2011); contention aware routing for intermittently connected mobile networks, in afin 2011, the third international conference on advances in future internet, 8-15. [29] jathar, r. and gupta, a. (2010); probabilistic routing using contact sequencing in delay tolerant networks. in 2010 second international conference on communication systems and networks (comsnets), ieee, 1-10. [30] wang, y., li, x., & wu, j. (2010); multicasting in delay tolerant networks: delegation forwarding. in global telecommunications conference (globecom 2010), ieee, 1-5. [31] keranen, a., ott, j. and karkkainen, t. (2009); the one simulator for dtn protocol evaluation. proc. of the 2nd international conference on simulation tools and techniques. icst (institute for computer sciences, social-informatics and telecommunications engineering), 1-10. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 135-148 feedback gain design method for the full-order flux observer in sensorless control of induction motor abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi abstract: this paper deals with a feedback gain design method for the full-order flux observer with adaptive speed loop, which enables the minimizing the unstable operation region of this observer to a line in the torque-speed plane. the stability in regenerating mode is studied using necessary condition of stability based on determinant of matrix and a linearized model. simulations results where the proposed observer is compared with an exiting solution (where the unstable region is not totally removed) are presented to validate the proposed observer design. keywords: induction motor, full-order flux observer, sensorless control, stability analysis, adaptive speed estimator, regenerating mode 1 introduction the speed-sensorless control of induction motor drives have developed significantly during the last number of years. speed adaptive full observers introduced by [8], [15] are promising flux estimators for inductions motors drives. the speed adaptive observer consists of a state variable observer augmented with a speed adaptation loop. the observer gain and the speed adaptive law determine the properties of the observer. the speed adaptation law is based on the component of the current estimation error with the estimated rotor flux. the adaptation law was originally derived using the lyapunov stability theory [8]. however, the stability of the adaptation law is not guaranteed and stability problem exist in the regenerating mode. the derivation in [8] neglects a term including the actual rotor flux (which is not measurable). the positive-realness condition is not satisfied as shown [5]. some limits of operation were quickly highlighted [9], [13]. in particular, a well known instability region was described in regenerating mode. thus, the drive stability can’t be guaranteed when this type of observer is associated with a field oriented control. there was many work in order to reduce this region of instability which is due to inadequate observer design [1, 2, 5, 14]. in this paper, we describe the design of an adaptation law that minimizes the instability region of an adaptive speed estimator. the paper is organized as follows. the induction motor model and the speed adaptive flux observer are first defined in section 2 and 3 respectively. we introduce the observer gain design in section 4 leading to a reduced instability region limited to a line. finally, simulations results are presented and discussed in section 5, where the proposed observer is compared with an exiting solution [5, 13]. 2 induction motor model the induction motor is described by the following state equations in the synchronous rotating reference frame with complex notations: d dt x = a (ω, ωs) x + bus (1) is = cx (2) where x = [ ψ r is ] t a =   −( 1 tr + jωsl ) lm tr lm b ( 1 tr − jω) −(a + jωs)   , b =   0 1 σ ls   , c = [ 0(2×2) i ] , i = [ 1 0 0 1 ] (3) copyright © 2006-2008 by ccc publications 136 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi and the mechanical equation is: d dt ω = p2 lm jlr ℑ(isψ ∗ r )− p tl j (4) where ∗ means a conjugate, j a complex number and ℑ an imaginary part. ψ r : rotor flux; is : stator current; us : stator voltage; ωs : stator angular frequency; ω : motor angular speed; ωsl = ωs − ω : slip angular frequency; rs, rr : stator and rotor resistance; ls, lr : stator and rotor self-inductance; lm : mutual inductance; tl : load torque; j : rotor inertia ; p : number of pole pairs; tr = lr/rr : rotor time constant; a = (l2r rs + l 2 mrr)/(σ lsl 2 r ); b = σ lslr; σ = 1−(l2m)/(lslr) : leakage coefficient. 3 adaptive observer the conventional full-order observer, which estimates the stator current and the rotor flux together [10, 11], is written as the following state equation. d dt x̂ = â (ω̂, ω̂s) x̂ + bus + g(is − îs) (5) îs = cx̂ (6) where ̂ means the estimated values and g = [ g1 g2 ]t is the observer gain matrix. we assume that all machine parameters are perfectly known except the motor speed. using the assumption of constant angular rotor speed ω̇ = 0 (i.e. the speed variations are slow with respect to electrical mode) [8], [5], the speed adaptive law is [8]: d dt ω̂ = λ lm b (eid ψ̂rq −eiqψ̂rd ) (7) where λ is a positive constant and will be tuned in (7) to improve observer dynamics. in practice, proportional-integral action is used in order to improve the dynamic behavior of the estimator. d dt ω̂ = kp d dt (eid ψ̂rq −eiqψ̂rd ) + ki(eid ψ̂rq −eiqψ̂rd ) (8) where eid = isd − îsd , eiq = isq − îsq, (isd , isq) are (d,q) components of stator current, (ψrd , ψrq) are (d,q) components of rotor flux. the speed adaptive observer scheme with the speed adaptation mechanism is presented in fig. 1. 4 observer gain design 4.1 linearized model the nonlinear and complicated dynamics of the speed adaptive observer can be studied via smallsignal linearization. it is useful to proceed with a local analysis based in the principle of stability in the first approximation [12, 7]. we will choose the particular form g1 = g1i2×2 where i2×2 is the identity matrix and g2 = 02×2. the complete adaptive observer may be written as equation (10). note that according the assumption ω̇ = 0, the motor model (1) may be written as (9)    d dt ψ r = −( 1 tr + jωsl )ψ r + lm tr is d dt is = lm b ( 1 tr − jω)ψ r −(a + jωs)is + 1 σ ls us d dt ω = 0 (9) feedback gain design method for the full-order flux observer in sensorless control of induction motor 137 induction motor b â speed adaptive law eq. (8) + + + ∫ ω̂ g c i s x̂ î s − + u s 1 figure 1: speed adaptive observer    d dt ψ̂ r = −( 1 tr + jω̂sl )ψ̂ r + lm tr îs + g1δ ei d dt îs = lm b ( 1 tr − jω̂)ψ̂ r −(a + jω̂s)̂is + 1 σ ls us d dt ω̂ = kp d dt (eid ψ̂rq −eiqψ̂rd ) + ki (eid ψ̂rq −eiqψ̂rd ) (10) we investigate the stability of the observer by linearizing the two systems (10) and (9) around an equilibrium operating point.defining the new state vectors x = xo + δ x with xo = [ ψ ro iso ωo ] t , δ x = [ δ ψ r δ is δ ω ]t and x̂ = x̂o + δ x̂ with x̂o = [ ψ̂ ro îso ω̂o ] t , δ x̂ = [ δ ψ̂ r δ îs δ ω̂ ] t . the reference frame is synchronized with the estimated rotor flux (ψ̂rqo = 0), then its two components are ψ̂rd = ψ̂o + δ ψ̂rd and ψ̂rq = δ ψ̂rq. in these two systems, the stator frequencies are regarded as identical : ωs = ω̂s [5]. preserving only dynamic parts, the two systems (9), (10) become after linearization,:    d dt δ ψ r = −( 1 tr + jωslo )δ ψ r + lm tr δ is − jψoδ ωsl d dt δ is = lm b ( 1 tr − jωo)δ ψ r −(a + jωso)δ is + 1 σ ls δ us − j lm b ψoδ ω − jisoδ ωs d dt δ ω = 0, (11)    d dt δ ψ̂ r = −( 1 tr + jω̂slo )δ ψ̂ r + lm tr δ îs − jψ̂oδ ω̂sl + g1δ ei d dt δ îs = lm b ( 1 tr − jω̂o)δ ψ̂ r −(a + jω̂so)δ îs + 1 σ ls δ us − j lm b ψ̂oδ ω̂ − jîsoδ ω̂s d dt δ ω̂ = −kp(− lm b ωoψ̂oδ ψ̂ rd + lm btr ψ̂oδ ψ̂ rq −ωsoψ̂oδ îsd −aψ̂oδ îsq − lm b ψ̂oδ ω̂s) −ki(−eidoδ ψ̂ rq + eiqoδ ψ̂ rd + ψ̂ oδ eiq). (12) 138 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi defining δ e = [ δ eψ δ ei δ eω ]t , the system describing the estimation error is as follows:    d dt δ eψ = −( 1 tr + jωslo )δ eψ + ( lm tr −g1)δ ei − jeψo δ ωsl + jeωo δ ψ̂ r + jψ̂oδ eω d dt δ ei = lm b ( 1 tr − jωo)δ eψ −(a + jωso)δ ei − j lm b eψo δ ω − j lm b eωo δ ψ̂ r − jeioδ ωs − j lm b ψ̂ o δ eω d dt δ eω = kp(− lm b ωoψ̂oδ eψ d + lm btr ψ̂oδ eψ q −ωsoψ̂oδ eid −aψ̂oδ eiq − lm b ψ̂oδ eω ) +ki(−eidoδ ψ̂ rq + eiqoδ ψ̂ rd + ψ̂ oδ eiq). (13) separating each state in d and q components, we obtain the corresponding state matrix â1: â1 =   − 1 tr ωslo lm tr −g1 0 0 −ωslo − 1 tr 0 lm tr −g1 ψ̂o lm btr lm b ωo −a ωso 0 −lm b ωo lm btr −ωso −a − lm b ψ̂o −lm b kpωoψ̂o lm btr kpψ̂o −kpωsoψ̂o (ki −akp)ψ̂o − lm b kpψ̂o   (14) note the dependency of the dynamic matrix â1 by the operating condition. in order to obtain analytic conditions about the local stability using the necessary condition for stability based on the determinant of (14) [4], it is possible to obtain a relevant result as reported in the next section. 4.2 stability criterion we use the following property: det(â1) = 5 ∏ i=1 λi (15) where λi are the eigenvalues of matrix â1. the determinant of matrix â1 is: det(â1) = −lmψ̂ 2o kiωso((ωso −ωo)abtr + l2mωo −lmωog1tr + ωsob)/(b2tr) (16) the condition det(â) = 0 leads to: ωso = 0, (17a) ωso = ωo g1lm + rslr (rrls + rslr) . (17b) these conditions of stability may be expressed in the torque/speed plane. let us consider the mechanical equation: d dt ω = p2 lm jlr ℑ(isψ ∗ r )− p tl j . (18) under rfoc conditions and steady state (ψ̂rqo = ψrqo = 0), we obtain: 0 = p lm lr ψ̂oisqo −tlo (19) feedback gain design method for the full-order flux observer in sensorless control of induction motor 139 then isqo = lr plmψ̂o tlo. (20) from system (1), in the same conditions, we find : ωslo = lm trψ̂o isqo. (21) finally using ωso = ωslo + ωo, equations (17a) and (17b) become tlo = − pψ̂ 2o rr ωo (22a) tlo = − pψ̂ 2o rr (1− g1lm rrls )ωo (1 + ts tr ) (22b) with ts = ls/rs. above relations describe respectively two lines, defining two well known instability regions in regenerating mode. an sufficient condition for instability is then: det(â1) > 0. (23) the condition (23) defines a set whose the instability region is a subset. in order to complete the study of local stability, we plot for each eigenvalue, the locus in the torque/plane where conditions (ℜ(λi) > 0, i = 1 . . . 5) are verified. in one hand, if we chose a zero observer gain, as in [9], g1 = 0 (24) we obtain the instability region limited by lines d1 and d2, (fig. 1) where ℜλi > 0, i = 1...5, are the positive real part of the eigenvalues λi of the state matrix â1. the eigenvalues correspond respectively to the states variables δ eψrd , δ eψrq , δ eid , δ eiq and δ eω . tlo = − pψ̂ 2o rr ωo (1 + tr ts ) (25) in other hand, in order to reduce (not totally remove) the unstable region, a real valued observer gain was considered in [13] which corresponds to the region limited by lines d1 and d3, (fig. 3). the value of the parameter g1 selected is: g1 = −0.25rs (26) it is be noted that the curves corresponding to zero observer gain are similar, except that the unstable region is larger. tlo = − pψ̂ 2o rr (1 + 0.25rslm rrls )ωo (1 + tr ts ) (27) the principle of the instability reduction proposed here consists in the calculation of the feedback gain so that the unstable region will be limited to the inobservabilité line (d1). we can note that, whatever the structure of the matrix g, (d1) is always defined by ωso = 0. from equation (16), we can write the 140 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi −200 −150 −100 −50 0 50 100 150 200 −50 −40 −30 −20 −10 0 10 20 30 40 50 ω o (rad/s) t l o (n m ) region (ω o ,t lo ), zero observer gain ℜλ 2 of δψ rq ℜ 0λ 3 of δi sd reλ 4 of δi sq ℜλ 5 of δω tlo − tlo d1, wso=0 d2 figure 2: torque/speed plane,g1 = 0, ℜ(λi) > 0, i = 1...5 −200 −150 −100 −50 0 50 100 150 200 −50 −40 −30 −20 −10 0 10 20 30 40 50 ω o (rad/s) t l o (n m ) region (ω o , t lo ), observer gain g 1 = − 0.25 r s ℜλ 2 of δψ rq ℜ 0λ 3 of δi sd ℜλ 4 of δi sq ℜλ 5 of δω t lo − t lo d 1 , (ω wso =0) d 2 d 3 figure 3: torque/speed plane, g1 = −0.25rs, ℜ(λi) > 0, i = 1...5 feedback gain design method for the full-order flux observer in sensorless control of induction motor 141 condition ωso = 0 in equation (28) (ωso −ωo)abtr + l2mωo −lmωog1tr + ωsob = 0 (28) which can be achieved by choosing the following observer gains g1 = − lrrs lm (29) the straight line (d1) correspond to zero synchronous speed ωs = 0. it is known in the literature as the inobservability line (normally referred as dc-excitation) [6, 3] and seems to be a generic problem for sensorless control of induction motors. 5 simulations results in order to validate the proposed design, the regenerating mode low speed operation of the speed adaptive observer was investigate by means of simulations. a rotor flux oriented control (rfoc) is simulated using matlab/simulink software. the block diagram of the control system is shown in fig.4. the flux reference is fixed to the nominal value ψ re fo where ref denotes the reference value. the proposed usd -+ ω ref ω̂ + i ref sq -+ ψ ref o ψ̂r + i ref sd cω(s) cψ(s) ci(s) ci(s) isd isq usq motor adaptive observer eq. (5) usd usq isd isq ψ̂r ω̂ i sd i sq ψrd ψrq ω model eq. (1) 1 figure 4: block diagram of sensorless rfoc induction motor simulator. observer is compared with an exiting solution [13]. in order to validate the proposed design, we studied a conventional test used by industrial drive designers: very low and progressive load torque increase under constant speed; fig. 5 depicts results in regenerating mode obtained using the observer gain g1 = −0.25rs, [13], [5]. the speed reference was set to (−25rad/s) (dashed line) and a rated-load torque ramp was applied at t=0. after applying the load progressively, the drive should operate in the regenerating mode. however, the actual angular speed et actual flux of the motor collapse and the system becomes unstable. fig. 6 present results obtained using the proposed observer design. the system behaves stably. on fig. 7, the observer gain g1 = −0.25rs was used. real speed diverges. first subplot shows reference (dashed line) and actual angular speed. second subplot shows rated-load torque ramp. third subplot present actual flux components (ψrα , ψrβ ) in stator reference frame. fouth subplot, shows control voltages. in the fifth and six subplot respectively, we present current and current norm. we note that when the load torque increases, the control voltage, the current and the current norm increase too. on fig.8, the proposed observer design was used. the system becames stable. real rotor angular speed converges well towards the reference value in response to the same rated-load torque. note the behavior of the actual flux at (t ≈ 3.75 s) when the real angular rotor speed crosses the line (d1 = d3). the system becomes unobservable at this time. 142 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 t l o ( n m ) region (ω o ,t lo ) d 1 d 3 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 ω o (rad/s) t l o ( n m ) figure 5: a rated-load torque ramp is applied with the observer gain g1 = −0.25rs. first subplot shows region (ωo, tlo) with the two lines d1 and d3. second subplot shows the actual angular speed. feedback gain design method for the full-order flux observer in sensorless control of induction motor 143 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 t l o ( n m ) region (ω o ,t lo ) d 1 , (ω so =0) d 3 −50 −45 −40 −35 −30 −25 −20 −15 −10 −5 0 0 5 10 15 20 25 ω o (rad/s) t l o ( n m ) figure 6: a proposed observer design was used. first subplot shows region (ωo, tlo) with the line d1 = d3. second subplot shows the actual angular speed. 144 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi 0 2 4 6 −40 −30 −20 −10 0 ω o (r a d /s ) 0 2 4 6 0 5 10 15 20 25 t l o ( n m ) 0 2 4 6 −3 −2 −1 0 1 2 time(s) ψ rα , ψ rβ ( w b ) 0 2 4 6 −400 −200 0 200 u sα , u sβ ( v ) 0 2 4 6 −30 −20 −10 0 10 20 i s α , i s β (a ) 0 2 4 6 0 10 20 30 c u rr e n t n o rm ( a ) time(s) figure 7: instability phenomenon with observer gain g1 = −0.25rs. feedback gain design method for the full-order flux observer in sensorless control of induction motor 145 0 2 4 6 −40 −30 −20 −10 0 ω o (r a d /s ) 0 2 4 6 0 5 10 15 20 25 t l o ( n m ) 0 2 4 6 −3 −2 −1 0 1 2 time(s) ψ rα , ψ rβ ( w b ) 0 2 4 6 −400 −200 0 200 u sα , u sβ ( v ) 0 2 4 6 −30 −20 −10 0 10 20 i s α , i s β (a ) 0 2 4 6 0 10 20 30 c u rr e n t n o rm ( a ) time(s) figure 8: the instability was removed by the proposed observer design g1 = −lrrs/lm. 146 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi 6 appendix 6.1 induction motor parameters voltage rating : 380 v , current rating: 2.2 a, number of phases: 3, rated power: 1.1 kw , frequency: 50 hz, rated speed: 1430 r pm/min, p = 2, ls = 0.472 h, lr = 0.4721 h, lm = 0.4475 h, rs = 9.65 ω, rr = 4.3 ω. 7 conclusions the feedback gain design method proposed in this paper reduces the instability region of adaptive observer to a inobservability line (d1) (ωso = 0). the observer using the proposed gain does not have the unstable region, which was shown by means of speed/torque plane and a linearized model. the stability of the regenerating-mode operation was also confirmed by simulations. bibliography [1] a. bouhenna, c. chaigne, n. bensiali, e. etien and g. champenois, design of speed adaptation law in sensorless control of induction motor in regenerating mode, simulat. modell. pract. theory, elsevier, doi:10.1016, simpat.2007.04.005, vol. 15, no.7, pp. 847-863, 2007. [2] a. bouhenna, contribution à la commande sans capteur mécanique de la machine asynchrone en mode générateur à basse vitesse, thèse de doctorat en sciences, université des sciences et de la technologie d’oran, algérie, octobre, 2007. [3] c. canudas de wit and a. youssef and j. p. barbot and ph. martin and f. malrait, observability conditions of induction motors at low frequencies, proc. cdc, sydney, pp. 1-7, 2000. [4] e. etien and n. bensiali and c. chaine and g. champenois, adaptive speed observers for sensorless control of induction motors: a new criterion of stability, international review of electrical engineering, vol. 1, pp. 36-43, 2006. [5] m. hinkanen, stabilization of regenerating-mode operation in sensorless induction motor drives by full-order flux observer design, ieee trans. ind. electron., vol. 51, pp. 1318-1328, 2004. [6] h. hofmann and s. sanders, speed-sensorless vector torque control of induction machine using a two-time-scale approach, ieee trans. on ind. appl., vol. 34, pp. 169-177, 1998. [7] h. k. khalil, nonlinear systems, macmillan, new york, 1983. [8] h. kubota and k. matsuse, dsp-based speed adaptive flux observer of induction motor, ieee trans. ind. appl., vol. 29, pp. 344-348, 1993. [9] h. kubota and i. sato, regenerating mode low speed operation of sensorless induction motor drive with adaptive observer, ieee trans. ind. appl., vol. 38, pp. 1081-1086, 2002. [10] a. mansouri and m. chenafa and a. bouhenna and e. etien, powerful nonlinear observer associated with field-oriented control of an induction motor, international journal of applied mathematics and computer sciences, vol. 14, no. 2, pp. 209-220, 2004. feedback gain design method for the full-order flux observer in sensorless control of induction motor 147 [11] m. chenafa and a. mansouri and a. bouhenna and e. etien and a. belaidi and m. a. denai, global stability of linearizing control with a new robust nonlinear observer of the induction motor, international journal of applied mathematics and computer sciences, vol. 15, no. 2, pp. 235-243, 2005. [12] m. montanarri and s. peresada and a. tilli, observeless scheme for sensorless control of induction motor: stability analysis and design procedure, proc. of the 10th mediterranean conference and automation, med’02, lisbon, 2002. [13] s. suwankawin and s. sangwongwanich, speeds sensorless im drive with decoupling control and stability analysis of speed estimation, ieee trans. ind. electron., vol. 49, pp. 444-455, 2002. [14] s. suwankawin and s. sangwongwanich, design strategy of an adaptive full order observer for speed sensorless induction motor drives-tracking performance and stabilization, ieee trans. ind. electron. vol. 53, pp. 96-119, 2006. [15] g. yang and t. chin, adaptive-speed identification scheme for a vector-controlled speed sensorless inverter-induction motor drive, ieee trans. ind. appl. electron., vol. 29, pp. 820-825, 1993. a. bouhenna1, a. mansouri1, m. chenafa1, and a. belaidi1 1 e.n.s.e.t. d’oran, laboratoire d’automatique et d’analyses des systèmes, (l.a.a.s) département de génie électrique, b.p 1523, el m’naouer, oran, algérie e-mail: bouhenna @ enset-oran.dz, (abouhenna @ yahoo.fr) received: october 10, 2007. 148 abderrahmane bouhenna, abdellah mansouri, mohammed chenafa, abdelkader belaidi abderrahmane bouhenna was born in 1955. he receive the dipl. eng. degree in electronic engineering, the m. s degree and the doctorat in automatic from u.s.t.o, oran, algeria in 1980, 1987 and 2007 respectively. he is currently a professeur searcher in the laboratory of automatic and analysis systems at enset of oran (algeria). he work on the subject of sensorless control and observers of induction motors and obtained some results in this domain for the stabilisation of the observers and the control of the mas in regenerating mode at low speed. abdellah mansouri was born in oran in algeria, in 1953. he received his bs degree in electronic engineering from usto (algeria) in 1979, the ms degree in engineering control from usto (algeria) in 1991, and the phd degree in engineering control from usto (algeria) in 2004. he is currently professor of automatic control at enset of oran (algeria). his research interests are non linear control and observers applied in induction motor and manipulator robot. mohammed chenafa was born in oran in algeria, in 1954. he received his bs degree in electronic engineering from usto (algeria) in 1979, the ms degree in signal processing and robotic from usto (algeria) in 1998, and the phd degree in engineering control from usto (algeria) in 2005. he is currently professor of automatic control at enset of oran (algeria). his research interests are non linear control and observers applied in induction motor and manipulator robot. abdelkader belaidi, professor in 1981 he obtained a ph.d in radiation physics at the university of east anglia, norwich england. his fields of interest are collision damage in materials and neural and fuzzy logic. now, he is a professor of physics and applied computing at the higher school of education oran algeria. he is also head of automatic and system analysis laboratory (laas). international journal of computers, communications & control vol. ii (2007), no. 4, pp. 375-387 fuzzy and neural controllers for a pneumatic actuator tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu abstract: there is a great diversity of ways to use fuzzy inference in robot control systems, either in the place where it is applied in the control scheme or in the form or type of inference algorithms used. on the other hand, artificial neural networks ability to simulate nonlinear systems is used in different researches in order to develop automated control systems of industrial processes. in these applications of neural networks, there are two important steps: system identification (development of neural process model) and development of control (definition of neural control structure). in this paper we present some modelling applications, which uses fuzzy and neural controllers, developed on a pneumatic actuator containing a force and a position sensor, which can be used for robotic grinding operations. following the simulation one of the algorithms was tested on an experimental setup. the paper also presents the development of a narma-l2 neural controller for a pneumatic actuator using position feedback. the structure had been trained and validated, obtaining good results. keywords: fuzzy control, neural control, force-position feedback, pneumatic actuator. 1 introduction there is a great diversity in which fuzzy inference and neural networks can be used in robotics operation control either in the place it has in the control scheme or in the type of fuzzy or neural controller. from the studied references the conclusion can be drawn that fuzzy inference is used (among others) in trajectory generation [3], robot model design [2], instead of p.i.d. controllers [4] or in combination with these [6]. a detailed presentation of general purpose fuzzy controllers is given in [5]. in the same work, it is shown that there can be made fuzzy controllers similar to classical ones (quasi p.i.d.). in other researches the importance of parameter adjustment is emphasized and also that fuzzy controllers can be adjusted more easily [6]. due to the fact that a large part of fuzzy inference systems had been implemented on heuristic basis (usually the membership functions are chosen upon the educated guess of specialists) there is no guarantee of a reliable operation or stability of the system in unforeseen conditions. due to this, experimental tests must be considered. a great number of researches in this field have as goal the development of methodologies of synthesis and analysis of fuzzy inference systems, in the field of robotics [2], [4] or in the larger field of control systems [5] (i.e. study of stability of fuzzy controllers). also there are works regarding the elaboration of fuzzy models of robots (used in direct and inverse kinematics [3] or in inverse dynamics [1], which can replace analytical models, and shorten the computing times. many researches try a systematic approach of fuzzy systems design (development of a design methodology), which can eliminate the subjectivity in choosing the membership functions and rule sets, as in [2], in which a clear method is presented for a rigorous selection of fuzzy inference parameters. in order to develop a model and test fuzzy and neural control in the design phase an adequate programming environment must be selected. for this purpose we had chosen the matlab programming environment, because it offers predefined functions to develop fuzzy and neural control systems. these functions are linked to extern modules like the "inference system" and the "fuzzy engine", and the simulink module can also use these functions. user applications can be linked to these modules using the predefined functions. the typical base structure of fuzzy systems develop a model which make the correspondence: copyright © 2006-2007 by ccc publications 376 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu • crisp value input membership functions inference rules • output characteristics output membership functions crisp output value. also, a typical fuzzy inference system, supposes a user defined set of parameters which try to encrypt the model’s variables characteristics. if instead the development of a process model is wanted for which certain experimental input-output data sets exists, the fuzzy system parameters can be automatically generated that is the system identification can be done. in this case the identification strategy can be a neural-fuzzy approach, which has at its base acquiring knowledge from the presented data set in order to generate membership function parameters. in the matlab environment the adjustment of these parameters can be done with a module which works similar to a neural network named anfis (adaptive neural fuzzy inference system). as teaching algorithm error back propagation is used and the optimization is made by a gradient method, followed by error minimization (by the quadratic sum method). in [10], a methodology is presented for designing an adaptive fuzzy logic controller. "the neurofuzzy controller is first trained using data from an approximate analytical model of a cellular network then the controller is fine tuned and adapted to the unique cell dwell time and call holding time distributions of a particular cell in the network". the ability of neural networks to simulate non-linear systems, is used in some researches [13], in order to develop industrial processes control systems. when using neural networks in controlling processes there have to be two steps: system identification (development of process neural model) and control design (development of neural control system). in the system identification step, the neural model of the controlled process is developed and in the second step this model is used to obtain the neural net that will control the process. the training of process neural model is made "offline" (or "batch processing"), but the training and optimization of neural control must be made "online" using training data sets. a chaos search immune algorithm is proposed in [12] by integrating the chaos optimization algorithm and the clonal selection algorithm: "first, optimization variables are expressed by chaotic variables through solution space transformation. then, taking advantages of the ergodic and stochastic properties of chaotic variables, a chaos search is performed in the neighborhoods of high affinity antibodies to exploit local solution space, and the motion of the chaotic variables in their ergodic space is used to explore the whole solution space. furthermore, a generalized radial basis function neuro-fuzzy controller [...] is constructed and designed automatically". 2 simulation of pneumatic system with fuzzy controller 2.1 general considerations the general scheme of the automated grinding system is presented in figure 1. this system is used to grind metal probes for microscope observations. the "command module" represents a programmable computing unit on which the control algorithm is running (fuzzy or neural controller in this case a pentium iv pc) and it has the possibility to transmit signals to the execution unit and to receive data from sensors (by means of a daq card with analogical and digital channels). the "execution module" contains the execution elements, which are simple and proportional electro valves, "force sensor" and "position sensor" are the sensor used to generate the feedback signals. the pneumatic setup of the force-position feedback system (fpfs) is shown in figure 3. for the position feedback (pfs) system the force sensor is missing. in the position feedback case the system has to move the probe, approaching the grinding surface to an approximate distance, and then to move it with smaller speed to touch the surface. fuzzy and neural controllers for a pneumatic actuator 377 figure 1: scheme of automated metal probe grinding system in the force position feedback case the system has to fulfil the objectives represented in diagram presented in figure 2, that is to move the probe near the grinding wheel surface and then to move it with reduced speed until the force reaches a reference value and then again to maintain the probe pushed on the surface with the reference force. above described strategies can be graphically expressed in the diagram shown in figure 3. figure 2: scheme of pneumatic setup for the fuzzy fpfs case (the complete case) there have to be defined: • two input linguistic variables "position error" and "forces error" and one output linguistic variable named "control value". • position reference is given by the superior limit of the uncertainty domain d2; • the final control will be made by the "force" variable; • for position there are two ranges which must be defined (big and small) and for the force seven ranges (big negative, medium negative, small negative, zero, big positive, medium positive, small positive). 378 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu figure 3: functional diagrams for position (a) and force (b) control 2.2 fuzzy position feedback system the model for fuzzy pfs is presented in figure 4. in this case the system is used without force reaction. this model has been made only as a preliminary study. in figure 5 the systems inference diagrams are shown: • the gaussian input membership functions represents 5 linguistic ranges of the "position error"; • the output triangular membership functions represent also 5 linguistic ranges of the output variable "control value"; deffuzyfication is made by a "centroid" function. figure 4: fuzzy pfs model results of simulation is given in figure 6 for some random step reference values. we can observe how the actual controlled position is following the reference position. the delays are relatively large but considering that the pneumatic system is acting similar to a damper, this range of delay is acceptable. 2.3 fuzzy force position feedback system the fuzzy fpfs is presented in figure 7. fuzzy and neural controllers for a pneumatic actuator 379 figure 5: inference diagram of the fuzzy pfs model figure 6: reference (r) and actual (a) signals diagram resulted from system simulation (fuzzy pfs case) figure 7: fuzzy fpfs model 380 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu for both inputs (as for "force error" as for "position error") the membership functions are "gaussian" type and for output membership function the "triangular" type had been used. simulation results for step type references are given in figures 8 and 9. analyzing the result diagram we can conclude that the control is working correctly. figure 8: reference and response force values figure 9: reference and response position values 3 experimental setup for fuzzy fpfs the experimental study in order to test fuzzy fpfs operation is shown in figure 10. the base idea of this concept was the use of a pci6023e daq card (from national instruments), for which there are predefined acquisition functions in the matlab "data acquisition toolbox". this fact makes possible the fuzzy and neural controllers for a pneumatic actuator 381 use of data acquisition, fuzzy inference engine and command signal generation from the same program. even the designed system gives birth to considerable delays in comparison with a true real time system (which would use xpctarget modules), it is good enough for testing of controllers accuracy. figure 10: experimental setup scheme the daq card has 8 analogical input channels (ach1...8) on 12 bits, from which ach1 and ach2. were used. a major disadvantage of pci6023 daq card is the absence of analog output, which would be used to command the pressure regulator proportional electro-valve (figure 10). this issue was solved by using 6 out of 8 digital channels of the digital i/o port (dio in figure 10) and a d/a (digital to analog) converter. so we can obtain 64 values of pressure for the 6 bits available, which suffice for the experiments. we cannot use al the 8 cannels of the dio port because 2 channels must be used to command the 2 on-off electro-valves used to change the piston’s movement direction. 4 neural position feedback system in the case of neural pfs there must be two steps to complete: system identification (development of process neural model) and control design (development of neural control system) [3]. in the system identification step, the neural model of the controlled process is developed and in the second step this model is used to obtain the neural net that will control the process. 4.1 identification step in the identification step a convenient structure for the process model must be found and then the neural network will be trained in order to obtain the value of weights, using training data sets. a largely used standard structure, representative for nonlinear discrete systems is narma (nonlinear autoregressive moving average) [3], given by the relation: y(k + d) = n[y(k), y(k −1), . . . , y(k −n + 1), u(k), u(k −1), . . . , u(k −n + 1)] (1) in which: u(k) is the system’s input and y(k) is the output. in order to identify the process, the network will be trained with the non-linear function n. 4.2 control step if the goal of the system is to follow a reference trajectory, y(k + d) = yr(k + d), a non-linear controller will have to be developed: u(k) = g[y(k), y(k −1), . . . , y(k −n + 1), yr(k + d), u(k −1), . . . , u(k −m + 1)] (2) 382 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu in order to generate the function g, which minimizes the quadratic mean error, a dynamic backpropagation learning algorithm should be used which is hard to implement and very slow. that is the reason why some approximate models are usually used. such an approximate model is given by relation: y(k + d) = f [y(k), y(k −1), . . . , y(k −n + 1), u(k −1), . . . , u(k −m + 1)] (3) +g[y(k), y(k −1), . . . , y(k −n + 1), u(k −1), . . . , u(k −m + 1)]·u(k) this model is in a form in which the input u(k) is not contained in the non-linear term and if y(k + d) = yr(k + d), it can then be written that: u(k) = yr(k + d)− f [y(k), y(k −1), . . . , y(k −n + 1), u(k −1), . . . , u(k −n + 1)] g[y(k), y(k −1), . . . , y(k −n + 1), u(k −1), . . . , u(k −n + 1)] (4) in this form it is necessary to find the input values u(k), based on the output in the same step y(k), which is inconvenient and is better to use the form: y(k + d) = f [y(k), y(k −1), . . . , y(k −n + 1), u(k), u(k −1), . . . , u(k −n + 1)] (5) +g[y(k), y(k −1), . . . , y(k −n + 1), u(k), . . . , u(k −n + 1)]·u(k + 1) for d ≥ 2. the structure of the process model neural network neural network is given in figure 11. figure 11: process neural model based on relation (5) the controller expression from relation 5, will be: u(k + 1) = yr(k + d)− f [y(k), . . . , y(k −n + 1), u(k), . . . , u(k −n + 1)] g[y(k), . . . , y(k −n + 1), u(k), . . . , u(k −n + 1)] (6) for d ≥ 2. in figure 12 is presented the control scheme in which yr is generated by the neural model ("reference model"). in this case the controller has to make only a few computations and the neural model can be trained off-line. the method can be applied in industrial robot control, but it was not tested yet with pneumatic actuators. the real advantage of using this kind of controllers for industrial robots, would be the use of parallel system for each axes of the robot. as support of computational implementation of the simulation the simulink module of matlab was used. simulink, contains predefined blocks to generate the neural model as well a gui for parameter settings, training and validation of the controller. fuzzy and neural controllers for a pneumatic actuator 383 figure 12: control scheme designed on the relation (6) 4.3 neural position feedback system simulation for this case a proportional valve and two on-off electro-valves have been used. the pneumatic design scheme is the same as it was presented in figure 2, only the controller structure is different. this model is very complex and even if the pc used for simulation (intel pentium iv 2ghz), has a significant computing power training cycles are very long (about hundreds of minutes). that is why we have used the simplified model of the process shown in figure 13. the simplification is made by neglecting the air compressibility terms and the elimination of air from cylinders inactive chamber. figure 13: simplified process scheme the presented model is then integrated with the controller model given the final version shown in figure 14. figure 14: process with controller scheme 384 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu after model design, the training, validation and test data sets were generated with the help of process model. on this basis the neural model of process and controller were obtained. the training error as function of training epochs is presented in figure 15. a number of 3000 data in 300 epochs were used as training parameters. as it can be seen from the diagram the convergence of the network is good. simulations were carried out for different reference values for position from 0.025 to 0.06. in figure 16 a sample of obtained response is shown for position reference value of 0.042. figure 15: training of the neural network figure 16: reference (r) and actual (a)value of simulation results 5 results and conclusions the structure of the narma-l2 neural controller for a pneumatic actuator has been trained and validated, obtaining good results. after the analysis of simulation results and the experimental system operation it can be said that the fuzzy controller is working in a proper manner for this application but needs further adjustments in order to increase the robustness of the control. fuzzy and neural controllers for a pneumatic actuator 385 in actual operation there are unwanted effects as: • position control error is constant, but the actual position remains under the reference value with about 6% for a value of reference from 6 to 9; • the uncertainty domain in which the probe can meet the grinding wheel and the domain in which the control is acceptable is small (about 0.003 m), but in practice this is about 0.005 to 0.006 m; • the force control error is increasing with the increase of reference, limiting the application domain in which the error is still acceptable. although in some domains the control is acceptable further adjustments of the control parameters are needed. in the study of neural controller simulation it resulted that the overshoot error of the system was only of 3%. in this case further studies must be carried out to implement the neural controller for the fpfs case and to test it experimentally. bibliography [1] amann p., perronne j.,m., gissinger g.,l., frank p., m., identification of fuzzy relational models for fault detection, control engineering practice 9, 555, 2001. [2] emami m.r., goldenberg a.a., burhan t.r., systematic design and analysis of fuzzy-logic control and application to robotics, part i. modeling, robotics and autonomous systems 33, pp. 65-88, 2000. [3] jang, r., matlab fuzzy toolbox the mathworks, inc. revision: 1.12, date: 2000, 15. [4] novakovic, b., scap, d., novakovic d., an analytic approach to fuzzy robot control synthesis, engineering applications of artificial intelligence 13, pp. 71-83, 2000. [5] preitl, st., precup, e., introducerea în conducerea fuzzy a proceselor, ed. tehnicã, bucuresti, 1997. [6] reznik l., ghanayem o., bourmistrov a., pid plus fuzzy controller structures as a design base for industrial applications, engineering applications of artificial intelligence 13, pp. 419-430, 2000. [7] vesselenyi t., automated flexible cell for microstructure recognition, phd thesis, universitatea "politehnica" timisoara, 2005. [8] m.m., chen, j.a., fairwather, s.a., green, edumech. mechatronic instructional systems. case study: pneumatics systems, production of shandor motion systems, inc., 1999. [9] harbick k., sukhatme s., speed control of a pneumatic monopod using a neural network, www.harbick-ann.com, 2002. [10] raad r., raad i., neuro-fuzzy admission control in cellular networks. communication systems, (10th ieee singapore international conference on communication systems.), pp. 1-7, 2006. [11] wenmei h., yong y., yali t., adaptive neuron control based on predictive model in pneumatic servo system, 2002. [12] zuo x.q., fan y.s., a chaos search immune algorithm with its application to neuro-fuzzy controller design. chaos, solitons & fractals, vol. 30, issue 1, pp. 94-109, 2006. 386 tiberiu vesselenyi, simona dziţac, ioan dziţac, mişu-jan manolescu [13] zhang j., knoll a., schmidt r., a neuro-fuzzy control model for fine-positioning of manipulators, robotics and autonomous systems, 32, pp. 101-113, 2000. tiberiu vesselenyi university of oradea universităţii st. 1, 410087, oradea, romania tvesselenyi@yahoo.co.uk simona dziţac university of oradea universităţii st. 1, 410087, oradea, romania sdzitac@rdslink.ro ioan dziţac department of economic informatics agora university of oradea piaţa tineretului 8, oradea 410526, romania idzitac@univagora.ro mişu-jan manolescu agora university piaţa tineretului 8, 410526 oradea, romania rectorat@univagora.ro received: february, 14, 2007 fuzzy and neural controllers for a pneumatic actuator 387 tiberiu vesselenyi was born in oradea, romania in 1957, he finished the university "politehnica" from timişoara in 1983. from 1983 to 1991 he worked at a machine building company in oradea as designer and cnc programmer. from 1991 till 1994 he was a research engineer at the "geothermal energy research center" in oradea and from 1994 till today is assoc. prof. at the university of oradea, where he teaches robot and cnc programming. he had earned a phd in robotics at the university "politehnica" at timişoara. he had published over 150 papers in national and international conferences and journals, and is author or coo author of 4 books. simona dziţac received b.sc. (2000) and m. sc. (2001) in mathematics-physics, b.sc. (2005) and m. sc. (2007) in energy engineering from university of oradea and b.sc. in economic informatics (2007) from university of craiova, romania. at this moment, she is phd student in energy engineering field and researcher at university of oradea. her current research interests include reliability, applied mathematics and computer science in engineering fields. she published 4 books and 38 scientific papers in journals and conferences proceedings. ioan dziţac received m. sc. in mathematics (1977) and ph. d in information sc. (2002) from "babes-bolyai" university of cluj-napoca. at this moment, he is associate professor and head of economic informatics department at agora university, oradea, romania. his current research interests include different aspects of parallel and distributed computing, applied mathematics and economic informatics. he has edited 4 conference proceedings, published 12 books and 47 scientific papers in journals and conferences proceedings. he was member of the program committee of 18 international conferences. mişu-jan manolescu received m. sc in electro-mechanics (1984) from the university of craiova, ph. d in microwave (1994) from the university of oradea, and ph. d in human resources management (2000) from the university of craiova. now, he is professor and president of agora university, oradea, romania. his current research interests include different aspects of knowledge management, and knowledge engineering. he has edited 4 conference proceedings, published 9 books and 63 scientific papers in journals and conferences proceedings. he has been member of program committee of the 5 international conferences. int j comput commun, issn 1841-9836 vol.7 (2012), no. 4 (november), pp. 776-784 stability of discrete-time systems with time-varying delay: delay decomposition approach s.b. stojanovic, d.lj. debeljkovic, n. dimitrijevic sreten b. stojanovic university of nis, faculty of technology serbia, 16000 leskovac, bulevar oslobodjenja 124 e-mail: ssreten@ptt.rs dragutin lj. debeljkovic, nebojsa dimitrijevic university of belgrade, faculty of mechanical engineering serbia, 11120 beograd, kraljice marije 16 e-mail: ddebeljkovic@mas.bg.ac.rs, ndimitri@verat.net abstract: this article deals with the problem of obtaining delay-dependent stability conditions for a class of discrete-time systems with interval time-varying delay. using the decomposition the delay interval into two unequal subintervals by tuning parameter α, a new interval delay-dependent lyapunov-krasovskii functional is constructed to derive novel delay-dependent stability conditions which are expressed in terms of linear matrix inequalities. this leads to reduction of conservatism in terms of the upper bounds of the maximum time-delay. the numerical examples show that the obtained result is less conservative than some existing ones in the literature. keywords: time-delay systems, interval time-varying delay, asymptotic stability, delay-dependent stability, lyapunov-krasovskii methods. 1 introduction time-delay frequently occurs in many practical systems, such as manufacturing systems, telecommunication and economic systems etc. since time-delay is an important source of instability and poor performance, considerable attention has been paid to the problem of stability analysis and controller synthesis for continuous time-delay systems (see e.g. [3-5, 10, 11, 17-21, 23-26] and the reference therein). inversely, less attention has been drawn to the corresponding results for discrete-time delay systems (see e.g. [1, 2, 6-9, 12-15, 22, 24]). this is mainly due to the fact that such systems can be transformed into augmented systems without delay. this augmentation of the system is, however, inappropriate for systems with unknown delays and for systems with time-varying delay which are the subject analysis in this work. recently, increasing attention has been devoted to the problem of delay-dependent stability of linear systems with time-varying delay, including continuous-time (see e.g. [5, 10, 11, 18-21, 23], 25, 26]) and discrete-time systems (see e.g. [1, 2, 7-9, 12, 14, 15, 24]) and a great number of delay-dependent stability criteria were derived. the key point for deriving the delay-dependent stability criterions is the choice of an appropriate lyapunov–krasovskii functional (lkf). it is known that the existence of a complete quadratic lyapunov-krasovskii functional (cqlkf) is a sufficient and necessary condition for asymptotic stability of the time-delay system. using the cqlkf, one can obtain the maximum allowable upper bound (maub) of delay which is very close to the analytical delay limit for stability. however, the cqlkf leads to a complicated system of partial differential equations, yielding infinite dimensional linear matrix inequalities (lmis). therefore, to develop simpler stability criteria, many authors have used special forms of lkf rather than cqlkf, which give lmis with finite order and a reduced value of maub. further, to reduce the conservativeness of the existing results, some new analysis methods have been proposed, such as descriptor system transformation method [3-5], free weighting matrix copyright c⃝ 2006-2012 by ccc publications stability of discrete-time systems with time-varying delay: delay decomposition approach 777 method [8, 11, 23], matrix inequality method [10, 17, 18] and input–output approach [19]. using these methods, many stability criteria were derived by checking a variation of lkf in a whole interval of the time-delay. contrary to this approach, in [24, 25], in order to obtain some less conservative stability conditions, the interval of the time delay is divided into multiple equidistant subintervals and interval delay-dependent lkf (id-d lkf) is constructed. by checking the variation of the id-d lkf defined on the subintervals, some new delay-dependent stability criteria are derived. it is worth pointing out that the main difference between lkf and id-d lkf lies in that the former allows taking different weighing matrices on different subintervals. therefore, id-d lkf, as expected, will yield less conservative delay-dependent stability criteria. inspired by the idea of zhu and yang [26] on splitting the delay of continuous-time systems into two unequal subintervals, a new method is developed in this paper for stability analysis for discrete-time systems with time-varying delay. the delay interval [k −hm, k −1] in the id-d lkf is divided into two unequal subintervals: [k −hm, k −α−1] and [k −α, k −1], where 0 < α < hm is a tuning parameter. the new id-d lkf is constructed with different weighing matrices in various subintervals. free-weighting matrices and model transformation are not used in order to derive delay dependent criterion. it is shown that the presented stability condition is much less conservative than the existing ones [1, 2, 6-9, 13-15, 22, 24], because it has a lower value of maub. the derived condition can be seen as an extension of the methods in [24, 25], wherein the whole delay range is divided to n ≥ 2 equal subintervals. as the number of subintervals in [24, 25] is greater than two, the decomposition approach is more complex and the resulting stability conditions are more conservative and difficult to implement. to demonstrate the effectiveness of the proposed method, numerical examples are given in section 3. notation: ℜn and z+ denote the n-dimensional euclidean space and positive integers. notation p > 0 (p ≥ 0) means that matrix p is real symmetric and positive definite (semidefinite). for real symmetric matrices p and q, the notation p > q (p ≥ q) means that matrix p − q is positive definite (positive semi-definite). i is an identity matrix with an appropriate dimension. superscript “t” represents the transpose. in symmetric block matrices or complex matrix expressions, we use an asterisk (∗) to represent a term which is induced by symmetry. if dimensions of matrices are not explicitly given, then they are assumed to be compatible for algebraic operations. 2 main results consider the following system with an interval time-varying delay: x(k + 1) = ax(k) + bx(k −h(k)) (1) where x(k) ∈ℜn is the state at instant k, matrices a ∈ℜn×nand b ∈ℜn×n are constant matrices and h(k)is the positive integer representing the time delay of the system that we assume to be time dependent and satisfies the following: 0 ≤ h(k) ≤ hm (2) where hm is known to be a positive and finite integer. the aim of this article is to establish the sufficient condition that guarantee the delaydependent stability of the system (1), which is less conservative than the existing results in literature. we first introduce the following result, which will be used in the proof of our main results. 778 s.b. stojanovic, d.lj. debeljkovic, n. dimitrijevic lemma 1. let y(k) = x(k + 1)−x(k). for any matrix r > 0 [24] −(hm −hm) k−1−hm∑ m=k−hm yt (m)ry(m) ≤ [ x(k −hm) x(k −hm) ]t [ −r r r −r ] [ x(k −hm) x(k −hm) ] = − [x(k −hm)−x(k −hm)] t r [x(k −hm)−x(k −hm)] (3) theorem 2. for given scalars hm(hm > 0) and α(0 < α < hm), the system described by (1)-(2) is asymptotically stable if there exists matrices p = pt > 0, qi = qti ≥ 0 and zi = z t i ≥ 0 (i = 1,2,3), such that the following lmis hold: φ =   φ11 φ12 0 0 φ15 ∗ φ22 φ23 0 φ25 ∗ ∗ φ33 φ34 0 ∗ ∗ ∗ φ44 0 ∗ ∗ ∗ ∗ φ55   < 0 (4) ψ =   ψ11 ψ12 ψ13 0 ψ15 ∗ ψ22 ψ23 ψ24 ψ25 ∗ ∗ ψ33 0 0 ∗ ∗ ∗ ψ44 0 ∗ ∗ ∗ ∗ ψ55   < 0 (5) where φ11 = a t pa−p + q1 + q3 − 1α (z1 + z3) , φ12 = a t pb + 1 α (z1 + z3) , φ15 = (a− i)t u1, φ22 = b t pb −q3 − 1α (2z1 + z3) , φ23 = 1 α z1, φ25 = b t u1, φ33 = −q1 + q2 − 1αz1 − 1 hm −α z2, φ34 = 1 hm −α z2, φ44 = −q2 − 1hm −αz2, φ55 = −u1, ψ11 = φ11, ψ12 = a t pb, ψ13 = 1 α (z1 + z3) , ψ15 = (a− i)t u2, ψ22 = b t pb −q3 − 1hm −α (2z2 + z3) , ψ23 = 1 hm −α (z2 + z3) , ψ24 = 1 hm −α z2, ψ25 = b t u2, ψ33 = −q1 + q2 − 1α(z1 + z3)− 1 hm −α (z2 + z3) , ψ44 = −q2 − 1hm −αz2, ψ55 = −u2, u1 = αz1 + (hm −α)z2 + αz3, u2 = αz1 + (hm −α)z2 + hmz3 proof: construct the interval delay-dependent lkf as v (k) = v1(k) + v2(k) + v3(k) (6) where v1(k) = x t (k)px(k) (7) v2(k) = k−1∑ i=k−α xt (i)q1x(i) + k−1−α∑ i=k−hm xt (i)q2x(i) + k−1∑ i=k−h(k) xt (i)q3x(i) (8) v3(k) = −1∑ i=−α k−1∑ j=k+i yt (j)z1y(j) + −1−α∑ i=−hm k−1∑ j=k+i yt (j)z2y(j) + −1∑ i=−h(k) k−1∑ j=k+i yt (j)z3y(j) (9) stability of discrete-time systems with time-varying delay: delay decomposition approach 779 where p = pt > 0, qi = qti ≥ 0 and zi = z t i > 0 (i = 1,2,3). note, the delay interval [k −hm, k −1] in the lkf is divided into two unequal subintervals: [k −hm, k −α−1] and [k −α, k −1], where 0 < α < hm is a tuning parameter. taking the difference of ∆vi(k) = vi(k + 1)−vi(k), we can obtain ∆v1(k) = x t (k) ( at pa−p ) x(k) + 2xt (k)at pbx(k −h(k)) +xt (k −h(k))bt pbx(k −h(k)) (10) ∆v2(k) = x t (k)q1x(k)−xt (k −α)q1x(k −α) +xt (k −α)q2x(k −α)−xt (k −hm)q2x(k −hm) +xt (k)q3x(k)−xt (k −h(k))q3x(k −h(k)) (11) ∆v3(k) = −1∑ i=−α [ yt (k)z1y(k)−yt (k + i)z1y(k + i) ] + −1−α∑ i=−hm [ yt (k)z2y(k)−yt (k + i)z2y(k + i) ] + −1∑ i=−h(k) [ yt (k)z3y(k)−yt (k + i)z3y(k + i) ] = αyt (k)z1y(k)− −1∑ i=−α yt (k + i)z1y(k + i) + (hm −α)yt (k)z2y(k)− −1−α∑ i=−hm yt (k + i)z2y(k + i) +h(k)yt (k)z3y(k)− −1∑ i=−h(k) yt (k + i)z3y(k + i) = yt (k) [αz1 + (hm −α)z2 + h(k)z3]y(k) − k−1∑ m=k−α yt (m)z1y(m)− k−1−α∑ m=k−hm yt (m)z2y(m) − k−1∑ m=k−h(k) yt (m)z3y(m) = yt (k) [αz1 + (hm −α)z2 + h(k)z3]y(k) − k−1∑ m=k−α yt (m)z1y(m)− k−1−α∑ m=k−hm yt (m)z2y(m) − k−1∑ m=k−h(k) yt (m)z3y(m) (12) it is know from (2) that, for any k ∈ z+, h(k) ∈ [0,α−1] or h(k) ∈ [α,hm]. define two sets ω1 = { k : h(k) ∈ [0,α] , k ∈ z+ } (13) ω2 = { k : h(k) ∈ [α + 1,hm] , k ∈ z+ } (14) in the following, we will discuss the variation of ∆v (k) for two cases (k ∈ ω1 and k ∈ ω2). case 1. for k ∈ ω1, i.e. 0 ≤ h(k) ≤ α. k−1∑ m=k−α yt (m)z1y(m) = k−1−h(k)∑ m=k−α yt (m)z1y(m) + k−1∑ m=k−h(k) yt (m)z1y(m) (15) 780 s.b. stojanovic, d.lj. debeljkovic, n. dimitrijevic ∆v3(k) = y t (k) [αz1 + (hm −α)z2 + h(k)z3]y(k)− k−1−h(k)∑ m=k−α yt (m)z1y(m) − k−1∑ m=k−h(k) yt (m) (z1 + z3)y(m)− k−1−α∑ m=k−hm yt (m)z2y(m) (16) because z1 + z3 > 0, h(k) ≤ α and α−h(k) ≤ α, using lemma 1, it follows − k−1∑ m=k−h(k) yt (m) (z1 + z3)y(m) ≤− 1 h(k) [x(k)−x(k −h(k))]t (z1 + z3) [x(k)−x(k −h(k))] ≤ 1 α xt (k) (−z1 −z3)x(k) + 1α2x t (k) (z1 + z3)x(k −h(k)) + 1 α xt (k −h(k)) (−z1 −z3)x(k −h(k)) (17) − k−1−h(k)∑ m=k−α yt (m)z1y(m) ≤− 1 α−h(k) [x(k −h(k))−x(k −α)] t z1 [x(k −h(k))−x(k −α)] ≤ 1 α xt (k −h(k)) (−z1)x(k −h(k)) + 1α2x t (k −h(k))z1x(k −α) + 1 α xt (k −α) (−z1)x(k −α) (18) − k−1−α∑ m=k−hm yt (m)z2y(m) ≤− 1 hm −α [x(k −α)−x(k −hm)] t z2 [x(k −α)−x(k −hm)] ≤ 1 hm −α xt (k −α) (−z2)x(k −α) + 1hm −α2x t (k −α)z2x(k −hm) + 1 hm −α xt (k −hm) (−z2)x(k −hm) (19) combining (10)-(19), it yields ∆v (k) ≤ ξt (k)φ̂ξ(k) φ̂ =   φ11 + (a− i)t u1(a− i) φ12 + (a− i)t u1b 0 0 ∗ φ22 + bt u1b φ23 0 ∗ ∗ φ33 φ34 ∗ ∗ ∗ φ44   ξ(k) = [ xt (k) xt (k −h(k)) xt (k −α) xt (k −hm) ]t (20) obviously, ∆v (k) < 0 for k ∈ ω1 if φ̂ < 0. using the schur complement, it is easy to see that ∆v (k) < 0 holds if φ < 0 and h(k) ∈ [0,α]. case 2. similarly, for k ∈ ω2, i.e. α + 1 ≤ h(k) ≤ hm , using the schur complement, it is easy to see that ∆v (k) < 0 holds if ψ < 0. from the above discussions, we can see that for all k ∈ z+ if (4)-(5) hold, ∆v (k) < 0, which completes the proof. 2 remark 3. theorem 2 presents a stability result which depends on the maximum delay bound hm . the conditions in theorem 2 are expressed in terms of lmis, and therefore, they can be easily checked by using standard numerical software. remark 4. the delay interval [k −hm, k −1] in the id-d lfk is divided into two unequal subintervals: [k −hm, k −α−1] and [k −α, k −1], where 0 < α < hm is a tuning parameter. stability of discrete-time systems with time-varying delay: delay decomposition approach 781 consequently, the different weighing matrices in the lyapunov functional are used in various subintervals and the information of delayed state x(k −α) can be taken into full consideration. further, using the subintervals and lemma 1, the upper bounds of some terms in ∆v3(k) are more accurately estimated than by using the previous methods since the upper bound hm of delay h(k) on the interval 0 ≤ h(k) ≤ hm is substituted with two less conservative upper bounds α and hm on the subintervals 0 ≤ h(k) ≤ α and α < h(k) ≤ hm , respectively. so the decomposition method presented in theorem 2 can reduce the value of maub. an algorithm for seeking a corresponding values of α (0 < α < hm) subject to (4)-(5), such that the maub of hm has maximal value, can easily be obtained. algorithm 5. step 1. let h = 0 and α = 0. step 2. h = h + 1. step 3. α = α + 1. step 4. if inequalities (4)-(5) is feasible, then αm = α, α = 0 and go to step 2; otherwise, go to step 5. step 5. if α = h−1, go to step 6; otherwise, go to step 3. step 6. the maximal delay is hm = h−1 and the minimal value of tuning parameterαis αm. 3 numerical examples in this section, two examples are presented. the obtained results have been compared with several existing criteria in the literature. example 1. consider system (1) with the time-varying delay h(k) satisfying (2) and a = [ 0.8 0 0 λ ] , b = [ −0.1 0 −0.1 −0.1 ] , λ ∈{0.91, 0.97} case 1 (λ = 0.91). this system was considered in [13] and [22]. table 1 lists the maub of delay obtained from theorem 2 of this paper. for comparison, results from [13, 22] are also listed in the table. it is clear that theorem 2 leads to better results than those in [13, 22]. table 1. comparison of maub of delay based on different existing methods for λ = 0.91 method hm [13] 41 [22, corollary 1] 42 theorem 2 in this paper 46 for α = 19, · · · ,30 case 2 (λ = 0.97). for comparison, the results from [2, 6, 7, 9] and this paper are listed in table 2. it is clear that theorem 2 gives much better results than the existing delay-dependent criteria. example 2. consider system (1) with the time-varying delay h(k) satisfying (2) and case 1. [1, 14, 15] a = [ 0.6 0 0.35 0.7 ] , b = [ 0.1 0 0.2 0.1 ] case 2. [8, 9, 15, 24] a = [ 0.8 0 0.05 0.9 ] , b = [ −0.1 0 −0.2 −0.1 ] 782 s.b. stojanovic, d.lj. debeljkovic, n. dimitrijevic table 2. comparison of maub of delay based on different existing methods for λ = 0.97 method hm [9, theorem 1] 4 [7, theorem 3] 8 [6, lemma 2] 8 [2, theorem 1] 10 theorem 2 in this paper 17 for α = 9,10,11 for the above systems, the lmis conditions for delay-independent stability [16] p = pt > 0, q = qt > 0,   −p + q 0 at p ∗ −q bt p ∗ ∗ −p   < 0 are feasible, from which we deduce that both systems are stable for 0 ≤ h(k) < ∞. using the existing delay-dependent criteria, it can be obtained only the finite value of maub, which will guarantee the stability of the given systems. tables 3 (case 1) and 4 (case 2) list the intervals of time delay for different methods. based on theorem 2 in this paper, large numerical values of maub are obtained (hm → ∞). hence, using of theorem 2 leads to better results than those in [1, 8, 9, 14, 15, 25]. table 3. interval of time delay for case 1 method interval [1, th. 3.1] 2 ≤ h(k) ≤ 10 [15, theorem 1], [15, theorem 2] 2 ≤ h(k) ≤ 13 [14, theorem 3.2] 0 ≤ h(k) ≤ 12 [2, theorem 1] 2 ≤ h(k) ≤ 15 theorem 2 in this paper 0 ≤ h(k) ≤ 10 ·1021 table 4. interval of time delay for case 2 method interval stability [9, theorem 1] 0 ≤ h(k) ≤ 6 [15, theorem 2] 0 ≤ h(k) ≤ 10 [8, theorem 1] 0 ≤ h(k) ≤ 12 [24, theorem 5] 2 ≤ h(k) ≤ 19 [24, theorem 7] 2 ≤ h(k) ≤ 20 theorem 2 in this paper 0 ≤ h(k) ≤ 9.61 ·108 stability of discrete-time systems with time-varying delay: delay decomposition approach 783 4 conclusion in this paper, the problem of obtaining delay dependent stability conditions for a class of systems with interval time-varying delay is discussed. a new interval delay-dependent lyapunov– krasovskii functional is constructed by splitting the delay interval into two unequal intervals by tuning parameter α. the free-weighting matrices and model transformation are not used in order to derive delay-dependent criteria. numerical examples show that the results proposed in this paper are much less conservative while comparing the maximum allowable upper bound of delay with the existing results in the literature. bibliography [1] e.k. boukas, discrete-time systems with time-varying time delay: stability and stabilizability, mathematical problems in engineering, article id 42489:1-10, 2006. [2] k.f. chen and i-k fong, stability of discrete-time uncertain systems with a time-varying state delay, proc. imeche, part i: j. systems and control engineering, 222: 493-500, 2008. [3] e. fridman and u. shaked, a descriptor system approach to h∞ control of linear time-delay systems, ieee transactions on automatic control, 47(2): 253–270, 2002. [4] e. fridman and u. shaked, h∞ control of linear state delay descriptor systems: an lmi approach, linear algebra and its applications, 351–352: 271–302, 2002. [5] e. fridman, new lyapunov–krasovskii functionals for stability of linear retarded and neutral type systems, systems and control letters, 43: 309–319, 2001. [6] e. fridman and u. shaked, delay-dependent h∞ control of uncertain discrete delay systems, european journal of control, 11: 29-37, 2005. [7] e. fridman and u. shaked, stability and guaranteed cost control of uncertain discrete delay systems, international journal of control, 78(4): 235-246, 2005. [8] h. gao and t. chen, new results on stability of discrete-time systems with time-varying state delay, ieee transactions on automatic control, 52: 328–334, 2007. [9] h. gao, j. lam and y. wang, delay-dependent output-feedback stabilization of discretetime systems with time-varying state delay, iee proc.: control theory applications, 151(6): 691-698, 2004. [10] q.l. han and d. yue, absolute stability of lur’e systems with time-varying delay, iet control theory, 1(3): 854–859, 2007. [11] y. he, m. wu, j.h. she and g.p. liu, parameter-dependent lyapunov functional for stability of time-delay systems with polytopic-type uncertainties, ieee transactions on automatic control, 49: 828–832, 2004. [12] x. jiang, q.l. han and x.h. yu, stability criteria for linear discrete-time systems with interval-like time-varying delay, proc. american control conference, new orleans, usa, 2817–2822, 2005. [13] y.s. lee and w.h. kwon, delay-dependent robust stabilization of uncertain discrete-time state-delayed systems, proc. 15thifac world congr., 15(1): barcelona, spain 2002. 784 s.b. stojanovic, d.lj. debeljkovic, n. dimitrijevic [14] v. leite and m. miranda, robust stabilization of discrete-time systems with time-varying delay: an lmi approach, mathematical problems in engineering, 2008: article id 876509, 15 pages, 2008. [15] x.g. liu, r.r. martin, m. wu and m.l. tang, delay-dependent robust stabilization of discrete-time systems with time-varying delay, iee proc.: control theory and applications, 153(6): 689–702, 2006. [16] m.s. mahmood, robust control and filtering for time-delay systems, marcel-dekker, new york, 2000. [17] y.s. moon, p. park and w.h. kwon, robust stabilization of uncertain input-delayed systems using reduction method, automatica, 37: 307–312, 2001. [18] p. park and j.w. ko stability and robust stability for systems with a time-varying delay, automatica, 43: 1855–1858, 2007. [19] e. shustin and e. fridman, on delay-derivative-dependent stability of systems with fastvarying delays, automatica, 43: 1649–1655, 2007. [20] m. wu, y. he, j.h. she and g.p. liu, delay-dependent criteria for robust stability of time-varying delay systems, automatica, 40: 1435–1439, 2004. [21] s. xu and j. lam, improved delay-dependent stability criteria for time-delay systems, ieee transactions on automatic control, 50(3): 384-387, 2005. [22] s. xu, j. lam and y. zou, improved conditions for delay-dependent robust stability and stabilization of uncertain discrete time-delay systems, asian journal of control, 7(3): 344348, 2005. [23] d. yue and q.l. han, a delay-dependent stability criterion of neutral systems and its application to a partial element equivalent circuit model, ieee transactions on circuits and systems-ii, 51(12): 685–689, 2004. [24] d. yue, e. tian and y. zhang, a piecewise analysis method to stability analysis of linear continuous/discrete systems with time-varying delay, international journal of robust and nonlinear control, 19: 1493–1518, 2009. [25] x.m. zhang and q.l. han, a delay decomposition to delay-dependent stability for linear systems with time-varying delays, international journal of robust and nonlinear control, 19: 1922–1930, 2009. [26] x.l. zhu and g.h. yang, new results of stability analysis for systems with time-varying delay, international journal of robust and nonlinear control 20: 596–606, 2010. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 279-287 lorenz system stabilization using fuzzy controllers radu-emil precup, marius l. tomescu, ştefan preitl abstract: the paper suggests a takagi sugeno (ts) fuzzy logic controller (flc) designed to stabilize the lorentz chaotic systems. the stability analysis of the fuzzy control system is performed using barbashin-krasovskii theorem. this paper proves that if the derivative of lyapunov function is negative semi-definite for each fuzzy rule then the controlled lorentz system is asymptotically stable in the sense of lyapunov. the stability theorem suggested here offers sufficient conditions for the stability of the lorenz system controlled by ts flcs. an illustrative example describes the application of the new stability analysis method. keywords: chaotic systems, fuzzy control, lyapunov functions, nonlinear equations and systems. 1 introduction chaotic systems exhibit exponential sensitivity to small perturbations and also have a large variety of distinct possible dynamical motions. these properties will be reviewed in this paper along with their consequences and implications to active control of chaotic systems using small control signals. chaos control refers to a process wherein a tiny perturbation is applied to a chaotic system in order to achieve a desirable (chaotic, periodic, or stationary) behavior [9]. the idea of chaos control was formulated in 1990 at the university of maryland [5]. in [5] and a method for stabilizing an unstable periodic orbit was suggested. the basic idea is in the fact that a significant change in the behavior of a chaotic system can be made by a very small correction of its parameters. there exist three historically earliest and most actively developing directions of research in chaos control: open-loop control based on periodic system excitation referred to also as nonfeedback control, the method of poincaré map linearization called also the ott, grebogi and yorke (ogy) method [5] and the method of time-delayed feedback (pyragas method) [7, 8]. lima and pettini [3] proposed a disturbance-based technique of stabilizing the chaotic system towards a periodic state. in this case the periodicity is fixed by the frequency of a control signal disturbing the parameter space. such a technique was called "suppression of chaos" or "nonfeedback control". its implementation can be complicated by the fact that it needs a preliminary learning task of the system response to possible disturbances of variable amplitude. the ogy method [5] stabilizes unstable periodic orbits (upos) found in the chaotic regime via small feedback disturbances to an accessible parameter. the control disturbance is offered when the orbit crosses a given poincaré section such that the trajectory will be close to the stable manifold of the desired upo. in this method in the limit of zero noise the orbit of the controlled system is identical to the upo of uncontrolled system and the feedback disturbance vanishes. a drawback of the ogy method is that it becomes difficult to apply for very fast systems since it requires the detailed computer-aided analysis of the system at each crossing of the poincaré section. also, noise can result in occasional bursts where the trajectory moves far away from the controlled periodic orbit. an alternative method of feedback stabilization of upo’s, introduced by pyragas [7], consists of a continuous linear feedback applied at each computational time step. as in the ogy case, in this method the controlled orbit coincides with the upo of the uncontrolled system and the feedback vanishes for zero noise when control is achieved. the feedback procedure can be applied without a priori knowledge on the location of the periodic orbit for a version in which the feedback term contains a delayed variable in which the delay corresponds to the period of the upo. moreover, it is expected that it can be used for fast systems, since no parameters are changed on a fast time-scale, and the method does not require copyright © 2006-2007 by ccc publications 280 radu-emil precup, marius l. tomescu, ştefan preitl a computer-aided analysis of the system. for some systems this method is robust even in the presence of considerable noise [7]. a disadvantage of pyragas’s method is that it achieves control only over a limited range of the parameter space i.e. a given orbit will become eventually unstable in the controlled system as the parameters are varied more deeply into the chaotic regime. the use of delayed feedback also increases the dimensionality of the system. the paper is organized as follows. the accepted class of fuzzy logic control systems with takagisugeno (ts) fuzzy logic controllers (flcs) is described in the next section. section 3 is focused on the design of stable fuzzy logic control systems based on the new stability analysis method expressed in terms of a theorem formulated on the basis of the barbashin-krasovskii theorem. then, section 4 performs an analysis of the lorentz equation that exhibits chaotic behavior. section 5 is dedicated to the stable design of a ts flc to stabilize the lorentz chaotic system, and section 6 concludes the paper. 2 accepted class of fuzzy logic control systems fuzzy logic control has become an important methodology in control engineering because it can offer superior performance indices and better trade-off to system robustness and sensitivity, which results into handling nonlinear control better than traditional methods. calvo and cartwright [1] introduced the idea of fuzzy control in chaotic systems. hua o. wang and kazuo tanaka proposed a stability design approach to lorenz system [10], based on ts fuzzy models using a linear matrix inequality (lmi) technique. in [11] oscar calvo proposed a mamdani flc for control of chaos in chua’s circuit. ahmad m. harb and issam al-smadi presented in [11] a mamdani flc to control the lorenz equation and chua’s circuit to be a stable constant or periodic solution, where a single tuning parameter is chosen in case of lorenz system and the flc adjusts this parameter. in this paper the fuzzy logic control system is accepted to consist of a process and a ts flc as shown in figure 1. the flc consists of r fuzzy rules. the process of extracting the knowledge from human operators in the form of fuzzy control rules is by no means trivial, nor is the process of deriving the rules based on heuristics and good understanding the process and control systems theory. figure 1: fuzzy logic control system structure. let x be a universe of discourse. consider the nonlinear autonomous system of the following form representing the state-space equations of the controlled process: ẋ = f (x) + b (x) u, x (t0) = x0 (1) where: − x ∈ x , x = [x1, x2, ..., xn]t is the state vector, − f (x) = [ f1 (x) , f2 (x) , ..., fn (x)]t , b (x) = [b1 (x) , b2 (x) , ..., bn (x)]t are functions describing the dynamics of the plant, lorenz system stabilization using fuzzy controllers 281 − u is the control signal applied to the process calculated by the weighted sum defuzzification method, − the time variable, t, has been omitted to simplify the further formulation, − x (t0) is the initial state vector at time t0 . the i-th fuzzy rule / fuzzy control rule in the fuzzy rule base of t-s flc is of the form (2): rule i : if xi is xi,1 and ... and xn is xi,n then u = ui (x) , i = 1, r, r ∈ in∗, (2) where xi,1, xi,2, .., xi,n are fuzzy sets that describe the linguistics terms (lts) of input variables, u = ui (x)is the control output of rule i, and the function and is a t-norm and can be a single value or a function of the state vector, x. each fuzzy rule generates an activation degree: αi (x (t)) = and ( µi,1 (x1 (t)) , µi,2 (x2 (t)) ...µi,n (xn (t)) ) , αi ∈ [0, 1] , i = 1, r (3) it is assumed that for any x ∈ x in the input universe of discourse x there exists at least one αi ∈ [0, 1] , i = 1, r, among all rules that is nonzero. the control signal u, which must be applied to the process, is a function of αi and ui . applying the weighted sum defuzzification method, the output of the flc will be: u = ∑ri=1 αiui ∑ri=1 αi (4) where r is the total number of rules. 3 stability analysis of fuzzy logic control systems the stability analysis presented in this section is based on barbashin-krasovskii theorem presented in [2]. this section is concentrated on the formulation and proof of theorem 3 that ensures sufficient conditions for the stability of nonlinear systems controlled by ts flcs. the function v (x) = xt px is considered, where p ∈ irn×n is a positive definite matrix. from this it results that v is positive definite and has continuous partial derivatives. the derivatives of v in the conditions (1) are: v̇ (x) = ẋt px + xt pẋ = ( f (x) + b (x) u (x))t px + xt p ( f (x) + b (x) u (x)) = f (x) + b (x) u (x) (5) where f (x) = f (x)t px + xt p f (x) and b (x) = b (x)t px + xt pb (x). definition 1. if v (x) = xt px is defined on domain x containing the origin containing the origin, then for any fuzzy rule the derivative v̇i = f + bui is defined. proposition 2. for any input x0 ∈ x it results that umin (x0) ≤ u (x0) ≤ umax (x0), where umin (x0) = min (u1 (x0) , ..., ur (x0)) and umax (x0) = max (u1 (x0) , ..., ur (x0)) . proof. let x0 ∈ x , than among all rules two rules can be found, with indices p and q, such that up (x0) = umin (x0) and uq (x0) = umax (x0). hence the following result is valid: umin (x0) = r ∑ i=1 αi (x0) umin (x0) r ∑ i=1 αi (x0) ≤ r ∑ i=1 αi (x0) ui (x0) r ∑ i=1 αi (x0) ≤ r ∑ i=1 αi (x0) umax (x0) r ∑ i=1 αi (x0) = umax (x0) ⇒ umin (x) ≤ u (x) ≤ umax (x) ,∀x ∈ x (6) this property permits the formulation of theorem 3 that outlines the stability analysis approach. 282 radu-emil precup, marius l. tomescu, ştefan preitl theorem 3. let x = 0 be an equilibrium point for (1). let v (x) = xt px be a positive function on domain x containing the origin, such that v̇i (x) ≤ 0, i = 1, r, x ∈ x . let s = { x ∈ x ∣∣v̇ (x) = 0 } and suppose that no solution can stay identically in s excepting the trivial solution x (t) ≡ 0. then, the origin is asymptotically stable. proof. it should be proved that v̇ is negative semidefinite in the conditions (1). from the conditions of theorem 3 one may write: v̇ (x) = f (x) + b (x) ui < 0, i = 1, r, x ∈ x (7) from proposition 2 it is obtained that for ∀x ∈ x there exist two rules, with indices p and q, such that up (x0) = umin (x0) and uq (x0) = umax (x0). three possible cases should be considered as follows: case 1: if b (x) is strictly positive, from proposition 2 the result is: up (x) ≤ u (x) ≤ uq (x) ⇒ ⇒ f (x) + b (x) up (x) ≤ f (x) + b (x) u (x) ≤ f (x) + b (x) uq (x) ≤ 0 ⇒ ⇒ v̇p (x) ≤ v̇ (x) ≤ v̇q (x) ≤ 0, (8) therefore v̇ (x) ≤ 0. case 2: if b (x) is strictly negative, proposition 2 yields: up (x) ≤ u (x) ≤ uq (x) ⇒ ⇒ 0 ≥ f (x) + b (x) up (x) ≥ f (x) + b (x) u (x) ≥ f (x) + b (x) uq (x) ⇒ ⇒ 0 ≥ v̇p (x) ≥ v̇ (x) ≥ v̇q (x) (9) therefore once more v̇ (x) ≤ 0. case 3: if b (x) = 0 from (8) we have v̇ (x) = f (x) < 0. from the above cases it is justified to conclude that, whatever the value of is, the result will be v̇ ≤ 0. consequently, theorem 3 satisfies all conditions of barbashin-krasovskii theorem [2], so the equilibrium point at the origin will be globally asymptotically stable. 4 properties of lorenz equations this section presents an overview on dynamic chaotic processes with focus on the lorenz system referred to also as lorenz equation or attractor [4]. modern discussions of chaos are mainly based on the works about the lorenz attractor. the lorenz equation is commonly defined as three coupled ordinary differential equations expressed in (10) to model the convective motion of fluid cell, which is warmed from below and cooled to above: dx dt = σ (y−x) dy dt = x (ρ −z)−y dz dt = xy−β z (10) where the three parameters σ , ρ, β > 0 are called the prandtl number, the rayleigh number and the physical proportion, respectively. these constant parameters determine the behavior of the system and the three equations exhibit chaotic behavior i.e. they are extremely sensitive to initial conditions. a lorenz system stabilization using fuzzy controllers 283 small change in initial conditions leads quickly to large differences in corresponding solutions. the classic values used to demonstrate chaos are σ = 10 and β = 83 . it is important to note that x, y, z are not spatial coordinates. the variable x is proportional to the intensity of the convective motion while y is proportional to the temperature difference between the ascending and descending currents; similar signs of x and y denote that warm fluid is rising and cold fluid is descending. the variable z is proportional to the distortion of vertical temperature profile from linearity, a positive value indicating that the strongest gradients occur near the boundaries. the essential properties of lorenz equation can be summarized as follows: nonlinearity. the two nonlinearities are xy and xz. symmetry. equations are invariant under (x, y) → (−x,−y). in other words, if (x(t),y(t),z(t)) is a solution, (−x (t) ,−y (t) , z (t)) will be also a solution. volume contraction. the lorenz system is dissipative i.e. volumes in phase-space contract under the flow. fixed points. in order to solve (10) for the fixed points let f (x) =   σ (y−x) x (ρ −z)−y xy−β z   and it is necessary to solve f (x) = 0. it is clear that one of those fixed point is s0 = (0, 0, 0) and with some algebraic operations one may determine that s1,2 = ( ± √ β (ρ −1),± √ β (ρ −1), (ρ −1) ) are equilibrium points and real when ρ > 1. invariance. the z-axis is invariant, meaning that a solution that starts on the z-axis (i.e. x = y = 0) will remain on the z-axis. in addition, the solution will tend towards the origin if the initial conditions belong to the z-axis. solutions stay close to origin. if σ , ρ, β > 0 then all solutions of the lorenz equation will enter an ellipsoid centered at (0, 0, 2b) in finite time. in addition, the solution will remain inside the ellipsoid once it has entered. it follows by definition that the ellipsoid is an attracting set. 5 design of stable fuzzy logic control system the design of the fuzzy logic control system with ts flc starts with rewriting the ordinary differential equation (10) as the following form representing the state-space equations of the controlled process: ẋ =   σ (x2 −x1) x1 (ρ −x3)−x2 x1x2 −β x3   +   1 0 0   u, x (t0) = x0 (11) next, the fuzzification module of ts flc is set according to figure 2 showing the membership functions that describe the linguistic terms (lts) of the linguistic variables x1 and x2. the lts representing "positive", "zero" and "negative" values are noted by p, z and n, respectively. the inference engine employs the fuzzy logic operators and and or implemented by the min and max functions, respectively. the inference engine is assisted by the complete set of fuzzy control rules illustrated in table 1, and the weighted sum defuzzification method is utilized. summarizing, the only parameters to be calculated are the consequents ui, i = 1, 9 , in the 9 fuzzy control rules. 284 radu-emil precup, marius l. tomescu, ştefan preitl figure 2: membership functions of x1 and x2. table 1 fuzzy control rule base rule antecedent consequent x1 x2 u 1 p p u1 2 n n u2 3 p n u3 4 n p u4 5 p z u5 6 n z u6 7 z p u7 8 z n u8 9 z z u9 theorem 3 will be applied as follows to find the values of ui for which the system (11) can be stabilized with the above described ts flc. let x = [−40, 40]× [−40, 40]× [−40, 40] that contain the origin. the lyapunov function candidate v (x) = 12 ( x21 + x 2 2 + x 2 3 ) is considered, which is a continuously differentiable positive function on domain x . the total derivative of v with respect to time using (11) is: v̇ (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u (12) from (12) it is obvious that v̇ (0) = 0 ⇔ x = 0 and this implies s = {0}. further on, each fuzzy control rule will be analyzed here: • for rule 1 it is obtained x1 is p and x2 is p. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u1. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u1 = −40 (σ + ρ). • for rule 2 it is obtained x1 is n and x2 is n. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u2. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u2 = 40 (σ + ρ). • for rule 3 it is obtained x1 is p and x2 is n. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u3. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u3 = 0. • for rule 4 it is obtained x1 is n and x2 is p. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u4. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u4 = 0. • for rule 5 it is obtained x1 is p and x2 is z. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u5. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u5 = −10 (σ + ρ). lorenz system stabilization using fuzzy controllers 285 • for rule 6 it is obtained x1 is n and x2 is z. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u6. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u6 = 10 (σ + ρ). • for rule 7 it is obtained x1 is z and x2 is p. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u7. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u7 = −x2 (σ + ρ). • for rule 8 it is obtained x1 is z and x2 is n. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u8. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u8 = −x2 (σ + ρ). • for rule 9 it is obtained x1 is z and x2 is z. then v̇1 (x) = −σ x21 −x22 −β x23 + x1x2 (σ + ρ) + x1u9. in these conditions to satisfy v̇ (x) ≤ 0 it is chosen u9 = −x2 (σ + ρ). concluding, due to theorem 3 it results that the system composes by this ts flc and the lorenz process described by (11) is globally asymptotically stable in the sense of lyapunov at the origin. considering the values of process parameters σ = 10, ρ = 28, β = 83 , the initial state x1 (0) = 1, x2 (0) = −1and x3 (0) = 1, the responses of x1, x2 and x3 versus time in the closed-loop system are shown in figures 3-7. figure 3: state variable x1 versus time of lorenz system without flc (a) and with flc (b). figure 4: state variable x2 versus time of lorenz system without flc (a) and with flc (b). figure 5: state variable x3 versus time of lorenz system without flc (a) and with flc (b). 286 radu-emil precup, marius l. tomescu, ştefan preitl figure 6: phase portraits of lorenz system without control (a) and with flc (b). 6 conclusions the paper has proposed a simple and efficient fuzzy logic control solution employing a ts flc meant for stabilizing the lorenz system. the fuzzy logic controller design is assisted by the stability approach stated and proved in terms of theorem 3. theorem 3 has general character guaranteeing sufficient stability conditions for fuzzy logic control systems with ts flcs. this approach decomposes the stability analysis to the analysis of each rule so the complexity is reduced drastically. the new stability analysis approach is different to lyapunov’s theorem and allows more applications. in particular, it is well suited to controlling processes where the derivative of the lyapunov function candidate is not negative definite, therefore applying theorem 3 to nonlinear processes controlled by ts flcs can be successful in case of a wide area of nonlinear dynamic systems. digital simulations illustrated in this paper prove that the proposed stability analysis method is simpler than the nonfeedback control method proposed by lima and pettini [3], than ogy method proposed by ott, grebogi and yorke [5] and than pyragas method [7]. besides, the controller structure presented in section 5 can be implemented as low cost automation solution [6]. further research will be dedicated to offering other low cost fuzzy solutions for chaotic systems. bibliography [1] calvo o., cartwright j. h. e., fuzzy control of chaos, international journal of bifurcation and chaos, vol. 8, number 8, pp. 1743-1747, 1998. [2] khalil h. k., nonlinear systems, 3rd edition, prentice hall, englewood cliffs, nj, 2002. [3] lima r., pettini m., suppression of chaos by resonant parametric perturbations, physical letter a, vol. 41, pp. 726-733, 1990. [4] lorenz e. n., the essence of chaos, university of washington press, 1993. [5] ott e., grebogi, c., yorke, j. a, controlling chaos, physical review letter, vol. 64, pp. 1196-1199, 1990. [6] precup r.-e., preitl s., optimisation criteria in development of fuzzy controllers with dynamics, engineering applications of artificial intelligence, vol. 17, no. 6, pp. 661-674, 2004. [7] pyragas k, continuous control of chaos by self-controlling feedback, physical letter a, vol. 170, pp. 421-427, 1992. lorenz system stabilization using fuzzy controllers 287 [8] pyragas k., tamaževièius a., experimental control of chaos by delayed self-controlling feedback, physical letter a, vol. 180, pp. 99-102, 1993. [9] schuster h. g., handbook of chaos control: foundations and applications, wiley-vch verlag gmbh, 1999. [10] wang h. o., tanaka k., fuzzy modeling and control of chaotic systems, in integration of fuzzy logic and chaos theory, springer-verlag, berlin, heidelberg, 2006. [11] zhong l., halang w. a., chen, g. (eds.), integration of fuzzy logic and chaos theory, springerverlag, berlin, heidelberg, 2006. radu-emil precup "politehnica" university of timisoara department of automation and applied informatics bd. v. parvan 2, ro-300223 timisoara, romania e-mail: rprecup@aut.utt.ro marius l. tomescu "aurel vlaicu" university computer science faculty complex universitar m, str. elena dragoi 2, ro-310330 arad, romania e-mail: tom_uav@yahoo.com ştefan preitl "politehnica" university of timisoara department of automation and applied informatics bd. v. parvan 2, ro-300223 timisoara, romania e-mail: spreitl@aut.utt.ro received: december 24, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 1, pp. 6-7 editorial – special issue on collaboration support systems (css) h.s. ko, s. y. nof recent and emerging advances in computer and information science and technology have realized a powerful computing and communication environment. it enables effective interactions and collaboration among groups of people and systems (and systems-of-systems) beyond traditional restrictions of time and space. the evolution in hardware (e.g., pervasive computing devices, wireless sensor networks, nano-electronics) and software (e.g., multi-agent systems, workflow and information integration, interaction models and protocols) technology, and their flexible teaming have further enabled diverse forms of collaboration approaches. it has been observed during the last few decades that numerous collaboration methodologies, tools and applications in various domains have emerged to provide better quality services, helping to solve domain-specific, highly complex problems. the development of collaboration tools and methodologies has increased the domain knowledge that can be discovered and shared by individuals, and the level and intensity of interactions and collaboration that can dramatically decrease problem complexity and increase solution quality. at the same time, inefficient interactions, task and information overloads, and ineffective collaboration are prevalent. in spite of the considerable progress in collaboration tools and methods, a sound foundation of collaboration science is yet to be established; lacking such foundation is a major obstacle in leveling up sophistication and anticipated benefits of collaboration methods. recently, however, collaboration control theory (cct) models and techniques have been proposed as the foundation of designing collaboration support systems (css), and new features of css are being investigated in various areas based on cct. in order to provide readers with a significant opportunity of investigating novel and forthcoming problems in collaboration research, the guest editors have invited authors from various disciplines and focused on collaborative design and modeling features in the respective areas. after careful and rigorous review and revision processes, eight articles have been selected for their special quality and relevance to css. the selected articles are organized along two main topics in css: 1) css models and theories; and 2) css methods and applications. in the area of css models and theories: • "swarming models for facilitating collaborative decisions" – zamfirescu and filip introduce the use of swarming models (stigmergic mechanisms) to build collaborative support systems for complex cognitive tasks, exemplifying them through an experiment for group decision processes (gdp) in e-meetings. • "design of protocols for task administration in collaborative production systems" – ko and nof investigate the design of task administration protocols for collaboration support in production system, where those protocols, as control mechanisms, can manage complicated events in the collaborative task workflow environment and overcome limitations of coordination protocols. • "mining authoritativeness of collaborative innovation partners" – engler and kusiak, present a novel approach to automatically determine the authoritativeness of entities for collaboration and demonstrate the use of mining schema for identifying collaboration partners over the internet. • "reference architecture for collaborative design" – huang, yang, chen, and nof present reference architecture for collaborative design (cd) as a framework for analyzing and supporting cd, then describe and illustrate dimensions forming the architecture as a cube of design aspect, design stage, and collaboration scope. the next group of articles focuses on css methods and applications: copyright c© 2006-2010 by ccc publications editorial – special issue on collaboration support systems (css) 7 • "coordinating aerial robots and unattended ground sensors for intelligent surveillance systems" – de freitas, heimfarth, allgayer, wagner, larsson, pereira, and ferreira present a system solution to enable interoperability and coordination support for heterogeneous sensor networks composed of low-end ground sensor nodes and mobile sensors carried by autonomous aerial robots. • "introducing collaborative practices in small medium enterprises" – antonelli and chiabert propose a methodology to evaluate the possibility of using plm as a framework which exploits collaboration links within an enterprise, based on an exhaustive analysis of the plm impact on different aspects of the enterprise. • "a software system development life cycle model for improved stakeholders’ communication and collaboration" – cohen, dori, and de haan describe a collaborative software system development life cycle model using object process methodology (opm), which includes various stakeholders and variables, and considers multiple aspects in collaboratively developing off-theshelf software. • "gaze, posture and gesture recognition to minimize focus shifts for intelligent operating rooms in a collaborative support system" – wachs describes the design of an intelligent, collaborative system framework, which involves the integration of machine vision, voice recognition and computer graphics-projection techniques to improve operation rooms for surgery by highly intuitive, natural and multimodal interactions. these articles are presented based on related scientific investigations around the world and reflect well on the broad and challenging area of css. the guest editors wish to thank all the contributing authors, the referees, and the editorial office colleagues who have all endeavored to bring this special issue on css to you. h.s. ko and s.y. nof west lafayette, indiana, usa special issue guest editors int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 167-177 hierarchical distributed reasoning system for geometric image generation nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu university of craiova, romania department of mathematics and computer science a.i. cuza st, no. 13, 200585 e-mail: ntand@rdslink.ro, mghindeanu@yahoo.com abstract: the concept of hierarchical reasoning system was introduced in [5], where an intuitive method to build such systems based on their inputs is given. in this paper we formalize several concepts which open a possible research line concerning the use of these structures. a hierarchical reasoning system h is a directed graph organized on several levels such that each node of the level j is a hyper-schema of order j. as a mathematical structure, h is an abstract one and a special kind of formal computation is introduced. as a result of this computation we obtain a set f(h) of formulas. we explain what we understand by an interpretation of h and define its corresponding semantical computation. by means of an interpretation i(h) for h and applying the rules of the semantical computation, each element of w ∈ f(h) becomes some object i(w) of a given space. we exemplify these concepts and we show that for two distinct interpretations i1(h) and i2(h) for the same system h, a given formula w ∈ f(h) is transformed into a sentence i1(w) of a natural language whereas i2(w) is a geometric image. a short description of a java implementation of a hierarchical system generating images is also given in a separate section. by examples we show that the mechanism introduced in this paper allows us to model the distributed knowledge. finally several open problems are specified. keywords: semantic schema, interpretation, hyper-schema, distributed reasoning system, geometrical image generation 1 introduction various kinds of mechanisms for image synthesis were presented and implemented on computer. the panel of the mathematical models for this subject includes the rewriting systems and graph-based models. picture-processing grammars ([2]), picture grammars ([3]), stochastic grammars ([14]) and l-systems are some of the rewriting systems used to process images. the l-systems are a class of string rewriting mechanism originally developed by a biologist, a. lindenmayer, in 1968 ([7]). the original emphases were on plant topology spatial relations between cells or larger plant modules. the l-systems are a practical tool for generating fractal forms. today these models are applied in architecture, physiology ([1]) and music. in order to interpret the l-system as music, lmuse system ([9]) maps any of the turtle’s 3d movement, orientation directions (forward, up, and left), its drawing line length, and thickness into musical pitches, note durations and volume. a great number of research works and practical implementations have confirmed the interest of mathematicians and computer scientists in developing and applying the methods of graph theory. these methods were applied to obtain new knowledge representation models and to process images. a very productive notion with large applications in knowledge representation is that of conceptual graph, a copyright © 2006-2009 by ccc publications 168 nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu notion introduced in literature by j.f.sowa ([8],[10]). we can find several applications of the graphbased methods in [6] (low-level processing of digital images, learning algorithms for high-level computer vision and pattern recognition). the concept of semantic schema was introduced in [11] as an extension of semantic networks. this structure is obtained by means of a labeled graph and a peano algebra built over the edge labels. since then many applications of this structure were presented (new semantics in logic programming, knowledge representation for intelligent dialog systems etc). in [12] we defined a new mechanism for generating images similar with the edge rewriting in the way that both approaches can be used to define complex images based on some simple other images. in the mentioned paper the concept of hierarchical distributed reasoning system was introduced. each leaf of the system is given by a semantic schema. the other nodes are hyper-schemas ([12]). we presented an intuitive method to obtain geometrical images. the leaves represent the input of the system in semantic schemas and, by appending proper interpretations, they obtain the graphical illustrations of the received inputs. in this manner the leaves obtains the initial images. then, at the upper levels, these images are combined by hyper-schemas to obtain complex images. we obtained a bottom-up method to obtain images from initiators. in this paper we obtain the following results: • starting with the concept of hierarchical distributed and reasoning system (hgr system) introduced in [12] in section 3 we define a formal computation in such a structure. as a result of this computation we obtain a set f(h) of formulas for an arbitrary hdr system h. this is the formal computation in an hdr system. • an hdr system h is an abstract structure. in section 4 we introduce the concept of interpretation for h. by means of an interpretation i(h) for h each element of f(h) becomes some object of a given space. this gives the semantical computation. both the formal and semantical computations are exemplified. we show that for two distinct interpretations i1(h) and i2(h) for the same system h we can generate sentences in a natural language giving the reasoning conclusions and geometrical images respectively. • a short description of a java implementation of an hdr system is also given in section 5. • by examples we show that the mechanism introduced in this paper allows us to model the distributed knowledge. • the last section contains the conclusions and future works. several open problems are specified in this section. 2 basic concepts consider a symbol θ of arity 2. a θ-semantic schema ([11]) or shortly, θ-schema is a system s = (x, a0, a, r), where: • x is a finite non-empty set of symbols named object symbols; • a0 is a finite non-empty set of elements named label symbols and a0 ⊆ a ⊆ a0, where a0 is the peano θ-algebra generated by a0; • r ⊆ x × a × x is a non-empty set of relations which fulfills the following conditions: 1. (x, θ(u, v), y) ∈ r ⇒ ∃z ∈ x : (x, u, z) ∈ r, (z, v, y) ∈ r 2. θ(u, v) ∈ a, (x, u, z) ∈ r, (z, v, y) ∈ r ⇒ (x, θ(u, v), y) ∈ r hierarchical distributed reasoning system for geometric image generation 169 3. {α | ∃(x, α, y) ∈ r} = a an element from r ∩ (x × a0 × x) is a regular arc of s. we denote by ded(s) the least set satisfying the following properties ([13]): • if (x, a, y) ∈ r0 then ([x, y], a) ∈ ded(s) • if ([xi, . . . , xk], u) ∈ ded(s) and ([xk, . . . , xr], v) ∈ ded(s), i < k < r and θ(u, v) ∈ a then ([xi, . . . , xr], θ(u, v)) ∈ ded(s). an element of ded(s) is a deductive path of s. let us consider the schemas s1 = (x1, a01, a1, r1) and s2 = (x2, a02, a2, r2). in the remainder of this section we describe a new structure which relieves a special kind of cooperation between s1 and s2. if d1 = ([x, . . . , y], u) ∈ ded(si) and d2 = ([y, . . . , z], v) ∈ ded(s3−i), where i ∈ {1, 2}, then we say that d1 is connected to right by d2 or d2 is connected to left by d1. we say that d1 is connected by d2 if d1 is connected to right or to left by d2. we consider the sets of deductive paths l1 ⊆ ded(s1) and l2 ⊆ ded(s2). we say that l1 ∪ l2 is a pairwise connected set of deductive paths if every deductive path of li is connected by some deductive path of l3−i. for each i ∈ {1, 2} we consider a set vi of symbols such that vi ∩ (a1 ∪ a2) = ∅. we consider also a set ei such that ei ⊆ xi × vi × xi, card(ei) = card(li) and e1 ∩ e2 = ∅. consider also a bijective mapping gi : li −→ ei such that gi(d) = (x, e, y), where d = ([x, . . . , y], θ(u, v)) ∈ li. this mapping transforms each deductive path ([x, . . . , y], θ(u, v)) from li into a regular arc (x, e, y). shortly, we say that the path ([x, . . . , y], θ(u, v)) is designated by (x, e, y). we can define now a cooperating structure of hyper-schemas. a hyper-schema of order zero is a semantic schema. consider the hyper-schemas s1 and s2 of order zero. a hyper-schema of order one over s1 and s2 obtained by means of l1 and l2 is a θ-schema s which includes the regular arcs obtained from l1 and l2 ([12]). we denote by hyp1({s1, s2}) the set of all hyper-schemas of first order over s1 and s2. in general we write s ∈ hypk({s1, s2}) and we name s a hyper-schema of order k if s1 and s2 are hyper-schemas of order j ≤ k − 1 and at least one of them has the order k − 1. an hdr system ([12]) is the tuple h = (q1, q2, . . . , qk) where k ≥ 2 and • q1 = {s1, . . . , sn1 }, n1 > 1, constitutes the first level of the system. the entities {s1, . . . , sn1 } are hyper-schemas of order zero. the set q1 gives the leaves of h. • q2 = {sn1+1, . . . , sn2 }, n2 ≥ n1 + 1, gives the second level of the system and sn1+1, . . . , sn2 are hyper-schemas of order 1. more precisely, for every m ∈ {n1 + 1, . . . , n2} there are m1, m2 ∈ {1, . . . , n1}, m1 6= m2 such that sm ∈ hyp1({sm1 , sm2 }). • for j ∈ {3, . . . , k}, qj = {snj−1+1, . . . , snj } represents the j-th level of the system, where nj ≥ nj−1 + 1. for every m ∈ {nj−1 + 1, . . . , nj} there is m1 ∈ {nj−2, . . . , nj−1} and there is m2 ∈ {1, . . . , nj−1} such that sm ∈ hypj−1({sm1 , sm2 }). 3 formal computations in hdr systems suppose that h = (q1, q2, . . . , qk) is an hdr system. the components of h are the hyper-schemas s1, . . . , snk . we can visualize h as a graph structure. in order to obtain this structure we represent each hyper-schema by a node and we draw two directed arcs from sr to sj and to sm if sr ∈ hypp({sj, sm}) for some p. the structure obtained in this manner is not a tree. this can be observed in figure 1: there are two distinct paths from s7 to s2 and there is no root of this structure. 170 nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu à ^ s1 s2 s5 s3 s6 à ^ à ^ s7 s8 à ^ s4 figure 1: the graph structure of h for each i ∈ {1, . . . , nk} we consider that si is given by the tuple si = (xi, a0i, ai, ri) and we denote r0i = ri ∩ (xi × a0i × xi). for each r ∈ {n1 + 1, . . . , nk} such that sr is a hyper-schema over sj and sm in h we consider: • the connected sets lj,r ⊆ ded(sj) and lm,r ⊆ ded(sm); • the sets ej,r, em,r and the transformational mappings gj,r : lj,r −→ ej,r, gm,r : lm,r −→ em,r. by the assumptions of the previous section we have r0r ⊇ ej,r ∪ em,r. we denote n0r = ej,r ∪ em,r. obviously we have the following property: proposition 1. n0i = ∅ if and only if si is a leaf of h. for a symbol h of arity 1 we consider the set: m = nk⋃ i=1 { h([x, y], a) | (x, a, y) ∈ r0i \ n0i} where we used the notation h([x, y], a) instead of h(([x, y], a)). we consider the symbols σ1, . . . , σnk of arity 2 and denote by hh the peano {σ1, . . . , σnk }-algebra generated by m. we consider the alphabet z including the symbols σi, the elements of xi, the elements of ai, the left and right parentheses, the square brackets [ and ], the symbol h and comma. as in the theory of formal languages, the set z∗ defines all the words over z. because a hyper-schema is a semantic schema we have the following property: proposition 2. if si is a hyper-schema of h and ([x1, . . . , xk+1], θ(u, v)) ∈ ded(si) then there is r uniquely determined such that ([x1, . . . , xr+1], u) ∈ ded(si) and ([xr+1, . . ., xk+1], v) ∈ ded(si). definition 1. let be w1, w2 ∈ z∗. we define the following binary relation on z∗, denoted by ⇒h: • for i ∈ {1, . . . , nk}, if (x, e, y) ∈ r0i \ n0i then w1([x, y], e)w2 ⇒h w1h([x, y], e)w2; • for i ∈ {1, . . . , nk}, if (x, e, y) ∈ n0i then w1([x, y], e)w2 ⇒h w1dw2, where d is the deductive path designated by (x, e, y); • suppose that ([x1, . . . , xk+1], θ(u, v)) ∈ ded(si), i ∈ {1, . . . , n(h)}, ([x1, . . . , xr+1], u) ∈ ded(si) and ([xr+1, . . ., xk+1], v) ∈ ded(si) then: w1([x1, . . . , xk+1], θ(u, v))w2 ⇒h w1σi(([x1, . . . , xr+1], u), ([xr+1, . . ., xk+1], v))w2 the reflexive and transitive closure of ⇒h is denoted by ⇒∗h. we denote f(si) = {w ∈ h(h) | ∃d ∈ ded(si) : d ⇒∗h w} and f(h) = ⋃nk i=1 f(si). let us exemplify this computation. we consider the hyper-schemas s1 and s2 of order zero from figure 2 and the hyper-schema of order 1 from figure 3. if we take hierarchical distributed reasoning system for geometric image generation 171 x1 x2 x3 x4 ? a b a ? θ(a, b) x3 x6 x5 y1 6 b c a ? θ(b, c) s1 s2 figure 2: semantic schemas s1 and s2 of order zero x1 x3 x5 z1e1 e2 a? θ(e1, e2) 6 θ(θ(e1, e2), a) figure 3: hyper-schema s3 ∈ hyp1({s1, s2}) • l1,3 = {([x1, x2, x3], θ(a, b))}, l2,3 = {([x3, x6, x5], θ(b, c))} • e1,3 = {(x1, e1, x3)}, e2,3 = {(x3, e2, x5)} • g1,3([x1, x2, x3], θ(a, b)) = (x1, e1, x3), g2,3([x3, x6, x5], θ(b, c)) = (x3, e2, x5) then we obtain the following computations: • ([x1, x3, x5], θ(e1, e2)) ⇒h σ3(([x1, x3], e1), ([x3, x5], e2)) • ([x1, x3], e1) ⇒h ([x1, x2, x3], θ(a, b)) ⇒h σ1(([x1, x2], a), ([x2, x3], b)) ⇒∗h σ1(h([x1, x2], a), h([x2, x3], b)) ∈ f(s1) • ([x3, x5], e2) ⇒h ([x3, x6, x5], θ(b, c)) ⇒h σ2(([x3, x6], b), ([x6, x5], c)) ⇒∗h σ2(h([x3, x6], b), h([x6, x5], c)) ∈ f(s2) in conclusion, ([x1, x3, x5], θ(e1, e2)) ⇒∗h σ3(σ1(h([x1, x2], a), h([x2, x3], b)), σ2(h([x3, x6], b), h([x6, x5], c))) and the last formula is an element of f(h), where h = (q1, q2), q1 = {s1, s2} and q2 = {s3}. 4 semantical computations in hdr systems the semantical computation in an hdr system h transforms every formula of f(h) into an object of some space. in this section we describe this transformational process. let us consider the hdr system h = (q1, q2, . . . , qk) and an element w ∈ f(h). if d = ([x1, . . . , xk], θ(u, v)) ∈ ded(si and d ⇒∗h w then we write sort(w) = θ(u, v). definition 2. an interpretation for h is a system i = (ob, ob, alg): • ob is a set of objects; • ob : x −→ ob, where x = ⋃nki=1 xi, is a mapping that "interprets" each node as an object; • alg = ⋃nki=1{algiu}u∈ai , where algiu is an algorithm with two input arguments and one output argument such that if gj,k([x, . . . , y], θ(u, v)) = (x, e, y) then algke = alg j θ(u,v) . definition 3. the valuation mapping valh of the hdr system h is defined as follows: • if w = h([x, y], a) ∈ f(h) then valh(w) = ⋃nk i=1{alg i a(ob(x), ob(y))}. 172 nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu • if w = σj(w1, w2) ∈ f(h), w1 ∈ f(h), w2 ∈ f(h) and sort(w) = α then valh(w) = {alg j α(o1, o2) | ok ∈ valh(wk), k = 1, 2} in order to exemplify the computations we consider again the hdr system h from section 3. we define an interpretation of h by means of some sentential forms. such a structure is a sentence containing two variables. if we substitute each variable by an object then a sentential form becomes a sentence in a natural language. we shall consider the following sentential forms: p1(x, y)="x is the father of y"; p2(x, y)="x is the mother of y"; p3(x, y)="x is the brother of a y"; p4(x, y)="x likes to eat y"; q1(x, y)="x is the grandmother of y"; q2(x, y)="a brother of x likes to eat y"; r(x, y)="a nephew of x likes to eat y"; we consider the following algorithms: algorithm alg1a(o1, o2) { return p1(o1, o2)}; algorithm alg 1 b(o1, o2) { return p2(o1, o2)}; algorithm alg2b(o1, o2) { return p3(o1, o2)}; algorithm alg 2 c(o1, o2) { return p4(o1, o2)}; algorithm alg1 θ(a,b) (o1, o2) { if o1 = p1(t1, t2), o2 = p2(t2, t3) then return q1(t1, t3)} algorithm alg2 θ(b,c) (o1, o2) { if o1 = p3(t1, t2), o2 = p4(t2, t3) then return q2(t1, t3)} algorithm alg1e1 (o1, o2) { return q1(o1, o2)}; algorithm alg1e2 (o1, o2) { return q2(o1, o2)}; algorithm alg1b(o1, o2) { return p2(o1, o2)}; algorithm alg3 θ(e1,e2) (o1, o2) { if o1 = q1(t1, t2), o2 = q2(t2, t3) then return r(t1, t3)} consider the interpretation i1 = (ob1, ob1, alg1) of the system h, where we specify only the useful entities allowing to exemplify the computation: • ob1 = {peter, helen, john, sorin, pizza} • ob1(x1) = peter, ob1(x2) = helen, ob1(x3) = john, ob1(x6) = sorin, ob1(x5) = pizza • alg1 = {alg1a, alg1b, alg2b, alg2c, alg1θ(a,b), alg2θ(b,c), alg3e1 , alg3e2 , alg3θ(e1,e2)} where alg3e1 = alg 1 θ(a,b) , alg3e2 = alg 2 θ(b,c) . it is not difficult to observe that for the formula w = σ3(σ1(h([x1, x2], a), h([x2, x3], b)), σ2(h([x3, x6], b), h([x6, x5], c))) = σ3(α, β) from the last part of the previous section we obtain the following computations: valh(α) = {alg 1 e1 (o3, o4) | o3 ∈ valh(h([x1, x2], a)), o4 ∈ valh(h([x2, x3], b))} valh(h([x1, x2], a)) = {alg 1 a(peter, helen)} = {p1(peter, helen)} valh(h([x2, x3], b)) = {alg 1 b(helen, john), alg 2 b(helen, john)} = {p2(helen, john), p3(helen, john)} therefore valh(α) = {alg1e1 (p1(peter, helen), p2(helen, john)), alg 1 e1 (p1(peter, helen), p3(helen, john))} = {q1(peter, john)} valh(β) = {alg 2 e2 (o5, o6) | o5 ∈ valh(h([x3, x6], b)), o6 ∈ valh(h([x6, x5], c))} valh(h([x3, x6], b)) = {alg 1 b(john, sorin), alg 2 b(john, sorin)} = {p2(john, sorin), p3(john, sorin)} valh(h([x6, x5], c)) = alg 2 c(sorin, pizza)} = {p4(sorin, pizza)} therefore valh(β) = {alg2e2 (p2(john, sorin), p4(sorin, pizza)), alg 2 e2 (p3(john, sorin), p4(sorin, pizza))} = {q2(john, pizza)} finally, from valh(α) and valh(β) we deduce valh(w) = {alg 3 θ(e1,e2) (q1(peter, john), q2(john, pizza))} = {a nephew of peter likes to eat pizza} we observe that the conclusion obtained by h can not be obtained neither by s1, neither by s2. this explains why h is named a distributed system. hierarchical distributed reasoning system for geometric image generation 173 figure 4: the image generated by i2 we give now a short description of another interpretation i2 for the same system h. as a result we obtain geometrical images. • ob2 = {1, (3, 3), (3, 1.5)} • ob2(x1) = 1, ob2(x2) = ob2(x6) = (3, 3), ob2(x3) = 1, ob2(x5) = (3, 1.5) • alg1a(p, q){return the interior of circle with radius p and center q} • alg1b(p, q){return the interior of the square centered in p and the sides of length 2*q parallel with coordinate axes } • alg1 θ(a,b) (α, β){ if α = alg1a(p, q) and β = alg 1 b(q, r) then return β \ α } • alg2b(p, q){return the exterior of circle with radius p and center q} • alg2c(p, q){return the interior of the rectangle centered in p and the sides of lengths specified by q, parallel with coordinate axes } • alg2 θ(b,c) (α, β){ if α = alg1 θ(a,b) (p, q) and β = alg2 θ(b,c) (q, r) then return β ∩ α } • alg3 θ(e1,e2) (α, β){ if α = alg2a(p, q) and β = alg 2 c(q, r) then return β ∪ α } for the same formula w ∈ f(h) as in the previous computation, the object valh(w) given by i2 is shown in figure 4. 5 a java implementation if we note by a the set consisting of some geometrical objects names then each system’s input is an word w = a1 . . . ak over the alphabet v = a ∪ {+, −} having the following properties: • ai = +/− means a left/right rotation with a specific angle, denoted by δ and to draw a line on the current direction • ai = oj means to draw the graphical illustration of the object oj such that its entry direction is on the current direction. in our implementation, each geometrical object used in the generation method is an instance of the a class named object. graphically, it is a representation of a figure inside a square. every instance of this class can have one of the following types: circle, triangle, star and square corresponding to the figure it consists of. other members of this class are the entry direction and the exit direction related to some corner of the object. the corner corresponding to the entry direction becomes the entry point of the object. similar for the exit point. the main routine of the algorithm is createhdrs (algorithm 2). the construction of the system starts by defining the schemas of the agents (steps 1 ÷ 4). the hyper-schemas of order one corresponding to the managers of the second level are constructed using the steps 7 ÷ 14. the condition for existing a hyper-schema over two schemas is that their maximal paths are connected deductive paths. this property is verified using the routine connectedpaths (algorithm 3). if the second level of the system was successfully defined (if condition of step 15) then the process of creating new levels in hdrs continues using the while loop of step 17. the hyper-schemas of orders greater than 2 are created using the routine createhypschs (algorithm 4). the geometrical objects that are used for the image generation process are introduced using the first 174 nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu figure 5: first window of the application window of the application. for each object the user must specify the type, the entry and exit points (the corners are numbered starting from the down-left) and related to them the entry and the exit direction. also, using the controls of the first window, the input descriptions can be edited(see figure 5). the second window of the application gives the outputs provided by the system’s reasoning components (see figure 6). it consists of three buttons and a panel. the application can draw maximum 1000 images with maximum 50 geometrical objects per image. 6 conclusions and future works in this paper we formalized the syntactical and semantical computations in an hdr system. we exemplified these computations and for some hdr system h we gave two interpretations: one interpretation generates phrases and the other generates geometrical images. this examples give an idea concerning the generative power of our mechanism. we relieved also by these examples the fact that the distributed reasoning can be modeled by an hdr system. a short description of a java implementation for an hdr system generating images is also given. we intend to develop the applications of an hdr system. first, we intend to use the mobile agents to process such systems ([4]). second, we intend to use the hdr systems in e-learning. the basic idea comes from the fact that a link in an html document gives a reference to another document of the similar structure. hierarchical distributed reasoning system for geometric image generation 175 (a) the initiators and some images obtained by the managers of q2 and q3 levels (b) images obtained at the 4th level in the system figure 6: second window of the application 176 nicolae ţăndăreanu, mihaela verona ghindeanu, sergiu andrei nicolescu algorithm 2 procedure createhdrs procedure createhdrs 1. for i ← 1, nocmd 2. call create−schema(commands[i], schema[i], agent[i]) 3. maximalpath[i] ← schema[i].getmaximalpath() 4. endfor 5. noag ← nocomd 6. nokm ← noag + 1 7. for i, j ← 1, noag; j 6= i 8. if connectedpaths(maximalpath[i], maximalpath[j]) 9. call create−hypersch(hypsch[nokm], schema[i], schema[j]) 10. hypsch[nokm].order ← 1 11. maximalpath[nokm] ← hypsch[nokm].getmaximalpath() 12. nokm ← nokm + 1 13. endif 14. endfor 15. if nokm > noag + 1 16. order ← 2 17. while createhypschs(order) 18. order ← order + 1 19. endwhile 20. endif endprocedure algorithm 3 function connectedpaths function connectedpathspath1, path2 1. if path1.lastnode=path2.firstnode 2. return true 3. endif 4. if path1.firstnode=path2.lastnode 5. return true 6. endif 7. return false endfunction algorithm 4 function createhypschs functioncreatehypschsorder 1. newhypsch ← false 2. for i ← nokm − 1, noag 3. if hypsch[i].order 6= order − 1 4. continue 5. endif 6. for j ← 1, nokm − 1; j 6= i 7. if connectedpaths(maximalpath[i], maximalpath[j]) 8. newhypsch ← true 9. if j ≤ noag 10. call create−hypersch(hypsch[nokm], hypsch[i], schema[j]) 11. else 12. call create−hypersch(hypsch[nokm], hypsch[i], hypsch[j]) 13. endif 14. hypsch[nokm].order ← order 15. maximalpath[nokm] ← hypsch[nokm].getmaximalpath() 16. nokm ← nokm + 1 17. endif 18. endfor 19. endfor 20. return newhypsch endfunction hierarchical distributed reasoning system for geometric image generation 177 bibliography [1] allen m., prusinkiewicz p., dejong t. (2004) systems for modeling the architecture and physiology of growing trees: the l-peach model, proceedings of the 4thinternational workshop on functional-structural plant models, pp. 220-225 [2] chang shi-kuo (1970) the analysis of two-dimensional patterns using picture processing grammars, annual acm symposium on theory of computing archive, proceedings of the second annual acm symposium on theory of computing, p. 206-216 [3] drewes f., ewert s., klempien-hinrichs r., kreowsky h.j. (2003) computing raster images from grid picture grammars, journal of automata, languages and combinatorics, vol.8, issue 3, p. 499-519 [4] dzitac i., bărbat b. e. (2009) artificial intelligence + distributed systems = agents, int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844, vol. iv, no. 1, pp. 17-26 [5] ghindeanu m. (2008) constructing architectures for an hierarchical distributed reasoning system based on its inputs, international multi-conference on engineering and technological innovation, usa, p. 231-234 [6] kandel a., bunke h., last m. (eds) (2007) applied graph theory in computer vision and pattern recognition, springer, studies in computational intelligence 52 [7] lindenmayer a. (1968) mathematical models for cellular interaction in development, parts i and ii, journal of theoretical biology (18), p. 280-315. [8] priss u., corbett d., angelova g. (eds.) (2002) conceptual structures: integration and interfaces, 10th int. conf. on conceptual structures, iccs 2002 [9] sharp d. (1998) lmuse version 0.7b, http://www.geocities.com/athens/academy/8764/ lmuse/lmusetxt.html [10] sowa j.f. (1984) conceptual structuresinformation processing in mind and machine, addisonwesley [11] ţăndăreanu n. (2004). semantic schemas and applications in logical representation of knowledge, proceedings of the 10th international conference on cybernetics and information technologies, systems and applications, usa, vol.iii, p. 82-87 [12] ţăndăreanu n., ghindeanu m. (2008) hierarchical semantic structures applied in automatic image generation, proceedings of 11th iasted international conference on intelligent systems and control, isbn: 978-0-88986-777-2 [13] ţăndăreanu n., ghindeanu m. (2008) path-based reasoning in semantic schemas, annals of university of craiova, mathematics and computer science series, vol.35, p.171-181 [14] zu song-chun , mumford d. (2006) a stochastic grammar of images, foundations and trends in computer graphics and vision, vol. 2, issue 4, p. 259-362 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 3, pp. 318-318 book review florin gheorghe filip introduction to discrete event systems by christos g. cassandras and stèphane lafortune, 2008, springer science + business media llc, xxiv + 776 p., isbn: 978-0-387-33332-8. discrete event systems (des) represent a class of dynamic, discrete time systems whose states can take values only in a discrete-value space and can change only as a result of asynchronous occurrences of planned or spontaneous events. at present, there are ever more numerous subclasses of discrete event systems. queuing systems, computer and communication systems, manufacturing and traffic systems are only a few examples of des which are described in the book. this is a second revised and added edition of a book written by professors cassandras of boston university and lafortune of the university of michigan. it builds upon the cassandras’ book entitled “discrete event systems: modelling and performance analysis”, which was published in 1993 by irwin and aksen associates and received in 1999 the “harold chesnut” prize of ifac (international federation of automatic control) for the best text book in control engineering. the necessity of the book was perceived by the authors as a consequence of remarking several facts as it follows. there are more and more various complex real-life technical objects, which can be viewed as instances of des class. they are to be understood, their operations are to be controlled and, if it is possible, optimized. the traditional methods, which are based on differential or difference equations, though have been proved effective in controlling many systems which show a continuous in time function to represent the state trajectories, are not adequate for the des, whose sample paths (state trajectories) are described by piece-wise constant functions of time. consequently, there is a need to develop new modelling frameworks, analysis techniques, design tools, testing methods, and systematic control, and optimization procedures for this new generation of highly complex systems. to fulfil their objective the authors adopt a multidisciplinary approach by building on control theory (“for performance optimization via feed back control”), computer science (“for modelling and verification of event-driven processes”), and operations research (“for analysis and simulation of stochastic des”). also the authors propose modelling frameworks and describe new analysis and control methods which are specific for des and introduce new paradigms to allow combining mathematical tools with processing experimental data. in the preface, the authors emphasize the critical role of the electronic computer in performing various activities such as system analysis, design, and control. the authors are well aware of the existence of numerous books and papers addressing various subclasses of des such as: language and automata theory, petri nets , queuing models, markov chains, discrete time simulation, perturbation analysis and so on , all using specific representations of the objects studied. the authors aim at proposing in the book a unified modelling framework with a view to enabling a coherent and systematic study of the objects which belong to almost all des subclasses mentioned above. consequently, two discrete event modeling formalisms are utilized throughout the book to represent the state transition structures: automata and, to a lesser extent, petri nets. in section 1.3.3, copyright © 2006-2008 by ccc publications 318 florin gheorghe filip the authors introduce three levels of abstraction in the study of des (untimed, or logical, timed, and stochastic) to describe sequences of events. the levels of abstraction are used to gradually refine the presentation of the notions and methods contained in the book. the first chapter of the book contains an introduction to system concepts and parallel presentations of the main concepts of continuous variable dynamic systems, (cds) and discrete event driven systems. it also introduces hybrid systems; which most of the time be have as cds, but in certain time moments when discrete events cause discontinuities in the state trajectory. chapter 2, 3 and 4 contain a study of des at the logical (or untimed) level of abstraction. language models of des and the representation of languages by automata are described in chapter 2. software tools for analysis of dss are presented too. supervisory control issues are studied in chapter 3, which contains also a detailed presentation of decentralized control. in chapter 4, petri nets concepts are addressed. chapter 5 refines the models presented in chapter 2 (automata) and 4 (petri nets) to include time through the clock mechanism and gives an introduction to hybrid systems. chapters 6-11 utilise the third (stochastic) level of abstraction. the first three chapters (7, 8, and 9) contain aspects which are presented in the "traditional" manner of stochastic models based on probability theory. markov chains, and classical queuing theory models are presented in chapters 7 and 8, respectively. control and decision models based on markov chains are described in chapter 9. chapters 10 and 11 presents several concepts and techniques which heavily rely on the use of computer and do not require adopting the assumptions which were necessary when using classical stochastic models. chapter 10 contains an introduction to discrete event simulation including a presentation of languages and corresponding software products (in section 10.4.). chapter 11 presents sensitivity analysis and concurrent estimation methods, including the new “infinitesimal perturbation analysis” (ipa). the book contains also auxiliary material such as: a) a review of probability theory, and b) a description of ipa estimator. a web site (http://vita.bu.edu/cgc/book ), which is continuously maintained, can help the reader in his/her study. this is a high quality book, rich in content, up-to-date, and well written. the presentation style utilized throughout the book is a formal one. various examples presented and references made to relevant web sites increase value and usability of the book. the book can be of great value for various categories of senior undergraduate and postgraduate students and of the people which are interested in control, communications, computer science as well as in manufacturing and industrial engineering. therefore, i warmly recommend it to the readers of the international journal of computers, communications, and control (ijccc). florin gheorghe filip romanian academy 125, calea victoriei, 010071 bucharest-1, romania e-mail: ffilip@acad.ro int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 1, pp. 125-137 swarming models for facilitating collaborative decisions c.b. zamfirescu, f. g. filip constantin-bala zamfirescu lucian blaga university of sibiu, faculty of engineering, department of computer science and automatic control romania, 69121 sibiu, 17 emil cioran e-mail: zbc@acm.org florin gheorghe filip 1. romanian academy ince and bar romania, 010071 bucharest, 125 calea victoriei, and 2. nat. institute for informatics -ici romania, 011455 bucharest, 8-10 b-dul maresal al. averescu e-mail: filipf@acad.ro abstract: the paper highlights the computational power of swarming models (i.e., stigmergic mechanisms) to build collaborative support systems for complex cognitive tasks such as facilitation of group decision processes (gdp) in e-meetings. unlike traditional approaches that minimize the cognitive complexity by incorporating the facilitation knowledge into the system, stigmergic coordination mechanisms minimize the complexity by providing the system with emergent functionalities that are shaped by the environment itself through the possibility to structure it in terms of high-level cognitive artefacts. this is illustrated by conducting a socio-simulation experiment for an envisioned collaborative software tool that acts as a stigmergic environment for modelling the gdp. the results show superior results when the users are allowed to increase the representational complexity of a gdp model with cognitive artefacts that support guidance and action in the conceptual problem space. keywords: collaborative working environments, group decision support systems, facilitation, social simulation, stigmergy, swarming models of computation. 1 introduction the simplicity of swarming models is becoming ever more popular in the design of decentralized systems that are developed to run in open, dynamic, and unknown environments. inspired from the behaviour of social insects, marine animals, birds, and even humans, the concept covers a broad spectrum of mechanisms able to generate an intelligent collective behaviour. these mechanisms are simply identified as stigmergic coordination[1]. the most cited example of swarming models is the food foraging behaviour in ant colonies [2]. each ant senses the signs (pheromones) in its environment and acts in accordance with them without any direct communication with other ants from the colony. if there is no sign in the environment the ant executes a randomized search for food. when an ant discovers a food source, it drops a smelling chemical substance (pheromone) on its way back to the nest while carrying a bit of food. thus the ant creates a pheromone trail between nest and food source. when an ant senses the pheromone trails, it will follow the most intense one to the food source, the intensity of the pheromone signifies the shortest path toward the food that was discovered until that point in time; when the ant arrives at the food source, it will return with food, while depositing more pheromones, intensifying the pheromone trail. the above copyright c© 2006-2010 by ccc publications 126 c.b. zamfirescu, f. g. filip simple reactive behaviour of each ant results in an emergent intelligent behaviour of the colony that is able to find the shortest path from the nest to the food source without any central coordination. this behaviour is constrained by the limited sensorial aptitude of an ant to sense the local pheromone trails with no mental plan on how to find the shortest path or knowledge about the environment in which they act. consequently, the ant’s behaviour is an emergent property induced at the same time by two exogenous factors: 1) the environment (the surface of the terrain and the evaporation mechanism for the pheromones), and 2) the ants’ actions over the environment (the pheromone trails). despite its behavioural simplicity (i.e., stimuli-response rules), a single stigmergic agent can emulate any turing machine and can execute any symbolic or sub-symbolic algorithm proposed by the ai (artificial intelligence) research mainstream [3]. nevertheless, most of the computer applications are outside the domain of human cognitive abilities, serving merely as cognitive support systems through an active and semantically rich environment [4]. therefore swarming models of computation are seen as a feasible approach to construct systems that are not limited to the classical optimization problem of finding the shortest route [5], but are able to support human decisions as well [6, 7, 8]. one application domain with a high level of cognitive complexity is the facilitation of gdp in emeetings. the complexity associated with the construction, coordination and execution of gdp is well recognized in the research field of group decision support system (gdss) [9]. for this reason gdss has seldom been a full success story and a widely adopted technology as it has been foreseen by its pioneers. all the applications developed to support the group facilitation in e-meetings follow the traditional centralized approach where the system explicitly codifies the facilitation knowledge. examples include software tools that embed knowledge about the collaborative patterns of interaction [10] and workflows [11] for the most frequently used gdps. these applications basically suffer from the same obstacles met in the traditional ai mainstream such as [12]: 1) the restrictions to codify the human’s knowledge into the computing system; 2) the lack of self-development capabilities for this knowledge; 3) the blackbox perspective over a system disconnected from the environment where the relevant knowledge are extracted. in contrast to the traditional approach that codifies the facilitation knowledge into the gdss, this paper illustrates how the stigmergic mechanisms of swarming models may be employed to build emergent and self-organizing functionalities that support group facilitation in e-meetings. in this particular case, the stigmergic coordination mechanisms are implemented over the conceptual environment of the gdp modelling space which is exploited by the users of an e-meeting system. unlike conventional approaches that minimize the cognitive complexity associated with the construction and execution of a gdp by incorporating the facilitation knowledge into the system, stigmergic coordination mechanisms minimize it by structuring a shared conceptual environment populated with the cognitive artefacts that represents the basic skills of conducting an e-meeting. in this way the users are collectively constructing and interpreting the facilitation knowledge through the successive uses of the system. the remaining part of this paper is organized as follows. the next section presents a brief analysis of the innate relationship between distributed cognition and stigmergy as it has been presented by many authors within the web 2.0 technology mainstream. section 3 describes the main components of an envisioned collaborative software tool that act as a stigmergic environment for modelling the gdp: the structure of the semantic environment, the low-level behaviour of the users in interacting with this environment, and the high-level of cognitive constructs that may be employed by the users to structure the gdp. these components are implemented and tested in a socio-simulation experiment which is described in section 4. the experimental results show clear self-organizing capabilities, but simultaneously high dependability of system’s performance on the user’s ability to structure the stigmergic environment. from the engineering standpoint of constructing purposeful facilitation tools for e-meetings, these results are discussed and summarized in the last section. swarming models for facilitating collaborative decisions 127 2 stigmergy and cognition most of the research in cognitive science is rooted in the basic assumption that cognition is purely an internal process of representation and manipulation of knowledge disconnected from the environment. nevertheless, recent studies in cognitive sciences reveal the essential role of the environment (physical or artificial) in mediating the knowledge by facilitating their external representation and information exchange among these representations [13]. it becomes clear ’that individuals are socially and culturally situated and that the environment needs to be considered in order to understand cognition’ [14]. by admitting the critical role of the environment in cognition, the researchers became increasingly aware of the relationship between cognition and stigmergy. even if the term stigmergy has been primarily used for typically reactive (non-rational) agents, its relationship with cognition was investigated for the first time by susi and ziemke [15]. the authors conclude with the assertion that the conceptual framework of stigmergy offers a common denominator for the social sciences theories (i.e., activity theory; situated and distributed cognition). for example a cave painting is an emblematic case of stigmergic coordination where people used the physical environment to indirectly communicate their knowledge in ancient human society. the relevance to cognition of the stigmergic coordination mechanisms in human society is illustrated by parunak in several examples of social activities [6]. albeit the use of stigmergic mechanisms may be observed in various social activities, it is more evident in the digital world realm. in a comprehensive study of collaborative support systems, elliot [16] found that stigmergy is a coordination mechanism inherent not only in collaborative processes over physical environments, but also in a range of collaborative support systems. for instance the plethora of applications that are considered to be web 2.0 technology (especially media such as wiki and community blogging) is generally recognized to be stigmergic systems. moreover, applications such as google’s pagerank system, ebay’s online auctioning, amazon’s recommender systems [6], wikipedia.org, open source software and multiplayer social environment second life [17] are employing the stigmergic coordination mechanisms to exhibit the functionalities of an intelligent collective behaviour. in these stigmergic systems the users exploit their digital environment through the use of engineered artefacts that may be annotated with symbolic information representing the human’s cognition [7]. given that the essential capability of any stigmergic system is to transfer the cognitive complexity from the humans to the environment [18], the problem-solving capabilities of the users decisively depend on how the problem is represented in the digital environment. a standard representation of the problem in the environment is realized as a composition of cognitive artefacts linked in a weighted graph. basically, this graph signifies a navigation map that supports the cognitive effort to find and reach any artefact from the place where it is needed. the artefacts commonly stand for the possible states of the problem, while the links are the set of possible actions that guide the decision process (the conceptual navigation) from one state to another of the problem space. similar with the intensity of the pheromone trails in the case of real ants, these actions are weighted in order to discriminate the most effective ones. as a result, the improvement of problem-solving ability requires two corresponding processes [8]: 1) the augmentation of the environment with additional states and actions to increase the accuracy of problem representation, and 2) the improvement of the preference function for an action in order to compensate the expansion of the exploration space. the wide employment of the stigmergic patterns of interaction in collaborative working environments has been triggered by its fundamental advantage of preventing the humans’ cognition to be exposed to the complexity of the environment [19]. as users interact only locally, there is no need for tasks allocation, the tasks being preferentially performed by the most expert since they are the most attracted to act and finalize the task with minimal effort [20]. moreover there is no need for prediction since the environment records actions in the problem space and the unexpected events are automatically traced through the outcome of the users’ actions over the environment. all these advantages make the stigmergic models of computation a suitable approach to support the cognitive complexity of facilitating gdp, a process that 128 c.b. zamfirescu, f. g. filip runs in a dynamic, open and uncertain environment. 3 a simulation model for group decisions in e-meetings the wide range of tools that support group decisions in e-meetings falls under the gdss general umbrella term. gdss is defined as an interactive computer-based environment that supports a concerted and coordinated team effort towards completion of joint tasks [21]. a gdss is composed of a set of highly configurable collaborative "tools" (e.g., brainstorming, voting and ranking, multi-criteria analysis, etc.) that requires a high level of expertise for an effective use for complex decisions [22]. the strong relationship between the gdp outcome and the presence of a skilful facilitator to direct the joint decision process is thoroughly presented in many field studies of gdss research [23]. the inaccessibility of many organizations to a well-trained gdss facilitator is recognized to be one of the main obstacles which limit the adoption of gdss technology [24]. to reduce the dependence on the facilitator, the participant-driven gdss was proposed as the most promising research direction to leverage the skills and abilities of each group member [25]. however, this approach is highly constrained by the cognitive complexity associated with the construction, coordination and execution of gdp by inexperienced users. to overcome the problem of cognitive complexity briggs and de vreede [24] introduced the thinklet (tl) concept as a discrete facilitation unit that integrates a specific tool, its configuration and a script to use it a predefined interaction protocol among users that is enforced and mediated by a specific collaborative tool. this concept was anticipated by the declarative model of the experienced decision maker (medm), which was proposed in late 80’s to help the user of a dss to build the model, select the appropriate solver, and evaluate various solutions provided by the computerized algorithms in so called "mixed knowledge" dss [22, 26]. the tls are considered to be the smallest piece of essential knowledge to design collaborative processes. examples include [24]: strawpoll (evaluate) used to reveal the agreements or disagreements within a group; leafhopper (diverge) used when the participants does not known in advance the topics for discussion or they have different interests or level of expertise; expertchoice (organize) used when the ideas of the group are organized by a single participant; reviewreflect (converge) used when a different reviews from group members for a document should reach an agreement etc. with tls, the conceptual model for a gdp takes the form of a shared plan of collaborative actions [24, 27]. each collaborative action is an interaction protocol embodied in a tl. as any plan, the model for a gdp may be hierarchically decomposed in sub-plans at different levels of abstraction. this conceptual structure of a gdp model is acknowledged in any application domain of the gdss technology, such as project management [28], user requirement elicitation [29], crisis response management [30], scenario design [31], risk identification [32], etc. in the view of envisioning a collaborative software tool that acts as a stigmergic environment for modelling the gdp (in the same way in which a collaborative cad software acts as a stigmergic environment for architectural design [33]), we developed a socio-simulation model that mimics the users’ conceptual ’navigation’ over the semantic structure of the problem space for facilitating the e-meetings. as for any stigmergic system the simulation model entails the description of agents’ behaviour and the structure of the shared environment where the agents are localized and moved over it. for the gdss domain, the agents are the users responsible to define, execute and evaluate a gdp model which is a path through the conceptual space of the available tls. the environment is the collaborative facilitation tool that supports the conceptual representation of the problem space comprising all the tls discovered and documented by the users’ community (so far there are over 70 tls acknowledged in literature [34]). swarming models for facilitating collaborative decisions 129 3.1 the semantic environment for facilitating the e-meetings according to parunak [6], a stigmergic environment assumes the definition of three main components: 1) topology, 2) states, and 3) processes. structurally, the topology may be viewed as a fully connected weighted graph that codifies the facilitation knowledge of group decision in e-meetings. this knowledge presumes correlated information among the users and the tls, reflecting the users’ evaluation of the performance for a tl (a node in the graph) relative to a problem type. the performance is stored for each problem type in a variable associated with each edge of the graph. the problem type is simply codified through a unique id to distinguish among different performances when they are read, during the modelling phase of the gdp, or modified, after the gdp has been executed and evaluated by agents. evaluation of a gdp model entails a subjective assessment of the model against some performance criteria after its execution. regularly, gdp’s performance may be quantified in terms of efficiency, effectiveness and users’ satisfaction, as illustrated in several studies from the gdss research field [35]. the performance from all the graph’s edges describes the state of the environment over time. usually, the environment executes a set of processes on the variables (as aggregation end evaporation in the case of ants). for our case, we apply a simple weighted additive rule to simulate the aggregation of performances: pjk(t lk,t) = pjk(t lk,t − ) + u pjk(t lk)/w (1) where: t represents the temporal component of the model which is incremented by one for each successive use of the gdss; k is the tl’s identification index from the set of tls used to model the gdp;u pjk(t lk) is the user’s performance of the k-th tl evaluated from the side of tl j at moment t;pjk(t lk,t) and pjk(t lk,t − ) are the new and previous values of the (collective) performance stored on the edge between the tls j and k; w is a tuning parameter, arbitrarily chosen, to weight the impact of the last evaluation. 3.2 the agents’ behaviour over the semantic environment the agents are the users who interact with the envisioned collaborative tool to model the gdp. conceptually, in any point in time an agent is "located" in a node (tl) of the cognitive environment of the problem space, performing one of the following basic actions: 1) evaluates the preference for the next possible tl (or tls) that are going to be executed given the current execution context of the gdp; 2) selects the next best tl (or a group of tls) for further completing the gdp model; 3) executes the tl (or the group of tls) from the model, and finally; 4) evaluates the performance for the executed tls. the evaluation activity is simulated using the formula (1), while the first three actions with luce’s selection axiom [36]: p jk = e p jk(t lk)/t / m∑ i= ep ji(t li)/t , (2) where p jk represents the preference for an alternative tl, i.e. the selection probability of the tl k from the tl j; i is the index of tls connected from the side of node j (in fact all the m tls available in the problem space as long the graph is fully connected); and t is a parameter used to define the deviation from a pure rational behaviour. the above formula is the most common model of stochastic decisions due to its correlation with the psycho-social observations of human behaviour in several domains. as a result of normalization, the preferences for the unexploited tls are diminishing after each performance update. this mechanism replicates the pheromone evaporation process of the real ants (e.g., even if a tl has been positively evaluated after an execution of a gdp model, the associated preference will decrease once a better alternative is discovered and more frequently used). the uncertainty associated with the construction of preferences is generally modelled in equation (2) with the parameter t that range between 0 (when 130 c.b. zamfirescu, f. g. filip selection is deterministic as is the ideal case of a perfectly informed decision) and 1 (when the selection is completely random as in the case of a completely irrational decision). note that luce’s selection axiom does not specify the reasons of uncertainty which for the modelling of gdp may cover any aspect of complexity, unfeasibility, cost or even refusal to evaluate the performance of a tl after its execution. 3.3 navigation strategies over the semantic environment the agents, who are reflecting the users in modelling a gdp, are engaging in means-ends reasoning activities to achieve the group decision goal. during the execution of the model they must be able to adapt to the changes and uncertainties associated with both the execution and the decision goal. moreover, when the decision problem is not completely clear or too complex to be fully tackled, the users are defining intermediate sub-goals to be subsequently achieved. as a result, the design of a gdp model is most often done incrementally and interleaved with its execution. table 1: different modelling strategy to construct a gdp model design strategies execution problem’s goal codification (ds) ds1 certain stable the problem type is codified through a unique id ds2 uncertain stable the problem type is codified as a variation from the current state of execution to the desired one ds3 uncertain unstable the problem type is codified as a variation from the current state of execution to any future possible state in table 1 we have summarized three basic design strategies (ds), with direct implications on the way the gdp model is decomposed on different levels of abstractions. these are: • ds1 which corresponds to the traditional use of gdss when the gdp model is predefined by the facilitator. in this case, the user is providing a complete structure of the gdp model, the facilitator having a complete vision over the execution plan for the gdp. it includes all the necessary collaborative actions (in the form of tls) together with their precedence constraints. this design strategy relates to the hypothetical conditions when the execution context remains stable in time as regards the tl execution’s outcome and the decision’s objectives. thus, each problem type is identically codified in all edges that connect the tls used in modelling the gdp and relates to a low level of semantically structured environment. • ds2 which corresponds to problem types with stable objectives but uncertain tl execution’s outcome from the gdp model. in this case, after the execution of each tl, adjusting the remaining gdp is needed. this design strategy is codified in the conceptual graph of gdp modelling with different ids for each sub-problem that corresponds to the variance from the current state of execution to the desired one. • ds3 which relates to complex plans of actions for the gdp model, where both the outcome of an activity and the decision’s objectives are unstable during the execution. in this case, when the decision problem is not entirely clear or too complex for designing an entire gdp model, the users are defining intermediate sub-goals that are subsequently dealt with. this design strategy is codified in the conceptual graph for the gdp modelling with different ids for each sub-problem that corresponds to the variance from the current state of execution to any future possible one. swarming models for facilitating collaborative decisions 131 4 experimental results to evaluate the design strategies for modelling the gdp we conducted a virtual experiment following the research methodology proposed by carley [37], implementing in the netlogo multi-agent simulation environment [38] the model described in the previous section. in the experiment the users ("turtles") are to engage themselves in the facilitation of e-meetings, trying to define the gdp model for a problem type by moving in the conceptual graph of tls (the nodes and edges are implemented also as "turtles"). the number of tls that compose the graph is arbitrary chosen from the interface (the "num-tls" variable in figure 1), while their utilities for a certain problem type is predefined with random values between 0 and 1 when the experiments are initialized. note that the netlogo implementation includes some additional variables required to analyse if the model presents similar results to those reported in the traditional ethnographical studies. this issue is beyond the scope of this paper and is detailed in [39]. figure 1: the interface of the model in the netlogo environment in the next sections the normalized performance of the gdp models and its associated entropy for 100 successive explorations (iterations) in the three design strategies (the "planning-degree" variable in figure 1): ds1, ds2 and ds3 are presented. an exploration stands for a complete execution cycle of a gdp. it includes three consecutive phases: 1) finding a suitable model through the successive selection (using the equation (2)) of tls that compose the gdp for the given problem type; 2) executing the identified model and assessing its performance by reading and averaging the predefined utility values of all the tls that compose the gdp model; 3) evaluating the model by updating the performance value (using the equation (1)). the statistics are aggregated from 30 experiments for a relatively simple problem type of 5 successive tls. the parameter t from equation (2) is set to 0.7 (the "pheromonesensitivity" variable from figure 1 to favour a faster convergence rate in finding a suitable solution in the problem space composed of 70 tls. from the engineering viewpoint, the design strategies have direct implications on the way in which the cognitive environment for modelling the gdp is structured. as described before, the structure of 132 c.b. zamfirescu, f. g. filip the environment is simply reflected in the possibility to semantically decompose the problem in subproblems on different levels of abstractions. this design issue implies in our implementation to record with specific ids the performance for each sub-problem type that emerges from the decomposition process. 4.1 the impact of the modelling strategies over the model’s performance in figure 2 the aggregate performance (a relative number between 0 and 1 as resulted from averaging the predefined utility values of all the tls that compose the gdp model) from 30 experiments of a gdp modelling process for the defined design strategies ds1, ds2 and ds3 are shown. as may be expected, the performance fits an exponential function, a typical behaviour for a stigmergic system [40, 41, 42]. figure 2: the gdp models’ performance for the defined modelling strategies figure 3: the distribution of gdp models’ performance for the three modelling strategies like any heuristic model, the stigmergic coordination mechanisms do not guarantee finding an optimal solution, but a near-optimal or acceptable one. as a consequence, from one experiment to another there are some variations in performance for the convergence values. figure 3 illustrates in whiskers diagrams the distribution of performance for the same experimental data that are depicted in figure 2. the three strategies show different performance and convergences to an optimal solution. contrasting with ds1, ds2 takes benefit from the prior experiences not only in relation with the entire problem type but also from the intermediate solutions to model the sub-problems in which the initial problem has been decomposed. in addition, ds3 increases the granularity by adding the opportunity to decompose the problem’s objective. as a consequence, the figures show the influence of problem type decomposition on the gdp model’s performance. as may have been expected, ds3 shows the best performance results and a low inconsistency among the identified solution for a gdp model. but, ds2 converge faster to an optimal solution and a lower swarming models for facilitating collaborative decisions 133 inconsistency among the feasible solutions (the deviation of the average solution from those with maximal and minimal performances). this can be explained by the additional constraints of having stable objectives during the modelling process. 4.2 the cognitive complexity associated with each modelling strategy the auto-organization of relations between tls (i.e., the performance update after successive evaluations) entails a decrease of freedom due to the emergence of contextual constraints that reduce the probability to select some tls (i.e., the preference for the available tl as defined in equation (2)). for a problem type, the degree of freedom corresponds to the probabilistic distribution of preferences for the selection alternatives that is equivalent with the shannon normalized entropy [40, 43]. the shannon normalized entropy for the selection of a tl is given by: e(pjk) = − m∑ k= pjk ·ln(pjk)/ln(m) (3) where pjk represents the preference, the selection probability of the tl k from the tl j; k is the index for the tls connected from the node j (in fact, all the m tls available in the problem space). when the recorded performance is equal for all the available modelling alternatives, the user is considering the entire problem space when he selects a feasible tl (the probabilities from equation (3) being equally distributed entail an entropy equal with 1). contrary, when the recorded performance favours a single alternative, the user will have no freedom in the selection of the best tl (all the probabilities from formula 2 being 0 except the best alternative that is 1, entails an entropy equal with 0). thus, the entropy associated with tl’s selection is a measure of cognitive complexity for modelling the gdp. moreover, it is a local metrics that can be computed for each tl’s selection activity for modelling the gdp. figure 4 shows the cognitive complexity associated with gdp modelling for the design strategies: ds1, ds2 and ds3. the data are obtained for the same experimental settings as introduced in the beginning of this section. because this measure is computed on the basis of the local data for each selection action (the performances available on the edges from the current tl), the figure corresponds to the average of entropies for all the tl selection actions needed to complete the gdp model (5 successive tls, for this case). similar to the distribution of gdp models’ performance, comparing with ds1 the normalized entropy for ds2 and ds3 converge faster to 0. for ds3 the gradual increase in the complexity of the representations for a gdp model in the conceptual problem space (through the definition of different sub-plans on different semantic levels) makes the design of the gdp process more manageable in the sense that it reduces the overall complexity of representing the gdp model. nevertheless to reduce the cognitive complexity for modelling the gdp, the users should be supported in using this representation for guidance and action in the conceptual problem space. this entails the reflection of the abstract representations into the conceptual environment through an increased semantic complexity (by adding new problem types, codified with distinct ids in our implementation) which facilitates the synergy among partially overlapping gdp. only in this way the users may move from one sub-plan to another or from low level detailing with tls to high level of plan and to be fully supported by the stigmergic coordination mechanisms at the same time. 5 summary and conclusions stigmergic mechanisms are widely employed in human society, from the classical examples of largescale complex adaptive systems such as stock markets, supply logistics and cultural memes to the more 134 c.b. zamfirescu, f. g. filip figure 4: the normalized entropy of the gdp modelling for the three design strategies recent range of collaborative working environments such as wiki, google, social networking and opensource software. continuing our work in achieving inter-paradigmatic synergy between symbolic and sub-symbolic reasoning for large-scale complex systems [44, 45], the paper highlighted the computational power of stigmergic coordination mechanisms to build collaborative support systems for complex decisions such as facilitation of gdp in e-meetings. unalike conventional approaches that minimize the cognitive complexity by incorporating the facilitation knowledge into the system, stigmergic coordination mechanisms minimize it by offering emergent functionalities that are made up not only by the user’s actions (through the selection of the right modelling components) but also by the environment itself (through the possibility to structure it in terms of high-level cognitive artefacts such as plans or sub-plans). this was demonstrated by implementing and testing in a socio-simulation experiment an envisioned collaborative software tool that act as a stigmergic environment for modelling the gdp. the results show superior results when the users are supported to gradually increase the complexity of the representations for a gdp model which is reflect on its turn in the relational complexity of the conceptual problem space. bibliography [1] p.p. grassé. la theorie de la stigmergie: essai d’interpretation du comportement des termites constructeurs, insectes sociaux, 6: 41-81, 1953. [2] p. valckenaers, h. van brussel, hadeli, o. bochmann, b. saint germain, c. zamfirescu on the design of emergent systems: an investigation of integration and interoperability issues. engineering applications of artificial intelligence, 16(4): 377-393, 2003. [3] h.v.d. parunak, s.a. brueckner. the cognitive aptitude of swarming agents http://www.newvectors.net/staff/parunakv/casa.pdf, 2009. [4] m.a. rodriguez. faith in the algorithm, part 1: beyond the turing test, http://faithinthealgorithm.net/, 2009. [5] s.c. negulescu, c.v. kifor, c. oprean. ant colony solving multiple constraints problem: vehicle route allocation, international journal of computers, communications and control, 3(4): 366-373, 2008. [6] h.v.d. parunak. a survey of environments and mechanisms for human-human stigmergy, lecture notes on artificial intelligence, 3830: 163-186, springer, 2006. swarming models for facilitating collaborative decisions 135 [7] a. ricci, a. omicini, m. viroli, l. gardelli, e. oliva. cognitive stigmergy: towards a framework based on agents and artifacts, lecture notes in computer science, 4389: 124-140, springer, 2007. [8] f. heylighen, j. bollen. the world-wide web as a super-brain: from metaphor to model, proceedings of cybernetics and systems ’96, austrian society for cybernetics, 917-922, 1996. [9] g.j. de vreede, j.a. boonstra, f. niederman. what is effective gss facilitation? a qualitative inquiry into participants’ perceptions, proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2002. [10] g.l. kolfschoten, w. veen. tool support for gss session design, proceedings of the th annual hawaii international conference on system sciences, ieee computer society press, 2005. [11] a.v. lopez, q. booker, n.s. shkarayeva, r.o. briggs, j.f. nunamaker jr.. embedding facilitation in group support systems to manage distributed group behavior, proceedings of the th hawaii international conference on system sciences, ieee computer society press, 2002. [12] r.a. brooks. intelligence without representation, artificial intelligence journal, 47: 139-159, 1991. [13] e. hutchins. cognition in the wild. cambridge, mit press, 1995. [14] j. rambusch, t. susi, t. ziemke. artefacts as mediators of distributed social cognition: a case study. proceedings of the th annual conference of the cognitive science society, 1113-1118, mahwah, nj: erlbaum, 2004. [15] t. susi, t. ziemke. social cognition, artefacts, and stigmergy: a comparative analysis of theoretical frameworks for the understanding of artefact-mediated collaborative activitym, cognitive systems research, 2(4): 273-290, 2001. [16] m.a. elliott. stigmergic collaboration: a theoretical framework for mass collaboration, phd thesis, centre for ideas, victorian college of the arts, the university of melbourne, 2007. [17] m.a. elliott. stigmergic collaboration: the evolution of group work,m/c journal, 9(2), http://journal.media-culture.org.au/0605/03-elliott.php, 2006. [18] h.v.d. parunak, t.c. belding, r. bisson, s.a. brueckner, e. downs, r. hilscher. stigmergic reasoning over hierarchical task networks. proceedings of the th international conference on autonomous agents and multiagent systems, 1195-1196, 2009. [19] i. dzitac, b.e. barbat, artificial intelligence + distributed systems = agents, international journal of computers, communications and control, 4(1):17-26, 2009. [20] f. heylighen. accelerating socio-technological evolution: from ephemeralization and stigmergy to the global brain. in: globalization as an evolutionary process: modeling global change, edited by george modelski, tessaleno devezas, and william thompson, london: routledge, 286-335, 2007. [21] g. desanctis, b. gallupe. a foundation for the study of group decision support systems, management science, 589-609, 1987. [22] f.g. filip, decision support and control for large-scale complex systems, annual reviews in control, 32(1): 61-70, 2008. 136 c.b. zamfirescu, f. g. filip [23] f. niederman, c.m. beise, p.m. beranek. issues and concerns about computer-supported meetings: the facilitator’s perspective, mis quarterly, 20(1): 1-22, 1996. [24] r.o. briggs, g.j. de vreede, j.f. nunamaker, jr.. collaboration engineering with thinklets to pursue sustained success with group support systems, journal of management information systems, 19(4): 31-63, 2003. [25] j.h. helquist, j. kruse, m. adkins. developing large scale participant-driven group support systems: an approach to facilitating large groups, proceedings of the first hicss symposium on field and case studies of collaboration, ieee computer society press, los alamitos, ca, 2006. [26] f.g. filip. system analysis and expert systems techniques for operative decision making. j. of syst. anal. model. simul. 8(2): 296-404, 1990. [27] c.b. zamfirescu. an agent-oriented approach for supporting self-facilitation in group decisions, studies in informatics and control, 12(2): 137-148, 2003. [28] r.j. harder, j.m. keeter, b.w. woodcock, j.w. ferguson, f.w. wills. insights in implementing collaboration engineering, proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2005. [29] m. de hengst, e. de kar, j. appelman. designing mobile information services: user requirements elicitation with gss design and application of a repeatable process, proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2004. [30] j.h. appelman, j. driel. crisis-response in the port of rotterdam: can we do without a facilitator in distributed settings? proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2005. [31] b. enserink. creating a scenariologic design and application of a repeatable methodology, proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2003. [32] g.j. de vreede, r.o. briggs. collaboration engineering: designing repeatable processes for highvalue collaborative tasks. proceedings of the th hawaiian internal conference on system sciences, ieee computer society press, 2005. [33] l.r. christensen. the logic of practices of stigmergy: representational artifacts in architectural design, proceedings of the 2008 acm conference on computer supported cooperative work, acm, new york, 559-568, 2008. [34] g.j. de vreede, r.o. briggs, g.l. kolfschoten. thinklets: a pattern language for facilitated and practitioner-guided collaboration processes, international journal of computer applications in technology, 25: 140-154, 2006. [35] r.o. briggs, b.a. reinig, g.j. de vreede. meeting satisfaction for technology-supported groups: an empirical validation of a goal-attainment model, small group research, 37, 2006. [36] d. luce. individual choice behaviour, wesley, new york., 1959. [37] k.m. carley. on generating hypotheses using computer simulations. proceedings of the 1999 international symposium on command and control research and technology. evidence based research, vienna, 1999. swarming models for facilitating collaborative decisions 137 [38] u. wilensky. netlogo, http://ccl.northwestern.edu/netlogo/, center for connected learning and computer-based modeling, northwestern university, evanston, 1999. [39] c.b. zamfirescu. anthropocentric group decision support systems. phd thesis, politehnica university of bucharest, 2006. [40] s. guerin, d. kunkle. emergence of constraint in self-organizing systems. nonlinear dynamics, psychology, and life sciences, 8(2): 131-146, 2004. [41] b.e. barbat, s.c. negulescu, c.b. zamfirescu. human-driven stigmergic control. moving the threshold. proceedings of the th imacs world congress scientific computation, applied mathematics and simulation, paris, 2005. [42] v.h.d. parunak, s.a. brueckner, j.a. sauter, r. matthews. global convergence of local agent behaviors, proceedings of the th international joint conferenece on autonomouse agents and multi.agent systems (aamas), utrecht, netherlands, 2005. [43] v.h.d. parunak, s. brueckner. entropy and self-organization inmulti-agent systems. proceedings of the fifth international conference on autonomous agents, montreal, canada, 124-130, 2001. [44] b.e. bărbat, c.b. zamfirescu, s.c. negulescu. the best from ants and humans: synergy in agentbased systems. studies in informatics and control journal, 13(1): 47-59, 2004. [45] f.g. filip, k. leiviskä. large-scale complex systems. handbook of automation ( s. nof, editor), 619-638, springer, 2009. constantin-bala zamfirescu is currently associate professor (lecturer) at "lucian blaga" university of sibiu, romania. he took the phd from "politehnica" university bucharest in automation and control field. his research interests include the employment of agent-oriented engineering paradigm in group decision support and manufacturing control systems. he is a member of ifac technical committees 5.4, eu cost action 298 and nd eu noe for the advancement of artificial cognitive systems, interaction and robotics. florin gheorghe filip member of the romanian academy (elected in 1991), received his m. sc and ph. d. in control engineering from the technical university "politehnica" bucharest in 1970 and 1982, respectively. he has been with the national r & d institute for informatics since 1970 and was the managing director of ici from 1991 to 1997. he was elected in 2000 (and re-elected in 2002 and 2006) as a vice-president of the romanian academy. he has been the chair of the ifac technical committees 5.4 (2002-2008). his main scienti?c interests include: control and optimization of large-scale systems, decision support systems, technology management, and models for knowledge-information society. he is author/co-author of six books, editor of nineteen volumes and the author/co-author of over two hundred articles published in contributed volumes and scientific journals. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 125-133 ontology model of a robotics agents community h. latorre, k. harispe, r. salinas, g. lefranc homero latorre karina harispe universidad tecnológica metropolitana de chile departamento de informática y computación josé pedro alessandri 1242, ñuñoa. santiago – chile e-mail: helatorre@gmail.com renato salinas universidad de santiago de chile departamento de ingenieria mecánica avda. bernardo o’higgins 3363. estación central. santiago – chile e-mail: renato.salinas@usach.cl gastón lefranc pontificia universidad católica de valparaíso escuela de ingenieria eléctrica avda. brasil 2147. valparaiso – chile e-mail: glefranc@ucv.cl abstract: this paper presents an ontology model of necessities and decisions for a cooperative community of heterogeneous robotic agents. based on an ant community, it defines the characteristics of a collaborative and cooperative community of robots, using multi agent theory where each robot shares information with others robots in the community, to accomplish a common objective. keywords: robotics, intelligent agents, multi agents, collaborative and cooperative robotics, long-range-dependent, network layer, network traffic, selfsimilar process. 1 introduction collaborative and cooperative tasks are used in robotic agents, where the knowledge is shared; there exist communication to talk to the others robots where the area to the tasks is located and which decision that they have make, according to the necessities. these works have the hierarchy characteristics similar to that presented in nature, especially in the animal kingdom, where the most interesting are the behavior of bees, ants and termites, communicating where are the foods and the decisions that they have to take, according to the necessities. based on this group behavior, these insects are intelligent agents designed by nature. the agents can be simulated in a computer and put in group of robots that will be able to do tasks in coordinating way, where the decisions are taken with the group characteristics. the tasks in a community of collaborative and cooperative robots have increased in complex way, meaning the tasks cannot be done with only one robot, but needing a heterogeneous community of robots. this heterogeneity of collective robots produces new challenges, adds a new difficulty to collective robotics, such as the aptitude to coordinate individuals with multiple qualities of an intelligent way; and to solve a specific goal working together and taking into account all the characteristics. to solve a certain task, each of them fulfills a specific function with which the copyright c⃝ 2006-2011 by ccc publications 126 h. latorre, k. harispe, r. salinas, g. lefranc rest must be able to coexist, the satisfactory results by means of the union of their qualities, and work together [1]. there exist several methodologies for building multi agent systems. few of them address the information domain of the system. it is as important as the representation of the system in the information domain is the various agents’ information domain view. heterogeneous systems can contain agents with differing data models, a case that can occur when reusing previously built agents or integrating legacy components into the system. most existing methodologies lack specific guidance on the development of the information domain specification for a multi agent system and for the agents in the system. an appropriate methodology for developing ontology must be defined for designers to use for specifying domain representations in multi agent systems. the existing methodologies for designing domain ontologies are built to describe everything about a specific domain; however, this is not appropriate for multi agent systems because the system ontology should only specify the information required for proper system execution. the system ontology acts as a prerequisite for future reuse of the system, as the ontology specifies the view of the information domain used by the multi agent system. any system that reuses the developed multi agent system must ensure that the previously developed system ontology does not conflict with the ontology being used in the new system [2]. once the system ontology is constructed, a multi agent system design methodology should allow the analyst to specify objects from the data model as parameters in the conversations between the agents. to ensure the proper functionality of the multi agent system, the designer must be able to verify that the agents have the necessary information required for system execution. since the information is represented in the classes of the data model, the design of the methodology must show the classes passed between agents [3,4]. in this paper is presented an ontology model of necessities and decisions for a cooperative community of heterogeneous robotic agents based on an ant community. it defines the characteristics of collaborative and cooperative community of robots, using multi agent theory where each robot shares information with others robots in the community, to accomplish a common objective. 2 description of the problem in general, the complexity of the tasks added to the lack of constant structure in the environment, does not allow a homogeneous and structured community should be capable to fulfill the aims raised of an ideal way. nevertheless, these limitations of capacities can be covered if different technologies are integrated; applying the heterogeneity in the architecture added to intelligent behaviors handled by means of multi agent systems – mas. it is important to create mas capable of controlling a heterogeneous community of robots in order to exhibit cooperation and collaboration among them, reaching the proposed aim. there are two concepts that have to be clarified, how the members of the community must be interrelated to the moment to make the work; and cooperation and collaboration. cooperation and collaboration is not the same thing. to collaborate is to contribute, is to give help (in knowledge or work) to do something, is to share the same proposition and the common goals. to cooperate is a collective work with a common goals, it means working together simultaneously, to have interactions of the collective work and interchange of ideas [5]. the cooperative and collaborative environments seek to transform heterogeneous groups into intelligent, flexible and autonomous communities. the community does not need having subordination; this means that the community has no teachers and apprentices nor masters and slaves; the agency is a mere way of communication towards the exterior, to send of results or requests of support [6, 7]. ontology model of a robotics agents community 127 in some communities, the robots communicate to a robot agency, to send reports outside of the community. in a heterogeneous community of robots, the communication between the robots must be in an egalitarian form, without intermediaries. each of them has to have the capacity of direct connection with its partners, without establishing first the communication with the agency. briefly, it is important to have a mas capable of provoking cooperation and collaboration, generating intelligence, flexibility and autonomy, without subordination, to arrive to results obtained from actions realized as consequence of consensus decisions [1, 8–10]. 3 description of the organization of the community the community is formed by heterogeneous robots; each one is specializing in specific functions, which it helps in the achievement of the common goals. inside the community, every robot must report its characteristics to the rest of the community, in order to generate knowledge that it allows to determine which of its qualities are adapted to a specific works. every robot has responsibilities, which will be resolved by consensus of the community, and it will have to realize its actions without being an obstacle to its companions, and giving any help that is necessary in unforeseen moments. to realize the work, and unlike the existing robotic communities, a leader does not exist hence, the communication, transfer of information, and capture of decisions is of "all with all", where every contribution has the same value for the community. if we base the study on a community of ants, these have behaviors that lead them to achieving its goals, though an ant alone is not capable of feeding and defending its anthill, millions of them can do it. in turn, a robot is not capable of realizing tasks that need major capacities that those that it possesses, but a group of them that brings together as a whole all the characteristics necessary, it can realize it. considering a group of agents, natural or artificial, which must come to an aim it can say that: (a) the ants (natural agents) possess intrinsic behaviors of communication, work and capture of decisions. (b) the robots (artificial agents) possess behavior learned or incorporated by means of programming which is based on predefined ontologies. to manage to obtain a "natural behavior" in a robotic community modularization of every action realized by the natural agents in an artificial agent is based in the observation of the nature. 4 systems of ontologies of communication every robot must know the directions of its community, or detect what signs are available, to be able to send the requests of connection and initiate the communicative act that will coordinate the execution of the tasks to realize. for this connection, three agents are needed: one agent capable of detecting signs, and to check the existing directions, one agent to request connection and other one to accept the request (fig. 1). on the other hand, whenever a new member joins the community, it has to report to its companions which are its characteristics and the functions for those that it was designed. for that purpose, it needs to have an agent that it should allow it to deliver its "curriculum" to the rest of the community, and in turn, it needs an agent capable of catching the information relating to each of its new collaborators. (fig. 1). during the accomplishment of the tasks, certain needs arise when in an individual is not capable of solving the task. in this case, it requests help to others. this implies that every 128 h. latorre, k. harispe, r. salinas, g. lefranc individual has the aptitude to communicate its needs and in turn to process requests raised from others. a way of solving this problem is by means of agents in charge of realizing these tasks (fig. 2). besides, it is necessary to have an agent capable of trying the need and to generate an action that could cover this need, based on the knowledge that it has, or to declare itself unable to realize something of usefulness. in brief, there needs an agent capable of making an individual decision. 5 ontology system of making of decisions in the execution of a cooperative and collaborative work, the communities of robotic agents face problems that need of rapid solution, even if its behavior is intrinsic in them and present certain characteristics of collective memory. they have to take decisions that in some cases involve to sacrifice some members of the colony. for it, when a need is communicated and it receives several individual answers to that aptitude to cover the need, the community must decide which of the offers is better, or how to coordinate them. for it, there can be applied different concepts based on the ontologies of decision in which the robotic mas is sustained. the last instance, before realizing the pertinent assignments to cover a need, is the taking of decisions (d), where the conducts of the community meet reflected with major force, from the coordination up to the cooperation. unlike the traditional focus in the collective robotics, in the community of robotic agents there appears a new concept, the consensus. any decision taken must be realized by mutual agreement for the whole community that it is directly faced to a problem – fig. 3. the making of decisions carries out three different forms, commonly used among human groups: decision for similarity (ds): this one is taken when more than one individual presents the same solution, expressed of different way; the community may take both as different, and nevertheless it has to have the aptitude to detect the similarities among them and to obtain the unique solution. yet, when there are significant differences between the offers realized, it must be feasible to unite the similarities among them and to optimize the differences to obtain the final solution that will be applied. decision for quality (dc): this one turns out to be one of the most complexes since the robots must be capable of determining which of all the offers is the optimal, or the best solution. this requires that to community possesses another human characteristic, the figure 1: fipa protocol for community of robotic agents. ontology model of a robotics agents community 129 figure 2: architecture of knowledge behaviors for community of robotic agents. intelligence, which brings the artificial intelligence, besides needing a major quantity of resources assigned to the making decisions. decision for majority (dm): this one refers to the choice of a solution from the generated offer more time, this solution goes of the hand in the majority of the times of the decision for similarity, since it turns out slightly probable that two or more agent components of robots with different characteristics and particular knowledge generate exactly equal solutions. the decision for majority implies reducing the number of offers by means of the assimilation, then there determining which is the accepted solution by means of the acceptance of the members’ major quantity. the behavior (similar to the human being) assigned to the community of robotic agents, goes directly related to the solution of problems. it is for it that the actions to take realize in a sequenced way being careful not to omit any of them in order not to present faults to the moment of it determines the suitable way of handling a certain situation arisen during the palliation of pertinent labors for the fulfillment of an aim. on the other hand, the satisfactories generally they turn out to be inactive individuals of the colony, already be that they are in the nest, or that have stopped its labors inside the community. these agents robots are capable of solving problems and of covering the needs of its companions as they were described in the previous point. the general way of obtaining the satisfactory determined by means of the process that culminates in the making of decisions, is by means of communicative acts which allow to deliver information to other members of the colony on what it is looked, in order that these could provide it. in a graphical form this sequence of actions is represented in fig. 4. figure 3: architecture for making decisions in a community of robotic agents. 130 h. latorre, k. harispe, r. salinas, g. lefranc figure 4: sequence of actions for the search of a satisfactory decision. in a robotic community, every individual must have a small base of knowledge handled by an agent which will determine those actions can be used in the future and which not, beside to determine which are those situations that must be reported to the rest of the community to create a collective memory. likewise, the robots must possess an agent capable of making a record of mistakes and correct them, registering also the above mentioned alteration. also it has to have the aptitude to eliminate the knowledge that is unnecessary or is obsolete, to avoid information garbage inside the robot and its community. 6 ontologies for needs these types of ontologies define the particularities of every type of existing need. nowadays, there are four basic needs, the nourishment, affiliation, assignment and repair. each of them possesses certain points by means of which there can be associated an individual and to a labor, bequeathing this way to facilitating the take of decisions in the active community. each of these needs possesses a particular class, these are: class nourishment: this one describes the levels of discharge of energy that produce some problem in a robot, and defines the possible solution to the above mentioned mishap. the table 1 shows one of the subclasses that shape the class nourishment. class affiliation: this one describes the most particular need of all, the affiliation. this one takes place at the arrival of an individual to the active community and defines what must be fulfilled in order that this one is accepted by who will be its companions of making place the affiliation of the new individual to the group. the table 2 shows one of the subclasses that shape the class affiliation. class assignment: this one describes the need of union between an individual and a labor. when it arises a certain task must be looked the one who realizes it, of compatibility exists with the agents robots inactive these they will be assigned, of not being like that a request ontology model of a robotics agents community 131 will realize to the agency robots. they can be given in combination when more than one individual needs, and the total coverage of the satisfactory does not exist in the active community. the table 3 shows one of the subclasses that shape the class assignment. class repair: this one describes possible damages somewhere or a piece of an individual, defining possibilities of repair, change or to send to workshop, depending on the severity of the fault. the table 4 shows one of the subclasses that shape the class repair. subclass definition level of hunger measure in per cent. it refers at the level of discharge that presents the battery of nourishment of the robot. intermediate state it adduces to the state to which there will change the individual while it is recharged (if it is left or it is still active or in wait) satisfactory it will determine depending on the unload if a loader or a derrick is necessary. way of connection it determines the type of connector between the individual uncharged and the individual charger. table 1: subclass of the class nourishment subclass definition community activates it determines the identificator of the active community to which an individual is sent. individual it determines the identificator of the individual who is sent. minimal percentage of acceptance it determines the minimal percentage of approval that must exist in order that the individual be accepted as member of the community. table 2: subclasses of the class affiliation. subclass definition labor definition of the labor to realize. satisfactory determination of the type of suitable individual. compatibility with oi existence of compatibility with the agents robots inactive inside the active community. (alphanumeric chain which first character is the number of agents compatible robots, followed by its identificator). request to agency robots package of request of compatible individuals to send to the agency (chain of characters where the first character defines the quantity followed by the description of the satisfactory). table 3: subclasses of the class assignment in the communities of robotic agents, it is necessary to define each and every of the ontologies that there are forming the base of knowledge of the robotic agents, which are fundamentals to define the task that the community is capable of realizing. in this work, it presents a proposition of the ontologies of connection, of decision and of needs, for a community of robotic agents in particular, which joined the development of intelligent agents, manages to form a type of social behavior very similar to the behaviors in the conducts presented by social groups such as the ants, which possess a highly developed instinct of collaboration and cooperation. 132 h. latorre, k. harispe, r. salinas, g. lefranc subclass definition damaged piece it determines which is the piece that presents damage. level of damage it determines of percentage form the severity of the fault. capacity of change it determines if it is possible to replace the damaged piece or not. intermediate state it adduces to the state to which there will change the individual while it is repaired (if it is left or it is still active or in wait) satisfactory it determines that repairer is the most suitable, or if it turns out to be more suitable if a derrick is requested. table 4: subclasses of the class repair figure 5: ontology of needs the following image (fig 5) presents a graph of the components of the classes of the ontology of needs. 7 conclusions in the communities of robotic agents, it is necessary to define each and every one of the ontologies that there are forming the base of knowledge of the robotic agents, which are fundamental to define the task that the community is capable of realizing. in this work, it presents a proposition of an ontology model for a cooperative community of heterogeneous robotics agents. it defines the characteristics of collaborative and cooperative community of robots, using multi agent theory where each robot shares information with others robots in the community, to accomplish a common objective. the ontologies are for connection, for decisions and for needs, for a community of robotic agents in particular, which joined the development of intelligent agents, manages to form a type of social behavior very similar to the behavior by social groups such as the ants. bibliography [1] lefranc, g. “colony of robots: new challenge”, int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844, vol. iii (2008), suppl. issue: ijccc 2008, pp. ontology model of a robotics agents community 133 92-107. [2] ellips masehian, and davoud sedighizade, “classic and heuristic approaches in robot motion planning – a chronological review”. proceedings of world academy of science, engineering and technology volume 23, august 2007. [3] mcguinness, d.l., fikes, r., rice, j. and wilder, s. an environment for merging and testing large ontologies. principles of knowledge representation and reasoning: proceedings of the seventh international conference. a. g. cohn, f. giunchiglia and b. selman, editors. san francisco, ca, morgan kaufmann publishers. 2000. [4] supnithi t., inaba a., ikeda m., toyoda j., mizoguchi r., 1999. “learning goal ontology supported by learning theories for opportunistic group formation”. proc. of aied99, pp. 67-74. [5] brophy s., biswas g., katzlberger t., bransford j. and schwartz d., 1999. “teachable agents: combining insights from learning theory and computer science”. in s. p. lajoie and m. vivet (eds.), artificial intelligence in education, pp. 21-28. [6] sloczinski, h. lucila maria costi santarosa, “aprendizagem coletiva em curso mediado pela web”, vii congresso iberoamericano de informática educativa, 2003. [7] nwana h., 1996. “software agents: an overview”. vol. 11, no 3, pp. 205-244. cambridge university press. [8] paquette g., 1999. “meta-knowledge representation for learning scenarios engineering”. proceedings of ai-ed, 1999. [9] posadas j., 2003. “arquitectura para el control de robots móviles mediante delegación de códigos y agentes”. tesis doctoral. universidad politécnica de valencia. [10] soller, a. linton, f., goodman, b., and lesgold, a., 1999. “toward intelligent analysis and support of collaborative learning interaction”. proceedings of the ninth international conference on artificial intelligence in education, le mans, france, 75-82. [11] russell, s., norvig, p., 1995. “artificial intelligence: a modern approach”. ed. prentice hall. [12] wooldridge m. and jennings r., 1995. “intelligent agents: theory and practice”. the knowledge engineering review, 10(2): pp. 115–152. international journal of computers, communications & control vol. i (2006), no. 4, pp. 35-44 numerical aspects and performances of trajectory planning methods of flexible axes jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée abstract: adequate path planning design is an important stage for controlling flexible axes because it may allow to cancel vibrations induced by oscillating modes. among bang-bang profiles which are linked to optimal control, jerk assignment (acceleration derivative) and input shapers have been investigated. theoretical results show the performance and robustness with respect to natural frequency mismatch. practical validations on a real robot arm show the relevance of the jerk algorithm which is more robust with the same productivity performances as input shaping techniques. keywords: flexible axes, vibrations, bang-bang laws, input shapers, motion planning. 1 introduction vibration control of flexible cartesian robots or axes is strongly related to productivity. indeed, lighter structures allow material savings and higher performances in terms of speed, acceleration. . . which, in turn, cause undesirable oscillations. in practice, classical servo control fails to reduce vibrations, which, in many cases, restrains the operating speed [1]. the only way to damp the oscillations consists of designing proper smooth reference trajectories, which should be however as fast as possible [2]. many methods have been introduced using the inversion motion equations or a combination of smooth trigonometric or polynomial functions, e.g. [3]. very often, though, these methods face the robustness problem with respect to uncertainties in the dominant frequency, which is the main model parameter to be taken into account into anti-vibration algorithms design. near-optimal bang-bang methods have been designed to solve the trade-off between productivity and vibrational behavior. these mainly consist of convolving a series of impulses with the control input, where the inter-pulse duration is adequately chosen in a way that the resulting oscillations are in phase opposition [4]. these techniques are known as input shapers, and have proven to be quite effective on linear systems e.g. [5, 6]. on another hand, the most popular damping scheme consists of a bang-bang profile in jerk (which is the derivative of acceleration), and has been proven to be related to input shapers with negative weights [7]. the goal of the paper is to compare different bang-bang laws (shapers, jerk. . . ) in terms of productivity and sensitivity to parameter uncertainty, for a classical model of flexible axis controlled in closed-loop. in a first part, different trajectory planning methods are presented and theoretical results, in terms of vibration attenuation and robustness, are presented. the second part deals with an experimental validation on a real industrial pick-and-place robot which will draw a fair comparison in terms of productivity between these methods. 2 preshaping laws 2.1 architecture of cnc axes control of a cnc axis or a cartesian robot arm is decomposed into three phases [1]: • geometric motion planning which provides the desired path within the whole workspace (in 2or 3-d) copyright c© 2006 by ccc publications 36 jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée figure 1: control strategy of a cnc axis • a time-dependent path planning stage which should, of course, take into account for saturations, but, which will be shown later, should be designed to cancel undesirable vibrations • a servo controller which should help to reject disturbances and to track the reference trajectory. in practice, the model of a flexible axis controlled with cascaded loop will be [1] x(s) xre f (s) = 1 + k fvkv s 1 + skv 1 + 2ζω s 1 + 2ζω s + 1 ω 2 s 2 (1) where x is the position of the motor, xre f is the reference trajectory, kv, k fv are servo gains (position and speed gains, respectively), ζ , ω are respectively the damping ratio (assumed as very small, ζ << 1) and the natural frequency of the axis modeled as a two-mass-spring damper unit. the main purpose of this paper will be the design of the time-dependent path-planning of the closed-loop system represented by equation (1). 2.2 smooth continuous laws a first way of designing the reference trajectory, would be to invert the whole path planning, such as in the so-called flatness approach [3]. in practice, though, model parameters vary since the structure consists of an assembly of flexible beams. the linear approximation of equation (1) is indeed valid for one set-point, which is the case during the short periods corresponding to the start and stop procedures, but not during the whole course. for point-to-point displacements, a stage of acceleration and deceleration is necessary. in cnc control, these stages are driven in a very sharp way, commonly a bang-bang in acceleration, which consequently excites the flexible mode of equation (1) and generates high-amplitude vibrations. smooth trajectories based upon the natural frequency of the closed-loop system (1) can thus be designed, and an obvious method consists of introducing such laws as trigonometric trajectories (fig. 2). the maximal vibratory error for a "sine" profile is (εvib)max = x̄re f sin ( π τ 2 ) π τ (τ 2 −1) (2) for a square sine [2] profile ( τ = tf ω/2π ; tf is the motion duration, x̄re f is the target position). in practice, the error is significantly reduced for a movement of duration superior to 4 times the natural period. an alternative consist of building smooth polynomials which would verify smooth constraints on the dynamics such as minimizing the amplitude of the jerk during the whole displacement, the corresponding polynomial is: xre f = 30t 3x̄re f t 5f ( t 2 5 − tf t 2 + t 2f 3 ) (3) numerical aspects and performances of trajectory planning methods of flexible axes 37 figure 2: smooth control laws and the corresponding maximum error decreases again after a few periods [2]: (εvib)max = 15x̄re f π 5τ 5 [ 3π τ cos (π τ) + ( −3 + π 2τ 2 ) sin (π τ) ] (4) 2.3 jerk laws contrary to previous laws, it is also possible to use "bang-bang" or discontinuous laws to achieve the feedforward control of cnc axes, which are related to time-optimal control as proven in [8]. figure 3: bang-bang profile (jerk-limited) the maximum theoretical error for a bang-bang in acceleration is max t≥t f (ε(t)) x̄re f = ( sinc ( π.τ 2 ))2 , τ = tf ω/2π . for a profile with a bang-bang in jerk, one obtains [2]: max t≥tf ∣∣∣∣ ε(t) x̄re f ∣∣∣∣ = 4am ω 2 · √ 1 + k f 2v ω 2/k2v 1 + ω 2/k2v · ∣∣∣∣sinc ( tjω 2 )∣∣∣∣ ψ (tj, ta, tv) (5) where tf = 4tj + 2ta + tv (see fig. 3), am is the maximum acceleration, and: ψ (tj, ta, tv) = ∣∣sin ((ta + tj) ω/2) sin ((ta + 2tj + tv) ω/2) ∣∣ in theory, it is possible to find a value of jerk for zero-vibration which will be: tj = 2π ω and j = 2π ω am (6) the theoretical robustness with respect to an uncertainty in the natural period t is shown below: 38 jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée figure 4: residual vibrations 2.4 input shapers the principle of input shapers was introduced by singer and seering [4] and consists of convolving the reference or the input with a series of well-chosen impulses. jerk motion planning can be considered as input shaping with negative weights. the underlying idea is that the oscillation will be compensated figure 5: input shaper principle by that induced by a shifted pulse as shown fig. 6: a shaper is thus a series of shifted pulses which can figure 6: superposition of oscillations be written f (s) = a0 + n ∑ i=1 aie −sti (7) where n ∑ i=1 ai = 1. the response to a second order system will be: x(t) = n ∑ i=1 x̄re f [ aiω√ 1−ζ 2 e−ζ ω(t−ti) ] sin(ω √ 1−ζ 2(t −ti)) numerical aspects and performances of trajectory planning methods of flexible axes 39 • the zero-vibration (zv) shaper, which is a two pulse filter for which the vibration at the stop stage should be zero; one obtains the following equations:    a0 + a1eζ ω t1 cos(ω √ 1−ζ 2t1) = 0 a1e ζ ω t1 sin(ω √ 1−ζ 2t1) = 0 a0 + a1 = 1 • the zero-vibration derivative (zvd) shaper which is a three pulse filter for which the position and its derivative at the stop stage should be zero; equations are: [ ai ti ] =   1 d(ζ ) 2e −ζ π√ 1−ζ 2 d(ζ ) e −2ζ π√ 1−ζ 2 d(ζ ) 0 π ω √ 1−ζ 2 2π ω √ 1−ζ 2   where d(ζ ) = 1 + 2e −ζ π√ 1−ζ 2 + e −2ζ π√ 1−ζ 2 figure 7: shaper robustness figure 7 shows shaper robustness where the percentage of residual vibration is plotted versus the ratio ω1/ω where ω1 = 2π/t1 (a specified insensitive is a 4-pulse shaper [9]). the more pulses, the more the shaper will be robust with respect to natural frequency uncertainty. however, it can be understood that adding pulses leads to higher cycle times, as will be shown later on. one can see that the zv shaper, which is quite performing, is not really robust with respect to natural frequency mismatch. when applied to equation (1), the zv shaper gives a maximal error of: max t≥tf ∣∣∣∣ ε(t) x̄re f ∣∣∣∣ = a 2 + 2t 2ω 2 √√√√√√   ( 1 + cos ( π ω ω1 ) −t ω sin ( π ω ω1 ))2 + ( t ω + t ω cos ( π ω ω1 ) + sin ( π ω ω1 ))2   with a theoretical cycle time of: tf = 1 2 (√ 16x̄re f a −t1 ) the zvd shaper gives a maximal error of max t≥tf ∣∣∣∣ ε(t) x̄re f ∣∣∣∣ = a 2 + 2t 2ω 2 √√√√√√   ( t ω + t ω cos ( π ω ω1 ) + cos ( π ω ω1 ) sin ( π ω ω1 ) + sin ( π ω ω1 ))2 + ( 1 + cos ( π ω ω1 ) + t ω sin ( π ω ω1 ) + t ω cos ( π ω ω1 ) sin ( π ω ω1 ))2   40 jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée and the cycle time is tf = 12 (√ 16x̄re f a + t1 ) , which is much longer than precedingly, and comparable to the bang-bang of jerk cycle time. 3 experimental comparisons of path planning laws 3.1 material and methods the experimental validations are carried out on a 3-axes robot (fig. 8). it has been equipped with a real-time "dspace 1103" control card. the available measurements on the motor part come from the actuator axis encoders [10]. when the horizontal axis is only moving, it will be assumed that the axis stiffness remains almost constant (with an actual variation of 30 %) and the system can be considered as linear. the validation was undertaken for a displacement on the x axis, with x2 varying from x20 = 0 to x2 = 900mm and y2 = 0mm with a height z = 315mm. according to experimental results, the natural figure 8: overview of the first test-setup prototype (stroke [mm]: x-1000 y-400 z-800, max. feedrate: 120 m.min−1, max. acceleration: 4 m.s−2). frequency was calculated as fn = 9.8hz, the damping ratio was taken as ς = 0.0132. in this case, the optimal value of the jerk given by equation (6), which limits the amplitude of vibrations, is of 30 m.s−3. parameters of the industrial control loop were kp = 14s−1, kv = 2a.rd.s−1. 3.2 experimental results one can see that, from fig. 9, the curve follows a sinc (.) evolution. fine jerk tuning is indeed effective. when the jerk parameter is not well-tuned, the vibrational behavior deteriorates slightly. as for the zvd shaper (fig. 10) , one can find out what was simulated, one obtains zero vibration when a = ω1/ω is even, and the curve is flat around points cancelling vibrations. results for the zv shaper are alike and not shown here. 3.3 comparison and discussion one can compare experimentally the maximal error for the three laws: figure 11 shows that the zv shaper is not robust at all. the jerk law is quite robust with respect to input shapers, because the jerk is a continuous derivative of the acceleration during the whole motion, whereas the zvd cancels vibrations only at the point where zero vibrations are desired. for a value of a = 1, the three curves have the same percentage of residual vibration (same performances). when a = 0, one finds again the classical bang-bang in acceleration for which by definition 100% vibrations occur (fig. 11). the cycle time is numerical aspects and performances of trajectory planning methods of flexible axes 41 figure 9: jerk-limited residual vibrations (%)-(a) : variation of maximal residual vibrations as a function of a = ω j/ω, ω j = 2πtj (b) : amplitude of vibrations at jerk j=100 (c) : amplitude of vibrations at jerk j=30 figure 10: zvd residual vibrations (%)-(a) : variation of maximal residual vibrations as a function of a = ω1/ω , (b) : amplitude of vibrations at a = 0.5 (c) : amplitude of vibrations at a = 1 42 jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée figure 11: comparison of planning laws: percentage of maximum vibrations figure 12: comparison of planning laws: cycle time numerical aspects and performances of trajectory planning methods of flexible axes 43 defined as the instant for which the motor position reaches its reference by 0.2 mm. figure 12 shows the evolution of the cycle time of the different laws. one can see that the zv shaper is quicker by 13%. as a conclusion, the jerk bang-bang algorithm is more robust to parameter variations than a zv shaper which has approximately the same cycle time. another advantage is that this algorithm is now implemented in most industrial cnc control devices. when the frequency is always the same, fixed and well-estimated, one can expect to gain some productivity using a zv shaper instead. a possibility to cope with non-linearities consists either of using "gain scheduling" or adaptive/iterative algorithms e.g. [11, 12]. 4 summary and conclusions the design and computation of near-optimal reference trajectories for cnc devices is a difficult challenge which should examine the trade-off between cancellation of undesirable vibrations and rapidity. this design can be achieved using continuous "jerk" (derivative of acceleration) laws or input shapers, which consist of convolving pulses with the control input. theoretical and empirical results show the relevance of using jerk laws due to their productivity performances at comparable robustness properties (with respect to natural frequency uncertainties). a good calibration of the model parameters would allow to use a two-pulse shaper, which is faster but less robust. in practice, however, these algorithms have to be adapted to be implemented into cnc units, because of neglected dynamics (such as dry friction) which may cause static errors. references [1] béarée, r., barre p.j., bloch s., influence of high feed rate machine tool control parameters on the contouring accuracy, j. intell. robotic systems, vol. 40, 2004, pp 321-342. [2] barre p.-j., bearee r., borne p., dumetz, e., influence of a jerk controlled movement law on the vibratory behaviour of high-dynamics systems, j. of intell. robot. systems, vol. 42, 2005, 275293. [3] fliess m., lévine j., martin p., rouchon, p., flatness and defect of nonlinear systems: introductory theory and applications, int. j. control, vol. 61, 1995, pp 1327-1361. [4] singer n., seering w., preshaping command inputs to reduce system vibration, j. dynam. syst., meas. contr., vol. 112, 1990, pp 76-82. [5] meckl p. h., seering w. p., experimental evaluation of shaped inputs to reduce vibration of a cartesian robot, j. of dyn. systems, meas. control, vol. 112, 1990, pp 159-165. [6] peláez g., gu. pelaez, j.m. perez, a. vizán, e. bautista, input shaping reference commands for trajectory following cartesian machines, control eng. practice, vol. 13, 2005, pp 941-958. [7] singhose w., singer n., seering w., time-optimal negative input shapers, j. dynam. syst., meas., contr., vol. 119, 1997, pp. 198-205. [8] lau m. a., pao, l. y. , input shaping and time-optimal control of flexible structures, automatica, vol. 39, 2003, pp 893-900. [9] singhose w. e., derezinski s. j., singer n. c., extra insensitive input shaper for controlling flexible spacecraft, j. guidance control dynamics, vol. 19, 1996, pp 385-391. 44 jean-yves dieulot, issam thimoumi, frédéric colas, richard béarée [10] dumetz e., dieulot j.y., barre p.j., colas f., control of an industrial robot using acceleration feedback, j. intell robotic systems, vol. 46, 2006, pp 111-128. [11] md zain m.z., tokhi m.o., mohamed z., hybrid learning control schemes with input shaping of a flexible manipulator system, mechatronics, vol. 16, 2006, 209-219. [12] cutforth, c. f., pao l. y., adaptive input shaping for maneuvering flexible structures, automatica, vol. 40, 2004, pp 685-693. jean-yves dieulot ensam de lille research technological team cemodyne 8 bd louis xiv, 59000 lille cedex e-mail: jean-yves.dieulot@polytech-lille.fr received: november 6, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 719-726 a homogeneous algorithm for motion estimation and compensation by using cellular neural networks c. grava, a. gacsádi, i. buciu cristian grava, alexandru gacsádi, ioan buciu university of oradea faculty of electrical engineering and information technology oradea, romania e-mail: {cgrava,agacsadi,ibuciu}@uoradea.ro abstract: in this paper we present an original implementation of a homogeneous algorithm for motion estimation and compensation in image sequences, by using cellular neural networks (cnn). the cnn has been proven their efficiency in real-time image processing, because they can be implemented on a cnn chip or they can be emulated on field programmable gate array (fpga). the motion information is obtained by using a cnn implementation of the well-known horn & schunck method. this information is further used in a cnn implementation of a motion-compensation method. through our algorithm we obtain a homogeneous implementation for real-time applications in artificial vision or medical imaging. the algorithm is illustrated on some classical sequences and the results confirm the validity of our algorithm. keywords: cellular neural networks, motion estimation, horn & schunck method. 1 introduction the motion estimation and compensation algorithms were developed for different applications as artificial vision, video information compression, medical imaging, digital and high-definition television, video-telephony, virtual-reality and multimedia techniques. motion estimation allows one to reduce the temporal redundancy in a sequence of images in order to reduce the transmission rate and has been widely used in television signal coding (e.g. motion-compensated (mc) prediction, mc interpolation) and videoconference services [1]. to avoid this limitation in this paper we propose a fully parallel solution in order to realize the motion estimation and compensation, using cnn [2], as a competing alternative to classical computational techniques. the advantage of the algorithms that can be implemented on cnns is that these kinds of neural networks already exists in hardware version [3], [4] and thus we can obtain real-time applications. in our case, because the motion estimation and compensation methods have generally a great computational cost, we develop homogeneous algorithms (that is the estimation part and compensation part are implemented in the cnn environment) for real-time applications that can be after that applied in artificial vision or medical imaging. after a small introduction, in the second part of this paper we present an overview of motion estimation and compensation methods, followed by a section that presents the cnn implementation of the horn and schunck motion estimation method and a section that presents the cnn implementation of the motion compensation. in the section dedicated to experimental results we present results that confirm the validity of our algorithm and we finalize our paper with a section of conclusions giving also some perspectives to our work. copyright c⃝ 2006-2010 by ccc publications 720 c. grava, a. gacsádi, i. buciu 2 overview on motion estimation and compensation methods the most used motion estimation methods are [5]: • differential methods (or gradient methods); in this case the motion being estimated based on the spatial and temporal gradients of images [6], [7], [1]; • block-based methods (or correlative methods). these methods could be classified in phasecorrelation methods and block-matching methods. in the case of phase-correlation methods, the motion is estimated based on the fourier phase-difference between two blocks from two successive images. these methods are less used in practice because of the high noise-sensitivity. in the case of block-matching methods the location of the block (in the following or previous images) that best matches the reference block in the current image is searched, based on a certain matching or difference criteria. both methods are usually applied in the case of a translation movement, but could be also adapted for other spatial models of the movement [8]. the principle of almost all motion estimation methods is that the brightness intensity of each pixel is constant along the motion trajectory or is modifying in a predictable way. this hypothesis of brightness intensity preservation of each point (x,y,t) along the motion trajectory can be expressed through the equation of displaced frame difference (dfd), between the t and t − 1 = t − ∆t instants [9]: dfd(x, y) = φ(x − dx, y − dy, t − dt) − φ(x, y, t), (1) where φ(x, y, t) denote the brightness distribution of the image at the moment t and d = [dx, dy]t is the displacement vector between the moments t and t′ = t − ∆t (dx and dy being the displacement vectors on x and y direction, respectively). differential motion estimation methods are based on spatial and temporal gradients of a sequence of images. if the brightness intensity of a pixel is not varying in time, then dφ/dt = φt = 0 [1]. the first order taylor development of this last relation, has as result the “equation of movement constraint” emc (or “optical flow equation” ofe) that links the spatial and temporal gradients of brightness intensity [9]: ∂φ ∂x ∂x ∂t + ∂φ ∂y ∂y ∂t + ∂φ ∂t = 0. (2) we can rewrite: φx · νx + φy · νy + φt = 0, (3) where φx and φy are the spatial gradients, φt is the temporal gradient of the brightness intensity and νx = dx/dt, νy = dy/dt are the velocities on x and y directions [1]. as it can be observed in eq. 3, the optical flow equation has two unknowns (νx, νy), hence the system is under-determined leading to an ill-posed issue. in order to obtain both movement components (νx, νy), it has to be introduced a second constraint, to obtain a fully determined system (two equations with two unknowns). one of the possible constraints is offered by the well-known horn & schunck motion estimation method [1], which assumes that all the neighbor pixels have similar movement (we say that the velocity field is uniform or smooth). it results that it has to be minimized an energy: e2 = e2flow + γe 2 uniformity (4) the first term correspond to the difference related to the projection of the velocity vectors on the spatial gradient (as in the emc) and the second term correspond to the difference related a homogeneous algorithm for motion estimation and compensation by using cellular neural networks 721 to a smooth field, g being the weighting term between the two terms. the uniformity constrain is expressed by the equation: e2uniformity = ( ∂νx ∂x )2 + ( ∂νx ∂y )2 + ( ∂νy ∂x )2 + ( ∂νy ∂y )2 (5) e2flow = ( φx · νx + φy · νy + φt )2 (6) the solution is obtained after a gauss-seidel minimization [1]. equation 6 will be minimized when the error (that means the difference between two successive values of (νx, νy), will be considered as being the minimal or when the maximum chosen number of iterations will be reached. this method is not limited to translations as block-matching method and the computations are shorter, but the movement amplitude has to be small (less than three pixels) because of the considerations regarding taylor development. the solution to avoid the constraint regarding small amplitude of movement is to use the multi-resolution technique [1]. using two consecutive frames (φi(x, y, ti) and φf(x, y, tf)) of a sequence (fig. 1), after the application of a motion estimation algorithm, as horn and schunck method, for each pixel it results an estimation of its movement in the both two directions (x,y) of the system of co-ordinates that is attached to image plane. figure 1: the illustration of motion compensation. the purpose of motion compensation is that based on estimated motion information and starting from a reference image (the initial image φi, in fig. 1) to obtain an estimation of the real comparison image (the final image φf) that was used in the process of motion estimation [10]. 3 the cnn implementation of the horn & schunck motion estimation method regarding cnn gray-scale image processing generally, variational computing based template design is possible if the design constrains are respected [11], [12]. in order to analytically determine the template, cost functions or energies are used in the designing step. an important designing aspect is represented by the way to associate each energy function with one of the a, b, c or d template, as well as the way to chose the layers number of the cnn. taking into account the characteristics of the existing cnn chip it is recommended to use only mono-layer cnn and only a and b templates. in the cost functions some weights can be introduced in order to maintain the state values in the linear zone of the state-output transfer characteristic. the motion estimation results using the two images, φ1(x, y, t) and φ2(x, y, t + ∆t), a two-layer cnn structure and the hosch.tem (see fig. 2). after the cost function minimization [13], for the hosch.tem it results: • polarization images z1 = φxφt and z2 = φyφt, 722 c. grava, a. gacsádi, i. buciu figure 2: two-layer cnn structure for the proposed horn & schunck motion estimation method. • nonlinear templates a1 and a2: 0 a 0 a 1-4a a 0 a 0 where the parameter a also includes the γ parameter from the equation (6), obviously weighted with the constants that results at the energy minimization. nonlinear d − type template d is: 0 0 0 0 dkl 0 0 0 0 where each element dkl is expressed as follows: d11(νx) = (φx)2 · νx, d21(νy) = φxφy · νy, d22(νy) = (φ y)2 · νy, and d12(νx) = φxφy · νx, respectively. in fig. 3 the images with the estimated motion in the case of the “taxi” real sequence are presented. the first two images represent two images of the well-known sequence in motion estimation reference, “hamburg-taxi”, and in the last two images the motion νx and νy (or displacement) images are presented. the two last images represent the displacement in the two spatial directions. the combination between these two images could be also represented as a single image with vectors corresponding to the displacement of each pixel of the reference image, as we will present in the section presenting other experimental results. for a better visualization, the motion images, νx and νy, are not calibrated in the cnn domain. if we want to use these images in image compensation we have to calibrate them in the cnn domain [−1, +1]. figure 3: two images of the hamburg-taxi real sequence, used in our experiments. a homogeneous algorithm for motion estimation and compensation by using cellular neural networks 723 4 the cnn implementation of motion compensation in order to develop a motion compensation algorithm that can be directly implemented on a cnn chip, we have to decompose such an algorithm as elementary steps that can be then implemented on the existing hardware. as a result of the motion estimation process, a pixel could be stationary or can change its position in one of the eight elementary directions: n, n-e, e, s-e, s, s-w, w, n-w. after the application of a motion estimation technique, the pixels of the intermediary image frame φ(x, y, t), that corresponds to any given moment t ∈ (ti, tf), could be classified in the following categories (see fig. 1), where t is the time-position of the intermediary image, between the initial image and the final image: • pixels of “a” type that has an identical position in the two consecutive images. these pixels does not change, at a given moment t ∈ (ti, tf), neither their positions nor their values; • pixels of “b” type, that will moves as a result of the fact that the corresponding pixels in the two images that contains the motion information has a value greater than a current elementary value (that could be view as a quantum or a threshold). the value of these pixels is not changing, but inserting intermediary images between the initial and final image, φi and φf, their positions are changing successively with one elementary value (one quantum) corresponding to the spatial discretization. the maximum number of intermediary images that could be inserted equals the maximum number of elementary values (quantum) that could be identified in the images that contains motion (or displacement) information; • pixels of “c” type are those pixels that will change their values because will be covered by the pixels that will arrive in that position, overlapping the initial pixel: c(t) = shift(b(t)) (7) • pixels of “d ” type, with unknown values, that are the result of the displacement of “b” type pixels, that liberates a location but there is no pixel arriving in that location. in each step of the movement, the value of these pixels could be determined through spatial cnn spline-cubic interpolation [10]: d(t) = ⌊d(t − 1) · c(t) + b(t) · c(t)⌋ · b(1) (8) • pixels of “e” type that at the current time during the processing will have the same value as in the initial image φi, due to the movement of the pixels (arrivals and departures of the pixels). the values of these pixels will be restored from the initial image: e(t) = c(t − 1) · b(t) · c(t) · d(t) (9) each intermediary step has as result an associate image and to create this intermediary image it has to be done the following operations: • determine the “c” type pixels, that is the displacement with one pixel in the direction resulting from the motion information; • interpolation, in order to determine the values of unknown pixels, that is the “d ” type pixels. for each intermediary image, the value of a pixel results after the determination of the type of that pixel. the state of a pixel could change during the processing. the initial and final image, 724 c. grava, a. gacsádi, i. buciu φi and φf, and the images that contain the motion information have the same dimensions. in this paper, all images are converted to standard cnn gray-scale images, taking values between -1 to +1 (see fig. 5). the convention is that pixels with negative value are coding a displacement to the left (fig. 5 a) or to up, respectively (fig. 5 b) and the pixels having positive values are coding the displacements to the right (fig. 5 a) or to down, respectively (fig. 5 b). the values of the pixels coding the motion are multiples of the minimum detectable value of the motion. in order to detect the pixels that will change their position and to move the pixels, the treshold.tem and shift.tem templates family are used [14]. the determination of the value of pixels of “d ” type could be made for each intermediate image or only to the final image. in order to avoid the modification of the pixels of “a” type or in order to restore the pixels of “e” type, some mask-images are created during the processing, using the equations (7), (8) and (9). figure 4: conventions in the images containing the motion information. 5 experimental results in this section some experimental results obtained by using the "cadetwin" (cnn application development environment and toolkit under windows [14]) are presented. the images containing the motion estimation, νx and νy, are calibrated in the cnn domain [−1, +1]. the processing time depends on the number of interpolations and on the number of the motion estimation quantum, that results after spatial discretization, that is on the total number of images inserted between the initial and final image, φi and φf. due to parallel processing, this total processing time is independent by the dimensions of the original images or by the number of moving pixels. in order to illustrate the implemented method in the case of real images and in the case of a complex movement, starting from an initial image of a well-known “tennis-table” sequence, we have simulated a complex motion, using the free form deformation principle, resulting (see fig. 5) three real images of a sequence (φ1, φ2, φ3). in figure 5 we also represented the “motion estimation field” obtained after applying our cnn implementation of the horn and schunck motion estimation method. starting from the first image of the real sequence (φ1) and this “motion estimation field” we can obtain the “motion compensated image” (φ̂2), that represent an estimation of the real image (φ2). as it can be observed, the biggest errors between the real image and the motion compensated image (φ2 − φ̂2) are located in the region with a high gradient of intensity that usually corresponds to the regions with different motion. another cause oh these errors could also be the discrete nature of the image spatial support and the interpolations that are necessary. 6 conclusions generally, in the case of serial implementation of a motion compensation algorithm, the processing time depends on the image dimensions. in the case of our cnn motion estimation and compensation algorithm, that uses only 3×3 linear templates, the algorithm can be directly a homogeneous algorithm for motion estimation and compensation by using cellular neural networks 725 figure 5: motion estimation and compensation using cnn: principle and results. implemented on the cnn-universal chip [4] and thus the image processing become completely parallel. the advantage of using the cnn hardware platform is that the total processing time doesn’t depend on image dimensions, being dependent only on the number of displacement steps that has to be performed and thus we can obtain real-time applications with applications in artificial vision and medical imaging. taking into account that our cnn motion estimation and compensation algorithm is based on the cost functions minimization (usually partially differential equations) resulting nonlinear templates, our attention is focused on the fpga implementation of our algorithm, on a digital emulator of the cnn [11], [12]. 7 acknowledgement this work was partially supported by a grant from the romanian national university research council, pncdi program id-668/2008. bibliography [1] horn b.k.p. and schunck b.g, determining optical flow, artificial intelligence, vol.17, pp. 185-203, 1981. [2] chua l.o. and yang l, fuzzy control rules in convex optimization, ieee transactions on circuits and systems, vol.35, pp.1257-1290, 1998. 726 c. grava, a. gacsádi, i. buciu [3] cembrano g.l., rodríguez-vázquez a., espejo-meana s., and domínguez-castro r., ace16k: a 128×128 focal plane analog processor with digital i/o, int. j. neural syst., vol.17, issue 6, pp. 427-434, 2003. [4] roska t. and chua l.o., the cnn universal machine: an analogic array computer, ieee transactions on circuits and systems, vol.40, pp. 167-173, 1993. [5] konrad j., motion detection and estimation, image processing handbook, networking and multimedia, pp. 207-227, 2000. [6] bruhn a., weickert j., feddern c., kohlberger t., schnorr c., real-time optic flow computation with variational methods, computer analysis of images and patterns, pp. 222-229, 2003. [7] brox t., bruhn a., papenberg n., weickert j., high accuracy optical flow estimation based on a theory for warping, eccv, pp. 25-36, 2004. [8] wei w., hou z.-x., guo y.-c., a displacement search algorithm for deformable block matching motion estimation, proc. of ieee international symposium on communications and information technology, pp. 457-460, 2005. [9] barron j.l., fleet d.j., beauchemin s., performance of optical flow techniques, international journal of computer vision, vol. 12, issue 1, pp. 43-77, 1994. [10] grava c., gacsádi a., gordan c., maghiar t., bondor k, motion compensation using cellular neural networks, proc. of the european conference on circuit theory and design (ecctd), vol. i, pp. i-397-i-400, krakow, poland, 2003. [11] kincses z., nagy z., szolgay p, implementation of nonlinear template runner emulated digital cnn-um on fpga, proc. of the 10th international workshop on cellular neural networks and their applications, pp. 186-190, istanbul, turkey, 2006. [12] nagy z., vörösházi zs., szolgay p., emulated digital cnn-um solution of partial diferential, int. journal of circuit theory and applications, vol. 34, issue 4, pp. 445-470, 2006. [13] gacsádi a., grava c., tiponut v., szolgay p., a cnn implementation of the horn & schunck motion estimation method, proc. of the 10th international workshop on cellular neural networks and their applications, pp. 381-385, istanbul, turkey, 2006. [14] *** cadetwin, cnn application development environment and toolkit under windows. version 3.0, analogical and neural computing laboratory, hungarian academy of sciences, budapest, 1999. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 195-204 robust pid decentralized controller design using lmi danica rosinová, vojtech veselý abstract: the new lmi based method for robust stability analysis for linear uncertain system with pid controller is proposed. the general constrained structure of controller matrix is considered appropriate for both output feedback and decentralized control and the respective guaranteed cost control design scheme is presented. the sufficient robust stability condition is developed for extended quadratic performance index including first derivative of the state vector to damp oscillations. the obtained stability condition is formulated for parameter-dependent lyapunov function. keywords: uncertain systems, robust stability, decentralized control, linear matrix inequalities (lmi), lyapunov function 1 introduction robust stability and robust control belong to fundamental problems in control theory and practice; various approaches in this field have been proposed to cope with uncertainties that always appear in real plant ([2];[8];[7];[5];[4]). the development of linear matrix inequality (lmi) computational techniques has brought an efficient tool to solve a large set of convex problems in polynomial time (e.g. [2]). significant effort has been therefore made to formulate crucial control problems in algebraic way ([12]), so that the numerical lmi solution can be adopted. this approach is advantageously used in solving control problems for linear systems with convex (affine or polytopic) uncertainty domain. however, many important problems in linear control design, such as decentralized control, simultaneous sof or more generally structured linear control problems have been proven as np hard ([1]). intensive research has been devoted to overcome nonconvexity and transform the nonconvex or np-hard problem into convex optimisation problem in lmi framework. various techniques have been developed using inner or outer convex approximation of the respective nonconvex domain. the common tool in both inner and outer approximation is the use of linearization or convexification. in ([6]; [3]) the general convexifying algorithm for the nonconvex function together with potential convexifying functions for both continuous and discrete-time case have been proposed. linearization approach for continuous and discrete-time system design was independently used in ([13];[11]). proportional-integral-derivative (pid) controllers belong to the most popular ones in the industrial world. the derivative part of the controller, however, causes difficulties when uncertainties are considered. in multivariable pid control schemes using lmi developed recently ([14]) the incorporation of the derivative part requires inversion of the respective matrix, which does not allow including uncertainties. the other way to cope with the derivative part is to assume the special case when output and its derivative are state variables, robust pid controller for first and second order siso systems are proposed for this case in ([7]). in this paper a state space approach to designing decentralized (multi-loop) pid robust controllers is proposed for linear uncertain system with guaranteed cost with a new quadratic cost function. the major contribution is in considering the derivative part in robust control framework. we adopt the new pid control problem formulation using lmi that is appropriate for polytopic uncertain systems. the robust pid control scheme is proposed for structured control gain matrix, thus enabling decentralized pid control design. in section 2 the robust control design problem with structured control gain matrix is formulated in general. the robust optimal control design procedure in state space with the extended cost function is proposed in section 3. the main result-robust pid controller design approach is provided in section copyright © 2006-2007 by ccc publications 196 danica rosinová, vojtech veselý 4, the developed approach is appropriate for decentralized control structure. in section 5 the results are illustrated on the examples. 2 problem formulation and preliminaries consider a linear affine uncertain system: δ x(t) = (a + δ a)x(t) + (b + δ b)u(t) y(t) = cx(t) (1) where δ x(t) = ẋ(t) for continuous time system δ x(t) = x(t + 1) for discrete time system x(t) ∈ rn, u(t) ∈ rm, y(t) ∈ rl are state, control and output vectors respectively; a, b,c are known constant matrices of appropriate dimensions corresponding to the nominal system, δ a, δ b are matrices of uncertainties of the respective dimensions.the uncertainties are considered to be affine of the form δ a = p ∑ j=1 ε jã j, δ b = p ∑ j=1 ε jb̃ j (2) where ε j ≤ ε j ≤ ε̄ j are unknown uncertainty parameters; ã j, b̃ j, j = 1, 2, ..., p are constant matrices of uncertainties of the respective dimensions and structure. the uncertain system (1), (2) can be equivalently described by a polytopic model given by its vertices {(a1, b1,c), (a2, b2,c), ..., (an , bn ,c)}, n = 2p. the decentralized feedback control law is considered in the form u(t) = fcx(t) (3) where f is a matrix corresponding to decentralized controller. the uncertain closed-loop polytopic system is then δ x(t) = ac(α)x(t) (4) where ac(α) ∈ { n ∑ i=1 αiaci, n ∑ i=1 αi = 1, αi ≥ 0 } , aci = ai + bifc. (5) to assess the performance quality a quadratic cost function known from lq theory is often used. however, in practice the response rate or overshoot are often limited. therefore we include into the cost function the additional derivative term for state variable to open the possibility to damp the oscillations and limit the response rate. jc = ∞∫ 0 [x(t)t qx(t) + u(t)t ru(t) + δ x(t)t sδ x(t)]dt for a continuous-time and jd = ∞ ∑ k=0 [x(t)t qx(t) + u(t)t ru(t) + δ x(t)t sδ x(t)] (6) robust pid decentralized controller design using lmi 197 for a discrete-time system, where q, s ∈ rn×n, r ∈ rm×m are symmetric positive definite matrices. the concept of guaranteed cost control is used in a standard way: let there exist a feedback gain matrix f0 and a constant j0 such that j ≤ j0 (7) holds for the closed loop system (4), (5). then the respective control (3) is called the guaranteed cost control and the value of j0 is the guaranteed cost. the main aim of this paper is to develop a decentralized pid control algorithm that stabilizes the uncertain system (1), with guaranteed cost with respect to the cost function (6). we start with basic notions concerning lyapunov stability and convexifying functions. in the following we use d−stability concept ([4]) to receive the respective stability conditions in more general form. definition 1. (d-stability) consider the d-domain in the complex plain defined as d = {s is complex number : [ 1 s ]∗ [ r11 r12 r∗12 r22 ] [ 1 s ] < 0}. the considered linear system (1) is d-stable if all its poles lie in the d-domain. (to simplify the reading of formulas we use in the definition 1 scalar values of the parameters ri j, in general the stability domain can be defined using matrix values of parameters ri j with the respective dimensions.) the standard choice of ri j is r11 = 0, r12 = 1, r22= 0 for a continuous-time system; r11 = −1, r12 = 0, r22= 1 for a discrete-time system. the quadratic d-stability is equivalent to the existence of one lyapunov function for the whole set that describes the uncertain system model. definition 2. (quadratic d− stability) the uncertain system (4) is quadratically d−stable if and only if there exists a symmetric positive definite matrix p such that r12pac(α) + r∗12a t c (α)p + r11p + r22a t c (α)pac(α) < 0 (8) instead of quadratic stability, a robust stability notion is considered based on the parameter dependent lyapunov function (pdlf) defined as p(α) = n ∑ i=1 aipi where pi = p t i > 0 (9) to obtain less conservative results than using quadratic stability with unique lyapunov function. definition 3. ([5]) system (4) is robustly d-stable in the convex uncertainty domain (5) with parameterdependent lyapunov function (9) if and only if there exists a matrix p(α) = p(α)t > 0 such that r12p(α)ac(α) + r∗12a t c (α)p(α) + r11p(α)+ +r22atc (α)p(α)ac(α) < 0 (10) for all α such that ac (α) is given by (5). the sufficient robust d-stability condition which can be considered as not too conservative has been proposed in ([9]), recalled in the following lemma. lemma 4. if there exist matrices e ∈ rnxn, g ∈ rnxn and n symmetric positive definite matrices pi ∈ rnxn such that for all i= 1,. . . ,n: [ r11pi + atcie t + eaci r12pi −e + atcig r∗12pi −e t + gt aci r22pi −(g + gt ) ] < 0 (11) then system (4) is robustly d−stable. 198 danica rosinová, vojtech veselý note that matrices e and g are not restricted to any special form; they were included to relax the conservatism of the sufficient condition. to transform nonconvex problem of structured control (decentralized control in our case) into convex form, the convexifying (linearizing) function can be used ([6]; [3];[11];[13]). the respective potential convexifying function for x−1 and xwx has been proposed in the linearizing form: the linearization of x−1 ∈ rnxn about the value xk > 0 is φ(x−1, xk) = x−1k −x−1k (x −xk)x−1k (12) the linearization of xw x ∈ rnxn about xk is ψ(xw x , xk) = −xkw xk + xw xk + xkw x (13) both functions defined in (12) and (13) meets one of the basic requirements on convexifying function: to be equal to the original nonconvex term if and only if xk = x . however, the question how to choose the appropriate nice convexifying function remains still open. in the sequel, x > 0 denotes positive definite matrix; * in matrices denotes the respective transposed term to make the matrix symmetric; i denotes identity matrix and 0 denotes zero matrix of the respective dimensions. 3 robust optimal controller design in this section the new design algorithm for optimal control with guaranteed cost is developed using parameter dependent lyapunov function and convexifying approach employing iterative procedure. the proposed control design approach uses sufficient stability condition inspired by the result of ([9]). the next theorem provides the new form of robust stability condition for linear uncertain system with guaranteed cost. theorem 5. consider uncertain linear system (1), (2) with static output feedback (3) and cost function (6). the following statements are equivalent: i) closed loop system (4) is robustly d-stable with pdlf (9) and guaranteed cost with respect to cost function (6): j ≤ j0 = xt (0)p(α)x(0). ii) there exist matrices p(α) > 0 defined by (9) such that r12p(α)ac(α) + r∗12a t c (α)p(α) + r22a t c (α)p(α)ac(α)+ +r11p(α) + q + ct f t rfc + atc (α)sac(α) < 0 (14) iii) there exist matrices p(α) > 0 defined by (9) and h, g and f of the respective dimensions such that [ r11p(α) + atc (α)h t + hac(α) + q + ct f t rfc r∗12p(α)−h t + gt ac(α) ] . [ . ∗ r22p(α)−(g + gt ) + s ] < 0 (15) aci = (ai + bifc) denotes the i−th closed loop system vertex. matrix f is the guaranteed cost decentralized control gain for the uncertain system (4), (5). robust pid decentralized controller design using lmi 199 proof. for brevity the detail steps of the proof are omitted where standard tools are applied. (i) ⇔(ii): the proof is analogous to that in ([10]). the (ii) ⇒(i) is shown by taking v (t) = x(t)p(α)x(t) as a candidate lyapunov function for (4) and writing δv (t), where δv (t) = v̇ (t) for continuous time system δv (t) = v (t + 1)−v (t) for discrete time system δv (t) = r∗12δ x(t) t p(α)x(t) + r12x(t)t p(α)δ x(t) + r11x(t)t p(α)x(t) + r22δ x(t)t p(α)δ x(t) (16) substituting for δ x from (4) to (16) and comparing with (14) provides d−stability of the considered system when the latter inequality holds. the guaranteed cost can be proved by summing or integrating both sides of the following inequality for t from 0 to ∞: δv (t) < −x(t)t [q + ct f t rfc + atc (α)sac(α)]x(t) the (i) ⇒(ii) can be proved by contradiction. (ii)⇔(iii): the proof follows the same steps to the proof of lemma 1: (iii) ⇒(ii) is proved in standard way multiplying both sides of (15) by the full rank matrix: [ i atc (α) ] {l.h.s.(15)} [ i ac(α) ] < 0. (ii) ⇒ (iii) follows from applying a schur complement to (14) rewritten as r12p(α)ac(α) + r∗12a t c (α)p(α) + q + c t f t rfc+ +r11p(α) + atc (α)[r22p(α) + s]ac(α) < 0 therefore [ x11 x12 x t12 x22 ] < 0 where x11 = r11p(α) + r12p(α)ac(α) + r∗12a t c (α)p(α) + q+ +ct f t rfc x12 = atc (α)[r22p(α) + s] x22 = −[r22p(α) + s] which for h = r12p(α), g = [r22p(α) + s] gives (15). the guaranteed cost control design is based on the robust stability condition (15). since the matrix inequality (15) is not lmi we use the inner approximation for the continuous time system applying linearization formula (13) together with using the respective quadratic forms to obtain lmi formulation, which is then solved by iterative procedure. 4 pid robust controller design for continuous-time systems control algorithm for pid is considered as u(t) = kpy(t) + ki t∫ 0 y(t)dt + fdcd ẋ(t) (17) the proportional and integral term can be included into the state vector in the common way defining the auxiliary state z = t∫ 0 y(t), i.e. ż(t) = y(t) = cx(t). then the closed-loop system for pi part of the controller is ẋn = [ ẋ ż ] = [ a + δ a 0 c 0 ] [ x z ] + [ b + δ b 0 ] u(t) 200 danica rosinová, vojtech veselý and u(t) = fcx(t) + fdcd ẋ(t) (18) where fcx(t) and fdcd ẋ(t) correspond respectively to the pi and d term of pid controller. the resulting closed loop system with pid controller (17) is then ẋn(t) = ac(α)xn(t) + b(α) [ fdcd 0 ] ẋn(t) (19) where the pi controller term is included inac(α). (for brevity we omit the argument t.) to simplify the denotation, in the following we consider pd controller (which is equivalent to the assumption, that the i term of pid controller has been already included into the system dynamics in the above outlined way) and the closed loop is described by ẋ(t) = ac(α)x(t) + b(α)fdcd ẋ(t) (20) let us consider the following performance index js = ∞∫ 0 [ x ẋ ]t [ q + ct f t rfc 0 0 s ] [ x ẋ ] dt (21) which formally corresponds to (6). then for lyapunov function (9) we have the necessary and sufficient condition for robust stability with guaranteed cost in the form (14), i.e. for continuous time system: [ x ẋ ]t [ q + ct f t rfc p(α) p(α) s ] [ x ẋ ] < 0. (22) the main result on robust pid control stabilization is summarized in the next theorem theorem 6. consider a continuous uncertain linear system (1), (2) with pid controller (17) and cost function (21). the following statements are equivalent: • closed loop system (19) is robustly d-stable with pdlf (9) and guaranteed cost with respect to cost function (21): j ≤ j0 = xt (0)p(α)x(0). • there exist matrices p(α) > 0 defined by (9), and h, g, f and fd of the respective dimensions such that [ atcih t + haci + q + ct f t rfc pi −mtdih + gt aci ∗ −mtdig−gt mdi + s ] < 0 (23) aci = (ai + bifc) denotes the i−th closed loop system vertex, mdi includes the derivative part of the pid controller: mdi = i −bifdcd . proof. owing to (20) for any matrices h and g: ( −xt h − ẋt gt ) (ẋ−ac(α)x−b(α)fdcd ẋ)+ +(ẋ−ac(α)x−b(α)fdcd ẋ)t ( h t x−gẋ ) = 0 (24) summing up the l.h.s of (24) and (22) and taking into consideration linearity w.r.t. α we get condition (23). theorem 6 provides the robust stability condition for the linear uncertain system with pid controller. notice that the derivative term does not appear in the matrix inversion and allows including the uncertainty in control matrix b into the stability condition. robust pid decentralized controller design using lmi 201 considering pid control design, there are unknown matrices h, g, f and fd to be solved from (23). (recall thataci = (ai + bifc), mdi = i −bifdcd .) then the inequality (23) is not lmi, to cope with the respective unknown matrices products the linearizing approach using (13) has been adopted and the pid iterative control design algorithm based on lmi (4x4 matrix) has been proposed. the resulting closed loop system with pd controller is ẋ(t) = (i −bifdcd )−1(ai + bifc)x(t), i = 1, ..., n (25) the extension of the proposed algorithm to decentralized control design is straightforward since the respective f and fd matrices are assumed as being of the prescribed structure, therefore it is enough to prescribe the decentralized structure for both matrices. 5 examples in this section the major contribution of the proposed approach: design of robust derivative feedback is illustrated on the examples. the results obtained using the proposed new iterative algorithm based on (23) to design the pd controller are provided and discussed. the impact of matrix s choice is studied as well. we consider affine models of uncertain system (1), (2) with symmetric uncertainty domain: ε j = −q, ε j = q (26) example 1. consider the uncertain system (1), (2) where: a =   −4.365 −0.6723 −0.3363 7.0880 −6.5570 −4.6010 −2.4100 7.5840 −14.3100   b =   2.3740 0.7485 1.3660 3.4440 0.9461 −9.6190   c = cd = [ 0 1 0 0 0 1 ] uncertainty parameter q=1; uncertainty matrices: ã1 =   −0.5608 0.8553 0.5892 0.6698 −1.3750 −0.9909 3.1917 1.7971 −2.5887   b̃1 =   −0.1602 −0.3521 0.1162 −2.4839 −0.1106 −4.6057   ã2 =   0.6698 −1.3750 −0.9909 −2.8963 −1.5292 10.5160 −3.5777 2.8389 1.9087   b̃2 =   0.1562 0.1306 −0.4958 4.0379 −0.0306 0.8947   the uncertain system can be described by four vertices; the corresponding maximal eigenvalues in the vertices of open loop system are respectively: -4.0896 ± 2.1956i ; -3.9243 ; 1.5014; -4.9595 notice that the open loop uncertain system is unstable (see third vertex). the stabilizing optimal pd controller has been designed. optimality is considered in the sense of guaranteed cost w.r.t. cost function (21) with matrices r = i2x2,q = 0.001∗i3x3 . the results summarized in the tab. 1 indicate the differences between results obtained for different values of s 202 danica rosinová, vojtech veselý s f (proportional part) fd (derivative part) max eig in vertices 1e-6 *i -1.0567 -0.5643 -2.1825 -1.4969 -0.3126 -0.2243 -0.0967 0.0330 -4.8644 -2.4074 -3.8368 ± 1.1165i -4.7436 0.1*i -1.0724 -0.5818 -2.1941 -1.4642 -0.3227 -0.2186 -0.0969 0.0340 -4.9546 -2.2211 -3.7823 ± 1.4723i -4.7751 table 1: example 1, example 2 consider the uncertain system (1), (2) where: a =   −2.9800 0.9300 0 −0.0340 −0.9900 −0.2100 0.0350 −0.0011 0 0 0 1 0.3900 −5.5550 0 −1.89   , ã1 =   0 1.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0   , b =   −0.0320 0 0 −1.6000   , b̃1 =   0 0 0 0   , c = [ 0 0 1 0 0 0 0 1 ] the results are summarized in tab. 2 for r = 1, q = 0.0005 ∗ i4x4 for various values of matrix s in cost function. as indicated in tab.2, increasing values of s slow down the response (max.eig.cl shifted to zero) as assumed. 6 conclusion the new robust pid controller design method is proposed for uncertain linear system based on lmi. the important feature of this pid design approach is that the derivative term appears in such form that enables to consider the model uncertainties. since the structured feedback matrix is assumed, this approach is appropriate for decentralized pid control design. the guaranteed cost control is proposed with a new quadratic cost function including the derivative term for state vector as a tool to influence the overshoot and response rate. the obtained results are illustrated on the examples: to show the robust pid control design and the influence of the choice of matrix s in the extended cost function. acknowledgment the work has been supported by slovak scientific grant agency, grant n 1/3841/06. robust pid decentralized controller design using lmi 203 s=10e-8*i4x4 qmax 1.1 max.eig.cl -0.189 s=0.1*i4x4 qmax 1.1 max.eig.cl -0.1101 s=0.2*i4x4 qmax 1.1 max.eig.cl -0.0863 s=0.29*i4x4 qmax 1.02 max.eig.cl -0.0590 table 2: comparison for various s example 2 references [1] blondel, v. and j.n. tsitsiklis (1997). np-hardness of some linear control design problems. siam j. control optim., 35, pp.2118-2127. [2] boyd, s., l. el ghaoui, e. feron and v. balakrishnan (1994). linear matrix inequalities in system and control theory. siam studies in applied mathematics, philadelphia. [3] han, j. and r.e. skelton (2003). an lmi optimization approach for structured linear controllers. in: proc. 42nd ieee cdc, hawaii, usa, pp. 5143-5148. [4] henrion, d., d. arzelier and d. peaucelle (2002). positive polynomial matrices and improved lmi robustness conditions. in: 15th ifac world congress, barcelona, spain. [5] deoliveira, m.c., j. bernussou and j.c. geromel (1999). a new discrete-time robust stability condition. systems and control letters, 37, pp. 261-265. [6] deoliveira, m.c., j.f. camino and r.e. skelton (2000). a convexifying algorithm for the design of structured linear controllers. in: proc. 39nd ieee cdc, sydney, australia, pp. 2781-2786. [7] ge, ming, min-sen chiu, qing-guo wang (2002). robust pid controller design via lmi approach. journal of process control, 12, pp.3-13. [8] gyurkovics, e., takacs, t.( 2000): stabilisation of discrete-time interconnected systems under control constraints. iee proceedings control theory and applications, 147, no. 2, 137-144 [9] peaucelle, d., d. arzelier, o. bachelier and j. bernussou (2000). a new robust d-stability condition for real convex polytopic uncertainty. systems and control letters, 40, pp. 21-30. [10] rosinová, d., v. veselý and v. kučera (2003). a necessary and sufficient condition for static output feedback stabilizability of linear discrete-time systems. kybernetika, 39, pp. 447-459. [11] rosinová, d. and v. veselý (2003). robust output feedback design of discrete-time systems – linear matrix inequality methods. in: 2th ifac conf. csd’03 (cd-rom), bratislava, slovakia. 204 danica rosinová, vojtech veselý [12] skelton, r.e., t. iwasaki and k. grigoriadis (1998). a unified algebraic approach to linear control design, taylor and francis. [13] veselý, v. (2003). robust output feedback synthesis: lmi approach. in: 2th ifac conference csd’03 (cd-rom), bratislava, slovakia. [14] zheng feng, qing-guo wang, tong heng lee (2002). on the design of multivariable pid controllers via lmi approach. automatica, 38, pp.517-526. danica rosinová and vojtech veselý slovak university of technology institute for control and industrial informatics ilkovičova 3 81219 bratislava , slovakia {danica.rosinova;vojtech.vesely}@stuba.sk received: december 24, 2006 danica rosinová was born in bratislava, slovak republic in 1961. she received msc. and phd from slovak university of technology in 1985 and 1996. since 1985 she has been with the department of automatic control systems, now institute for control and industrial informatics at the faculty of electrical engineering and information technology stu bratislava. since 2006 she has been associate professor. her research interests concentrate on robust control, large scale systems theory and optimization. students. vojtech veselý was born in 1940. since 1964 he has worked at the department of automatic control systems at the faculty of electrical engineering and information technology, slovak university of technology in bratislava. since 1986 he has been full professor. his research interests include the areas of power system control, robust control, decentralized control of large-scale systems, proces control and optimization. he is author and coauthor of more then 270 scientific and technical papers, he successful supervised up today 19 phd international journal of computers communications & control issn 1841-9836, 11(2):179-193, april 2016. design of a fuzzy networked control systems. priority exchange scheduling algorithm h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti h. benítez-pérez universidad nacional autónoma de méxico apdo. postal 20-726, admón. 20, del. a. obregón, méxico d. f., cp. 01000. hector.benitez@iimas.unam.mx jorge ortega-arjona facultad de ciencias unam av. universidad 3000, c. u., méxico d. f. jloa@ciencias.unam.mx jared a. rojas-vargas iimas unam cto. escolar 3000, c. u., méxico d. f. jared_36_23@hotmail.com a. durán-chavesti* universidad nacional autónoma de méxico apdo. postal 20-726, admón. 20, del. a. obregón, méxico d. f., cp. 01000. *corresponding author: adrian.chavesti@iimas.unam.mx abstract: this work presents a supervisory control strategy for networked control systems (ncss). this shows the identification and control of the plant using fuzzy theory. the fuzzy model incorporates the delay dynamics within the fuzzy rules based upon a real-time hierarchical scheduling strategy. a hierarchical scheduling priority exchange algorithm is used based upon codesign strategy following mutual correlation among control and network algorithms in order to bounded time delays. a system of magnetic levitation is presented as a case study. keywords: fuzzy control, networked control system, time delay codesign. 1 introduction the control design and stability analysis of network-based control systems (ncss) have been studied in recent years [14], [8] and [24] based upon codesign strategy. the main advantages of this kind of systems are their low cost, small volume of wiring, distributed processing, simple installation, maintenance and reliability. in a ncs, one of the key issue is the effect of network-induced delay in the system performance. the delay can be constant, time-varying, or even random, this depends on the scheduler, network type, architecture, operating systems, etc [24]. one strategy to be followed is the codesign since it takes both desired procedures to be followed. nilsson analyzes several important facets of ncss [15]. it introduces models for the delays in ncs, first as a fixed delay, after as an independently random, and finally like a markov process. the author introduces optimal stochastic control theorems for ncss based upon the independently random and markovian delay models. in [18], introduces static and dynamic scheduling policies for transmission of sensor data in a continuous-time lti system. they introduce the notion of the maximum allowable transfer interval (mati), which is the longest time after a sensor should transmit a data. [18] derived bounds of the mati such that the ncs is stable. this mati ensures that the lyapunov function of the system under consideration is strictly decreasing at all times. in [22] extends the copyright © 2006-2016 by ccc publications 180 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti work of walsh., he developed a theorem which ensures the decrease of a lyapunov function for a discrete-time lti system at each sampling instant, using two different bounds. these results are less conservative than those of walsh, because he doesn’t require the system’s lyapunov function to be strictly decreasing at all time. besides, following the work presented by [13] although the strategy is similar as well as the case study in here, the proposed fuzzy control follows each local time delay produced by the scheduling algorithm which is dynamic and reactive to external tasks modification (as priority exchange proposes). although the results are stable in both cases, in here the challenging strategy is to dismiss dynamic local time delays without forcing system bounds. it is important to mention that this work follows the expressions designed in [3], [4] and [3] with the characteristic of real local time delays and local gain control design following eqn. 10 and lmi procedure as presented in section 4. in [7], [17], [20] and [21] introduce a number of different linear matrix inequality (lmi) tools for analyzing and designing optimal switched ncss. [23] takes into consideration both the network-induced delay and the time delay the plant, a controller design method is proposed by using the delay-dependent approach. an appropriate lyapunov functional candidate is utilized to obtain a memoryless feedback controller, this is derived by solving a set of linear matrix inequalities (lmis). in [19] models the network induced delays of the ncss as interval variables governed by a markov chain. using the upper and lower bounds of the delays, a discrete-time markovian jump system with norm-bounded uncertainties is presented to model the ncss. based on this model, the h∞ state feedback controller can be constructed via a set of lmis. recently [9] introduced a new (descriptor) model transformation for delay-dependent stability for systems with time-varying delays in terms of lmis, and she also refines recent results on delay-dependent h∞ control and extend them to the case of time-varying delays. alternatively [10] takes into consideration both the network-induced delay and the time delay in the plant, and thus, introduces a controller design method, using the delay-dependent approach. an appropriate lyapunov functional candidate is used to obtain a memoryless feedback controller, derived by solving a set of linear matrix inequalities (lmis) [6]. [11] models the network induced delays of the ncss as interval variables governed by a markov chain. using the upper and lower bounds of the delays, a discrete-time markovian jump system with norm-bounded uncertainties is presented to model the ncss. based on this model, a h∞ state feedback controller can be constructed via a set of lmis. an interesting approximation has been presented by [2] where time delays incorporation has been proposed following state space representation. 2 systems proposal based on this review, this paper defines a model (fig. 1) that integrates the time delays for a class of nonlinear system, where the actual proposal it is the enhancement of states in order to represent of control and plant states to fulfill a complete modeling of time delays according to priority exchange dynamic schedulling algorithm. it comprises two types of fuzzy rules, one that models the dynamics of the plant and another that introduces the networked-induced time delay. it involves estimating the time delay based scheduling behaviour where the fuzzy rules are such as: if xi(k) is µij then x n j (k + 1) = ajx(k) + b0u(k) (1) i=1...n j=1...r h=1...s design of a fuzzy networked control systems. priority exchange scheduling algorithm 181 figure 1: fuzzy model proposed. the overall system is: x̂(k + 1) = r∑ j=1 xnj + s∑ h=1 xdh = r∑ j=1 rjajx(k) + s∑ h=1 sh(b0)u(k) (2) where xi is the ith state of the plant, µij is the membership function of the ith state and s is the total number of local time delays and the jth rule. aj ∈ rnxn, b0,h ∈ rn, x ∈ rn, u(k) ∈ r, with n states, and r nominal fuzzy rules, sh is he nominal selection of current fuzzy rule. where n and d denote nominal and delayed model respectively. the fire strength ψj is defined as the function multiplication between the membership functions µij. µij = exp ( − (xi − cij)2 σ2ij ) (3) ψj = m∏ i=1 µij (4) rj = ψj∑r k=1 ψk (5) 0 < rj ≤ 1, r∑ j=1 rj(x) = 1 (6) for the s fuzzy rules with delay τcah, νh is the gaussian membership function of the time delay with center αh and standard deviation βh. sh = νh∑s k=1 νk (7) νh = exp ( − (τcah −αh)2 β2h ) (8) the proposed decomposition in terms of feedback state space representation has been reviewed by [4], where the indexing is defined by the time delays as local and bounded situations through the network. firstly, as augmented states and the related bounded time delays of plant and controller, following the strategies presented in [3], [4] and [3] the control structure is modified according to a particular gain control per local time delays scenarios and different local operational points from a particular case study. in here the strategy is modified by designing local control laws as 182 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti gain rather them a dynamic state feedback control. the results as shown in section 5 are quite promising in that respect, it is presented as such: x = [ xc xp ] (9) xc(k + 1) xp(k + 1) = ∑n j=1 ∑n i=1 [ hjhi [ b p j (xc(k − tcai)) ] + hja p jxp(k) ] ∑n j=1 ∑n i=1 [ hjhi [ fcj ( cipxp(k − tsci) )] + hjf c j ] (10) where the delays are independent based upon the time obtained from scheduling approximation: tca1 + tsc1 < tca2 + tsc2 < ... < tcam + tscm < t (11) now from the derivative of a candidate lyapunov function is expressed as: ∆u(k) = v (k + 1)−v (k) (12) and the related lyapunov function is: v (k) = x(k)t px(k) (13) each of the fuzzy rules is given as an expression of local delays from current condition from plant towards controller, and vice versa. [ xc xp ] =   xc(k) xc(k − tca1) xc(k − tca2) ... xc(k − tcam) xp(k) xp(k − tsc1) xp(k − tsc2) xp(k − tsc3) ... xp(k − tscm)   (14) for each rule, there is a delay related to a particular condition to the plant and controller. each of the rules maybe updated through learning procedure or lmi process. each of the rules is unique on every specific time. in this case, these are associated to a particular relationship of last equation. in terms of the lyapunov candidate, this is expressed as in eqn 15 which is consistent to eqn. 8. v (k + 1)−v (k) = [ xc(k + 1) xp(k + 1) ]t p [ xc(k + 1) xp(k + 1) ] − [ xc(k) xp(k) ]t p [ xc(k) xp(k) ] (15) v (k + 1)−v (k) =   ∑mj=2 ∑mi=2 ( hjhi ( b p j (xc(k − tcaj)) ) + hja p jxp(k) ) ∑m j=2 ∑m i=2 ( hjhi ( fcj (xp(k − tscj)) ))  t p design of a fuzzy networked control systems. priority exchange scheduling algorithm 183   ∑mj=2 ∑mi=2 ( hjhi ( b p j (xc(k − tcaj)) ) + hja p jxp(k) ) ∑m j=2 ∑m i=2 ( hjhi ( fcj ( cipxp(k − tscj) )))  t − [ xc(k) xp(k) ]t p [ xc(k) xp(k) ] (16) therefore: v (k + 1)−v (k) = [ xc(k + 1) xp(k + 1) ]t p [ xc(k + 1) xp(k + 1) ] −   xc(k) xc(k − tca1) xc(k − tca2) ... xc(k − tcam) xp(k) xp(k − tsc1) xp(k − tsc2) xp(k − tsc3) ... xp(k − tscm)   t p   xc(k) xc(k − tca1) xc(k − tca2) ... xc(k − tcam) xp(k) xp(k − tsc1) xp(k − tsc2) xp(k − tsc3) ... xp(k − tscm)   (17) tcaj and tscj are the related time delays. considering the fuzzy system representation: v (k + 1)−v (k) =   ∑mj=2 ∑mi=2 ( hjhi ( b p j ( cicxc(k − tcaj) )) + hia p i xp(k) ) ∑m j=2 ∑m i=2 ( hjhi ( fcj ( cipxp(k − tscj) )))  t p (18)   ∑mj=2 ∑mi=2 ( hjhi ( b p j ( cicxc(k − tcaj) )) + hia p i xp(k) ) ∑m j=2 ∑m i=2 ( hjhi ( fcj ( cipxp(k − tscj) )))  −   xc(k) xc(k − tca1) xc(k − tca2) ... xc(k − tcam) xp(k) xp(k − tsc1) xp(k − tsc2) xp(k − tsc3) ... xp(k − tscm)   t p   xc(k) xc(k − tca1) xc(k − tca2) ... xc(k − tcam) xp(k) xp(k − tsc1) xp(k − tsc2) xp(k − tsc3) ... xp(k − tscm)   (19) if only one of the time delays is considered: 184 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti 0 > [ xc(k + 1) xp(k + 1) ]t p [ xc(k + 1) xp(k + 1) ] −   xc(k) xc(k − tcaj) xp(k) xp(k − tscj)  p   xc(k) xc(k − tcaj) xp(k) xp(k − tscj)   (20) in here every time delay is local, independent and bounded according to dynamic scheduling algorithm which is based upon the structural codesign section. 3 structural codesign the codesign proposal follows the iteration between schedulability and stability analysis following online approximation. in fact, according to dynamic scheduling algorithm proposal which is based upon structural codesign strategy, these time delays can be seen like a phase modification within the communication period from the involved processes. this scenario presents a complete phase modification at the entire system. the communication network plays a key role in order to define the behavior of the dynamic system in terms of time variance giving a nonlinear behavior. in order to understand such a nonlinear behavior, time delays are incorporated by the use of real-time system theory that allows time delays to be bounded even in the case of causal modifications due to external effects, based upon priority exchange [4]. this algorithm bounds time delays through a real-time scheduling algorithm within communication network. according to fig. 3, structural reconfiguration takes place as a result of priority exchange scheduling algorithm and the associated user request. this reconfiguration causes a control law modification [19] which is the actual control law reconfiguration. scheduling approach potentially modifies frequency execution and communication of tasks in order to give certain priority to some of them during a bounded time as shown in fig. 3. furthermore, in this kind of strategy tasks modifies their priority, it does not imply that neither the period nor the consumption times are modified. therefore the tasks would have a bounded delay within the sampling time which is reflected as changing on the phase. potential modifications onto scheduling approach deploy change in the priorities that affects time delays and the respective control law. the delays are measured as ∆ t and bounded into the inherent control period of time according to eqn. 11. now by taking partial results from scheduling algorithm like tsj and the related ∆t, the actual time delays are used at the control law for parameters design. the involved time delays are depicted as τij and come from this scheduling design. other delays like actuators and control delays are not used in the design of the control law, although play an important role. therefore scheduling and control analysis merge together when time delays are complete bounded even in the case of time variance. the main restriction is in terms of predictable time delays. the objective here is to present a reconfiguration control strategy developed from the time delay knowledge, following scheduling approximation where time delays are known and bounded according to used scheduling algorithm. the scheduling strategy proposed here pursues to tackle local faults in terms of fault tolerance. in this situation, current time delays would be inevitable. classical earliest deadline first (edf) plus priority exchange (pe) [4] algorithm are used here to decompose time lines and the respective time delays when present. for instance, time delays are supervised for a number of tasks as follows: c1 → cnt1 → tn (21) design of a fuzzy networked control systems. priority exchange scheduling algorithm 185 priority is given as the well-known edf algorithm, which establishes that the process with the closest deadline has the most important priority [12]. however, when an aperiodic task appears, it is necessary to deploy other algorithms to cope with concurrent conditions. to do so, the pe algorithm is used to manage spare time from the edf algorithm. the pe algorithm [6] uses a virtual server that deploys a periodic task with the highest priority in order to provide enough computing resources for aperiodic tasks. this simple procedure gives a proximity, deterministic, and dynamic behavior within the group of included processes. in this case, time delays can be deterministic and bounded. as an example, consider a group of tasks as shown in table 1. in this case, consumption times as well as periods are given in terms of integer units. remember: the server task is the time given for an aperiodic task to take place on the system. name consumption (in units) period (in units) task 1 2 9 task 2 1 9 task 3 2 10 server 1 6 table 1: first example for pe algorithm. the result of the ordering based upon pe is presented in fig. 2. figure 2: related organization for pe of tasks in table 1. based on this dynamic scheduling algorithm, time delays are given as current calculations in terms of task ordering. in this case, every time that the scheduling algorithm takes place, the global time delays are modified in the short and long term. for instance, consider the following example, in which four tasks are set, and two aperiodic tasks take place at different times, giving different events with different time delays. the following task ordering is shown in fig. 3, using the pe algorithm, where clearly time delays appear. now, from this, a resulting ordering of different tiny time delays is given for two scenarios, as shown in fig. 4. these two scenarios present two different local time delays that need to be taken into account before hand, in order to settle the related delays according to scheduling approach and control design. these time delays can be expressed in terms of local relations between both dynamical systems. these relations are the actual and possible delays, bounded as marked limits of possible and current scenarios. then, delays may be expressed as local summations with a high degree 186 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti name consumption (in units) period (in units) task 1 2 9 task 2 1 9 task 3 2 10 server 1 6 aperiodic task 1 (ap1) 0.9 it occurs at 9 aperiodic task 2 (ap2) 1.0 it occurs at 13 table 2: second example of pe. figure 3: related time delays are depicted according to both scenarios. of certainty (as presented in [13]). in this last example, during the second scenario, a total delay is given as: total delay = consumption_time_delay_aperiodic_task1 + consumption_time_delay_task1 + tsc2 + consumption_time_delay_task2 + consumption_time_delay_aperiodic_task2 + consumption_time_delay_task3 now, from this example, lp is equal to 2 and lc is equal to 3. lp and lc are the total number of local delays within one scenario from sensor to control and from control to actuator respectively. in this case, local time delays as presented in the general eqn. 14 are the result of the iteration of scheduling algorithm. in the approximation presented in this paper the local delays are around four time delays as expressed as last expression called total delays. the approach followed at the control reconfiguration does not take into account scheduler decision in a direct manner. it takes the time delays as bounded values already defined and used to design a suitable control law. therefore, according to current state plant values, the related fuzzy rule is selected. for a ncs, the communication network strongly affects the dynamics of the system, expressed as a time variance that exposes a nonlinear behaviour. such nonlinearity is addressed by incorporating time delays. from real-time system theory, it is known that time delays are bounded even in the case of causal modifications due to external effects. design of a fuzzy networked control systems. priority exchange scheduling algorithm 187 4 case of study the case of study consists of a simulation from magnetic levitation system whose sensors and actuators are operated by a "host", the signals from the sensors are sent by the host through a ethernet 10/100 network and received by a "server" where the control input is calculated and sent over ethernet network to the host. fig. 5 shows current system configuration as in real state. figure 4: current configuration of magnetic levitation system. the system consists of a coil inside a cabin, the coil levitates a steel ball that rests on a black post. the elevation of the ball is measured from the post using a light sensor inside the post. the issue of the experiment is to design a controller that does levitate the steel ball following a desired trajectory. figure 5: maglev system. the nonlinear equations for the magnetic levitation system are: 188 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti ẋ1 = x2 ẋ2 = −kmx23 2mb(x1) 2 + g ẋ3 = 1 lc (−rx3 + u) were r = rc + rs and u = vc input voltage and rc electromagnet resistance rs resistor in series wiht the coil km constant of electromagnet force mb mass of the ball g gravitacional constant lc coil inductance the values of the parameters are provided in [16]. the method generated three rules for the nominal fuzzy control and the range of delay was divided in six parts then the delayed fuzzy control has six fuzzy rules. for the fuzzy model three feedback vector f j were designed to ensures the stability of the overall system. following eqn. 10 and resolving eqn. 20 through lmi it is possible to verify the stability in an asymptotic procedure. 5 results once the fuzzy control laws are designed according to equations (17)-(20) where the objective is to find a common positive definite matrix p satisfying the linear matrix inequality. two tests are performed to prove the effectiveness of the method proposed. in all tests the reference trajectory signal applied is a sine signal to be followed by the steel ball. three fuzzy rules are defined to approximate the magnetic levitation system by means of three linear models, as follows: rule 1: if x1(t) is about 0.006m, then x(k + 1) = a1x(k) + b1u(k) rule 2: if x1(t) is about 0.009m, then x(k + 1) = a2x(k) + b2u(k) rule 3: if x1(t) is about 0.013m, then x(k + 1) = a3x(k) + b3u(k) where x1 is the ball position in meters and design of a fuzzy networked control systems. priority exchange scheduling algorithm 189 a1 =  1.0016 0.0010 03.2718 1.0016 −0.055 0 0 0.9737   a2 =  1.0011 0.0010 02.1808 1.0011 −0.0175 0 0 0.9737   a3 =  1.0012 0.0010 02.3774 1.0012 −0.0212 0 0 0.9737   b1 = b2 = b3 =   00 0.0024   the control gains obtained by means lmi matlab’s toolbox are: f1 = [ −51650 −1102 379 ] f2 = [ −48530 −1058 341 ] f3 = [ 22546 −479 128 ] these control gain values guarantee the stability of the system during the presence of local time delays according to table 3. in this case local time delays are responsive in terms on an periodic external task, that is presented every determined seconds. with the next positive definite matrix p : p =   0.1980 0.0042 −0.00070.0042 0.0001 −0.0000 −0.0007 −0.0000 0.0000   (22) in order to prove the effectiveness of the metod proposed, two experiments were performed, in the first scenario the plant tracks a reference signal (sine wave) and the transmission task were the following (table 3) name consumption (in milliseconds) period (in milliseconds) task 1 2 10 task 2 1 12 task 3 2 14 aperiodic task 1 90 table 3: pe the activation task was performed using stateflow as shown in fig. 6 where according to table 3 the task 1 is the controller transmission task and has the priority one, the task 2 is the sensor transmission task an has the priority two and the task 3 and 4 are the transmissions task 190 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti and the sporadic transmission task from others nodes. the system response obtained in this first experiment is shown in fig. 7 (without time delays). figure 6: activation tasks following table 3 figure 7: ball position response in the first scenario the second test is to apply a time delay less than the sampling period according to the total time delay. fig. 8 shows the behavior of the system which maintains stability with a delay of 2 ms and a sampling period of 90 ms related to the aperiodic task. the behavior is very similar to the system without time delay. design of a fuzzy networked control systems. priority exchange scheduling algorithm 191 figure 8: ball position response in the second scenario 6 conclusion it has been established a supervisory fuzzy control to minimize the effects caused by the time delay due to communication into the network which is designed through codesign strategy. this approach introduces the time delay produced by scheduling approach named priority exchange procedure. with this fuzzy model a fuzzy control is designed and the stability analysis is proposed for this controller. this approach shows that the system with a time delay smaller than sampling period but with a complex behaviour maintains the stability, the stability analysis for time varying delay and a bound for this delay remain a work in the future. although the example related to the time delays is fairly demonstrative it becomes challenging in terms of the dynamic scheduling approach where local time delays is pursued according to eqn. 10 in a general form and implemented through state flow tool in each node. acknowledgments the authors acknowledge the support of unam-papiit in100813, conacyt 176556 and picco 10-53. bibliography [1] almeida, l. et al (2002); the ftt-can protocol: why and how. ieee transactions on industrial electronics, 49(6):1189-1201. [2] benítez-pérez, h. et al (2013); networked control systems design considering scheduling restrictions and local faults using local state estimation, international journal of innovative computing, information and control (ijicic), 9(8): 3225-3239. 192 h. benítez-pérez, j. ortega-arjona, j.a. rojas-vargas, a. durán-chavesti [3] benítez-pérez, h. et al (2012); networked control systems design considering scheduling restrictions, international journal on advanced fuzzy systems, http://dx.doi.org/10.1155/2012/927878. [4] benítez-pérez, h. et al (2012); networked control systems design considering scheduling restrictions and local faults, international journal of innovative computing, information and control (ijicic), 8(10):8515-8526. [5] benítez-pérez, h.; garcía-nocetti, f. (2005); reconfigurable distributed control, springer. [6] buttazo, g. (2004); hard real-time computing systems, springer. [7] czornik, a.; swierniak, a. (2003); on direct controllability of discrete time jump linear system, tech. rep., mathematical biosciences institute, the ohio state university. [8] eidson, j.c. et. al (2002); ieee-1588 standard for a precision clock synchronization protocol for networked measurement and control systems, ieee standard, 1588-2002. [9] fridman, e.; shaked, u. (2003); delay-dependent stability and h∞ control: constant and time-varying delays, international journal control, 76(1):48-60. [10] lian, f. et al (2002); network design consideration for distributed control systems, ieee transactions on control systems technology, 10(2):297-307. [11] liu, j. (2000); real-time systems, prentice hall. [12] méndez-monroy, p.e.; benítez-pérez, h. (2009); supervisory fuzzy control for networked control systems, international journal innovative computing, information and control express letters, icic-el, 3-2, 233-240. [13] méndez-monroy, p.e.; benítez-pérez, h. (2011); codesign strategy based upon fuzzy control for networked control systems and a scheduling algorithm, ieee international conference on networking, sensing and control (icnsc), 221-226. [14] moarref, m.; rodrigues, l. (2015); piecewise affine networked control systems, ieee transactions and control of network systems, doi 10.1109/tcns.2015.2428452. [15] nilsson, j. (1998); real-time control systems with delays, ph.d. thesis, lund institute of technology, dept. of automatic control. [16] quanser inc.(2006), magnetic levitation experiment, quanser consulting. [17] tzes, a. et. al (2005); development and experimental verification of a mobile client-centric networked controlled system, european journal of control, 11(3): 229-241. [18] walsh, g. c. et. al (1999); stability analysis of networked control systems, american control conference, 2876-2880. [19] wang, y.; sun, z. (2007); h-inf control of networked control systems via lmi approach, international journal of innovative computing, information and control, 3(2):343-352. [20] xiao, l. et al (2000); control with random communication delays via a discrete-time jump system approach, american control conference, 3:2199-2204. design of a fuzzy networked control systems. priority exchange scheduling algorithm 193 [21] yu, m. et al (2003); an lmi approach to networked control systems with data packet dropout and transmission delays, international journal of hybrid systems, 3(2):3545 3550. [22] zhang, w. (2001); stability analysis of networked control systems. ph.d. thesis, case western reserve university, dept. of electrical engineering and computer science. [23] zhu, x. et al (2008); state feedback control design of networked control systems with time delay in the plant, international journal of innovative computing, information and control, 4(2): 283-290. [24] http://www.mathworks.com/help/robust/lmis.html (retrieved on july 20, 2015). ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 82-91 development journey of qadpz a desktop grid computing platform monica vlădoiu, zoran constantinescu monica vlădoiu petroleum-gas university of ploieşti, departament of informatics bd. bucureşti, nr. 39, ploieşti, romania e-mail: mmvladoiu@acm.org zoran constantinescu zealsoft ltd. str. tg. neamţ, nr. 60, bucureşti, romania e-mail: zoran@unde.ro abstract: in this paper we present qadpz, an open source system for desktop grid computing, which enables users of a local network or internet to share resources. qadpz allows a centralized management and use of the computational resources of idle computers from a network of desktop computers. qadpz users can submit compute-intensive applications to the system, which are then automatically scheduled for execution. the scheduling is performed according to the hardware and software requirements of the application. users can later monitor and control the execution of the applications. each application consists of one or more tasks. applications can be independent, when the composing tasks do not require any interaction, or parallel, when the tasks communicate with each other during the computation. the paper describes both qadpz functionality and the process of design and implementation, with focus on requirements, architecture, user interface and security. some future work ideas are also presented. keywords: desktop grid computing, distributed and parallel computing. 1 introduction grid computing and peer-to-peer (p2p) are both concerned with the pooling and coordinated use of resources within distributed communities, and are constructed as overlay structures that operate largely independently of institutional relationships [1]. the grid is foreseen as a system that coordinates distributed resources using standard, open, general-purpose protocols and interfaces to deliver nontrivial qualities of service [1, 2]. grid computing systems can be classified into two broad types: heavy-weight, feature-rich systems that provide access to large-scale, intraand inter-institutional resources, such as clusters or multiprocessors, and desktop grids, in which cycles are scavenged from idle desktop computers. p2p networks are typically used for connecting nodes via largely ad-hoc connections. a pure p2p network does not have the notion of clients or servers but only equal peer nodes that simultaneously function as both “clients” and “servers” to the other nodes on the network [3]. this paper deals with qadpz [’kwod ’pi: ’si:], an open source system for desktop grid computing, which enables users from a local network or internet to share their resources [4, 5]. qadpz (quite advanced distributed parallel zystem) is a system for heterogeneous desktop grid computing that allows a centralized management and use of the computational resources of idle computers from a network of desktop computers. qadpz users can submit compute-intensive applications to the system, which are then automatically scheduled for execution. applications can be independent, when the composing tasks do not require any interaction, or they can be parallel, when the tasks communicate with each other during the computation. thus, the system provides support for both taskand data-parallelism. here are some important features of qadpz [4]: • native support for multiple operating systems: linux, windows, macos and unix; • support for legacy applications, which for different reasons could not be rewritten; • object-oriented development framework that supports either low-level programming languages as c and c++, or high-level language applications (such as lisp, python, or java), and that provides for using such applications in a computation; copyright © 2006-2009 by ccc publications development journey of qadpz a desktop grid computing platform 83 • master worker-model that is improved with some refined capabilities: pushing of work units, pipelining, sending more work-units at a time, adaptive number of workers, adaptive timeout interval for work units, and the use of multithreading [6]; • a master can act as a client to another master. that makes it possible to create a distributed master, which consists of independent master nodes which communicate with each other, thus creating a virtual master; • extended c/c++ api, which supports creation of lightweight tasks and parallel computing, using the message passing paradigm (mpi) [7]; • low-level optimizations: on-the-fly compression and encryption for communication. to increase performance, an experimental, adaptive compression algorithm, which can transparently choose from different algorithms, is also provided; • efficient communication by using two different protocols (udp and tcp/ip); • autonomic computing characteristics: self-knowledge, self-configuration, self-optimization and self-healing [8]. 2 justification for a new desktop grid system the idea of using the idle computational resources from existing desktop computers is not new, though the use of such distributed systems, especially in a research environment, has been limited. this is due to the lack of supporting applications, and challenges regarding security, management, and standardization. the need to develop qadpz has arisen from the following main reasons: o many existing systems were highly specialized in a very limited set of computationally challenging problems, and hence did not allow the execution of a general application. for example, seti@home was programmed to solve one specific task: the analysis of data from telescopes [9, 10]. similarly, distributed.net aimed to test the vulnerability of some particular encryption schemes [11]; o at the time of the development, the source code was generally not available, hence making difficult the extension or analysis of any new, non-standard application. commercial systems such as entropia, office grid and united devices offered numerous features, but they were not free [4, 12]. on the other hand, some open source systems were available, e.g. xtremweb [13], boinc [14, 15], condor [16], but they were limited in functionality; o very few existing systems allowed specific considerations to be made wrt. challenges of computationally intensive applications, especially those of scientific computing and visualization [4]. systems like boinc and bayanihan [12] allowed only task parallelism, where there was no communication between the running tasks during a computation. most computationally intensive applications need such communication; o most of the existing systems usually had a complicated deployment procedure, requiring high-level, privileged access to the desktop computers, which made very hard to use such systems on a larger scale, and also made further maintenance of the computers complicated e.g. condor and globus toolkit [12, 17, 18]; o many of today’s networks are heterogeneous, thus requiring a distributed computing system with support for various architectures and different type of operating systems. the java language provides the incentives for such requirements, and many java based systems emerged: jxta, bayanihan, xtremweb, javelin [12]. there were very few systems supporting different architectures and operating systems in native mode, some of them being condor and boinc. there were also systems, which run only on one type operating system, either windows or unix, thus limiting their usability in heterogeneous environments for instance, entropia [12]. 84 monica vlădoiu, zoran constantinescu 3 qadpz requirements given the reasons mentioned in the previous section, we have set up a set of requirements that a successful desktop grid computing system should satisfy to support computationally intensive applications. the overall goal of the system was to be friendly, flexible and suitable to a variety of needs. the main prerequisite has therefore been an open architecture that could evolve in pace with the needs and challenges of the real world. two sets of requirements for qadpz have been specified: one for the system as a whole, mostly from a functional point of view, and another for the system interface. additionally, a set of non-functional requirements that concern the development of the platform itself has been established. system requirements are concerned mainly with sharing and management of both resources and application jobs, in a heterogeneous environment. they also involve performance and usability of the system, as required by our conceptual model (extended master-worker). the system interface covers both user interfaces and programming interfaces [4, 6]. the system requirements are listed further on: o resource sharing: idle computational cycles, storage space, specific data, etc. of the desktop machines which contribute to the system; o resource management: efficient management of the available shared resources, which remain under the control of their owners via use policies and specific mechanisms; o job management: users should be able to submit, monitor and control the execution of computational jobs on the system; o heterogeneity: ability to work on a network of heterogeneous desktop computers, with different architectures (intel, risc, etc.) and different operating systems (unix, windows, mac os, linux); o simple installation and minimal maintenance; o parallel programming support: support for different parallel programming paradigms, for example both taskand data-parallelism, by using well known standards; o network support: ability to work both in a lan environment and in internet; o communications: the higher level communication protocol should rely on both tcp/ip and udp/ip, this dual support increasing the efficiency; o autonomous features: support for different autonomicity aspects: self-management, self-optimization, self-healing, self-configuration, and self-knowledge; o provide performance measurements, which could be exploited for better usage of the available resources; o on-line/off-line support for both batch (the user submits jobs which will be executed at a later time) and interactive applications (the user can inspect the partial result and interact with the execution of the application). the interface requirements can be split up into two parts: first, the user interfaces that is the graphical interface, which the human users use to access the system. using this interface, the users can either monitor or control the behavior of the system. the other interface is the programming interface (api), which allows different user applications to interact with the system. the interface requirements are enlisted beneath: o personalization: different levels of access for various users, according to their personal skills and preferences; o job management interface: a simple, platform independent, graphical user interface, to allow submission, monitoring and control of the different computational jobs; o resource sharing interface: a simple, intuitive graphical user interface, which allows the control of shared resources. the main non-functional requirements concern object oriented programming, for its well-known advantages, and open source development, which is a natural choice for modern research, as it encourages integration, cooperation and boosting of new ideas [19]. development journey of qadpz a desktop grid computing platform 85 figure 1: the qadpz close-up architecture 4 qadpz architecture the qadpz system has a centralized architecture, based on the client-server model, which is the most common paradigm used in distributed computing. in our case, the server manages the available computational resources of the desktop computers. the client is a process that needs computational services in order to accomplish a certain work. it sends a request to the server, in which it asks for the execution of a concrete task that is covered by the services. usually, the server carries out the task and sends back the result to the client. in our situation, the server has two parts: a single master, which accepts new requests from the clients, and multiple slaves, which handle those requests. the system consists of three types of entities: master, client, and slave (figure 1). the control and data flow in the system are separated. the data files (represented by binary, input, and output files) that are necessary to run the applications are not sent to the master. they are stored on one or more data servers. the smallest independent execution unit of the qadpz is called a task. to facilitate the management, multiple tasks can be grouped into jobs. different types of jobs can be submitted to the system: programs written in scripting languages (e.g. lisp, java, python), legacy applications and parallel programs (mpi). a job can consist of independent tasks, which do not require any kind of communication between them. this is usually called task parallelism. jobs can also consist of parallel tasks, where different tasks running on different computers can communicate with each other. inter-slave communication is accomplished using a mpi subset. the current implementation of qadpz considers only one central master node. this can be an inconvenience in certain situations, when computers located in different networks are used together. however, our high-level communication protocol between the entities allows a master to act as a client to another master, thus making possible to create a virtual master, consisting of independent master nodes, which communicate with each other. 4.1 master the main role of the master is to start and control the tasks, and to keep track of the availability, capabilities and configuration of the slaves. the master is responsible for managing the available resources and it has always an up-to-date overview of the system resources. it knows which slaves can accept jobs for execution and how to contact them. it schedules also the computational tasks submitted by any authorized user. jobs are sent to the appropriate slave based on the hardware and software requirements from the job description. tasks can be started, stopped, or re-scheduled by the master. users create tasks that can be submitted to the master by using a client, which acts as an interface to the system. to make 86 monica vlădoiu, zoran constantinescu figure 2: simplified uml diagram of qadpz’s architecture this possible, the master keeps a database of authorized users (figure 2). 4.2 slave each computer contributing with computing resources to the system is called a slave and has two roles: first, it has to report the shared resources to the master. these are mainly computational resources (cpu cycles), but can also be storage space, input or output devices etc. the slave periodically sends to the master information about the system, which describes the hardware architecture of the slave (cpu type, cpu speed, physical memory, etc.), the software environment available on that architecture (operating system, available application or libraries), and the resources available on that slave (figure 5). secondly, the slave can accept computational jobs from the master. after accepting a computational request from the master, the slave downloads the corresponding binaries and data files for the task, executes the task, and uploads the result files after finishing. this can be done only when the slave is free, and any interactive, local user is not using the resources. the presence of a user logging into a slave computer is automatically detected and the task is killed or moved to another slave to minimize the disturbance to the regular computer users. the slave decides for itself whether or not to accept a computational job to be run (by setting some configuration parameters). the user can configure different times of day when the slave may accept computational jobs. it can also disable the slave at any time. the slave component runs as a small background process on the user’s desktop. it starts automatically when the system starts. the program does not need any special privileges to run, which makes it very easy to install and control by an ordinary user. below we present a simple example on how to create a computational application to be executed on a slave. // slavedumb simple example of how to create a computational job #include "slaveserv.h" // callback functions for notification from the slave service void taskstop () { istaskstop = 1; dbug_print("taskstop"); } void taskctrl (const char *arg) { istaskctrl = 1; dbug_print("taskctrl arg=%s", arg); } // this is the exec loop on each task-thread int taskexec (char *data, char *datares, char *userdata) { int isfinished = 0; dbug_print("task started"); // set callback functions q2adpz_slv_setcb_task_stop (taskstop); q2adpz_slv_setcb_task_ctrl (taskctrl); development journey of qadpz a desktop grid computing platform 87 dbug_print("input data ’%s’", data); // start main task loop while (! isfinished) { //do some crunching of the data { ... if (ok) isfinished = 1; } //task needs to be stopped if (istaskstop) { ... dbug_print("task stop executed"); break; } if (istaskctrl) { ... q2adpz_slv_task_status (task_ok, "task ctrl"); dbug_print("info", ("task ctrl executed"); } //if crunching finished if (isfinished) { dbug_print("task finished res=’%s’", datares); break; } } // while } 4.3 client the client represents the interface for submitting jobs in the system. there are two execution modes for the client: a batch mode and an interactive mode. in the batch mode, a project file describes a job by specifying the required resources and how to start the tasks. this information is sent to the master, which is responsible for scheduling the tasks. the client can detach from the master and connect later for the results. each project is described by using the xml language. in the interactive mode, the client remains connected to the master for the entire execution of the job. also, the client can get direct connection to each of the slaves involved in the computation. the client has a lot of freedom over the creation and controlling of new tasks: it can dynamically create new tasks, send messages to the tasks already in execution, and receive feedback from the running tasks, either through the master node, or by means of direct communication with the slaves running the respective tasks. an example of a job description in xml is listed beneath. 3 ./datafiles/ http://www-data/qadpz/cgi-bin simple/source.txt simple/dest.txt 1 1 3600 linux i386 http://www-data/qadpz/app/lib/linux/i386/libslv-app.so simple 1 1 3600 win32 i386 http://www-data/qadpz/app/lib/win32/i386/slv_app.dll simple.exe 1 1 3600 sunos sun4u http://www-data/qadpz/app/lib/sunos/sun4u/libslv-app.so 88 monica vlădoiu, zoran constantinescu simple 4.4 jobs, tasks and subtasks the qadpz users can submit, monitor, and control computing applications to be executed on the computers that share resources. tasks can be binary programs, which can run on any of the sharing computers. a task comes in the form of an executable program, compiled for a specific architecture and operating system. for better performance, a task can be also in the form of a shared (dynamic) library, which can be more efficiently loaded by the slave program. as an alternative to native binary programs for a specific platform, a task can also be an interpreted or precompiled program. for example, it can be a compiled java application or an interpreted program (e.g. perl, python), which further needs, respectively, a java virtual machine or a specific interpreter, on the host computer. multiple tasks, which are related to each other, can be grouped into a job that is actually what a user submits to the system (see job life in figure 3). a job can be composed of one or more tasks. using jobs provides for easier structuring and management of the computational applications for both the user and the system. each job is assigned uniquely to one user, however, a user can have multiple jobs submitted at the same time to the system. the tasks that correspond to a job can be independent or not at execution time. tasks can further be divided into subtasks, consisting of finer work units that are executed within a task. subtasks are used for interactive applications, which require permanent connection between a client and the slaves. they are usually generated at run-time at the client, and sent for execution to an already running task, which can solve them. the main reason for having subtasks is to improve the efficiency of smaller execution units without the overhead of starting a new task each time. figure 3: qadpz job life 4.5 user interface the qadpz user interface provides for a user-friendly environment, in which the user can interact with the system. this interaction involves mainly the submission, the monitoring, and the management of the submitted computational applications, along with the resource monitoring and control. the first interface is the job-monitoring interface that is a web-based interface that provides detailed information about all existing jobs in the system. the user can browse the jobs, see their status, and view their component tasks. s/he can also easily create new jobs and tasks. using this interface, each job can be stopped or deleted (figure 4). the second interface is also web-based and provides information related to the resources in the system. basically it gives a list of the slaves registered in the system and their current status (figure 5). the owner of a desktop computer running a slave is given an interactive application, development journey of qadpz a desktop grid computing platform 89 which permits easy configuration of the slave. the user has complete control over the slave running on her computer. figure 4: job-monitoring web interface figure 5: slave information/configuration interface 5 security because of the unreliability of the udp protocol, which is our first option for the low-level communication protocol due to its benefits, it is not guaranteed that the execution tasks arriving to the slave computers are undoubtedly sent by the master. this is a serious security threat since it allows for a malicious hacker to submit any piece of code to the slave nodes (ipspoofing). for that reason, and on the cost of a decreased performance, all communication from clients to master and from master to slaves is encrypted and/or signed. particularly, the data flow from client to master has to be authorized by the name and the password of a qadpz user, and encrypted using a master public key. a master private key signs the data flow from master to slaves and the authenticity is verified using a master public key on slave nodes. it is important to note that the data flow from slaves to master and from master to clients is neither encrypted nor signed, which means that a malicious hacker can monitor (packet sniffing) or alter (ipspoofing) the data or control information arriving back to master or client nodes, and thus put the slave nodes and/or the master node out of operation, modify the resulted data that are submitted by the slaves, or do any other kind of harm to the computational process. in other words, the current qadpz security scheme is designed to protect the security of the computers in the network, i.e. a malicious hacker cannot submit an alien piece of code to be executed instead of a user computational task. however, this scheme does not protect the qadpz user data. we plan to provide optional data integrity in the future versions of the system. security of the system is handled in two ways. on the one hand, only registered users are allowed to submit applications for execution. this is done by using a user/password scheme, and allows a simple access control to the computational resources. the qadpz system manages its own user database, completely independent of any of the underlying operating systems, thus simplifying users’ access to the system. the qadpz administrator can create new users by using some supporting tools. on the other hand, security involves the encryption of messages exchanged between various components of qadpz. this is done by using public key encryption, and provides an additional level of protection against malicious attacks. 6 conclusions and future work the present paper reveals the development experience of qadpz, a desktop grid computing environment. we summarized the main features of the system that make it a powerful platform for running computationally intensive applications. the reasons that have justified the endeavor of developing a new desktop grid platform are also presented. the qadpz requirements have included all the core capabilities that a successful desktop grid system should provide [12]. we presented the detailed architecture of the system, along with some of the design details. when we started this work, our main goal was to build an easy to use, open source system that provides the complex functionality that users expect from 90 monica vlădoiu, zoran constantinescu such a platform [4, 12]. it is worth mentioning that qadpz has over a thousand users who have already downloaded it [20]. many of them use it for their daily tasks and we have got valuable feedback from them [4]. further on we present some future work ideas that aim to improve the qadpz system: o many areas of the qadpz system are incomplete. for example, many large scale parallel problems require checkpointing: running a parallel application for hours or even days and loosing all results due to one failing node is unacceptable; o data integrity is an important issue, especially in an open environment (internet); o improved support for user data security: computation results data can be encrypted and/or signed so that the user of the system can be sure the received data is correct; o users could be provided with different scheduling algorithms to choose from, according to the type of their problem; o more complete implementation of the mpi layer and development of a complete library of the collective communication routines; o adding a set of transparent profiling tools for evaluating the performance of the different components, which is crucially important when running parallel applications; o decentralizing the system by employing p2p services, which would permit to a group of users to form an ad-hoc set of shared resources; moving towards a p2p architecture; o interconnection with a grid computing environment that must be decentralized, robust, highly available, and scalable [21], while efficiently mapping application instances to available resources in the system. these future developments of qadpz subscribe to the belief that the vision that motivates both grid and p2p, i.e. that of “a worldwide computer within which access to resources and services can be negotiated as and when needed, will only become real if we are successful in developing a technology that combines important elements of p2p and grid computing” [1]. bibliography [1] i. foster, and a. iamnitchi, on death, taxes, and the convergence of peer-to-peer and grid computing, in 2nd int. workshop on p2p systems iptps 2003, pp. 118-128, 2003. [2] i. foster, c. kesselman, the grid: blueprint for a new computing infrastructure, boston: morgan kaufmann, 2004. [3] j. i. khan and a. wierzbicki, eds., foundation of peer-to-peer computing, special issue, elsevier journal of computer communication, volume 31, issue 2, feb. 2008. [4] z. constantinescu, a desktop grid computing approach for scientific computing and visualization, phd thesis, norwegian university of science and technology, trondheim, norway, 2008. [5] qadpz, [online] available: http://qadpz.sourceforge.net. [accessed august 1, 2008]. [6] m. vladoiu, z. constantinescu, an extended master-worker model for a desktop grid computing platform (qadpz), in 3rd int. conference on software and data technologies -icsoft 2008, pp. 169-174, 2008. [7] z. constantinescu, j. holmen, p. petrovic, using distributed computing in computational fluid dynamics, in 15th int. conf. parallel computational fluid dynamics parcfd-2003, pp. 123-129, 2003. [8] z. constantinescu, towards an autonomic distributed computing environment, in 14th int. workshop on autonomic computing systems, 14th int. conf. on database and expert systems applications dexa 2003, pp. 694-698, 2003. development journey of qadpz a desktop grid computing platform 91 [9] d. p. anderson, j. cobb , e. korpela , m. lebofsky, d. werthimer, setihome: an experiment in public-resource computing, communications of the acm, vol. 45, no. 11, pp. 56-61, 2002. [10] seti@home [online] available: setiathome.ssl.berkeley.edu [accessed may 5, 2003]. [11] distributed.net [online] available: http://distributed.net. [accessed may 5, 2008] [12] m. vladoiu, z. constantinescu, a taxonomy for desktop grids from users perspective, in int. conference on parallel and distributed computing icpdc 2008, world congress on engineering (wce 2008), pp. 599-605, 2008. [13] c. germain, v. neri, g. fedak and f. cappello, xtremweb: building an experimental platform for global computing, in 1st ieee/acm workshop on grid computing grid2000, pp. 91-101, 2000. [14] d. p. anderson, boinc: a system for public-resource computing and storage, in 5th ieee/acm international workshop on grid computing, pp. 365-372, 2004. [15] boinc open source software for volunteer computing and grid computing [online] available: http://boinc.berkeley.edu. [accessed november 25, 2007]. [16] j. basney, m. livny, managing network resources in condor, in proc. of the 9th ieee symposium on high performance distributed computing (hpdc9), pp. 298-299, 2000. [17] globus [online] available: http://www.globus.org [accessed may 15, 2008]. [18] i. foster, and c. kesselman., globus: a metacomputing infrastructure toolkit, intl j. supercomputer applications, vol. 11, no. 2, pp. 115-128, 1997. [19] j. cassens, z. constantinescu, free software: an adequate form of software for research and education in informatics?, in linuxtag 2003 conference, pp. 5-10, 2003. [20] sourceforge, [online] available: http://sourceforge.net [accessed april 1, 2008]. [21] f. berman, g. fox, a.j.g. hey, grid computing: making the global infrastructure a reality, new york: j. wiley, 2003. monica vlădoiu got her msc (1991) and phd (2002) in the department of computer science of the polytechnic university of bucharest, romania. since then, she has been with the dept. of informatics, petroleum-gas university of ploieşti (upg), romania. her main research interests include digital libraries, learning objects, multimedia databases, reflective and blended learning, desktop grid computing and e-society. she has published over 30 research papers concerning these topics and she has (co-) authored 3 books. zoran constantinescu got his msc (1997) in the dept. of computer science of the polytechnic university of bucharest, romania. since then, he has been working both in the software engineering industry and in higher education. he got his doctoral degree in computer science (2008), from the norwegian university of science and technology, trondheim, norway. his research interests include parallel and distributed computing, desktop grid computing, gps systems and embedded systems. he has published over 20 research papers dealing with the above mentioned topics. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 149-160 a neural approach of multimodel representation of complex processes nesrine elfelly, jean-yves dieulot, pierre borne abstract: the multimodel approach was recently developed to deal with the issues of complex processes modeling and control. despite its success in different fields, it still faced with some design problems, and in particular the determination of the models and of the adequate method of validities computation. in this paper, we propose a neural approach to derive different models describing the process in different operating conditions. the implementation of this approach requires two main steps. the first step consists in exciting the system with a rich (e.g. pseudo random) signal and collecting measurements. these measurements are classified by using an adequate kohonen self-organizing neural network. the second step is a parametric identification of the base-models by using the classification results for order and parameters estimation. the suggested approach is implemented and tested with two processes and compared to the classical modeling approach. the obtained results turn out to be satisfactory and show a good precision. these also allow to draw some interpretations about the adequate validities’ calculation method based on classification results. keywords: complex processes, modeling, multimodel approach, kohonen map 1 introduction nowadays, technological developments increase the complexity of systems. this complexity can be caused by non linearity, non stability, wide operating domain, variations of system parameters or external perturbations. as a result, it is often difficult or even impossible to propose a simple model which could reckon with the whole process complexity by using physical laws. consequently, it is very useful to focus on advanced and practical approaches in order to handle this complexity. the multimodel approach has recently been developed and applied in several science and engineering domains. it was proposed as an efficient and powerful method to cope with modeling and control difficulties when complex non linear and/or uncertain processes are concerned. the multimodel approach supposes the definition of a set of models. then, it becomes possible to replace the unique model by a set of simpler models thus making a so-called models’ base. each model of this base describes the behavior of the considered process at a specific operating point. the multimodel approach objective is to decrease the process complexity by its study under certain specific conditions. several researchers have been interested in multimodel analysis and control approaches [7, 8, 19] and many applications have been proposed in different contexts. in spite of its success in many fields (academic, biomedical, . . . ), the multimodel approach remains confronted with several difficulties such as the calculation of models’ validities, the adequate technique of fusion or switching between models as well as the determination of the models’ base. indeed, in 1985, takagi and sugeno [21] suggested a fuzzy process representation by the contribution of local models. this approach has been applied in many fields of activities but often faced problems related to the lack of information about the system structure or the incertitude of its parameters. besides, it can sometimes lead to a large number of models which generates a high computational burden when designing the control algorithm. this has led several researchers to develop other approaches in order to cope with these difficulties. for uncertain complex systems with bounded parameters, some approaches were developed for the determination of the models’ base [9, 11]. an extension for uncertain discrete systems has been proposed by mezghani [13]. the case of multivariable systems was addressed by raissi [16]. the approaches, copyright © 2006-2008 by ccc publications 150 nesrine elfelly, jean-yves dieulot, pierre borne previously named, require the knowledge of parameters’ variations limits, which is generally not possible, in particular in case of uncertain systems for which parameters variations domains are unknown or ill-known. other related studies [12, 19] suggest the system be described by a set of local models often defined by using a reference model and some linearization methods. in another context, both fuzzy logic and neural networks were carried out for the multimodel control [1, 18]. an idea was to use neural approaches for complex systems modeling. these methods have the advantage of requiring very little information about the considered process and are useful for uncertain systems. within this context, very few studies [2, 3, 15, 17, 20, 22] were proposed but they don’t address strongly non-linear systems. in this paper, a neural approach for the determination of the models’ base for uncertain complex systems is proposed, in particular those which exhibit strong non-linearities. the proposed approach requires a priori little knowledge about the considered system; only input/output information can be sufficient. in the following section, the different steps of the proposed modeling approach are detailed. two simulation examples and some interpretations are then presented. the evaluation of the suggested modeling strategy is the topic of the last section. we finish the present paper by a conclusion. 2 complex systems’ modeling: neural approach in this section, a models’ base-determination approach for uncertain complex systems is described. this approach requires neither a global model definition nor the knowledge of parameters variations domains; only input/output information are needed. the suggested approach allows the generation of the base-models’ structure and parameters. the application of this approach requires first to classify the numerical data by exploiting a kohonen map and to determine the number of models. secondly, a structural and parametric identification of different base-models is carried out by using classification results. then, the validity index of each model is computed. finally, the multimodel output is obtained by the fusion of the models’ outputs weighted by their validity indexes. 2.1 classification of the numerical data by using a kohonen map as a first step, the output or input/output measurements collected from the considered process have to be classified in order to identify operating clusters from which the models’ base will be deduced. this classification is carried out by using a self-organizing kohonen map. self-organizing kohonen map methodology the self-organizing map (som) represents a specific kind of neural networks. in its original form, the som was invented by the founder of the neural networks research center, professor teuvo kohonen in 1981-82. the special property of the som is that it effectively creates spatially organized internal representations of various features of input signals and their abstractions [10]. the schematic representation of this network is given in figure 1. neurons in the target layer are ordered and correspond to cells of a bi-dimensional map. every neuron of the input layer is connected to every neuron of the output layer. the classification strategy consists in applying the kohonen rule. this rule is characterized by an unsupervised competitive learning where a competition takes place before the modification of the network-weights. only the neurons which win the competition have the right to change their weights. the kohonen rule works as follows: a neural approach of multimodel representation of complex processes 151 figure 1: kohonen map weights are initialized to random values; an input vector is presented to the network; the distance between the input vector and weights connecting inputs to each output neuron is computed; the neuron corresponding to the smallest distance, i.e. the nearest to the input vector, wins the competition, weights connecting inputs to this neuron are modified accordingly [5]. this procedure is repeated several times until weights stabilize. at the end of the learning stage, the representative vectors of different clusters and their centers are obtained. determination of the operating-system clusters the determination of the operating-system clusters requires firstly that the considered system be excited. secondly, the number of clusters has to be determined. the third step consists in classifying data by using a kohonen neural network. the first step consists in applying an input signal and then collecting (output or input/output) measurements that will be used for classification. the excitation signal must be rich enough and persistently exciting with well-chosen parameters in order to allow a full excitation of the operating dynamics, and to take in consideration the non-linear aspect of the considered process. for the second step, the method proposed by talmoudi has been adopted for the determination of the adequate number of clusters which corresponds to the number of models [22]. within this scope, a kohonen network, with an important number n of neurons in the output layer, has been considered. at the end of the learning procedure, if the repartition of classes is not good, the clusters i having a number of elements nci verifying the relation (1), will have to be removed [22]. nci ≤ 1 2 nh n , (1) where nh represents the number of the considered measures. else, the number of neurons in the output layer is increased and training is restarted. the same procedure is repeated over and over until the satisfactory number of clusters is obtained. afterwards, the data classification is tackled by using a kohonen network for which the number of neurons in the input layer equals the number of system-variables to be considered and the number of neurons in the output layer equals the number of clusters determined with the help of the method previously described. the classification results will then be exploited for the identification of the different base-models. 2.2 parametric identification of the base-models in this section, the orders of the models are estimated in a first step. the chosen method is the socalled instrumental determinants’ ratio-test. this method is mainly based on the conditions concerning 152 nesrine elfelly, jean-yves dieulot, pierre borne a matrix called "information matrix" which contains the input/output measurements [4]. this matrix is described as follows: qm = 1 nh nh ∑ k=1   u(k) u(k + 1) u(k −1) ... u(k −m + 1) u(k + m)   [ y(k + 1) u(k + 1) ··· y(k + m) u(k + m) ] , (2) where nh is the number of observations. the instrumental determinants’ ratio (rdi) is given by: rdi(m) = ∣∣∣∣ det(qm) det(qm+1) ∣∣∣∣ . (3) for every value of m, the determination procedure of the order consists in building the matrices qm and qm+1 and in evaluating the ratio rdi(m), the retained order m is the value for which the ratio rdi(m) quickly increases for the first time. as a second step, the parametric identification issue consists in calculating the values of the parameters of the corresponding model-equation, given several experimental measures which describe the dynamic behavior of the system. as previously mentioned, the data classification gives a certain repartition of clusters. for each cluster, input/output measurements are collected. these measurements allow the identification of the corresponding model. for this, the recursive least-squares method (rls) [4] was applied to achieve the parameters estimation. 2.3 computation of validities the validity coefficient is a number belonging to the interval [0 1]. it represents the relevance degree of each base-model calculated at each instant. in literature, several methods have been proposed to deal with the validity issue. in our study, the residues’ approach was adopted for the calculation of validities. this method is based on the distance measurement between the process and the considered model. for example, the residue can be given by the following expression: ri = |y−yi| i = 1, . . . , n (4) where: n: number of base-models; y: process output; yi: output of the model mi. if this residue value is equal to zero, the corresponding model mi perfectly represents the process at that time. on the contrary, a non null value translates the fact that the model mi represents the system partially. the normalized residues are given by: r′i = ri ∑nj=1 r j . (5) within the context of the residues’ approach, several methods have been proposed for the calculation of validities [6, 13, 14]. only two methods will be considered: the simple and the reinforced validities. the validities are given by: vi = 1−r′i . (6) the simple and reinforced validities are defined by using the following formulas. a neural approach of multimodel representation of complex processes 153 simple validities: the normalized simple validities are defined so that their sum must be equal to 1 at each time: vsimpi = vi n −1 . (7) reinforced validities: for this type of validities, the reinforcement expression is introduced as: v ′ren f i = vi n ∏ j =1, j 6=i (1−v j) . (8) the normalized reinforced validities could be written as follows: vren fi = v ′ren f i ∑nj=1 v ′ren f j . (9) 2.4 computation of the multimodel output the multimodel output is calculated by a fusion of the models’ outputs weighted by their respective validity indexes, as illustrated by the following expression: ymm(k) = n ∑ i=1 yi(k) vi(k) . (10) vi(k) could be a simple or a reinforced validity for which ∑ni=1 vi(k) = 1. 3 simulation examples in order to underline the interest and the performance of the proposed approach, some simulation examples are carried out. 3.1 example 1: second order discrete system the considered system is a complex discrete system whose evolution is described by the following equation: y(k) = −a1(k) y(k −1)−a2(k) y(k −2) + b1(k) u(k −1) + b2(k) u(k −2) . (11) the variation laws of different parameters of the process are given by: a1(k) = 0.04 sin (0.035k)−0.8 , a2(k) = 0.005 sin (0.03k) + 0.1 , (12) b1(k) = 0.02 sin (0.03k) + 0.5 , b2(k) = 0.01 sin (0.035k) + 0.2 . (13) first, the system is excited by a uniform random signal u(k ). then, the measurements y(k ) and y(k−1) are collected at different instants. the adequate number of clusters determined by using the method described in paragraph 3.1.2, is equal to three. the numerical data are fed into a kohonen network which presents an input layer with two neurons and three neurons in the output layer. the classification results are given in figure 2. from each of the three data sets relative to the various clusters, the orders and the parameters of the transfer functions relative to the three base-models are estimated. figure 3 shows the evolutions of the rdii(m) for the three models. 154 nesrine elfelly, jean-yves dieulot, pierre borne 2.5 3 3.5 4 4.5 2 2.5 3 3.5 4 4.5 y(k−1) y (k ) clusters’ centers figure 2: classification results 1 2 3 4 0 0.5 1 1.5 2 2.5 x 10 5 rdi 1 (m) 1 2 3 4 0 2 4 6 8 x 10 4 rdi 2 (m) 1 2 3 4 0 1 2 3 4 x 10 4 rdi 3 (m) m 1 =2 m 2 =2 m 3 =2 figure 3: evolutions of the rdi for the three base-models it appears clearly that the estimated orders of the three models are equal to two. this result is predictable since the considered system is a second order one. the application of the recursive leastsquares method allows us to write the following transfer functions: f1(z −1) = 0.33549 z−1 −0.047793 z−2 1−0.83697 z−1 −0.039754 z−2 , (14) f2(z −1) = 0.41086 z−1 −0.021659 z−2 1−0.8633 z−1 −0.055068 z−2 , (15) f3(z −1) = 0.36985 z−1 −0.0079934 z−2 1−0.9234 z−1 −0.060727 z−2 . (16) in order to evaluate the obtained global model, a validation step is worked out where other inputs which are different from those used for classification are fed into the system. then, the real and the multimodel outputs are compared. let us consider the following input sequence: u(k) = 1 + sin (0.08k) . (17) the validation results are given in figures 4 and 5. y: real output of the system. ymmr, ymms: multimodel outputs obtained by using respectively the methods of reinforced and simple validities. ymmr (k) = n ∑ i=1 yi(k) v ren f i (k) , ymms (k) = n ∑ i=1 yi(k) v simp i (k) . (18) er, es: relative errors between the real and the multimodel outputs. er(k) = ∣∣∣∣ y(k)−ymmr (k) y(k) ∣∣∣∣ , es(k) = ∣∣∣∣ y(k)−ymms (k) y(k) ∣∣∣∣ . (19) a neural approach of multimodel representation of complex processes 155 0 100 200 300 400 500 0 1 2 3 4 5 6 time y (t ), y m m r( t) , y m m s (t ) ymm s (t) y mm r (t) y(t) figure 4: real and multimodel outputs 0 100 200 300 400 500 0 5 10 time e r( t) , e s (t ) e s (t) e r (t) figure 5: evolutions of the relative errors it can be seen that the multimodel output, obtained by the fusion of the base-models’ outputs weighted by the reinforced validities, follows the real output with a negligible error (er(t)). this error is more important when applying the simple validities method (es(t)). this allows to conclude that, for this kind of system, the reinforced validities method is more appropriate than the simple validities one. 3.2 example 2: second order continuous system with input/output-dependent parameters as a second simulation example, we consider the system whose evolution is described by the following equations: a0y + a1ẏ + ÿ = u + bu̇ , (20) a0(y) = 0.3 + sigm(y−2) , a1(y) = sat(y2) , b(u) = sat(u) , (21) sigm is the sigmoid function; sat is the saturation function. the considered system is complex and strongly non-linear with parameters being functions of both the input and the output, which makes the modeling task difficult. the chosen excitation signal (figure 6) is a sine curve distorted by a random uniform signal since this input is richer than a simple random signal and allows considering the complex and non-linear aspects of the system. it is worthy to note that signal parameters (frequency, amplitude) need to be adjusted in order to obtain good results. 0 2 4 6 8 10 −2 −1 0 1 2 time u (t ) figure 6: evolution of the excitation signal moreover, in order to describe the system dynamics, the number of variables used for classification is increased. in fact, not only the output data y(k ) and y(k − 1) are considered but also the input data 156 nesrine elfelly, jean-yves dieulot, pierre borne u(k − 1). after generating the output, a sampling of the input and output signals followed, with an adequate sampling period, in order to collect the different measurements: y(k ), y(k−1), and u(k−1). once the number of clusters determined, the numerical data are presented to a kohonen network owning three neurons in both input and output layers. at the end of the learning procedure, three data sets (figure 7) are obtained, each of which being used for the identification of the corresponding model. −0.5 0 0.5 1 1.5 2 −1 0 1 2 −2 −1 0 1 2 y(k−1)y(k) u (k − 1 ) clusters’ centers figure 7: three data sets relative to the different clusters the application of the instrumental determinants’ ratio-test method allows us to determine the three models’ orders which are respectively: two, three and two. the corresponding transfer functions are given by the following expressions: f1(z −1) = 0.058303 z−1 + 0.052302 z−2 1−0.43246 z−1 −0.45748 z−2 , (22) f2(z −1) = −0.023815 z−1 + 0.0013593 z−2 + 0.031481 z−3 1−0.68802 z−1 −0.24025 z−2 −0.072128 z−3 , (23) f3(z −1) = 0.12995 z−1 −0.014359 z−2 1−0.64023 z−1 −0.37958 z−2 . (24) the application of the following input sequence is the purpose of the validation step: u(k) = 1 + sin (k) . (25) the validation results are illustrated by the figures 8 and 9. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 time y (t ), y m m r( t) , y m m s (t ) ymm s (t) y(t) ymm r (t) figure 8: real and multimodel outputs 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 time e r (t ), e s( t) e s (t) e r (t) figure 9: evolutions of the relative errors contrary to the first example, the results obtained by the application of the simple validities’ method are much better than those given by the reinforced validities’ method. in fact, the figures 8 and 9 show that the multimodel output ymms (t), deducted by fusion of the base-models’ outputs weighted by the simple validities, follows almost perfectly the real output with an error es(t) nearly null compared to the a neural approach of multimodel representation of complex processes 157 error er(t) which is relatively important. in order to give prominence to the capacity of the identified models to reproduce the operating system in different domains, let us consider another input sequence given by: u(k) = 1.2 + 1.5 sin (2k) . (26) the multimodel output is generated by application of the simple validities’ method. the result is given in figure 10. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 time y( t), y m m s(t ) y mm s (t) y(t) figure 10: real and multimodel outputs (second validation) 3.3 interpretations referring to the obtained simulation results, it can be noticed that the application of the suggested approach allows a good modeling of the considered systems. we can also make an important interpretation about the use of the validities’ calculation methods. as remarked before, in some cases simple validities give better results and in other cases it is preferable to use reinforced validities. so, more simulations and observations were worked out to conclude that the choice of the validities’ calculation method depends on the classification results i.e. the clusters structure and repartition. thus, it can be noted that when there are several variations in the same cluster and when an overlapping between clusters occurs, which is the case in the second simulation example (figure 7), it is worth to use the simple validities’ method since it takes account of different models’ outputs refering to the expression (7). in this case, no model could represent ideally the process at any time. but when the clusters present very few variations and are well separated (figure 2), the reinforced validities’ method is better-adapted. the application of this method, thanks to the reinforcement expression (8), promotes the contribution of the most dominant model which represents at best the process behavior. 4 evaluation of the suggested modeling strategy in order to highlight the interest and the performance of the proposed modeling strategy, the classical modeling approach involving the identification of a global model was carried out. then, the results given by the suggested approach were compared to those given by classical modeling strategy. let us consider the second simulation example described by the equations (20) and (21) and the excitation signal given by figure 6. by using the instrumental determinants’ ratio-test method for the estimation of the order and the recursive least-squares method for the parametric identification, the transfer function f(z−1) of the global model is given by the following expression: f(z−1) = 0.03601 z−1 + 0.0035236 z−2 1−0.55726 z−1 −0.42595 z−2 . (27) by using the same numerical data, the classification and the identification steps give the three models described by equations (22), (23) and (24). the input sequence given by the equation (25) was applied 158 nesrine elfelly, jean-yves dieulot, pierre borne again. figure 11 represents the evolutions of the real, the multimodel and the global model outputs. the multimodel output is obtained by fusion of the models’ outputs weighted by their simple validities degrees calculated at each instant. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 3 time y( t), y m m s(t ), y g (t) y g (t): global model output y(t): real output y mm s (t): multimodel output figure 11: evolutions of the real, multimodel and global model outputs the adopted multimodel approach offers a very satisfactory precision compared to the case of the classical modeling approach based on the unique global model. 5 conclusion in this paper, a neural approach of multimodel representation is proposed. this approach is applicable when dealing with complex, strongly non-linear and uncertain processes. it allows the determination of the models’ base by using a kohonen network and two methods of structural and parametric identification. the different steps were detailed. the multimodel output is obtained by using the technique of fusion and the adequate validities’ computation method. the suggested approach has been implemented and tested for different complex systems. simulation results, two of which were described in this paper, prove the efficiency and the precision of the proposed modeling strategy and show that the method works well with various processes even when highly complex. some interpretations have been made about the choice of the adequate validities’ calculation method to be applied. furthermore, in order to demonstrate the performance and the relevance of the suggested approach, a comparison with the classical modeling approach has been made. bibliography [1] m. a. al-akhras, g. m. aly, r. j. green, neural network learning approach of intelligent multimodel controller, iee proceedings on control theory and applications, vol. 143, pp. 395-400, 1996. [2] i. s. baruch, r. l. beltran, j-l. olivares, r. m. garrido, a fuzzy-neural multi-model for mechanical systems identification and control, mexican international conference on artificial intelligence n. 3, vol. 2972, pp. 774-783, 2004. [3] i. s. baruch, f. thomas, j-m. flores, e. gortcheva, a multimodel recurrent neural network for systems identification and control, ieee international joint conference on neural networks, vol. 2, pp. 1291-1296, 2001. [4] r. ben abdennour, p. borne, m. ksouri, f. m’sahli, identification et commande numérique des procédés industriels, editions technip, paris, france, 2001. a neural approach of multimodel representation of complex processes 159 [5] p. borne, m. benrejeb, j. haggège, les réseaux de neurones, editions technip, paris, france, 2007. [6] f. delmotte, l. dubois, p. borne, a general scheme for multi-model controller using trust, mathematics and computers in simulation, vol. 41, pp. 173-186, 1996. [7] a. el kamel, m. ksouri-lahmari, p. borne, contribution to multimodel analysis and control, studies in informatics and control, vol. 9, pp. 29-38, 2000. [8] t. a. johansen, b. a. foss, editorial: multiple model approaches to modelling and control, international journal of control, vol. 72, pp. 575, 1999. [9] z. kardous, a. el kamel, n. ben hadj braiek, p. borne, on the quadratic stabilization in discrete multimodel control, ieee conference on control applications, vol. 2, pp. 1398-1403, 2003. [10] t. kohonen, the self-organizing map, ieee proceedings, vol. 78, pp. 1464 1480, 1990. [11] m. ksouri-lahmari, p. borne, m. benrejeb, multimodel: the construction of model bases, studies in informatics and control, vol. 3, pp. 199-210, 2004. [12] d. j. leith, w. e. leithead, analytic framework for blended multiple model systems using linear local models, international journal of control, vol. 72, pp. 605-619, 1999. [13] s. mezghani, a. el kamel, p. borne, multimodel control of discrete systems with uncertainties, international journal of studies in informatics and control, 2000. [14] k. s. narendra, j. balakrishman, adaptative control using multiple models, ieee transactions on automatic control, vol. 42, pp. 171-187, 1997. [15] j. c. principe, l. wang, m. a. motter, local dynamic modeling with self-organizing maps and application to nonlinear system identification and control, ieee proceedings, vol. 86, pp. 22402258, 1998. [16] t. raissi, a. el kamel, w. byrski, p. borne, multimodel analysis and control of multivariable systems, ieee international conference on systems man and cybernetics, vol. 1, pp. 640-645, 2001. [17] m. ronen, y. shabtai, h. guterman, hybrid model building methodology using unsupervised fuzzy clustering and supervised neural networks, biotechnology and bioengineering, vol. 77, n. 4, pp. 420-429, 2002. [18] n. sadati, a. talasaz, robust fuzzy multimodel control using variable structure system, ieee conference on cybernetics and intelligent systems, vol. 1, pp. 497-502, 2004. [19] r. schorten, r. marry-smith, r. bjorgan, h. gollee, on the interpretation of local models in blended multiple model structures, international journal of control, vol. 72, pp. 620-628, 1999. [20] r. r. selmic, f. l. lewis, multimodel neural networks identification and failure detection of nonlinear systems, ieee conference on decision and control, vol. 4, pp. 3128-3133, 2001. [21] t. takagi, m. sugeno, fuzzy identification of systems and its applications to modelling and control, ieee transactions on systems man and cybernetics, vol. 15, pp. 116-132, 1985. [22] s. talmoudi, r. ben abdennour, a. kamel, p. borne, a systematic determination approach of a models base for uncertain systems: experimental validation, ieee international conference on systems man and cybernetics, vol. 6, pp. 73-81, 2002. 160 nesrine elfelly, jean-yves dieulot, pierre borne nesrine elfelly1, jeans-yves dieulot2, pierre borne3 1université des sciences et technologies de lille (ustl), 2ecole polytechnique de lille, 3ecole centrale de lille (ec lille) laboratoire d’automatique, génie informatique et signal ecole centrale de lille, cité scientifique bp 48 59651 villeneuve d’ascq cedex, france e-mail:nesrine.elfelly@ed.univ-lille1.fr,jean-yves.dieulot@polytech-lille.fr,pierre.borne@ec-lille.fr received: december 4, 2007 nesrine elfelly was born in monastir, tunisia in 1982. she received the engineer diploma degree in computer engineering from the "ecole nationale d’ingénieur de tunis" (tunisia) in 2006. she obtained the master of automatic control, computer engineering and image processing from the "ecole centrale de lille" (france) in 2007 and the master of automatic control and signal processing from the "ecole nationale d’ingénieur de tunis" in the same year. she is currently a phd student in automatic control and applied computing within the framework of lagisustl and lara-enit cooperation. her current research interests are the applications of neural approaches for complex systems analysis and control. jean-yves dieulot graduated from french ecole d’ingénieurs institut industriel du nord in 1990, and obtained a phd from the university of lille in 1993. he is currently associate professor at ecole polytechnique universitaire de lille, france, and with lagis (laboratory of automatic control). his main interests are in fuzzy, nonlinear and robot control. pierre borne was born in corbeil, france in 1944, he received the master degree of physics in 1967, the masters of electronics, of mechanics and of applied mathematics in 1968. the same year he obtained the diploma of "ingénieur idn" (french "grande ecole"). he obtained the phd in automatic control of the university of lille in 1970 and the dsc in physics of the same university in 1976. he became doctor honoris causa of the moscow institute of electronics and mathematics (russia) in 1999, of the university of waterloo (canada) in 2006 and the polytechnic university of bucharest (romania) in 2007. he is author or coauthor of about 200 journal articles and book chapters, of 35 plenary lectures and of about 250 communications in international conferences. he has been the supervisor of 69 phd thesis and is author of 20 books. he is fellow of ieee and has been president of the ieee/smc society in 2000 and 2001. he is presently professor "de classe exceptionnelle" at the ecole centrale de lille and director of the french "plan pluriformation" of research in automatic control. ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 234-243 p–lingua 2.0: a software framework for cell–like p systems manuel garcía-quismondo, rosa gutiérrez-escudero, miguel a martínez-del-amor enrique orejuela-pinedo, i. pérez-hurtado research group on natural computing dpt. of computer science and artificial intelligence university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: mangarfer2@alum.us.es, {rgutierrez, mdelamor, orejuela, perezh}@us.es received: april 5, 2009 accepted: may 30, 2009 abstract: p-lingua is a programming language for membrane computing. it was first presented in edinburgh, during the ninth workshop on membrane computing (wmc9). in this paper, the models, simulators and formats included in p-lingua in version 2.0 are explained. we focus on the stochastic model, associated simulators and updated features. finally, we present one of the first applications based on plingua: a tool for describing and simulating ecosystems. keywords: programming languages, software development, p systems, membrane computing, p-lingua 1 introduction membrane computing (or cellular computing) is a branch of natural computing that was introduced by gh. păun [10]. the main idea is to consider biochemical processes taking place inside living cells from a computational point of view. the initial definition of this computing paradigm is very flexible and many different models have been defined. each model displays characteristic semantic constraints that determine the way in which rules are applied. hence, the need for software simulators capable of taking into account different scenarios when simulating p system computations comes to the fore. an initial approach could be defining inputs for each simulator specifically. nevertheless, this approach involves defining new input formats for each simulator, so designing simulators would take a great effort. a second approach could be standardizing the simulator input, so all simulators need to process inputs specified in the same format. these two approaches raise up a trade-off: on the one hand, specific simulator inputs could be defined in a more straightforward way, as the used format is closer to the p system features to simulate. on the other hand, although the latter approach involves analyzing different p systems and models to develop a standard format, there is no need to develop a new simulator every time a new p system should be simulated, as it is possible to specify it in the standard input format. moreover, researches would not have to devise a new input format every time they specify a p system and would not need to change the way to specify p systems which need to be simulated every time they move on to another model, as they would keep on using the standard input format. this second approach is the one considered in p-lingua project, a programming language whose first version, presented in [3], is able to define p systems within the active membrane p system model with division rules. the authors also provide software tools for compilation, simulation and debug tasks. from now on, we will call p-lingua 1.0 this version of the language and its associated tools. as p-lingua is intended to become a standard for p systems definition, it should also consider other models. in this paper, we present p-lingua 2.0 as a framework to define cell-like p system models, including several algorithms to simulate p system computations for the supported models (from now on, copyright c© 2006-2009 by ccc publications p–lingua 2.0: a software framework for cell–like p systems 235 simulators), as well as different formats to represent p systems with associated parsers to translate from each other. this paper is structured as follows. in section 2 the supported models at this stage are enumerated. the next section introduces some algorithms used to simulate p systems, focusing on the stochastic and the probabilistic p system models. in section 4 different file formats to representate cell-like p systems are presented, for example, p-lingua 2.0 programming language. model definitions, simulators and parsers have been encoded in a java library, plinguacore c©, presented in section 6, this library is free software and it can be easily expanded. command-line tools to compile files and simulate p systems have been slightly modified in section 5 these changes are presented. the next section introduces one of the first applications of p-lingua, a software tool to describe and simulate ecosystems. finally, some conclusions and future work are enumerated in section 8. 2 supported p system models the supported models developed so far are enumerated below, but a standard mechanism for defining new cell-like models has been included on the p-lingua 2.0 framework. each model displays characteristic semantic constraints entailing the rules applied, such as the number of objects specified on the left-hand side, membrane creation, polarization, and so on. it is possible to define additional models by including the corresponding semantic constraints within the plinguacore java library. this mechanism has been used on all the existent models. the supported p system models in p-lingua 2.0 are transition p systems, symport/antiport p systems, p systems with active membranes, with membrane division and membrane creation rules, probabilistic p systems and stochastic p systems. more details on those models can be found in [13], except for stochastic p systems, which are described in [10]. 3 simulators in p-lingua 1.0, only one simulator was supported, since there was only one p system model definition. however, as new models have been included, new simulators have been developed, providing at least one simulator for each supported model. all simulators in p-lingua 2.0 can step backwards (as well as the simulator in p-lingua 1.0), but this option should be set before the simulation starts. p-lingua 2.0 also takes into account the existence of different simulation algorithms for the same model and provides a means for selecting a simulator among the ones which are suitable to simulate the p system, by checking its model. so far, only the stochastic p system model provides several simulation algorithms to choose, but the plugin-oriented architecture of the plinguacore java library allows easily to encode new simulators. 3.1 simulators for stochastic p systems in the original definitions p systems evolve in a non-deterministic and maximally parallel manner (that is, all the objects in every membrane that can evolve by a rule must do it [10]). when trying to simulate biological phenomena, like living cells, the classical non-deterministic and maximally parallel approach is not valid anymore. first, biochemical reactions, which are modelled by rules, occur at a specific rate (determined by the propensity of the rule), therefore they cannot be selected in an arbitrary and non-deterministic way. second, in the classical approach all time steps are equal and this does not represent the time evolution of a real cell system. the strategies to replace the original approach are based on gillespie’s theory of stochastic kinetics 236 manuel garcía-quismondo, rosa gutiérrez-escudero, miguel a martínez-del-amor enrique orejuela-pinedo, i. pérez-hurtado [6]. a constant c is associated to each rule, which provides p systems with a stochastic extension. the constant c depends on the physical properties of the molecules involved in the reaction modeled by the rule and other physical parameters of the system. besides, it represents the probability per time unit at which the reaction takes place. also, it is used to calculate the propensity of each rule which determines the probability and time needed to apply the rule. two different algorithms based on the principles stated above have been implemented and integrated in plinguacore. multicompartimental gillespie algorithm the gillespie [6] algorithm or ssa (stochastic simulation algorithm) was developed for a single, well-mixed and fixed volume/compartment. p systems generally contain several compartments or membranes. for that reason, an adaptation of this algorithm was presented in [10] and it can be applied in the different regions defined by the compartmentalised structure of a p system model. the next rule to be applied in each compartment and the waiting time for this application is computed using a local gillespie algorithm. the multicompartimental gillespie algorithm can be broadly summarized as follows: repeat until a prefixed simulation time is reached: 1. calculate for each membrane i,  ≤ i ≤ m, and for each rule r j ∈ rli the propensity, a j, by multiplying the stochastic constant clij associated to r j by the number of distinct possible combinations of the objects and substrings present of the left-side of the rule with respect to the current contents of membranes involved in the rule. 2. compute the sum of all propensities a = m∑ i= ∑ r j∈rli a j 3. generate two random numbers r and r from the uniform distribution in the unit interval and select τi and ji according to τi =  a ln(  r ) ji = the smallest integer satisfying ji∑ j= a j > ra in this way, we choose τi according to an exponential distribution with parameter a. 4. the next rule to be applied is r ji and the waiting time for this rule is τi. as a result of the application of this rule, the state of one or two compartments may be changed and has to be updated. the multicompartimental next reaction method the gillespie algorithm is an exact numerical simulation method appropriate for systems with a small number of reactions, since it takes a time proportional to the number of reactions (i.e., the number of rules). an exact algorithm which is also efficient is presented in [5], the next reaction method. it uses only a single random number per simulation event (instead of two) and takes a time proportional to the logarithm of the number of reactions. we have adapted this algorithm to make it compartimental. the idea of this method is to be extremely sensitive in recalculating a j and ti, trying to recalculate them only if they change. in order to do that, a data structure called dependency graph [5] is introduced. let r : u[v]l c −→ u′[v′]l be a given rule with propensity ar and let the parent membrane of l be labelled with l ′. we define the following sets: p–lingua 2.0: a software framework for cell–like p systems 237 • dependson(ar) = {(b,t) | b is an object or string whose quantity affect the value. ar, t = l if b ∈ v and t = l ′ if b ∈ u}. generally, dependson(ar) = {(b, l) | b ∈ v} ∪ {(b, l ′) | b ∈ u} • affects(r) = {(b,t) | b is an object or string whose quantity is changed when the rule. r is excuted, t = l if b ∈ v ∨ b ∈ v′ and t = l ′ if b ∈ u ∨ b ∈ u′}. generally, affects(r) = {(b, l) | b ∈ v ∨ b ∈ v′} ∪ {(b, l ′) : b ∈ u ∨ b ∈ u′}. definition 1. given a set of rules r = rl ∪ ··· ∪ rlm , the dependency graph is the directed graph g = (v, e), with vertex set v = r and edge set e = {(vi, v j) | affects(vi) ∩ dependson(av j ) 6= /0} in this way, if there exists an edge (vi, v j) ∈ e and vi is executed, as some objects affected by this execution are involved in the calculation of av j , this propensity would have to be recalculated. the dependency graph depends only on the rules of the system and is static, so it is built only once. the times τi, that represent the waiting time for each rule to be applied, are stored in an indexed priority queue. this data structure, discussed in detail in [5], has nice properties: finding the minimum element takes constant time, the number of nodes is the number of rules |r|, because of the indexing scheme it is possible to find any arbitrary reaction in constant time and finally, the operation of updating a node (only when τi is changed, which we can detect using to the dependency graph) takes log |r| operations. the multicompartimental next reaction method can be broadly summarized as follows: 1. build the dependency graph, calculate the propensity ar for every rule r ∈ r and generate τi for every rule according to an exponential distribution with parameter ar. all the values τr are stored in a priority queue. set t ←  (this is the global time of the system). 2. get the minimum τµ from the priority queue, t ← t + τµ . execute the rule rµ (this is the next rule scheduled to be executed, because its waiting time is least). 3. for each edge (µ, α) in the dependency graph recalculate and update the propensity aα and • if α 6= µ , set τα ← aα,old (τα − τµ ) aα,new + τµ • if α = µ , generate a random number r, according to an exponential distribution with parameter aµ and set τµ ← τµ + r update the node in the indexed priority queue that holds τα . 4. go to 2 and repeat until a prefixed simulation time is reached. both multicompartimental gillespie algorithm and multicompartimental next reaction method are the core of the direct stochastic simulator and efficient stochatic simulator, respectively. one of them, which can be chosen in runtime, will be executed when compiling and simulating a p-lingua file that starts with @model. 238 manuel garcía-quismondo, rosa gutiérrez-escudero, miguel a martínez-del-amor enrique orejuela-pinedo, i. pérez-hurtado 3.2 a simulator for probabilistic p systems next, we describe how the simulator for probabilistic p systems implements the applicability of the rules to a given configuration. (a) rules are classified into sets so that all the rules belonging to the same set have the same left–hand side. (b) let {r, . . . , rt } be one of the sets of rules. let us suppose that the common left-hand side is u [v] α i and their respective probabilistic constants are cr , . . . , crt . in order to determine how these rules are applied to a given configuration, we proceed as follows: – one computes the greatest number n so that un appears in the parent membrane of i and vn appears in membrane i. – n random numbers x such that  ≤ x <  are generated. – for each k ( ≤ k ≤ t) let nk be the amount of numbers generated belonging to interval [ ∑k− j= cr j , ∑k j= cr j ) (assuming that cr = ). – for each k ( ≤ k ≤ t), rule rk is applied nk times. 4 file formats to define p systems together with models and simulators, new formats have been included in p-lingua 2.0. p-lingua 1.0 provided a programming language to define p systems and an xml file format [3]. both have been upgraded to allow representations of p systems which have a cell-like structure. it also supports backwards compatibility, so any file which defines a p system by using p-lingua 1.0 is also recognized by p-lingua 2.0 tools. a detailed description of the syntax of p-lingua programming language, including the new extensions added in order to support the new models, can be found in [4]. a new format has been included as well, the binary format, whose purpose is to use less disk space than the xml format. at this point, the concepts input format and output format should be introduced. an input format is a file format which, if a p system is specified in a file by following that format, the p system specified can be processed by the plinguacore java library. an output format is a file format which, if a p system is specified in a file by following that format, that file can be generated by the library. these concepts are similar to the source code and object code concepts [3]. for p-lingua 2.0 framework, p-lingua programming language is an input format, the binary format is an output format and, eventually, xml is both an input and an output format. this means that plingua programs can be processed by plinguacore, binary files can be generated by plinguacore and xml files can be both processed and generated by the library. 5 command-line tools p-lingua 1.0 provided command-line tools for simulating p systems and compiling files which specify p systems [3]. in p-lingua 2.0, the command-line tool general syntax has changed but, as it provides backwards compatibility, all valid actions in p-lingua 1.0 are still valid in p-lingua 2.0, as well. p–lingua 2.0: a software framework for cell–like p systems 239 5.1 the compilation command-line tool the command-line tool general syntax for compiling input files is defined as follows: plingua [-input_format] input_file [-output_format] output_file [-v verbosity_level] [-h] the command header plingua requests the system to compile the p system specified on a file to a file specified on another, whereas the file input_file contains the programme that we want to be compiled, and output_file is the name of the file that is generated [3]. optional arguments are in square brackets: • the option -input_format defines the format followed by input_file, which should be an input format. • at this stage, valid input formats are p-lingua and xml. • if no input format is set, the p-lingua format is assumed. • the option -output_format defines the format followed by output_file, which should be an output format. • at this stage, valid output formats are xml and bin. • if no input format is set, the xml format is assumed by default. • the option -v verbosity level is a number between 0 and 5 indicating the level of detail of the messages shown during the compilation process [3]. • the option -h displays some help information [3]. 5.2 the simulation command-line tool the simulations are launched from the command line as follows: plingua_sim input_file -o output_file [-v verbosity level] [-h] [-to timeout] [-st steps] [-mode simulatorid] [-a] [-b] the command header plingua_sim requests the system to simulate the p system specified on a file, whereas input_xml is an xml document where a p system is formatted on, and output file is the name of the file where the report about the simulated computation will be saved [3]. optional arguments are in brackets: • the option -v verbosity level is a number between 0 and 5 indicating the level of detail of the messages shown during the compilation process [3]. if no value is specified, it is 3 by default. • the option -h displays some help information [3]. • the option -to sets a timeout for the simulation defined in timeout (in milliseconds), so when the time out has elapsed the simulation is halted. if the simulation has reached a halting configuration before the time out has elapsed this option has no effect. • the option -st sets a maximum number of steps the simulation can take (defined in steps), so when the time out has elapsed the simulation comes to a halt. if the simulation has reached a halting configuration or the time out has elapsed (in case the option -to is set) before the specified number of steps have been taken this option has no effect. 240 manuel garcía-quismondo, rosa gutiérrez-escudero, miguel a martínez-del-amor enrique orejuela-pinedo, i. pérez-hurtado • the option -mode sets the specific simulator to simulate the p system (defined in simulatorid). this option reports an error in case the simulator defined by simulatorid is not a valid simulator for the p system model. • the option -a defines if the simulation can take alternative steps. this option reports an error if the simulator does not support alternative steps. • the option -b defines if the simulation can step backwards. as every simulator supports stepping backwards, this option does not report errors. 6 the plinguacore java library plinguacore c© is a java library which performs all functions supported by p-lingua 2.0, that is, models definition, simulators and formats. this library reports the rules and membrane structure read from a file where a p system is defined, detects errors in the file, reports them. if the p system is defined in p-lingua programming language, it locates the error in the file. this library performs simulations by using the simulators implemented as well as taking into account all options defined. it reports the simulation process, by displaying the current configuration as text and reporting the elapsed time. eventually, this library translates files that define a p system between formats, for instance, from p-lingua language format to binary format. this library is free software published under lgpl license [12], so everyone who is interested can upgrade, change and distribute it respecting the license restrictions. 7 a tool for simulating ecosystems based on p-lingua the bearded vulture (gypaetus barbatus) is an endangered species in europe that feeds almost exclusively on bone remains of wild and domestic ungulates. in [1], it is presented a first model of an ecosystem related to the bearded vulture in the pyrenees (ne spain), by using probabilistic p systems where the inherent stochasticity and uncertainty in ecosystems are captured by using probabilistic strategies. in order to validate experimentally the designed p system, the authors have developed a simulator that allows them to analyze the evolution of the ecosystem under different initial conditions. that software application is focused on a particular p system, specifically, the initial model of the ecosystem presented in [1]. with the aim of improving the model, the authors are adding ingredients to it, as new species and more complex behaviour for the animals. the improved model, together with results of virtual experiments made with this software application, is exhaustively described in [2]. a new gpl [11] licensed java application with a friendly user-interface sitting on the plinguacore java library has been developed. this application provides a flexible way to check, validate and improve computational models of ecosystem based on p systems instead of designing new software tools each time new ingredients are added to the models. furthermore, it is possible to change the initial parameters of the modelled ecosystem in order to make the virtual experiments suggested by experts. these experiments will provide results that can be interpreted in terms of hypotheses. finally, some of these hyphoteses will be selected by the experts in order to be checked in real experiments. 8 conclusions and future work creating a programming language to specify p systems is an important task in order to facilitate the development of software applications for membrane computing. in [3] p-lingua was presented as a programming language to define active membrane p systems with division rules. the present paper extends that language to other models: transition p systems, p–lingua 2.0: a software framework for cell–like p systems 241 symport/antiport p systems, active membranes p systems with division or creation rules, probabilistic p systems and stochastic p systems. we have developed a java library which recognizes the models, implements several simulators for each model and defines different formats to codify p systems, like the p-lingua one or a new binary format. this library can be expanded to define new models, simulators and formats. it is possible to select different algorithms to simulate a p system, for example, there are two different algorithms for stochastic p systems. the library can be used inside other software applications, in this sense, we present a tool for virtual experimentation of ecosystems. an internet website [14], still under construction, will be available to download the applications, libraries, source-code and technical reports, as well as provide information about the progress of the p-lingua project. in addition, this site aims to be a meeting point for users and developers through the use of web-tools as forums. the syntax of the p-lingua programming language is sufficiently standard for specifying different models of cell-like p systems. however, a new version of the language is necessary in order to specify tissue-like p systems but this will be the aim of a future work. although p-lingua 2.0 provides a way to simulate and compile p-systems, command-line tools are usually not user-friendly. it means it is not easy and intuitive for people to use them. for this purpose, p-lingua 1.0 provided an integrated development environment (ide) [3], which eased the way people could use p-lingua 1.0. for p-lingua 2.0, a new ide, called plinguaplugin, is being developed. such an application is integrated into the eclipse platform [13], so it makes the most of eclipse’s capabilities to provide a framework for translating, developing and testing p systems. it aims to be user-friendly and useful for p system researchers. 8.1 acknowledgement the authors acknowledge the valuable assistance given by mario j. perez-jimenez whose vast experience and human quality was essential for us in taking our first steps in scientific research. the authors also acknowledge the support of the project tin2006–13425 of the ministerio de educación y ciencia of spain, cofinanced by feder funds, and the support of the project of excellence with investigador de reconocida valía of the junta de andalucía, grant p08-tic-04200. bibliography [1] m. cardona, m.a. colomer, m.j. pérez–jiménez, d. sanuy, a. margalida. modeling ecosystems using p systems: the bearded vulture, a case study. lecture notes in computer science, 5391, 137–156, 2009 [2] m. cardona, m.a. colomer, a. margalida, i. pérez–hurtado, m.j. pérez–jiménez, d. sanuy. p system based model of an ecosystem of the scavenger birds, proceedings of the 7th brainstorming week on membrane computing, vol. i, 65–80, in press. [3] d. díaz–pernil, i. pérez–hurtado, m.j. pérez–jiménez, a. riscos–núñez. a p-lingua programming environment for membrane computing, proceedings of the 9th workshop on membrane computing, 155–172, 2008. [4] m. garcía–quismondo, r. gutiérrez–escudero, i. pérez–hurtado, m.j. pérez–jiménez. p-lingua 2.0: new features and first applications, proceedings of the 7th brainstorming week on membrane computing, vol. i, 141–168, in press. [5] m.a. gibson and j. bruck. efficient exact stochastic simulation of chemical systems with many species and many channels, j. phys. chem., 104, 1876–1889, 2000. 242 manuel garcía-quismondo, rosa gutiérrez-escudero, miguel a martínez-del-amor enrique orejuela-pinedo, i. pérez-hurtado [6] d.t. gillespie. exact stochastic simulation of coupled chemical reactions, j. phys. chem., 81, 2340–2361, 1977. [7] gh. păun. membrane computing. an introduction, springer–verlag, berlin, 2002. [8] gh. păun. computing with membranes, journal of computer and system sciences 61(1) 108–143, 2000. [9] gh. păun. p systems with active membranes. journal of automata, languages and combinatorics, 6, 1, 75–90, 2001. [10] f.j. romero–campero. p systems, a computational modelling framework for systems biology, doctoral thesis, university of seville, department of computer science and artificial intelligence, 2008. [11] the gnu general public license: http://www.gnu.org/copyleft/gpl.html [12] the gnu lesser general public license: http://www.gnu.org/copyleft/lgpl.html [13] the eclipse project: http://www.eclipse.org [14] the p-lingua website: http://www.p-lingua.org manuel garcía-quismondo fernández was born in june 11, 1985. he got his degree in ingeniería técnica en informática de sistemas in the university of sevilla in june 2007. currently, he is about to get another degree, this time in ingeniería en informática, at the same university. since september 2008, he has been a granted student at the department of computer science and artificial intelligence. he has developed a software application called plinguaplugin and co-developed another one called plinguacore, directed by agustín riscos-nuñez and ignacio pérez-hurtado. rosa gutiérrez-escudero was born in august 16, 1984. she received her degree in computer science in june 2008 from the university of sevilla. since september 2008, she has been a phd student at the department of computer science and artificial intelligence of the university of sevilla (spain). she is also a member of the research group on natural computing in the same university. her main research interests within the membrane computing area are computer simulation and complexity theory. miguel a. martínez-del-amor was born in july 10, 1984. he received his degree in computer science from the university of murcia (spain) in june 2008. currently, he is a phd student at the department of computer science and artificial intelligence in the university of sevilla (spain). he is also a member of the research group on natural computing at the same university, and his main research interest is to joint membrane computing and high performance computing by using efficient computer simulations. enrique orejuela-pinedo was born in june 7, 1979. he received his degree in biology in 2005, from the university of sevilla (spain). he has cooperated as internal student at the departament of ecology and vegetal biology in the university of sevilla. currently, he is a phd student at the department of computer science and artificial intelligence in the university of sevilla. he is also a member of the research group on natural computing at the same university, and his main research interests are natural computing and membrane computing, specially computational models of ecosystems. ignacio pérez-hurtado was born in september 21, 1977. he received his degree in computer science in october 2003. he was systems analyst in a company for three years. since september 2006, he has been a phd student at the department of computer science and artificial intelligence in the university of sevilla (spain). he is an associate professor at the same department. he is also p–lingua 2.0: a software framework for cell–like p systems 243 a member of the research group on natural computing at the said university, and his main research interests within the membrane computing are computer simulation, models for biological processes and complexity theory. international journal of computers, communications & control vol. i (2006), no. 1, pp. 81-99 grigore c. moisil (1906 1973) and his school in algebraic logic george georgescu, afrodita iorgulescu, sergiu rudeanu abstract: we present in the paper a very concise but updated survey emphasizing the research done by gr. c. moisil and his school in algebraic logic. keywords: n-valued lukasiewicz-moisil algebra, θ -valued lukasiewicz-moisil algebra, post algebra the mathematical logic is one of the domain in which the creative spirit of gr.c. moisil manifested plenary. his work in logic stands out by the the novelty, the variety and the depth of treated subjects. his first works are connected to the top results of the time and wear an algebraic seal. the young professor from jassy came after a rich experience in mechanics and differential equations. van der waerden treatise of algebra has decisively influenced his entry in logic by the algebraic gate. in the same time, these works have a powerful philosophical imprint. from this vast creation, the contributions in multiple-valued logics represent the part with the most intense impact on today researches. the first system of multiple-valued logic was introduced by j. łukasiewicz in 1920. independently, e. post introduced in 1921 a different multiple-valued logic. for łukasiewicz, the motivation was of philosophical nature he was looking for an interpretation of the concepts of possibility and necessity while for post, the research was intended as a natural mathematical generalization of bivalent logic. in 1930, łukasiewicz and tarski studied a logic whose truth values are the real numbers from the interval [0, 1]. 1 łukasiewicz-moisil algebras in 1940, gr. c. moisil has defined the 3-valued and the 4-valued łukasiewicz algebras and in 1942, the nvalued łukasiewicz algebras (n ≥ 2). his goal was to algebrize łukasiewicz’s logic. boolean algebras, algebraic models of classical logic, are particular cases of that new structures. in the description of a logical system, the implication was traditionally the principal connector. the n-valent system of łukasiewicz had as truth values the elements of the set ln = { 0, 1 n−1 , 2 n−1 , . . . , n−2 n−1 , 1 } and was built around a new concept of implication, on which are based the definitions of the other connectors. for moisil, the basic structure is that of lattice, to which he adds a negation (getting the so called "de morgan algebra") and also some unary operations (called by moisil "chryssipian endomorphisms"), representing the "nuancing". the łukasiewicz implication was let on a secondary plane and, in the case of an arbitrary valence, was completely lost. further axiomatizations were suggested by a. monteiro, r. cignoli, c. sicoe, s. rudeanu and others. an example of a. rose from 1956 established that for n ≥ 5 the łukasiewicz implication can no more be defined on a łukasiewicz algebra. consequently, only for n = 3 and n = 4 the structures introduced by moisil are models for łukasiewicz logic. the lost of implication has lead to another type of logic, called today "moisil logic", distinct from łukasiewicz system; the logic corresponding to n-valued łukasiewicz-moisil algebras was created by moisil in 1964. the fundamental concept of moisil logic is the nuancing. nowadays we feel it appropiate to call these algebras łukasiewicz-moisil algebras or lm algebras for short. for complete information and references on łukasiewicz-moisil algebras see [25] the work of moisil on lm algebras covers two periods of time: a first period, during 1940-1942, when he introduces the n-valued lm algebras with negation and studies special classes of these structures, as centered and axed lm algebras and a second one, during 1954-1973, when he introduces the θ -valued lm algebras without negation, applies multiple-valued logics to swiching theory and study algebraic properties of lm algebras (representation, ideals, reziduation). copyright c© 2006 by ccc publications 82 george georgescu, afrodita iorgulescu, sergiu rudeanu moisil’s works traced research directions for many romanian and foreign mathematicians. in argentina, at bahia blanca, antonio monteiro and his school (roberto cignoli, luiz monteiro, luiza iturrioz, maurice abad etc.) have contributed decisively to consolidate lm agebras as a domain of algebra of logic and to disseminate them in the mathematical world. in his phd thesis from 1969 [29], r. cignoli makes a very deep study of n-valued moisil algebras (the name he first gives to the n-valued łukasiewicz algebras introduced by moisil). 1.1 n-valued łukasiewicz-moisil algebras the structure called "de morgan algebra" was first studied by moisil; the name was given by antonio monteiro [142]; a duplicate name is "quasi-boolean algebra" given by a. bialynicki-birula and h. rasiowa. definition 1.1. a de morgan algebra is a structure (a,∨,∧,−, 0, 1) such that (a,∨,∧, 0, 1) is a distributive lattice with 0 and 1 and the unary operation −, called negation, verifies: (dm0) 1 = 0−, (dm1) (x−)− = x, (dm2) (x∧y)− = x− ∨y−. remark 1.2. in a de morgan algebra we also have: (dm3) (x∨y)− = x− ∧y−. definition 1.3. let j = {1, 2, . . . , n−1}. an n-valued łukasiewicz-moisil algebra (n ≥ 2) or an lmn bf algebra for short is an algebra a = (a,∨,∧,−, (r j) j∈j , 0, 1) of type (2, 2, 1, (1) j∈j , 0, 0) such that: (i) (a,∨,∧,−, 0, 1) is a de morgan algebra. (ii) the unary operations r1, r2, . . . , rn−1 fulfil the following axioms: for every x, y ∈ a and every i, j ∈ j, (l1) r j(x∨y) = r j x∨r j y, (l2) r j x∨(r j x)− = 1, (l3) r j ◦ri = ri, (l4) r j(x−) = (rn− j x)−, (l5) r1x ≤ r2x ≤ ··· ≤ rn−1x, (l6) if r j x = r j y for every j ∈ j, then x = y; this is the determination principle. if a fulfils (i) and only (l1)–(l5) we shall say that a is an lmn pre-algebra. proposition 1.4. in every lmn algebra a, the following properties are verified: for every x, y ∈ a and every j ∈ j, (l7) r j(x∧y) = r j x∧r j y; (l8) r j x∧(r j x)− = 0; (l9) x ≤ y if and only if (r j x ≤ r j y, for every j ∈ j); (l10) r1x ≤ x ≤ rn−1x; (l11) r j 0 = 0, r j 1 = 1; (l12) let c(a) be the set of complemented elements of a, i.e. c(a) = {x ∈ a | ∃x′ ∈ a, x∨x′ = 1, x∧x′ = 0}. let k j be the set of all elements of a left invariant by r j , j ∈ j, i.e. k j = {x ∈ a | r j x = x}. grigore c. moisil (1906 1973) and his school in algebraic logic 83 then: (i) r j x ∈ c(a), for every j ∈ j, x ∈ a and (ii) c(a) = k j , for every j ∈ j; (l12’) (c(a),∨,∧,−, 0, 1) is a boolean algebra, where x− = x′; (l12”) if z ∈ c(a), then for every x ∈ a: x∧z = 0 ⇐⇒ x ≤ z−, z∨x = 1 ⇐⇒ z− ≤ x; (l13) x− ∨rn−1x = 1; (l14) x∧(rn−1x)− = 0. example 1.5. the algebra ln = l (lmn) n = (ln,∨,∧,−, (r j) j∈j , 0, 1), where ln = { 0, 1 n−1 , 2 n−1 , . . . , n−2 n−1 , 1 } and    x∨y = max(x, y), x∧y = min(x, y), x− = 1−x, r j ( i n−1 ) = { 0, if j + i < n, 1, if j + i ≥ n, i ∈ {0}∪j, j ∈ j, is an lmn algebra, that we shall call the canonical lmn algebra. the proper subalgebras of ln have the form: s = ln − ⋃ x∈ln−{0} {x, x−}. they are lmn algebras. the smallest subalgebra of ln (with respect to ⊆) is c(ln) = {0, 1}, which is also a boolean algebra, cf. (l12’). for instance, the subalgebras of l3 are l2 and l3, l4 are l2 and l4 and l5 are l2, l3, {0, 1/4, 3/4, 1} and l5. remark 1.6. lm2 algebras coincide with boolean algebras. proposition 1.7. in every lmn pre-algebra, the determination principle (l6) is equivalent to each of the following conditions: for every x, y ∈ l, (a) x∧(r j x)− ∧r j+1y ≤ y, for every j ∈ j −{n−1}; (b) x∧ n−1∧ j=1 ((r j x)− ∨r j y) ≤ y. þ (representation theorem of moisil) every lmn algebra can be embedded in a direct product of copies of the canonical lmn algebra ln. corollary 1.1. every lmn algebra is a subdirect product of subalgebras of the canonical lmn algebra ln. ∗∗∗ in 1968, gr. c.moisil introduced the θ -valued łukasiewicz algebras or lmθ algebras for short (without negation), where θ is the order type of a chain with first and last element. the concept of θ -valued łukasiewicz algebra is obtained from that of n-valued, on the one hand, by dropping the negation − and on the other hand, by replacing the set ln by a totally ordered set i with first and least elements and by adapting the axioms to this case; the determination principle is preserved. these structures were thought by moisil as models of a logic with an infinity of nuances. according to a confession done by moisil, he imagined lmθ algebras (without negation) long 84 george georgescu, afrodita iorgulescu, sergiu rudeanu time ago, but the care of finding a strong motivation for them delayed the announcement; the motivation was found when moisil met zadeh’s fuzzy set theory, in which he saw a confirmation of his old ideas. in 1969, marek and traczyk [110] introduced the notion of generalized łukasewicz algebra (with negation), in an attempt to generalize to the infinite case the lmn algebras; but their generalization is not a natural one. in his phd thesis from 1972 [64], g. georgescu studied duality theory for moisil’s lmθ algebras (without negation), the injective objects (and their characterization), monadic and poliadic algebras. in his phd thesis from 1981 [53], a. filipoiu studied the lmθ algebras (without negation) and their associated logic. he gives a representation theorem for lmθ algebras by aids of θ -valent moisil field. in his master thesis from 1981 [12] also, l. beznea studies a generalization of lmθ algebras (without negation) obtained by eliminating the determination principle. later on, in his phd theses from 1984 [21], v. boicescu introduced and studied the n-valued lm algebras without negation, as a particular case of moisil’s lmθ algebras (without negation). following the inverse way, a. iorgulescu, in her phd thesis from 1984 [90] also, introduced and studied a natural generalization of moisil’s lmn algebras to the infinite case, called θ -valued lm algebras with negation or lmθ algebras with negation for short; any lmθ algebra with negation is a moisil’s lmθ algebra without negation. 2 connection with logic gr. c. moisil invented lm algebras in order to create an algebraic structure playing the same role with respect to the multiple-valued logic as boolean algebras play with respect to classical, bivalent logic. however, as shown by the example of a. rose, this only happens for the cases n = 3 and n = 4. the algebraic structures adequate to the infinite-valued logic of łukasiewicz (truth valued in the real interval [0, 1]) are the mv-algebras introduced by c.c. chang in 1958 or, equivalently, the wajsberg algebras introduced by font, rodriguez and torrens in 1984; d. mundici proved in in 1986 that mv algebras are categorically equivalent to lattice-ordered abelian groups with strong unit. r. grigolia’s mvn algebras, introduced in 1977, and cignoli’s proper łukasiewicz algebras, introduced in 1982, are algebraic structures corresponding to n-valued logic of łukasiewicz. the logic corresponding to lmn algebras was created by moisil himself in 1964. łukasiewicz logic has implication as its primary connector, while moisil logic is based on the idea of nuance, expressed algebraically by the chrysippian endomorphisms. the “engine" of the latter logic is moisil’s determination principle, according to which an n-valued sentence is determined by its boolean nuances. the determination principle realizes a transfer from the multiple-valued logic to the classical logic. this determination brings moisil logic much closer to classical logic than łukasiewicz logic. one could say that moisil logic is derived from classical logic by the idea of nuancing. algebraically, this tight relationship is expressed by the fundamental adjunction between the categories of boolean and łukasiewicz algebras. v. boicescu in 1971 and a. filipoiu in 1981 introduced and studied logics appropiate to lmθ algebras without negation. (i.e. infinite-valued lm algebras). a. filipoiu generalized smullyan’s method of analytic tableaux to θ -valued logic without negation and studied the θ -valued predicate calculus as well, with applications to systems of recording and retrieval of information. łukasiewicz logic, post logic and moisil logic consitute the three directions in the classical theory of multiplevalued logic. their corresponding algebraic models are mv algebras, post algebras and lm algebras. 3 connections with other structures of algebraic logic moisil introduced in 1941 the centered lm3 algebras. post algebras (cf. p. rosenbloom (1942), g. epstein (1960), t. traczyk (1963)) turn out to be centered lm algebras, cf. r. cignoli (1969) and g. georgescu c. vraciu (1969). the θ -valued post algebras were studied by t. traczyk (1967) and g. georgescu (1971). gr. c. moisil, r. cignoli, l. iturrioz, a. monteiro and v. boicescu studied lm algebras as particular cases of heyting algebras. v. boicescu also studied lm algebras as stone algebras. grigore c. moisil (1906 1973) and his school in algebraic logic 85 lm3 algebras and lm4 algebras are polynomially equivalent to mv3 algebras and mv4 algebras, respectively, since they are the algebraic counterpart of the 3-valued łukasiewicz logic and the 4-valued łukasiewicz logic, respectively. d. mundici was first to point out the equivalence between lm3 algebras and mv3 algebras, in 1989. then a. iorgulescu, in 1998-2000 [91] [94], pointed out the isomorphism between the categories of lmk algebras and of mvk algebras, for k = 3, 4 and also studied the categories lmn and mvn for n ≥ 5, showing that every mvn can be made into an lmn algebra. she then studied those lmn algebras that can be viewed as mvn algebras: 3.1 connections between lmn algebras and mvn algebras mv algebras were introduced by c.c. chang, in 1958 [26]. a simplified list of axioms of mv algebras was given by mangani [109], as follows: definition 3.1. an mv algebra is an algebra a = (a,⊕,−, 0) of type (2, 1, 0), where the following axioms are verified: for every x, y, z ∈ a, (mv1) (a,⊕, 0) is an abelian monoid, (mv2) x⊕0− = 0−, (mv3) (x−)− = x, (mv4) (x− ⊕y)− ⊕y = (y− ⊕x)− ⊕x, where x ·y = (x− ⊕y−)−. definition 3.2. for any m ∈ in, we have: (i) 0x = 0 and (m + 1)x = mx⊕x, (ii) x0 = 1 and xm+1 = xm ·x. the mvn algebras were introduced by revaz grigolia in 1977 [87], as follows. definition 3.3. an mvn algebra (n ≥ 2) is an mv algebra a = (a,⊕,−, 0), whose operations fulfil the additional axioms: (m1) (n−1)x⊕x = (n−1)x, (m1’) xn−1 ·x = xn−1 and, if n ≥ 4, the axioms: (m2) [( jx)·(x− ⊕[( j −1)x]−)]n−1 = 0, (m2’) (n−1)[x j ⊕(x− ·[x j−1]−)] = 1, where 1 < j < n−1 and j does not divide n−1. corollary 3.1. mv2 algebras coincide with boolean algebras. example 3.4. the mv algebra ln = l (mvn) n = (ln,⊕,−, 0), where ln = { 0, 1 n−1 , 2 n−1 , . . . , n−2 n−1 , 1 } and for any x, y ∈ ln: x⊕y = min(1, x + y), x ·y = max(0, x + y−1), x− = 1−x and x∨y = max(x, y), x∧y = min(x, y), is an mvn algebra. we shall call it the canonical mvn algebra. note that b(ln) = {0, 1}. the subalgebras of ln are of the form: sm = { 0, k n−1 , . . . , (m−2)k n−1 , 1 } , 86 george georgescu, afrodita iorgulescu, sergiu rudeanu where k = n−1m−1 , if m−1 divides n−1. the subalgebras sm of ln are isomorphic to lm = { 0, 1m−1 , . . . , m−2 m−1 , 1 } , if m − 1 divides n − 1, and they are mvn algebras. hence lm = (lm,⊕,·,−, 0, 1) (m ≤ n) is an mvn algebra if and only if m−1 divides n−1. for instance, the subalgebras of: l3 are l2 and l3, l4 are l2 and l4 and l5 are l2, l3 and l5. þ every mvn algebra is a subdirect product of subalgebras of the canonical mvn algebra ln. d. mundici was the first to prove in 1989 [152] that mv3 algebras coincide with lm3 algebras. a. iorgulescu has proved in 1998-2000 [91] [94] that: 1 mv4 algebras coincide with lm4 algebras, 2 the canonical mvn algebra coincides with the canonical lmn algebra (n ≥ 2), 3 for n ≥ 5, any mvn algebra is a lmn algebra, 4 those lmn algebras which are mvn algebras, for every n ≥ 5, are exactly cignoli’s proper n-valued łukasiewicz algebras. here are for short the results 1-3: ∗∗∗ to obtain the transformation of an mvn algebra into an lmn algebra, for any n ≥ 3, iorgulescu used suchoń’s transformation [174]: suchoń defines moisil operators (σ j) j∈j ( σ j = rn− j ) of the canonical lmn algebra (n ≥ 3) starting from the łukasiewiczian implication → and from the negation −. he puts b3(x) = (x −) → x and b j+1(x) = (x−) → b j(x), j ≥ 3. (1) then he defines: σ1x = bn(x) (2) and for 1 < j ≤ [n/2], σ j x = { σn−1(bl+1(x)), l j ≥ n−1 σl j(bl+1(x)), l j < n−1, (3) where l = max{m | m( j −1) < n−1}, while σn− j(x) = (σ j(x−))−, for 1 ≤ j ≤ [n/2]. (4) suchoń’s moisil operators verify: σ1 ≥ σ2 ≥ . . . ≥ σn−1. remark 3.5. if we want to use suchoń’s construction, it is convenient to consider not the mv algebra (a,⊕,−, 0), but the wajsberg algebra, (a,→,−, 1), introduced by j. m. font, a. j. rodriguez and a. torrens in 1984; mv algebras and wajsberg algebras are isomorphic structures: • if a = (a,→,−, 1) is a wajsberg algebra and if we define α(a) = (a,⊕,−, 0) by x⊕y = x− → y, 0 = 1−, (5) then α(a) is an mv algebra. • conversely, if a = (a,⊕,−, 0) is an mv algebra and if we define β (a) = (a,→,−, 1) by x → y = x− ⊕y, (6) 1 = 0−, then β (a) is a wajsberg algebra. • the maps α, β are mutually inverse. grigore c. moisil (1906 1973) and his school in algebraic logic 87 it follows immediately by (1) that b3(x) = x⊕x = 2x and b j+1(x) = x⊕b j(x) = jx, j ≥ 3. (7) by using suchoń’s construction, iorgulescu then gave the following definition 3.6. let a = (a,⊕,−, 0) be an mvn algebra (n ≥ 3). define φs(a) = (a,∨,∧,−, (r j) j∈j , 0, 1) by x∨y = x ·y− ⊕y, x∧y = (x− ∨y−)−, rn−1x = (n−1)x, (8) rn− j x = { r1(lx), l j ≥ n−1 rn−l j(lx), l j < n−1, (9) for 1 < j ≤ [n/2], l = max{m | m( j −1) < n−1} , r j x = (rn− j(x−))−, 1 ≤ j ≤ [n/2]. (10) proposition 3.7. if ln is the canonical mvn algebra (n ≥ 3), then φs(ln) is the canonical lmn algebra. þ if a is an mvn algebra (n ≥ 3), then φs(a) is an lmn algebra. ∗∗∗ proposition 3.8. 1) given the canonical lmn algebra (n ≥ 3) ln = (ln,∨,∧,−, (r j) j∈j , 0, 1), define ψ(ln) = (ln, ⊕n ,−, 0) by : if n = 2k + 1, x⊕2k+1 y = (x∨r2ky)∧(y∨r2kx) (11) ∧ (x∗ ∨r2k−1y)∧(y∗ ∨r2k−1x) ... ∧ (x(k−1)∗ ∨rk+1y)∧(y(k−1)∗ ∨rk+1x), if n = 2k, x⊕2k y = (x∨r2k−1y)∧(y∨r2k−1x) (12) ∧ (x∗ ∨r2k−2y)∧(y∗ ∨r2k−2x) ... ∧ (x(k−1)∗ ∨rky)∧(y(k−1)∗ ∨rkx), where x∗ is the successor of x and x2∗ = (x∗ )∗ , xm∗ = ( x(m−1)∗ )∗ (13) then ψ(ln) is the canonical mvn algebra. 2) the maps φs, from proposition 3.7, and ψ are mutually inverse. since for n = 3, in the canonical lm3 algebra l3, the operation ⊕ is: x⊕y = (x∨r2y)∧(y∨r2x) and for n = 4, in the canonical lm4 algebra l4, the operation ⊕ is defined by: x⊕y = (x∨r3y)∧(y∨r3x)∧(x∗ ∨r2y)∧(y∗ ∨r2x) = = (x∨r3y)∧(y∨r3x)∧(x− ∨y− ∨r2x∨r2y), it follows that the transformation ψ is not polynomial for n ≥ 5). those lmn algebras which are mvn algebras (i.e. for which the transformation ψ is defined), for every n ≥ 5, are exactly cignoli’s proper n-valued łukasiewicz algebras [34], but the proof is very technical [94]. 88 george georgescu, afrodita iorgulescu, sergiu rudeanu 4 representation theorems numerous representation theorems have been given for lm algebras. the first is due to moisil himself and is reminiscent of the representation theorem for boolean algebras: every lmn algebra can be embadded into a cartesian power of ln. in a modern vision [25], every lm algebra is a subdirect product of subalgebras of the algebra in(i, l2) of incresing functions from i to l2. in particular every lmn algebra is a subdirect product of subalgebras of ln (cignoli). l is a direct product of subalgebras of ln if and only if it is complete and atomic (boicescu 1984). the representation by continuous functions studied by cignoli, boicescu and filipoiu, means that for every lmθ algebra without negation l there is a unique boolean space x such that l is isomorphic to the algebra of all continuous functions f : x → in(i, l2), where in(i, l2) is endowed with the topology having as basis the principal ideals and the principal filters generated by the characteristic functions of the sets {k | k > α}, α ∈ θ . the representation of lmθ algebras without or with negation by moisil fields of sets is due to filipoiu. the stone duality was extended from boolean algebras to lmθ algebras without or with negation with the aid of a suitable concept called lmθ -valued stone space (cignoli, georgescu, iorgulescu), while the priestley duality is based on a suitable adaptation of the concept of priestley space (filipoiu). the representation of lm algebras as algebras of fuzzy sets was studied by d. ponasse, j.l. coulon and j. coulon, s. ribeyre and s. rudeanu. the representation of lmn algebras by lm3 algebras is legitimated by the "good" properties of the latter and was studied by a. monteiro, l. monteiro, f. coppola, v. boicescu and a. iorgulescu. 5 categorial aspects the stone and priestley dualities are in fact equivalences of categories. other categorial properties of lm algebras were studied. here are a few samples. the association of l with the boolean alegebra c(l) of complemented elements of l is extended to a functor c :lmθ →b, while the association of a boolean algebra b with the algebra in(i, b) is extended to a functor t : b →lmθ . then c and t are adjoint functors, c is faithful and t is fully faithful. this yields in particular the representation theorem of moisil. the construction of the functors c and t was given by moisil himself. the injective and projective objects have also been studied, for instance, an lmθ algebra is injective if and only if it is a complete post algebra (whose center is a complete boolean algebra), cf. l. monteiro, r. cignoli, g. georgescu and c. vraciu, v. boicescu. 6 ideals and congruences the study of the appropiate ideal and congruence theory for lm algebras was undertaken by gr. c. moisil, a. monteiro, r. cignoli, c. sicoe. v. boicescu introduced the concepts of θ -ideal and θ -congruence, the prime spectre. for instance, in the case of lmn algebras without negation, the congruence lattice of l is a boolean algebra (a stone algebra) if and only if l is finite (c(l) is a complete boolean algebra). 7 monadic and polyadic algebras l. monteiro and g. georgescu studied the generalization to lm algebras of the monadic and polyadic boolean algebras introduced by p.r. halmos. sample results: the representation of monadic lm algebras by functional monadic lm algebras and the semantic completeness for polyadic lm algebras. a paper of g. geogescu, a. iorgulescu and i. leuştean investigates monadic mvn algebras and closed mvn algebras. grigore c. moisil (1906 1973) and his school in algebraic logic 89 8 miscellanea various other topics have also been studied. thus: v. boicescu proved that the lattice of equational subclass of lmn is a finite heyting algebra. the study of atomic algebras and the characterization of simple algebras as subalgebras of in(i, l2) and the property that lmn algebras without negation form an equational class, are also due to boicescu. the study of irredundant algebras and of exactly n-valued algebras is due to boicescu as well. a. iorgulescu introduced and studied m-complete lmθ algebras with negations, generalizing many of the properties of m-complete boolean algebras. g. georgescu and i. leuştean studied probabilities on lm algebras. l. beznea studied a generalization of lm algebras, obtained by dropping the determination principle. let us also mention m. sularia’s theory of d algebras. these structures are subdirect products between a heyting algebra and a brouwer algebra and represent the algebraic counterpart of a logic of problem solving. in [44], [48], the authors study łukasiewicz bck algebras endowed with moisil oparators. in [163], [164], c. sanza introduced and studied (monadic) n×m-valued łukasiewicz algebras with negation. in a very recent paper [103], i. leuştean proposes a unifying framework for lmn algebras, mv algebras and post algebras; essentially, an lmn+1 algebra is charcterized by a string of n boolean ideals of his boolean center. the necessary and sufficient conditions are given that such a string must satisfy to define a mvn+1 algebra or a post algebra of order n + 1. this result could be seen as a generalization of moisil’s determination principle. as an application, in paper [75], some special cauchy completions of mvn+1 algebras are characterized by using the properties of corresponding strings of boolean ideals. in another very recent paper [75], g.georgescu and a. popescu introduced the notion of n-nuanced mv algebra, by performing a łukasiewicz-moisil nuancing construction on top of mv-algebras. these structures extend both mv-algebras and łukasiewicz-moisil algebras, thus unifying two important types of structures in the algebra of logic. on a logical level, n-nuanced mv algebras amalgamate two distinct approaches to manyvaluedness: that of the infinitely valued łukasiewicz logic, more related in spirit to the fuzzy approach, and that of moisil n-nuanced logic, which is more concerned with nuances of truth rather than truth degrees. they study n-nuanced mv algebras mainly from the algebraic and categorial points of view and also consider some basic model-theoretic aspects. the relationship with a suitable notion of n-nuanced ordered group via an extension of the γ construction is also analyzed: 8.1 n-nuanced mv algebras usually, mv algebras are defined only in terms of ⊕, − and 0. however, in order to point out the symmetry of these structures, the authors prefered the following slightly redundant definition: definition 8.1. an mv algebra is a structure (a,⊕,¯,−, 0, 1), satisfying the following axioms: (mv1’) (a,⊕, 0) and (a,¯, 1) are commutative monoids, (mv2’) x¯0 = 0 and x⊕1 = 1, (mv3’) (x−)− = x, (mv4’) (x⊕y)− = x− ¯y−, (mv5’) (x¯y−)⊕y = (y¯x−)⊕x. definition 8.2. a generalized de morgan algebra is a structure l = (l,⊕,¯,−, 0, 1), where ⊕, ¯ are binary operations, − is a unary operation, and 0, 1 are constants such that the following conditions hold: (i) (l,⊕, 0), (l,¯, 1) are commutative monoids; (ii) (x⊕y)− = x− ¯y− and (x−)− = x for all x, y ∈ l; . remark 8.3. if l is a generalized de morgan algebra, then (x¯y)− = x− ⊕y− for all x, y ∈ l. definition 8.4. an n-nuanced mv-algebra (nmvn algebra for short) is a structure l = (l,⊕,¯,−, r1, . . . , rn−1, 0, 1) such that (l,⊕,¯,−, 0, 1) is a generalized de morgan algebra and r1, . . . , rn−1 satisfy the following axioms: (a0) rix⊕((rix)− ¯riy) = riy⊕((riy)− ¯rix), for i ∈ {1, . . . , n−1}, 90 george georgescu, afrodita iorgulescu, sergiu rudeanu (a1) ri(x⊕y) = rix⊕riy, ri(x¯y) = rix¯riy, ri(0) = 0, ri(1) = 1, for i ∈ {1, . . . , n−1}, (a2) rix⊕(rix)− = 1, rix¯(rix)− = 0, for i ∈ {1, . . . , n−1}, (a3) ri ◦r j = r j , for i, j ∈ {1, . . . , n−1}, (a4) ri(x−) = (rn−ix)−, for i ∈ {1, . . . , n−1}, (a5) (determination principle:) if rix = riy for each i ∈ {1, . . . , n−1}, then x = y, (a6) r1x ≤ r2x ≤ . . . ≤ rn−1x. remark 8.5. nmvn algebras provide a common generalization of mvand łukasiwicz-moisil algebras. indeed, if n = 2, then, because of the determination principle, r1 is the identity, thus an nmvn algebra can be identified with an mv-algebra; if (l,⊕,¯,−, 0, 1) is a de morgan algebra, then (l,⊕,¯,−, r1, . . . , rn−1, 0, 1) becomes an lmn algebra. example 8.6. let a = (a,⊕,¯,−, 0, 1) be an mv-algebra. consider the set t (a) = {(x1, . . . , xn−1) ∈ an−1 | x1 ≤ . . . ≤ xn−1}. since an−1 is an mv-algebra (with operations taken component-wise from a) and t (a) is closed under the operations 0, 1, ⊕, ¯ (where 0 and 1 are the constant vectors), then we can consider these operations on t (a). we furthermore define −, r1, . . . , rn−1 by: (x1, . . . , xn−1)− = (x−n−1, . . . , x − 1 ), ri(x1, . . . , xn−1) = (xi, . . . , xi), for i ∈ {1, . . . , n−1}. then (t (a),⊕,¯,−, r1, . . . , rn−1, 0, 1) is an nmvn algebra. define m(l) = {x ∈ l | rix = x for all i ∈ {1, . . . , n−1}}. then m(l), together with the operations ⊕,¯,−, 0, 1 induced by l, is an mv algebra, called the mv-center of l. in the mv-algebra m(l) we have a canonical order ≤. let us define an extension of this order to l by: x ≤ y iff, for each i ∈ {1, . . . , n−1}, rix ≤ riy. because of the determination principle, this is indeed an order and because of (a3), it is indeed an extension of the order on m(l). moreover, the compatibility properties listed in the following lemma are obvious: proposition 8.7. the following properties are true in a l: (1) 0 is the greatest and 1 is the least element in l w.r.t. ≤; (2) for each x, y ∈ l, x ≤ y iff y− ≤ x−; (3) for each x, x′, y, y′ ∈ l, if x ≤ x′ and y ≤ y′, then x⊕y ≤ x′ ⊕y′ and x¯y ≤ x′ ¯y′, (4) r1x ≤ x ≤ rn−1x, for any x ∈ l, (5) for x, y ∈ l, if x⊕y = 1 and x¯y = 0, then x, y ∈ m(l) and y = x−, (6) m(l) = {x ∈ l | x⊕x− = 1′, x¯x− = 0}. 9 applications to switching theory whereas boolean algebra is a suitable tool for the study of networks made up of binary devices, the study of networks involving multi-positional devices and the so-called hazard and race phenomena have imposed the use of other algebraic tools, namely galois fields, łukasiewicz-moisil algebras and the theory of discrete functions. moisil investigated circuits involving devices such as polarized relays with unstable neutral, ordinary relays under low self-maintaining current, valves, resistances, multi-positional relays, as well as transistors and other electronic devices. see also [125]. moisil has described the operation of such devices by characteristic equations of the form xk+1 = ϕ(ξk, xk), where the variable x associated with the relay contact takes values in ln, where n ≤ 5 grigore c. moisil (1906 1973) and his school in algebraic logic 91 depends on the type of the relay, ξ ∈ l2 is a variable associated with the current and the index k or k + 1 indicates the value of the corresponing variable at time t = k or t = k + 1, respectively. the synthesis problem consists in designing a circuit made up of several relays and whose operation be described by a given equation of the form xk+1 = f(ak, xk), (14) where x is the vector of the variables x associated with the relays of the circuit, a is the input vector and the meaning of the index k or k + 1 is the same as above. to solve this problem, moisil notices the crucial point that the structure of such a circuit is determined by the expression of a function g which satisfies the identity ξ = g(a, x ), (15) where ξ is the vector of the variables ξ associated with the relay of the circuit. so if xk+1 = phi(ξk, xk) (16) is the vector form of the characteristic equations of the relays of the circuit, it follows from (14) and (15) that f(ak, xk) = φ(ξk, xk), (17) for any k. therefore (15) transforms (17) into the identity f(a, x ) = φ(g(a, x ), x ), (18) and moisil’s method for solving the synthesis problem consists in solving the functional equation (18) with respect to g. references [1] a. amroune, representation des algèbres de łukasiewicz θ -valentes involutives par des structures floues, busefal (institut de recherche en informatique de toulouse), 43, 1990, 5-11. [2] m. abad, three valued łukasiewicz algebras with an additional operation, rev. union mat. argentina, 32, 1985, 107-117. [3] m. abad, a. figallo, characterization of three-valued łukasiewicz algebras, rep. math. logic, 18, 1984, 47-59. [4] m. abad, l. monteiro, on three-valued moisil algebras, logique et analyse, 27, 1984, 407-414. [5] i. bădele, v. boicescu, sur les extensions des algèbres de łukasiewicz, c.r. acad. sci. paris, 269, 1969, 313-315. [6] d. becchio, axiomatisation d’une logique trivalente łukasiewiczienne, 1971, manuscript. [7] d. becchio, nouvelle démonstration de la complétude du système de wajsberg axiomatisant la logique trivalente de łukasiewicz, c.r. acad. sci. paris, 275, 1972, 679-681. [8] d. becchio, sur les définitions des algèbres trivalentes de łukasiewicz donées par a. monteiro, logique et analyse, 63-64, 1973, 339-344. [9] d. becchio, algèbres de heyting, algèbres de brouwer et algèbres trivalentes de łukasiewicz, logique et analyse, 21, 1978, 237-248. [10] d. becchio, logique trivalente de łukasiewicz, ann. sci., univ. clermont-ferrand, 16, 1978, 38-89. [11] d. becchio, l. iturrioz, sur une définition des algèbres de łukasiewicz et de post d’ordre n, demonstratio math., 11, 1978, 1083-1094. [12] l. beznea, θ -valued moisil algebras and dual categories (romanian), master thesis, university of bucarest, 1981. 92 george georgescu, afrodita iorgulescu, sergiu rudeanu [13] v. boicescu, sur la représentation des algèbres de łukasiewicz θ -valentes, c.r. acad. sci. paris, 270, 1970, 4-7. [14] v. boicescu, sur les algèbres de łukasiewicz, logique,automatique, informatique, editions de l’academie de la r.s.roumanie, 1971, 71-89. [15] v. boicescu, sur les systèmes déductifs dans la logique θ -valente, publ. dép. math. lyon, 8, 1971, 123-133. [16] v. boicescu, on łukasiewicz algebras (romanian), in: probleme de logică, vol.iv, ed. academiei r.s.romania, bucharest, 1972, 245-276. [17] v. boicescu, on θ -valued logics (romanian), in: probleme de logică, vol. v, 1973, edit. acad. r.s.romania, 241-255. [18] v. boicescu, sur une logique polivalente, rev. roum. sci. soc., sér. philos. et logique, 17, 1973, 393-405. [19] v. boicescu, researches in łukasiewicz algebras, rev. roum. sci. soc., sér. philos. et logique, 20, 1976, 197-200. [20] v. boicescu, extensions of homomorphisms of lulasiewicz algebras with bounding semimorphisms, rev. roum. sci. soc., sér. philos et logique, 23, 1979, 367-370. [21] v. boicescu, contributions to the study of łukasiewicz algebras (romanian), ph.d. thesis, university of bucharest, 1984. [22] v. boicescu, irredundant n-valued moisil algebras, discrete math., 71, 1988, 197-204. [23] v. boicescu, g. georgescu, les algèbres de łukasiewicz centrées et axées, rev. roum. math. pures et appl., 15, 1970, 675-681. [24] v. boicescu, a. iorgulescu, current research in the field of łukasiewicz-moisil algebras (romanian), studii cerc. mat., 39, 1987, 97-106. [25] v. boicescu, a. filipoiu, g. georgescu, s. rudeanu, łukasiewicz-moisil algebras, annals of discrete mathematics, 49, 1991, north-holland. [26] c.c. chang, algebraic analysis of many valued logics, trans. amer. math. soc., 1958, 88, 467-490. [27] r. cignoli, boolean elements in łukasiewicz algebras. i. proc. japan acad., 41, 1965, 670-675. [28] r. cignoli, un teorema de representation para algebras de łukasiewicz trivalentes, rev. union mat. argentina, 23, 1966, 41. [29] r. cignoli, algebras de moisil de orden n, ph.d. thesis, universidad nacional del sur, bahia blanca, 1969. [30] r. cignoli, moisil algebras, notas de logica matematica, inst. mat., univ. national del sur, bahia-blanca, no. 27, 1970. [31] r. cignoli, representation of łukasiewicz algebras and post algebras by continuous functions, colloq. math. 24, 1972, 127-138. [32] r. cignoli, topological representation of łukasiewicz and post algebras, notas de logica matematica, inst. mat. univ. national del sur, bahia-blanca, no. 33, 1974. [33] r. cignoli, coproducts in the categories of kleene and three-valued łukasiewicz algebras, studia logica, 39, 1979, 237-245. [34] r. cignoli, proper n-valued łukasiewicz algebras as s-algebras of łukasiewicz n-valued propositional calculi, studia logica, 41, 1982, 3-16. [35] r. cignoli, an algebraic approach to elementary theories based on n-valued łukasiewicz logics, z. math. logik u. grundl. math., 30, 1984, 87-96. grigore c. moisil (1906 1973) and his school in algebraic logic 93 [36] r. cignoli, m.s. de gallego, the lattice structure of 4-valued łukasiewicz algebras, j. symbolic logic, 46, no. 1, 1981, 185. [37] r. cignoli, m.s. de gallego, the lattice structure of some łukasiewicz algebras, algebra universalis, 13, 1981, 315-328. [38] r. cignoli, a. monteiro, boolean elements in łukasiewicz algebras. ii., proc. japan acad., 41, 1965, 676680. [39] r. cignoli and d. mundici, an elementary proof of chang’s completeness theorem for the infinite-valued calculus of łukasiewicz, studia logica, to appear. [40] r. cignoli, i.m.l. d’ottaviano, d. mundici, algebraic foundations of many-valued reasoning, kluwer 2000, volume 7. [41] j. coulon, j.l. coulon, a propos de la représentation des algèbres de łukasiewicz et des algèbres booléiennes floues, rev. roum. math. pures et appl., 34, 1989, 403-411. [42] j. coulon, j.l. coulon, un nouveau resultat concernant la representation d’une algèbre de łukasiewicz involutive dans l’algèbre des parties floues d’une structure floue involutive, rev. roumaine math. pures et appl., 38, 1993, 319-326. [43] a. figallo, j. tolosa, algebras de łukasiewicz trivalente, univ. nac. de san juan, 1982. [44] a. figallo jr., m. figallo and a. ziliani, free (n + 1)-valued łukasiewicz bck algebras, demonstratio mathematica, xxxvii, 2, 2004, 245-254. [45] a.v. figallo, i. pascual, a. ziliani, notes on monadic n-valued łukasiewicz algebras, math. bohem., 3, 129, 2004, 255-271. [46] a.v. figallo, c. sanza , a. ziliani, functional monadic n-valued łukasiewicz algebras, accepted by mathematica bohemica. [47] a.v. figallo, i. pascual, a. ziliani, subdirectly irreducible monadic łukasiewicz-moisil algebras, manuscript. [48] a.v. figallo, łukasiewicz bck-algebras endowed with moisil operators, manuscript. [49] a.v. figallo, a. figallo jr., m. figallo, a. ziliani, łukasiewicz residuation algebras with infimum, manuscript. [50] a. filipoiu, analytic tableaux for θ -valued propositional logic, math. seminar notes, 6, 1978, 517-526. [51] a. filipoiu, representation theorems for łukasiewicz algebras, discrete math., 27, 1979, 107-110. [52] a. filipoiu, representation of łukasiewicz algebras by means of ordered stone spaces, discrete math., 30, 1980, 111-116. [53] a. filipoiu, θ -valued łukasiewicz-moisil algebras and logics (romanian), ph.d. thesis, univ. of bucharest, 1981. [54] a. filipoiu, representation theorems for θ -valued łukasiewicz algebras, discrete math., 33, 1981, 21-27. [55] a. filipoiu, some remarks on the representation theorem of moisil, discrete math., 33, 1981, 163-170. [56] j. m. font, a. j. rodriguez, a. torrens, wajsberg algebras, stochastica, viii, 1, 5-31, 1984. [57] g. georgescu, algébres de łukasiewicz complètes, c.r. acad. sci. paris, 269, 1969, 1181-1184. [58] g. georgescu, the centered epimorphisms and the construction of the tensor product in łuk, rev. roum. math. pures appl., 15, 1970, 693-709. [59] g. georgescu, n-valued complete łukasiewicz algebras, rev. roum. math. pures appl., 16, 1971, 41-50. 94 george georgescu, afrodita iorgulescu, sergiu rudeanu [60] g. georgescu, the θ -valued łukasiewicz algebras. i., rev. roum. math. pures appl., 16, 1971, 195-209. [61] g. georgescu, algebras de łukasiewicz de orden θ . ii., rev. roum. math. pures appl., 16, 1971, 363-369. [62] g. georgescu, les algèbres de łukasiewicz θ -valentes, in: logique, automatique, informatique, edit. acad. r.s.romania, bucharest, 1971, 99-169. [63] g. georgescu, the θ -valued łukasiewicz algebras. iii. duality theory., rev. roum. math. pures appl., 16, 1971, 1365-1390. [64] g. georgescu, algebre łukasiewicz θ -valente, ph.d. thesis, math. institute, bucharest, mai 1972. [65] g. georgescu, représentation des algèbres de łukasiewicz θ -valentes polyadiques, c. r. acad. sci. paris, a-b, 274, 1972, a944-a946. [66] g. georgescu, reprezentarea algebrelor łukasiewicz poliadice local finite de grad infinit, studii cerc. mat., 24, 1972, 1107-1117. [67] g. georgescu, some remarks on the polyadic łukasiewicz algebras, rev. roum. mat. pures appl., 22, 1977, 641-648. [68] g. georgescu, on the homogeneous-universal łukasiewicz algebras, rev. roum. mat. pures appl., 23, 1978, 29-32. [69] g. georgescu, a. iorgulescu, pseudo-mv algebras: a noncommutative extension of mv algebras, the proceedings of the fourth international symposium on economic informatics, bucharest, romania, may 1999, 961-968. [70] g. georgescu, i. leuştean, towards a probability theory based on moisil logic, soft computing, 2000, 4, no.1, 19-26. [71] g. georgescu, a. iorgulescu, pseudo-bl algebras: a noncommutative extension of bl algebras, abstracts of the fifth international conference fsta 2000, slovakia, february 2000, 90-92. [72] g. georgescu, a. iorgulescu, pseudo-bck algebras: an extension of bck algebras, proceedings of dmtcs’01: combinatorics, computability and logic, springer, london, 2001, 97-114. [73] g. georgescu, i. leuştean, probabilities on łukasiewicz-moisil algebras, international journal of approximate reasoning, 1998, 18, no.3-4, 201-215. [74] g. georgescu, i. leuştean, conditional probabilities on łukasiewicz-moisil algebras, analele universitatii bucuresti, 1998, 47, 55-64. [75] g. georgescu., i. leuştean, a. popescu, order convergence and distance on łukasiewicz-moisil algebras, multiple valued logic, to appear. [76] g. georgescu, a. popescu, a common generalization for algebras and łukasiewicz-moisil algebras, submitted. [77] g. georgescu, c. vraciu, le spectre maximal dšune algèbre de łukasiewicz, c.r. acad. sci. paris, 268, 1969, 928-929. [78] g. georgescu, c. vraciu, n-valued centered łukasiewicz algebras, rev. roum. math. pures appl., 14, 1969, 712-723. [79] g. georgescu, c. vraciu, sur les algèbres de łukasiewicz centrées, c.r. acad. sci. paris, 268, 1969, 9981000. [80] g. georgescu, c. vraciu, sur le spectre maximal d’une algèbre de łukasiewicz, publ. dép. math. lyon, 6, 1969, 42-54. [81] g. georgescu, c. vraciu, sur les épimorphismes centrées des algèbres de łukasiewicz, c.r. acad. sci. paris,269, 1969, 4-6. grigore c. moisil (1906 1973) and his school in algebraic logic 95 [82] g. georgescu, c. vraciu, on the characterization of centered łukasiewicz algebras, j. algebra, 16, 1970, 486-495. [83] g. georgescu, c. vraciu, monadic boolean algebras and monadic łukasiewicz algebras (romanian), studii cerc. mat., 23, 1971, 1025-1048. [84] g. georgescu, c. vraciu, la dualité des algèbres de post θ -valentes, j. algebra, 21, 1972, 74-86. [85] h. goldberg, h. leblanc, g. weaver, a strong completeness theorem for 3-valued logic, notre dame j. formal logic, 15,1974, 325-332. [86] m. greniewski, using three valued logics in the theory of swiching theory (romanian). i. realizarea cu circuite a funcţiilor fundamentale, comunic. acad. r.p.r., 6, 1956, 225-229. [87] r. grigolia, algebraic analysis of łukasiewicz-tarski’s n-valued logical systems, in: selected papers on łukasiewicz sentential calculi (r. wójcicki and g. malinowski, eds.), polish acad. of sciences, ossolineum, wroclaw, 1977, 81-92. [88] a. iorgulescu, on the construction of three-valued łukasiewicz-moisil algebras, discrete math., 47, 1984, 213-227. [89] a. iorgulescu, functors between categories of three-valued łukasiewicz-moisil algebras, discrete math., 49, 1984, 121-131. [90] a. iorgulescu, (1 + θ )-valued łukasiewicz-moisil algebras with negation (romanian), ph.d. thesis, univ. of bucharest, 1984. [91] a. iorgulescu, connections between mvn algebras and n-valued łukasiewicz-moisil algebras i, discrete mathematics, 181 (1-3), 1998, 155-177. [92] a. iorgulescu, connections between mvn algebras and n-valued łukasiewicz-moisil algebras ii, discrete mathematics, 202, 1999, 113-134. [93] a. iorgulescu, connections between mvn algebras and n-valued łukasiewicz-moisil algebras -iii, manuscript. [94] a. iorgulescu, connections between mvn algebras and n-valued łukasiewicz-moisil algebras iv, journal of universal computer science, vol. 6, no i , 2000, 139-154. [95] l. iturrioz, axiomas para el calculo proposicional trivalente de łukasiewicz, rev. union mat. argentina, 22, 1965, 150. [96] l. iturrioz, sur une classe particulière d’algèbres de moisil, c. r. acad. sci. paris, 267, 1968, 585-588. [97] l. iturrioz, les algèbres de heyting-brouwer et de łukasiewicz trivalentes, notre dame j. formal logic, 17, 1976, 119-126. [98] l. iturrioz, algèbres de łukasiewicz symétriques, publ. dép. math. lyon, 13, 1976, 73-96. [99] l. iturrioz, łukasiewicz and symmetrical heyting algebras, z. math. logik u. grund.math., 23, 1977, 131136. [100] l. iturrioz, two characteristic properties of monadic three-valued łukasiewicz algebras, rep. math. logic, 8, 1977, 63-68. [101] l. iturrioz, an axiom system for three-valued łukasiewicz propositional calculus, notre dame j. formal logic, 18, 1977, 616-620. [102] l. iturrioz, o. rueda, algèbres implicatives trivalentes de łukasiewicz libres, discrete math., 18, 1977, 35-44. [103] i. leuştean, a unifying framework for łukasiewicz-moisil algebras, mv-algebras and post algebras, submitted. 96 george georgescu, afrodita iorgulescu, sergiu rudeanu [104] j. łukasiewicz, on three-valued logic (polish), ruch filozoficzny, 5, 1920, 160-171. [105] j. łukasiewicz, philosophische bemerkungen zur mehrwertigen systemen des aussagenkalküls, c.r. séances soc. sci. lettres varsovie, cl. iii, 23, 1930, 51-77. romanian translation in: logică şi filozofie, ed. politică, bucureşti, 1966, 295-320. [106] j. łukasiewicz, die logik und das grundlagenproblem, les entretiens de zurich sur les fondements et la méthode des sciences mathématiques, 1941, 88-100. [107] j. łukasiewicz, a. tarski, untersuchungen über den aussagenkalkül, c.r. séances soc. sci. lettres varsovie, cl. iii, 23, 1930, 30-50. [108] m.g. malinowski, n-valued łukasiewicz algebras and their connection to post algebras of order (polish), zeszyty naukowe u.t., filozofia, 1972. [109] p. mangani, on certain algebras related to many-valued logics (italian), boll. un. mat. ital. (4) 8, 68-78, 1973. [110] w. marek, t. traczyk, generalized łukasiewicz algebras, bull. acad. polonaise sci. sér. math. astronom. phys., 17, 1969, 789-792. [111] gr. c. moisil, recherches sur l’algèbre de la logique, ann. sci. univ. jassy, 22, 1935, 1-117. [112] gr. c. moisil, sur le mode problématique, c.r. séances acad. sci. roumanie, 2, no. 2, 1938, 101-103. [113] gr. c. moisil, recherches sur les logiques non-chrysippiennes, ann. sci. univ. jassy, 26, 1940, 431-466. [114] gr.c. moisil, notes sur les logiques non-chrysippiennes, ann. sci, univ. jassy, 27, 1941, 86-98. [115] gr. c. moisil, sur les anneaux de caractéristique 2 ou 3 et leurs applications, bul. politechn. bucharest, 12, 1941, 66-90. [116] gr. c. moisil, contributions à l’étude des logiques non-chrysippiennes. i. un nouveau système d’axiomes pour les algèbres łukasiewicziennes tétravalentes, c.r. acad. sci. roumanie, 5, 1941, 289-293. [117] gr. c. moisil, contributions à l’étude des logiques non-chrysippiennes. ii. anneaux engendrés par les algèbres łukasiewicziennes centrées, c.r. acad. sci. roumanie, 6, 1942, 9-14. [118] gr. c. moisil, contributions à l’étude des logiques non-chrysippiennes. iii. anneaux engendrés par les algèbres łukasiewicziennes tétravalentes axées, c.r. acad. sci. roumanie, 7, 1942, 14-18. [119] gr. c. moisil, logique modale, disquis. math. phys., 2, 1942, 3-98. [120] gr. c. moisil, the algebra of networks with rectifiers (romanian), rev. univ. c.i. parhon şi a politehnicii bucureşti, 4-5, 1954, 9-41. [121] gr. c. moisil, utilization of three-valued logics in the theory of switching circuits. ii. the characteristic equation of a relay. iii. actual-contact circuits. iv. realization of the working functions in actual operation (romanian). comun. acad. r.p. române, 6, 1956, 231-239, 385-386, 971-973. [122] gr. c. moisil, applications of three-valued logics to the study of actual operation of relay-contact circuits (romanian), bul. mat. soc. st. fiz. r.p. române, 1(49), 1957, 147-191. [123] gr. c. moisil, utilization of three-valued logics to the theory of switching circuits. v. p-i circuits (romanian), comunic. acad. r.p. române, 8, 1958, 1127-1128. [124] gr. c. moisil, utilization of three-valued logics to the theory of switching circuits. vi. polarized relays with unstable neutral. vii. operation of ordinary relays under low self-maintaining current. viii. -twoterminals with contacts and resistances. ix. -two-terminals with contacts, valves and resistances. x. physical interpretation of the characteristic function of a multiterminal (romanian), comunic. acad. r.p. române, 9, 1959, 411-413, 531-532, 533-535, 665-666, 667-669. grigore c. moisil (1906 1973) and his school in algebraic logic 97 [125] gr. c. moisil, sur l’application de la logique à trois valeurs à l’étude des circuits électriques à contacts, redresseurs et résistances, rev. math. pures appl. , 4, 1959, 173-183. [126] gr. c. moisil, the algebraic theory of switching circuits (romanian), ed. tehnică bucureşti. english translation 1969, pergamon press, oxford, and editura tehnică bucureşti. [127] gr.c. moisil, sur les idéaux des algèbres łukasiewicziennes trivalentes, analele univ. c.i. parhon, seria acta logica, 3, 1960, 83-95. [128] gr.c. moisil, on predicate calculus in three-valued logics (russian), an. univ. c.i. parhon, acta logica, 4, 1961, 103-112. [129] gr.c. moisil, sur la logique à trois valeurs de łukasiewicz, an. univ. c.i. parhon, acta logica, 5, 1962, 103-117. [130] gr.c. moisil, les logiques non-chrysippiennes et leurs applications, acta philos. fennica, 16, 1963, 137152. [131] gr.c. moisil, le algèbre di łukasiewicz, an. univ. c.i. parhon, acta logica 6, 1963, 97-135. [132] gr.c. moisil, applicazioni dell’algebra alle calcolatrici moderne, atti reunione del groupement des math. d’expression latine, 26.ix-3.x. 1961, ed. cremonese, roma, 1963. [133] gr.c. moisil, the interest of the actual operation of switching circuits for the logician, an. univ. bucureşti, acta logica, 7-8, 1964, 131-139. [134] gr.c. moisil, sur les logiques de łukasiewicz à un nombre fini de valeurs, rev. roum. math. pures appl., 9, 1964, 905-920. [135] gr.c. moisil, încercări vechi şi noi de logică neclasică (old and new essays on non-classical logics), edit. ştiinţifică, bucharest, 1965. [136] gr.c. moisil, théorie structurelle des automats finis, gauthiers-villars, paris, 1967. [137] gr.c. moisil, łukasiewiczian algebras, computing center, university of bucharest (preprint), 311-324, 1968. [138] gr.c. moisil, essais sur les logiques non-chrysippiennnes, ed. academiei r.s.r., bucharest, 1972. [139] gr.c. moisil, ensembles flous et logiques à plusieurs valeurs, centr. rech. math., université de montréal, mai, 1973 (preprint). [140] gr.c. moisil, lecţii despre logica raţionamentului nuanţat (lectures on the logic of fuzzy reasoning), ed. ştiinţifică şi enciclopedică, bucharest, 1975. [141] gr.c. moisil, sur l’emploi des mathématiques dans les sciences de l’homme, accad. naz. lincei, contributi del centro linceo interdisciplinare di sci. mat. e loro appl., no. 17, 1976. [142] a. monteiro, matrices de morgan caracteristiques pour le calcul propositional classique, ann. acad. brasil, 52, 1960, 1-7. [143] a. monteiro, sur la définition des algèbres de łukasiewicz trivalentes, notas de logica matematica, 21, 1964. [144] a. monteiro, construction des algèbres de łukasiewicz trivalentes dans les algèbres de boole monadiques, notas de logica matematica, 11, 1964. [145] a. monteiro, r. cignoli, construccion geometrica de las algebras de łukasiewicz trivalentes libres, rev. union mat. argentina, 22 , 1965, 152-153. [146] l. monteiro, axiomes indépendentes pour les algèbres de łukasiewicz trivalentes, notas de logica matematica, 32, 1974. 98 george georgescu, afrodita iorgulescu, sergiu rudeanu [147] l. monteiro, algebras de łukasiewicz trivalentes monadicas, notas de logica matematica, 32, 1974. [148] l. monteiro, sur la construction l des algèbres de łukasiewicz trivalentes, rev. roum. math. pures appl., tome xxiii, no. 1, 1978, 77-83. [149] l. monteiro, l.g. coppola, sur une construction des algèbres de łukasiewicz trivalentes, notas de logica matematica, 17, 1964. [150] d. mundici, mv-algebras are categorically equivalent to bounded commutative bck-algebras, math. japonica, 31, no. 6, 1986, 889-894. [151] d. mundici, interpretation of af c?-algebras in łukasiewicz sentential calculus, j. funct. anal., 65, 1986, 15-63. [152] d. mundici, the c∗-algebras of three-valued logic, logic colloquium’88, ferro, bonotto, valentini and zanardo (editors), elsevier science publishers b.v. (north-holland), 1989, 61-77. [153] gh. nadiu, on a method for the construction of three-valued łukasiewicz algebras (romanian), studii cerc. mat., 19, 1967, 1063-1070. [154] a. petcu, the definition of the trivalent łukasiewicz algebras by three equations, rev. roumaine math. pures appl., 13, 1968, 247-250. [155] i. petrescu (i. voiculescu), injective objects in the category of de morgan algebras, rev. roumaine math. pures appl., 16, 1971, 921-926. [156] d. ponasse, algèbres floues et algèbres de łukasiewicz, rev. roumaine math. pures appl., xxiii, 1, 1978, 103-111. [157] e. post, introduction to a general theory of elementary propositions, amer. j. math., 43, 1921, 163-185. [158] e. radu, l’oeuvre de gr. c. moisil en logique mathématique, i., ii., rev. roumaine math. pures appl., 23, 1978, 463-477, 605-610. [159] j. rodriguez, a. torrens, wajsberg algebras and post algebras, studia logica, 53, 1994, 1-19. [160] p. rosenbloom, post algebras. i. postulates and general theory, amer. j. math., 64, 1942, 167-183. [161] s. rudeanu, on łukasiewicz-moisil algebras of fuzzy sets, studia logica, 52, 1993, 95-111. [162] a. sade, algèbres de łukasiewicz dans la logique trivalente, univ. beograd, publ. elektrotehn. fak. ser. mat. fiz., no. 247-273, 1969, 123-130. [163] c. sanza, notes on n×m-valued łukasiewicz algebras with negation, l. j. of the igpl, 6, 12, 2004, 499-507 () [164] c. sanza, monadic n×m-valued łukasiewicz algebras with negation, manuscript. [165] c. sicoe, strictly chrysippian elements in many-valued łukasiewicz algebra (romanian), an. univ. of bucharest, 15, 1966, 123-126. [166] c. sicoe, sur les ideaux des algèbres łukasiewicziennes polivalentes, rev. roum. math. pures appl., 12, 1967, 391-401. [167] c. sicoe, note asupra algebrelor łukasiewicziene polivalente, stud. şi cerc. mat., 19, 1967, 1203-1207. [168] c. sicoe, on many-valued łukasiewicz algebras, proc. japan acad., 43, 1967, 725-728. [169] c. sicoe, a characterization of łukasiewicz algebras. i. ii. proc. japan acad., 43, 1967, 729-732, 733-736. [170] c. sicoe, sur la définition des algèbres łukasiewicziennes polyvalentes, rev. roumaine math. pures appl., 13, 1968, 1027-1030. grigore c. moisil (1906 1973) and his school in algebraic logic 99 [171] w. suchon, on the non-equivalence of two definitions of the algebra of łukasiewicz, p polish acad. sci. inst. philos. sociol. bull. sect. logic, 1, no. 1, 1972, 35-37. [172] w. suchon, inéquivalence de certaines définitions des algèbres infinites de łukasiewicz, rep. math. logic, 1, 1973, 21-26. [173] w. suchon, on defining moisil’s functors in n-valued łukasiewicz propositional logic, polish acad. sci. inst. philos. sociol. bull. sect. logic, 2, 1973, 195-196. [174] w. suchoń, définition des foncteurs modaux de moisil dans le calcul n-valent des propositions de łukasiewicz avec implication et négation, reports on mathematical logic 2, 43-48, 1974. [175] w. suchon, matrix łukasiewicz algebras, rep. math. logic, 4, 1975, 91-104. [176] w. suchon, définition des foncteurs modaux de moisil dans le calcul n-valent des propositions de łukasiewicz avec implication et négation, reports on mathematical logic, 2, 1974, 43-48. [177] j. varlet, algèbres de łukasiewicz trivalentes, bull. soc. roy. sci. liège, 36, 1968, 399-408. [178] j. varlet, considérations sur les algèbres de łukasiewicz trivalentes, bull. soc. roy. sci. liège,38, 1969, 462-469. [179] m. wajsberg, axiomatization of three-valued propositional calculus (polish), c.r. séances soc. sci. lettres varsovie, cl. iii, 24, 1931, 126-145. [180] r. wójcicki, a theorem on the finiteness of the degree of maximality of the n-valued łukasiewicz logic, polish acad. sci. inst. philos. sociol. bull. sect. logic, 4, 1975, 19-25. [181] r. wójcicki, g. malinowski (editors), selected papers on łukasiewicz sentencial calculi, ossolineaum, wroclaw and warsaw, 1977. [182] l.a. zadeh, fuzzy sets, inform. and control, 8, 1965, 338-353. george georgescu university of bucharest address: str. academiei no. 14, romania e-mail: georgescu@funinf.cs.unibuc.ro afrodita iorgulescu academy of economic studies address: piaţa romană nr. 6 r 70167, oficiul poştal 22, bucharest, romania e-mail: afrodita@ase.ro sergiu rudeanu university of bucharest address: str. academiei no. 14, romania e-mail: rud@funinf.cs.unibuc.ro international journal of computers, communications & control vol. iii (2008), no. 1, pp. 69-79 olc, on-line compiler to teach programming languages cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez editorial note: the program committee of icvl 2007 sent to ijccc nine of the best papers presented at the conference, with the recommendation to be published in an extended form. after a new evaluation, our reviewers decided that five of those papers can be published in ijccc, two of which in this issue. abstract: the advance of internet towards web 2.0 conveys the potential it has in a wide range of scopes. the ongoing progress of the web technology and its availability in teaching and learning, as well as a students’ profile increasingly more used to managing an important amount of digital information, offers lecturers the opportunity and challenge of putting at students’ disposal didactic tools making use of the internet. programming is one of the essential areas taught in university studies of computer science and other engineering degrees. at present, it is a knowledge acquired through tutorial classes and the practice with different tools for programming. this paper shows the acquired experience in the development and use of a simple compiler accessible through a web page. in addition it presents a teaching proposal for its use in subjects that include programming languages lessons. olc on-line compiler is an application which greatly lightens the student’s workload at the initial stage of programming. during this initial period they will neither have to deal with the complexities of the installation and the configuration of these types of tools, nor with the understanding of multiple options which they present. therefore students can concentrate on the comprehension of the programming structures and the programming language to be studied. keywords: compiler, e-learning, interactivity, virtual laboratory, web 2.0, video tutorials. 1 introduction new information and communication technologies (ict’s) still imply changes in a wide range of society scopes. a society in which the information, its use and distribution in digital format are part of a number of tasks carried out every day. new generations understand their environment in a natural way as well as the use of these technologies. this is reflected in university students who are increasingly getting used to managing this kind of information [1]. from the beginning internet has meant a milestone in communication at a world wide level [2]. it provides net users with an hypertext document system with a rich content and hyperlinks that allow to reference another resource: text document, image, animation, audio or video. in its beginning, information was contained in html pages that were not updated very frequently. from here its evolution was directed to dynamic html pages that make use of cms with data bases. next, it was directed to web 2.0, a concept that has turned into reality in internet, through which contents and the way of interaction with these contents in internet have changed. users, from sharing these contents, have turned their role into the edition and classification of them. 2 web 2.0 this term, web 2.0 [3], coined for the first time in 2004, makes reference to a new vision of the web which has evolved towards users’ communities, interaction and social networks. amongst the technologies that bring the web 2.0 into reality we find: the ones that use the web platform to host desktop copyright © 2006-2008 by ccc publications 70 cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez applications; the ones that separate content and design using style sheets; the ones that support rss or the ones that allow the management of users and communities. in the same way, there exists a set of web services that can be considered indicators of the advance towards web 2.0 [4]. these services provide communication mechanisms that make it possible to present information to users actively. amongst these services we can find advertising services, shared photo-database, community-generated tag database, delivery of contents, encyclopaedias or personal web pages. web navigators have experienced an important progress with regard to their function. they have been evolving from their beginnings, in which their function consisted in showing the contents of static web pages and their hyperlinks. later on they went further, interpreting the interfaces that show one or various data bases’ content. at present they support newest technologies that allow not only the interaction with dynamic web pages but also a wide range of web services. amongst them social networks, that promotes information interchange between users. internet has undergone a change which has made it become a relevant instrument for teaching and knowledge spreading, no matter the subject area. the presence of e-learning in internet has allowed to increase education quality and its disposition. its use to create teaching applications is fully interesting, being able to use, among other features, interactivity. 3 olc: learning programming nowadays, programming is one of the essential areas taught in university studies of computer science and other engineering degrees, as well as in diplomas of computer science. at present, it is a knowledge acquired through theoretical classes and the practice with different tools for programming such as editors, compilers, linkers, debuggers or interpreters. in addition to this we find teacher tutorial classes. being included in all programming subjects, compilers generate the executable programs made of the instructions written by the programmers. compilation is a process carried out by means of the succession of a set of operations through which, using the instructions written in a programming language, we obtain the code written in another language that is understood by the computer. this is how we obtain executable programs. the web 2.0 is at its very peak, this fact and the change in the web navigators’ function allow to make use of them as production tools such as text editors, spreadsheets or, as we expound in the present work, a compiler. in this way we can move a multilanguage ide from a computer to a web page. olc -on line compileris an application which greatly lightens the student’s workload at the initial stage of programming. its use is especially intended for subjects where the students must learn how to make programs. during this initial period they will neither have to deal with the complexities of the installation and the configuration of these types of tools, nor with the understanding of multiple options which they present. therefore students can concentrate on the comprehension of programming structures and the programming language to be studied. the use made of the compiler in this initial stage is restricted to create programs from a set of instructions free of errors. the student will have written these instructions and the compiler will have helped to correct them. this way in later stages of the learning process and once the students have acquired the basic knowledge of the programming structures and the programming language, they can start using compilers with more complexities in the installation and configuration tasks as well as with a higher number of options. the knowledge acquired by the students in this first stage of the learning process helps them to get a better comprehension of the use and handling of the compilers. 3.1 functionality olc interface is simple and intuitive.an interface defines the communication boundary between two entities, in this case between the students and the application. after the student identification, s/he must choose the programming language with which s/he is going to work. this can be performed from the selection language menu. figure 1. olc, on-line compiler to teach programming languages 71 figure 1: welcome screen. where the student chooses the programming language to work with. once the programming language is chosen, the screen on figure 2 will be displayed. the tabs menu located at the top of the screen, offers users the navigation through the editor, the files, the tutorials and other sections. in the section "my files" a list with the user’s files located on the server for that language is shown. these files are displayed by the last modified date. the students can manage their files using the available options. they can also load files in the server and work with them. under the tabs menu, the tools bar can be found, whose options make it possible to work with different files and the code. below the screen is divided into two text areas: • one for the code, at the top, where students will write the code of their programs. • one for the results, at the bottom, only for reading, that will give information about the different actions performed in the files. local files are shown as a list with a colour code used to identify them. figure 3. apart from the local files the application has a set of tutorials in video. by using them the information transmition can be carried out in a more efficient and interesting way for students. through these videos figure 4, a learning process can be established. these video tutorials have got a clear purpose: to assist users in learning how to manage the compiler and to follow the practical classes. these video tutorials are delivered through files embedded in the web page of olc. this kind of material has got an increasingly didactic interest, since students will have the possibility of viewing again those chapters of the video where some doubts may have arisen. they could do this as many times as necessary [5] and from any device [6] with an internet connection. in the server we can find also a set of local files with examples. the teachers after the lessons can propose practical exercises using the different examples that can be found in the folders on-line. during the teaching period they can check the results of students’ work, directing them in their learning process. 72 cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez figure 2: olc work screen. with the tabs menu, the tools bar, and two text areas: one for the code and the other one for the results. figure 3: list of local files, with a colour code used to identify them. olc, on-line compiler to teach programming languages 73 figure 4: multimedia tutorials. 4 teaching proposal with olc the subject "fundamentals of computer science" is taught in the first year of various engineering degrees, amongst them the degree of "chemical engineering" of the "school of industrial engineering" that belongs to the university of las palmas de gran canaria. this subject, in this degree, is taught in the second term of the first academic year. its aim is that students acquire basic knowledge of computer science in the theoretical classes and basic knowledge of programming in the practical classes. the theoretical hours are taught in the theory classrooms and the practical hours are taught in the laboratory. this is a classroom equipped with computers, one for each student, and connected to internet. programming knowledge is necessary for the use of certain tools that students will use in the following academic years, such as programmable calculators or software like matlab. the number of teaching hours is three of theoretical lessons per week using traditional methods and one hour of practical lessons. this means fifteen practical hours during the term. • in the first five hours of practical classes basic knowledge of programming, tools to use and c language are introduced. in the first hour of these five an introductory class of olc will be taught. the following four hours the lessons will be taught through the video tutorials that will indicate how to make use of olc and will ask the students to work with the examples proposed by the teachers. these first exercises will consist of simple programs that students will have to edit, modify and compile. • in the following five hours, students will work in the modification and creation of computer programs. the proposal of modification made by the teachers will consist of making changes in programs that make use of a bit more complex structures than the ones used in the previous phase. a group of ten exercises could be completed, two for each practical hour, with an increasingly difficulty. 74 cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez • for the last five hours the students must work in a practical exercise proposed by themselves. teachers must give their approval to this proposal computer program. this will be the final exercise to evaluate and should be made with a more powerful compiler. at this stage of the learning process, students must already control the use of the compiler and its different options. the independence acquired by the student after these stages using olc and their control in the comprehension and use of other compiles should be noticeable. the assessment process will take into account the valuation of the supervision of their work with olc and the final exercise proposed. according to this approach, using olc compiler the role of teachers is greatly restated. they could dedicate time to transmitting motivation about the subject being studied and directing the students in their studies. besides, the supervision of their work and the evaluation is a continuous process that could be done completely on-line. the role of students has also changed. the use of this kind of applications gives them more autonomy than in previous academic courses. 5 didactic perspective the work developed has been exposed to a group of five teachers [7] whose subjects deal with programming. all these subjects are included in the first academic year of several engineering studies. different opinions about the exposition have been found. the features that the teachers have taken into account to give their viewpoint about olc have been: the professional profile their students will have in the future; the use they will make of programming both in the academic and professional field, and the level of knowledge they must achieve during the academic course. to a lesser extent they have considered the percentage that programming has in the final evaluation and the number of hours they must dedicate to the practical part of the subject. • teacher one. he teaches "basic knowledge of computer science" belonging to the first course of "chemical engineering". to me the teaching proposal is the right one. the students find many difficulties in the understanding of compilers at the initial period of learning programming, he thinks. furthermore, sometimes even the use of computer is complex for them, although they learn quickly. professionally they will unlikely need to make computer programs. nevertheless, in the following academic years, surely, they will need to understand what variables are and how to make use of them in small computer programs as well as using them in small functions created for matlab. according to the teacher in their senior thesis, it is very probable that they will only need to manage statistics information and perhaps make some update or modification in a small computer program in order to obtain some of this information. • teacher two. she is the responsible for the practical part of the subject "fundamentals of computer science". this subject corresponds to the group of training complements in the degree in industrial organization engineering. in my opinion the teaching proposal with olc is very well structured. maybe the level of knowledge shown in the video tutorials is quite high, since generally the students who apply for this degree do not have a high interest in programming. the number of students that choose the subject is low. they try to pass the subject without paying attention to the tools they are using. professionally it is not probable that they will make use of these programming skills in the future. that is why the percentage of the final evaluation is low, although the use of multimedia material could be proposed for other subjects, since these multimedia tools are ideal for teaching. • teacher three. he is the coordinator of the subject "programming methodology" belonging to the first course of "technical computer science engineering". he thinks it is a good proposal. in his department they have thought to develop a similar tool. however, they have not considered using olc, on-line compiler to teach programming languages 75 multimedia tutorials, just only help files. we should take advantage of these multimedia capacities. his students will surely use the programming knowledge both at an academic level and in their professional life. • teacher four. she has taught "fundamentals of computers" in the first year of "computer science systems engineering". she finds the teaching proposal with olc interesting. in fact in "fundamentals of computer" she uses a program developed for students to use in order to create computer programs in assembly language . thus they will not have to make use of the machine compiler. according to her, the students are well trained in computer science; therefore they do not need to begin with a tool so simple. however there exists a fundamental aspect of this tool that should be exploited: to have production tools in the web. undoubtedly they mean a great advantage, she thinks. proposals with more functions and accessible from the web would be very interesting for her students. • teacher five. she teaches "basic knowledge of computer science" belonging to the first course of "public works technical engineering" in all its three specialities: "hydrology", "civil building", and "urban transport and services". she thinks that the proposal is of no interest for what she needs, bearing in mind the number of practical lessons per week and the teaching content, which do not match together. she believes that in the future students will not make much use of this programming knowledge. it is quite complex to make them understand some concepts. we are just in a period in which not all the students who reach university studies are equally trained in computer science, and only some of them have got a computer at home. maybe the practical lessons should be concentrated on removing programming knowledge from the contents of the subject. some students have also given their opinion about the environment. their profile extends from students of computer science engineering in their second year at the university to some professional that already have finished the bachelor of "computer science". • student one. he studies the 2nd year of the degree "industrial engineering" (basic knowledge). the possibility of make my programs without having to install any software in my computer (i have had problems trying to install some c compilers before), makes me save time and allows me to work in the same conditions independently of the place -laboratory or home-. furthermore with no knowledge about linux, i could compile my first program in that operating system. • student two. he studies the 2nd year of the bachelor degrees "computer science engineering" (learning c programming language) the use of olc is ideal to learn a programming language. firstly, it hides tiresome options that do not add anything to a beginner user, as path specifications or debug options. moreover the availability of the video tutorials while using the editor is much handy that making programs in a conventional programming environment, where you should read the tutorial in a web page or using paper format. finally, the operations i can carry out with "my files" option are the necessary ones for a beginner (save, compile, indent, and download the .exe file), and can be made in an easy way. • student three. he has finished the bachelor degree "computer science engineering" and in a few weeks will defend his senior thesis (high level of programming language knowledge). i like the idea implemented, to have the compiler in the web allow access from any computer with an internet connection and it is useful to compile in a specific moment with no need to download and install a compiler. for students that just make a brief immersion in the programming studies is ideal in fact, but if you study computer science at a professional level you find limitations. apart of this, to download the .exe file with the result of the compilation every time is not much useful cause it is more handy the characteristic exe button of an ide. 76 cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez • student four. he still has to study three subjects to finish the degree "computer science engineering" (high level of programming language knowledge). for me it wasn’t a trouble to install the c compiler, this tool is not the compiler i would have liked to use at the beginning. i think that when i began to make programs in c language i installed the compiler in my computer at home so i had not used olc at all. on the other hand i cannot execute the programs made on-line and this is something that i do not like. when you compile a program the first thing you want to prove is the result, and using olc you must download the .exe file, i prefer to compile with my ide. the great advantage could be to compile and execute on-line. • student five. he has finished the bachelor degree "computer science engineering" and is developing his senior thesis (high level of programming language knowledge). advantages: easy to use. you do not have to install any software, just only an internet connection is necessary. you can work from everywhere: home, laboratories, any place with an internet connection. disadvantages: to download the .exe file. just a few options of debug i do not like that my programs be in the web, for security reasons. in resume: it is interesting at an initial stage of programming or for easy programs in computers where you do not have a compiler installed but apart from that it does not offer much more. it could be more attractive if you could execute your programs on -line. 6 conclusions this work proposes an interesting initiative in the field of e-learning: to portray interactive applications on-line for didactic use [8]. a simple compiler accessible from the web provides students with an easy way to learn at the initial stage of programming studies. olc makes use of multimedia contents to support teachers in the teaching process. these contents show how to work with the on-line compiler and with the programming language [9]. apart from these there are further advantages, such as having at students and teachers’ disposal [10] the compiler through the web and the possibility of making use of it at any time and from any computer with an internet connection. thus barriers of time and space are eliminated. students will have access to the compiler, the contents and the files with which they have been working. besides, there is no need to save the work in store devices nor to install software. to have remote virtual laboratories increases their efficiency [11] and reduces the costs of the resources used in learning [12]. olc could not compete with the powerful traditional ide’s due to its limitations for the expert software development, but undoubtedly it fills the void that exists in the area of teaching programming at the initial stage. this experience has already passed from the development phase to the experimental one. at present we are working on a research of those subjects that include programming languages lessons, and the use of olc could be suitable. as many other initiatives, to promote its acceptance and to achieve its use depend on programming teachers, who have already valued the application positively and favourably. according to their opinion, to introduce the students in the field of programming is hard in the initial stage. not only for the complexity of the control and data structures and the programming language to learn, but also for the complexity of the tools they need to use, such as compilers, bearing in mind that students only need to make use of a reduced number of functions at their initial period of their programming studies. using this kind of applications with multimedia contents allow teachers to dedicate time to activities which improve the quality of teaching, transmitting a further motivation about the subject to be studied and the results they can obtain, as well as directing students closely in their studies. [13]. in the near future, we will continue this line of work. our new projects involve the development of other applications accessible from the web [14], used as olc, in e-learning field. some of these applications will count on a key feature: interactivity [15]. thus students will develop new working methods [16] in order to ensure participation [17]. olc, on-line compiler to teach programming languages 77 7 acknowledgment this article is an extended version of our paper [18], published in proceedings of the 2nd international conference on virtual learning ű icvl 2007 (m. vlada, g. albeanu, d.m. popovici, eds). we wish to thank the program committee of icvl 2007 that select and recommended the publication of our extended work in ijccc. bibliography [1] p. brey. "evaluating the social and cultural implications of the internet". volume 35, issue 3 (september 2005). acm press. [2] c. mchugo, t. hall. "enhancing ict learning with real-life problems". emrc university of limerik.". [3] t. o’reilly. "what is web 2.0 design patterns and business". models for the next generation of software [4] a. yong-yeol, h. seungyeop, k. haewoon, m. sue, j. hawoong. "semantic web and web 2.0: analysis of topological characteristics of huge online social networking services". proceedings of the 16th international conference on world wide web www’07. acm press [5] t. hartsell, s. chi-yin yuen. "video streaming in online learning". aace journal. 14(1), pp. 3143. chesapeake, va: aace. [6] l. neal. "predictions for 2006: e-learning experts map the road ahead". volume 2006 issue 1 (january 2006). acm press. new york. [7] s. anderson. "working together to develop a professional learning community". herdsa 2002 [8] g. lautenbach. "engaging with e-learning: emerging epistemologies and increased pedagogic vision in higher education". iadis inter national conference e-learning 2007 [9] r. rheeder, r. diseko, g. lautenbach. "the design of interactivity for a web based learning environment at a higher education institution." iadis international conference e-learning 2007 [10] h. samaras, t. giouvanakis, d bousiou, k. tarabanis. "towards a new generation of multimedia learning research". aace journal. 14 (1), pp. 3-30. chesapeake, va: aace [11] lawson, e.a. stackpole, w. (2006). it education online education: does a virtual networking laboratory result in similar student achievement and satisfaction?. proceedings of the 7th conference on information technology education sigite’06. (october 2006). acm press.w. nejdl, m. wolpers "european e-learning: important research issues and application scenarios". l3s research center and university of hannover.) [12] w. nejdl, m. wolpers "european e-learning: important research issues and application scenarios". l3s research center and university of hannover. [13] k. fraser, "a blended learning approach to teaching" introduction to multimedia, the e-bit!. aishe conference 2006 [14] a. leene. "the microweb". using content in theory and practice microlearning 2006, innsbruck 7 june 2006 78 cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez [15] p. valente, p. sampaio. "defining goals for the design of interactive multimedia documents". in proceedings of world conference on educational multimedia, hypermedia and telecommunications 2006 (pp. 955-962). chesapeake, va: aace. [16] n. sala. "web based learning environment: an example". in proceedings of 2000 (pp. 807-808). chesapeake, va: aace. [17] c. gráinne, "making sense of today’s technology-enhanced environment for learning: rethinking student and teacher roles" iadis international conference e-learning 2007 [18] cayetano guerra artal, maria dolores afonso suarez, idafen santana perez, ruben quesada lopez, "olc, on-line compiler to teach programming languages", in (m. vlada, g. albeanu, d.m. popovici, eds) proceedings of the 2nd international conference on virtual learning icvl 2007, october 26-28, 2007, constanta, romania, pp. 283-290, 2007. cayetano guerra artal, maria dolores afonso suarez idafen santana perez, ruben quesada lopez instituto universitario de sistemas inteligentes y aplicaciones numéricas en ingeniería iusiani universidad de las palmas de gran canaria departamento de informatica y sistemas edif. de informatica y matematicas. campus universitario de tafira. 35017. las palmas. spain. e-mail: cguerra@iusiani.ulpgc.es, mafonso@dis.ulpgc.es idafensp@gmail.com, rubenql@gmail.com received: november 4, 2007 cayetano guerra artal, graduated at the university of las palmas de gran canaria in computer science. he has been teaching multimedia for seven years at the computer science and systems department of the university of las palmas de gran canaria. he received his ph.d. in computer vision. his main research fields are computer vision, computer graphics, multimedia and e-learning. olc, on-line compiler to teach programming languages 79 maria dolores afonso suarez, graduated at the university of las palmas de gran canaria in computer science. she has worked in private enterprises developing software and as associated professor at the computer science and systems department of the university of las palmas de gran canaria. her main research fields are software engineering, multimedia, and e-learning. idafen santana pérez, graduated at the school of computer science of the university of las palmas de gran canaria. he is a pre-graduated student of the faculty of computer science of this university. his current research interests are in e-learning aplications and natural language processing. ruben quesada lopez, graduated at the school of computer science of the university of las palmas de gran canaria. he is a pre-graduated student of the faculty of computer science of this university. his current research interests are in e-learning aplications and natural language processing. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 871-883 natural language based on-demand service composition f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida florin-claudiu pop, marcel cremene, mircea vaida technical university of cluj-napoca, faculty of electronics, telecommunications and it, cluj-napoca, romania e-mail: {florin.pop, marcel.cremene, mircea.vaida}@com.utcluj.ro michel riveill, jean-yves tigli, stéphane lavirotte université de nice sophia antipolis, sophia antipolis cedex, france e-mail:{riveill, tigli, lavirott}@unice.fr abstract: the widespread of web services in the ubiquitous computing era and the impossibility to predict a priori all possible user needs generates the necessity for on-demand service composition. natural language is one of the the easiest ways for a user to express what he expects regarding a service. two main problems need to be solved in order to create a composite service to satisfy the user: a)retrieval of relevant services and b) orchestration/composition of the selected services in order to fulfill the user request. we solve the first problem by using semantic concepts associated with the services and we define a conceptual distance to measure the similarity between the user request and a service configuration. retrieved services are composed, based on aspect oriented templates called aspects of assembly. we have tested our application in an environment for pervasive computing called ubiquarium, where our system composes a service according to the user request described by a sentence. the implementation is based on the wcomp middleware that enables us to use regular web services but also web services for devices. keywords: natural language, service composition, on-demand, middleware, templates 1 introduction background. since web 2.0 marked it’s appearance as a concept in the fall of 2004 and introduced the principle of the internet as a platform [19], the complexity and diversity of this platform grew together with the more enhanced features it was providing to its users. given the fact that the software in the internet era is delivered as a service, not as a product and there is no release cycle for the services, it is the user who’s in charge of finding a service and using it. in a near future services will be more diverse and widespread as computers will become ubiquitous. in the same way the information across the web is structured, classified and then presented to a user that sends a natural language request to a search engine, so a collection of applications should be assembled, classified and deployed using the services that are found within a given context based on a similar unrestricted language request coming from the user. the problem. in a context where various services with different functionality are available, it’s possible to compose new services on-demand, based on a user request, only when the right selection of components is used. on-demand service composition involves two operations: service retrieval and service orchestration. service retrieval refers to identifying those specific services that are addressed by the user copyright c⃝ 2006-2010 by ccc publications 872 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida request or the closest functional match to the request. the transition from a natural language request to a list of services is a challenge that is even more difficult when no restrictions are added to control the request. service orchestration or service assembly is the process of linking the retrieved services in a functional flow so that the user demand is fulfilled. both mentioned problems make the object of this paper, but while service retrieval was the field of our research, for service orchestration we used an existing approach. scenario. we consider the following scenario to illustrate the purpose of dynamic service composition based on natural language requests. a handicapped person lives inside an intelligent house, surrounded by intelligent devices, sensors and actuators. each device has its own inputs and outputs and is able to process different types of data, leading to a large number of possible functional combinations of those devices. the person in the intelligent house wants to use those devices by combining their functionality (e.g. link the output from a sensor to the input of an actuator), but his disability prevents him to physically interact with the devices or he simply lacks any technical knowledge. therefore, he expresses his need using the natural language (either written or spoken): "i want to use my remote control on the wheel chair to turn off the light, change the channel on tv and play some music on the media center". each device the user addresses through his request (remote control, light, tv, media center) provides a different service with specific actions that can be used in various configurations. finding a way to sort these configurations by relevance to the user’s request is a key requirement for the imagined scenario. also, when one of the devices the user wants to use is not present in the intelligent house or it was replaced with an updated version, the system should adapt and assemble a service that is the closest match to the user’s need. approach. dynamic service composition solves the problem of adaptation to different contexts and user preferences. also, by composing services on demand, the learning curve required for the user to work with new configurations is reduced as the user "gets what he wants" from the application. existing systems for dynamic service composition based on natural language requests either provide a restricted natural language interface or don’t offer support for adaptation to structural and behavioral changes of the service configuration. we start with an initial set of services that are discoverable across a network. the user requests a completely new service using an unrestricted natural language sentence. in order to find specific devices to satisfy the request, we use semantic concepts and define a conceptual distance between the request and a service configuration. concepts are leafs on a lexical tree that is generated by deriving and generalizing a notion. once the services that match the request are identified, some aspect oriented advices are used to connect the services so that when a service disappears from the context or a new service is made available, the service configuration adapts. outline. this paper is organized as follows: the next section examines the problems a dynamic service composition system should solve in order to be usable in the modern context of web services. section 3 describes the solution we propose including the principles that lead to this solution, while section 4 focuses on the design and implementation patterns we used, along with the test results. section 5 examines some of the existing dynamic service composition approaches. the paper ends with conclusions and further research. 2 an overview of the problem on-demand dynamic service composition based on natural language requests raises some challenges that need to be studied before a solution is to be proposed. service retrieval. the first problem we approach in this paper is finding and retrieving a particular service. the large variety of web services useable for composition needs to be classified natural language based on-demand service composition 873 in a way that would make it machine meaningful and semantic-rich for the search to provide the best results. one web extension, called semantic web [3] is focused on enabling better web service interoperation. the semantic web’s purpose is to bring structure to the meaningful content of web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users. one dialect of the daml [14] family of semantic web markup languages was proposed in [17] for the markup of web services. this so-called semantic markup of web services creates a distributed knowledge base (kb) that provides a means for agents to populate their local kbs so that they can reason about web services to perform automatic web service discovery, execution and composition and interoperation. but the semantic mark-up uses a narrow, predefined vocabulary as identified in [16], which makes possible only the retrieval of those web services for which the vocabulary is known. queries or requests from web services or user requests, using another vocabulary than the predetermined vocabulary are not suitable to find or retrieve such a web service. therefore, a narrow vocabulary for the semantic mark-up of web services is not appropriate to be used in combination with natural language requests. service composition. the second problem that needs to be solved is the actual composition of the retrieved services. there are 3 types of systems for dynamic service composition according to [12]. template-based systems [18,21] are using a service template to compose an application. they can handle complex interactions between components and allow some level of flexibility by choosing different sets of components. the drawback of this approach is that they cannot compose applications for which templates are not available. interface-based systems [7] allow the user to submit a set of inputs and outputs for the application he is requesting. these systems have a higher adaptability than the template-based systems, but certain applications cannot be represented as a set of inputs and outputs (e.g. an email sending service does not output any data). logic-based systems [20,23] extend the interface-based approach by adding extra information into interface information using first order logic or linear logic. a user requests an application by submitting a first order formula representing the logic that must be satisfied by the application. they are more adaptable than the template-based systems since they donőt require service templates and offer support for more varieties of services than the interface-based systems. their main disadvantage is given by the fact that they are not extensible and are not suitable for a distributed environment. adaptation. the last, but the most important problem that needs to be solved by a dynamic service composition system is adaptation. we distinguish two types of changes that require adaptation [2]: structure changes and behavior changes. structural adaptation consists in modifying the retrieved services while preserving the global behavior of the application. the behavior describes the sequence of operations to be executed to fulfill the user request. structural changes are triggered when a retrieved services disappears from the context or is replaced by another (for example the analog tv is replaced by a digital tv). behavior changes are related to the user who may decide that the current service does no longer satisfy his need. 3 proposed solution our dynamic service composition system was inspired out of the user’s need to interact with the intelligent devices that surround him. this user-machine interaction should be as natural as human interaction, through unrestricted natural language. intelligent devices are entities that provide services to the user and have networking capabilities. roughly, there are two types of 874 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida intelligent devices: basic devices that are simple service producers (e.g. a light that offers the illuminating service, a tv that offers the tuning service that allows changing the tv channels) and controller devices that can consume services by other devices, acting as interfaces for a composite service (e.g. a mobile phone, an ultra-mobile pc, a netbook). hybrid devices that implement both previously mentioned functionalities can also be imagined. the intelligent devices are connected to form an ad-hoc network inside the intelligent house, which they use to exchange information. this means that the devices can appear and disappear from the network structure on-the-fly: a device can auto-configure when it joins the network and then leave the network without notice. network and device management is a task for the middleware that runs the intelligent house. 3.1 semantic descriptions for web services wsdl [10] is intended for the functional description of web services and the semantic web mark-up is limited to a narrow vocabulary, which is not suited for natural language requests. a lexical tree [16] would add too much semantic information to a service and would not be suited for embedded devices. to overcome these limitations, we propose the use of general notions, called concepts, to describe the utility of a service. a service is not entirely identified by a single concept, but by an infinite number of concepts that are determined through the generalization of a notion. this notion will serve as a semantic description for an intelligent device that offers a service. we use the television notion to describe a tv, for example. through generalization we find that both the television and electronic equipment concepts refer to the same device. to increase the precision, a lexical analysis is also conducted for the service description and the user request by the composition system. this way, the service description suffers little or no modifications due to the extra semantic information. 3.2 linguistic processing we consider the scenario where the user interacts with appliances and he expresses his need through a sentence: "i want to use my phone to turn off the light, turn on the tv and play some music on hifi". in order to retrieve the services required to satisfy the user need, the request goes through a linguistic processing module, responsible for: • text segmentation required to separate the words in the phrase (e.g. switch off the light is transformed into switch, off, the, light); • removing stop words that are considered to be irrelevant (e.g. the, to, and); • stemming (e.g. lights is transformed into light, using becomes use); • spell-checking to correct the misspelled words and the words "damaged" during stemming. the output text segments for the user request in the considered scenario are: want, use, phone, switch, light, turn, tv, play, music, hifi. 3.3 the graph of concepts the text segments together with the service descriptions are nodes in a graph, called the graph of concepts. the arcs in this graph connect each text segment to each service description. the weight of each arc represents the conceptual distance between the text segment and the natural language based on-demand service composition 875 service description. we introduced the conceptual distance to measure the relationship between two notions. measures of semantic similarity or relatedness are found in linguistic processing literature. according to the study published in [6], the jiang and conrath’s measure proved to be best for practical usability. all compared distances are based on the information content of the lexical terms (the probability of encountering an instance). while this information may be valuable for other applications, it is of less importance for service composition and it adds to the complexity of the implementation, therefore making it slower. our approach, the conceptual distance, is faster and less complex than jiang and conrath’s measure, while the last is more accurate. the conceptual distance is a numerical evaluation of how accurate two notions refer to the same concept. for example the words phone and telephone describe the same concept a communication device, therefore the conceptual distance is null. on the other hand, the words phone and electronic equipment can describe the same concept a communication device, but one of them is more general, therefore it can address more concepts, which leads to a non-null distance between these words. figure 1 shows an example of a graph of concepts where the text segments are tv, light, hifi, phone and the service semantic descriptions are television, light, dvd, hifi, mobile phone and pda. figure 1.a. represents all the distances and figure 1.b. represent only the arcs with minimum conceptual distance. figure 1: the graph of concepts 3.4 knowledge structure in order to evaluate the conceptual distance we need to find a way to classify the lexical basis of the english language. we used for this purpose a specialized dictionary called wordnet [11]. wordnet groups nouns, verbs, adjectives and adverbs in sets of synonyms, called synsets. each synset describes a different concept. different senses of a word are in different synsets. most synsets are connected to other synsets via a number of semantic relations. for example, the semantic relations for nouns include: 876 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida • hypernyms: y is a hypernym of x if every x is a (kind of) y (mobile phone is a hypernym of phone); • hyponyms: y is a hyponym of x if every y is a (kind of) x (phone is a hyponym of mobile phone); • coordinate terms: y is a coordinate term of x if x and y share a hypernym (mobile phone is a coordinate term of cellular phone, and cellular phone is a coordinate term of mobile phone); • holonym: y is a holonym of x if x is a part of y (mobile phone is a holonym of transmitter); • meronym: y is a meronym of x if y is a part of x (transmitter is a meronym of mobile phone). while semantic relations apply to all members of a synset because they share the same meaning, words can also be connected to other words through lexical relations, including antonyms and derivationally related, as well. both nouns and verbs are organized into hierarchies, defined by hypernym or is a relationships. for example, the hierarchy for mobile phone is: • cellular telephone, cellular phone, cellphone, cell, mobile phone • radiotelephone, radiophone, wireless telephone • telephone, phone, telephone set • electronic equipment • equipment the words at the same level in hierarchy are synonyms of each other. 3.5 the concept hierarchy the algorithm that evaluates the conceptual distance uses the wordnet lexicon to create concept hierarchies. a concept hierarchy is generated in 4 steps: 1. find the synset that contains the concept for which the hierarchy is generated. each word in the synset becomes a root for a tree in the concept hierarchy. 2. for each tree root, find the synsets that are in a relationship with the rootős synset. each word in the related synset becomes a leaf for the tree, on the next level in hierarchy, branching from the root. 3. for each word on the current level in hierarchy, find the synsets related to the wordős synset and add the words in the found synsets as leafs for the tree on the next level. 4. repeat step 3 until the hierarchy is big enough so that the degree of generalization for the notion for which the hierarchy is built, corresponds to an accepted accuracy that produces best results. the bigger the hierarchy the longer it takes to generate it, but the smaller the hierarchy the more confusion can occur among concepts. the hierarchy for the notion mobile phone is shown in figure 2. the roots of each the tree are part of the same synset and each level in a tree represents the words from the synsets that are related to the word they are branching from. natural language based on-demand service composition 877 figure 2: the concept hierarchy for the notion mobile phone 3.6 the conceptual distance in order to evaluate the conceptual distance for two notions, a concept hierarchy is built for each notion. then, the conceptual distance is calculated as follows: • the minimum difference of levels between the common node of the 2 hierarchies and the node that represents the notion on which the hierarchy is built for, if such a common node exists. • the maximum number of levels a hierarchy can have if thereős no common notion among the two. examples: • d (mobile phone, cell) = 0 • d (radiotelephone, radiophone) = 0 • d (mobile phone, radiophone) = 1 • d (mobile phone, telephone) = 2 3.7 service retrieval finding and retrieving the closest services to the user request resumes to identifying the couples (text segment, service description) in the graph of concepts that have a minimum sum of conceptual distances. this makes it easier to take advantage of a service that only partially matches a request. 878 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida in order to find mentioned couples we need to apply tow transformations to the graph of concepts: • finding the sub-graph that has the minimum distance path that includes all the nodes. after this transformation each service description will be connected to 2 text segments. • for each triplet (service description, text segment 1, text segment 2) remove the arc that has the maximum weight. in order to find the minimum weight sub-graph, we use the kruskal [15] algorithm that calculates the minimum spanning tree (mst). the nodes that contain the service descriptions resulted after the two transformations are applied, represent the services that are used to generate the composite service requested by the user. the transformed sub-graph for the graph in figure 1 contains the nodes that are connected with the thick continuous line. 3.8 service composition we used a template-based service composition system because of its capability to handle complex interactions between components and the flexibility of choosing different sets of components. the system we used, called aspects of assembly (aoa) [9] is part of the wcomp [8] middleware for ubiquitous computing and besides the benefits that derive from the fact that is template-based, also offers support for auto-adaptation. these templates can be automatically selected either by the service composition system when satisfying a user request or triggered by context changes in a self-adaptive process and composed by a weaver with logical merging of high-level speciţcations. the result of the weaver is projected in terms of pure elementary modiţcations (pems) ð add, remove components, link, unlink ports. the aoa architecture consists of an extended model of aspect oriented programming (aop) for adaptation advices and of a weaving process with logical merging. an aoa template is structured as an aspect with a list of components involved in composition (called pointcut) and adaptation advice (a description of the architectural reconfigurations), which is specified using a domain specific language (dsl). we will examine some aoa templates and the composition process in detail in the next section. 4 implementation and results we used the wcomp [8] platform for ubiquitous computing as the middleware of our intelligent house. wcomp uses the upnp protocol to achieve device interconnectivity and interoperability. each upnp device has a software proxy that acts like a software component. using this proxy, we can treat web services for devices similar to the ui components of a gui designer. we added some meta-data to the upnp service description for each device to serve as semantic description. using wcomp, we have simulated the following devices/services: tv set, described by the television notion; dvd recorder, described by the dvd notion; mobile phone, described by the mobile phone notion; pda, described by the pda notion; hifi, described by the hifi notion; lighting system, described by the light notion. the interactions between these components were specified using aoa templates. following, is an example of such a template that is used to connect the mobile phone to the tv: pointcut inputdev:=/mobilephone.*/ natural language based on-demand service composition 879 outputdev:=/television.*/ advice keytochannel(inputdev, outputdev): input.^key_pressed -> ( output.set_channel ; call ) the first 3 lines describe (defining the pointcut as in aspect programming), using filters in the awk language, the components involved in the interaction: a mobile phone (inputdev) and a television (outoutdev). the filters of type /instancename.*/ will find components that have their name prefixed by instancename. line 4 declares a composition schema that uses the previously described components. lines 4-5 specify the composition mechanics: call the tv.set_channel method when the mobile phone fires the event key_pressed. the service composition system implements a upnp device that offers the service of designing composite services for the user in order to fit seamlessly with the wcomp middleware. requests from the user are captured by a wcomp assembly of components, and then sent using the upnp protocol to the service designer along with a description of the context where the devices are located. the service designer queries the devices for service descriptions (semantic meta-data), and then finds only those services that are relevant to the user request. instances of the devices that provide the named services are interconnected based on the rules described in the aoa templates. scenario 1. "i want to use my phone to turn off the light, turn on the tv and play some music on hifi". this phrase contains many irrelevant words to the service composition system, but the relevant words are identical (except tv) to the service semantic descriptions. irrelevant words have an effect of increasing the time required to process the graph of concepts. all the relevant services are identified and then composed. figure 3: the dynamically composed service for scenario 1 scenario 2. "use pda for broadcasting". this user request is challenging for any composition system because it doesn’t address the tv directly, but through the abstract concept of broadcasting. due to the use of the specialized dictionary, the tv is found and then connected to the pda. figure 4: the dynamically composed service for scenario 2 880 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida the wordnet (free download) dictionary is installed on a local machine thus the word search is fast. the main complexity of the algorithm is given by the conceptual distance computation. the time necessary in order to compute the distance between two concepts (similarity), based on the english dictionary, was about 6 ms (on a dell latitude 830 laptop, cpu dual core 2.2ghz, 2g ram) with the fastest algorithm that we have found (a wordnet similarity implementation, the java package edu.sussex.nlp.jws.jiangandconrath). thus, if we have m user concepts and n service concepts, we need a time equal to m∗n 2 ∗ 6 ms. for instance, we can create the concept graph for 10 user concepts and 64 services in about 2 seconds. the aoa application is very fast also (less than 1 sec. for up to 350 components). in this section we have shown that we are able to create, in practice, new services, ondemand, using real devices, by applying the patterns available for the selected set of services. the scenarios discussed above were tested in a dedicated environment for ambient computing, called ubiquarium [24]. real devices were used (a part of the services are real devices and another part are virtual ones). 5 related work composing web services on the basis of natural language requests. the solution described in [4] and [5] assumes that the user requests are expressed with a controlled subset (a narrow vocabulary) of natural language. the sentence that represents the userős request is transformed into a flow model using templates (e.g. if . . . then . . . else, when . . . do). verbs are used to identify the action and its parameters. each available service is paired with a well-defined set of keywords. owl-s annotations are used to provide operation semantics and an ontological classification of web services. the operations act as nodes of a direct acyclic graph and the relations among their iopes (inputs, outputs, preconditions and effects) establish arcs. the graph is translated into an executable service at invocation time. the example the authors use to sustain the proposed solution uses the phrase "if there is any cinema showing "big fish" in turin then send a sms to dario containing "lets go to the movies tonight!"" an if . . . then template is used to identify the flow model. in the next step, called context focus, the service types are identified: cinema, sms. the verb (send) triggers the parameter retrieval stage where iotypes recognizers based on format (date, time, telephone numbersé) and values (city namesé) are used to extract the actionős parameters. this solution establishes a synergy between the semantic service descriptions and the natural language interpretation of user requests, through a common ontology and a consistent lexical vocabulary. therefore it canőt be used in active environments where new components that act as black-boxes appear and disappear from the context dynamically. also, the use of a controlled subset of natural language makes it non intuitive for the user as he is restricted to the use of templates when expressing a request. semantics-based dynamic service composition. papers [12] and [13] propose the cosmos model and the segsec platform for dynamic service composition. their idea is to transform the semantics of the user request into a semantic graph. nodes in the semantic graph represent operations, inputs, outputs and properties of a component, as well as their data types and concepts. arcs (labeled links) represent the relationships among the nodes. concepts, entities representing abstract ideas actions are used to annotate the semantics of the operations, inputs, outputs and properties of components. the user request is parsed and the components addressed by the user form a workflow. the example in [13] uses the phrase "print directions from home to restaurant". the semantic graph contains the predicate (print), the target of the action (direction) and the parameters (home, restaurant). the workflow, containing the retrieved components, is executed as soon as natural language based on-demand service composition 881 it satisfies the user request. this analysis takes place in a step called semantic matching and consists in a test that verifies that all the links that appear in the user request also appear in the graph that models the workflow. the authors of [13] admit that their solution is not suited for environments where a large number of components are deployed. the platform lacks the feature of providing a solution in the case where the workflow doesnőt satisfy the userős request. if the generated workflow doesnőt match exactly the user request, then the dynamic service composition fails. also, the ability of the implementation to discover certain components is to be questioned because itős limited to work with a narrow set of keywords and it lacks a vocabulary. web service with associated lexical tree. the invention claimed by alcatel [16] relates to a method to mark-up a web service in order to allow finding and retrieving said service via a natural language request. a lexical tree, built by deriving the service description, finding synonyms and related forms of the derived keywords, is associated to each service. finding a service based on the user request resumes to comparing the natural language query to the lexical tree of each web service. this method of retrieving a web service proves to be the most appropriate when dealing with natural language requests. the invention however doesnőt exploit the full potential of this finding, as it lacks service composition. 6 conclusion this paper proposes a new method for assembling services on demand, starting from the user request expressed in natural language. we use a semantic analysis of the user request, in order to identify the services described by concepts that are related to concepts from the user request. retrieved services are then composed, based on composition patterns, called aoa (aspects of assembly). the uses of patterns, which assure that the new service is always valid, compensate the ambiguity of the natural language. another important advantage of the aoa patterns, comparing to other existent pattern-based approaches, is the fact these patterns may be superposed by composition. thus, a large number of combinations are possible using a given set of patterns. additionally, for a given set of services, the aoa mechanism applies only the patterns that lead to valid services. the solution was implemented on the wcomp platform and tested in a dedicated ambient computing environment, called ubiquarium, using real and virtual intelligent devices/services. the service composition is user driven, by natural language (voice) and allows the user to get the service on-demand. from this point of view, our solution is less restrictive than the other solutions described in the state of the art section. an important advantage of our solution is the reuse of wordnet free dictionary, which is acting like ontology. due to this, we can relax very much the limitations for the natural language, imposed by solutions where an ontology (usually restricted) must be created by the developer. otherwise, the creation of a rich ontology is a very costly task and our solution succeeded to avoid it by reusing wordnet. this choice has another important advantage: it solves the problem of dealing with different ontologies and does not need to impose a common ontology (the only requirement is to use english). a particular aspect of our proposal is the mixed approach: semantic and pattern-based. this approach combines the advantages of the both: thanks to composition patterns, it allows us to build complex composite services, which are always valid and functional. with other approaches (interface, logic, semantic based), that are not using patterns/templates, it is very difficult to create complex architectures that are valid and work correctly. as future work, we intend to extend our solution for dynamic service adaptation (at runtime) and this should be feasible because wcomp was designed for dynamic service reconfiguration in 882 f.-c. pop, m. cremene, j.-y. tigli, s. lavirotte, m. riveill, m. vaida pervasive environments. acknowledgments this work was supported by the econet project code 18826ym and the romanian national project pncdi ii code 1062, and 1083 financed by uefiscsu. thanks to other members of the rainbow team for fruitful discussions and feedback: vincent hourdin, daniel cheung-foo-wo, eric callegari. bibliography [1] a. v. aho, b.w. kernighan, p. j. weinberger, the awk programming language, addisonwesley, 1988. [2] anastasopoulos m.; klus h.; koch j.; niebuhr d.; werkman e., doami a middleware platform facilitating (re-)conţguration in ubiquitous systems, in system support for ubiquitous computing workshop. at the 8th annual conference on ubiquitous computing (ubicomp 2006), sep 2006. [3] berners-lee, t.; hendler, j.; lassila, o., the semantic web, scientific american magazine, may 17 2001. [4] bosca, a.; ferrato, a.; corno, f.; congiu, i.; valetto, g., composing web services on the basis of natural language requests, ieee international conference on web services (icws’05), pp. 817-818, 2005. [5] bosca, a.; corno, f.; valetto, g.; maglione, r., on-the-fly construction of web services compositions from natural language requests, journal of software (jsw), issn : 1796-217x, vol. 1 issue 1, pag 53-63, july 2006. [6] e. budanitsky, g. hirst, semantic distance in wordnet: an experimental, application-oriented evaluation of five measures, 2001. [7] chandrasekaran s.; madden s.; ionescu m., ninja paths: an architecture for composing services over wide area networks, cs262 class project writeup, uc berkeley, 2000. [8] cheung-foo-wo, d.; tigli, j.-y.; lavirotte, s.; riveill, m., wcomp: a multi-design approach for prototyping applications using heterogeneous resources, in 17th ieee intern. workshop on rapid syst. prototyping, pag 119ð125, creta, 2006. [9] cheung-foo-wo, d.; tigli, j.-y.; lavirotte, s.; riveill, m., self-adaptation of eventdriven component-oriented middleware using aspects of assembly, in 5th international workshop on midd leware for pervasive and ad-hoc computing (mpac), california, usa, nov 2007. [10] christensen, e.; curbera, f.; meredith, g.; weerawarana, s. web services description language (wsdl) 1.1, website, 2001 http://www.w3.org/tr/wsdl [11] cognitive science laboratory, princeton university, wordnet ð a lexical database for the english language, website, 2006 http://wordnet.princeton.edu/ natural language based on-demand service composition 883 [12] fujii, k.; suda, t., component service model with semantics (cosmos): a new component model for dynamic service composition, saint-w ’04: proceedings of the 2004 symposium on applications and the internet-workshops (saint 2004 workshops). washington, dc, usa: ieee computer society, 2004. [13] fujii, k.; suda, t., semantics-based dynamic service composition, ieee journal on selected areas in communications, vol 23(12), pag 23612372, dec 2005. [14] hendler, j.; mcguinness, d., the darpa agent markup language, ieee intelligent systems, vol. 15, no. 6, nov./dec. 2000, pp. 72ð73. [15] kruskal, j. b., on the shortest spanning subtree of a graph and the traveling salesman problem, proc. amer. math. soc., vol 7, 1956. [16] larvet, p., web service with associated lexical tree, european patent, ep1835417. [17] mcilraith, s. a.; cao son, t.; zeng h., semantic web services, ieee intelligent systems, vol. 16, no. 2, mar./apr. 2001, pp. 46-53. [18] molina a. j.; koo h.-m.; ko i.-y., a template-based mechanism for dynamic service composition based on context prediction in ubicomp applications, in proceedings of the international workshop on intelligent web based tools (iwbt’2007), 2007. [19] o’reilly, t. what is web 2.0, website, 2005 http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20. html [20] rao j.; kungas p.; matskin m., logic-based web services composition: from service description to process model, proceedings of the ieee international conference on web services, p.446, june 06-09, 2004. [21] sirin, e.; parsia, b.; hendler j., template-based composition of semantic web services, in aaai fall symposium on agents and the semantic web, 2004. [22] upnp forum, website, 2008 http://www.upnp.org/ [23] wu d.; parsia b.; sirin e.; hendler j.; nau d., automating daml-s web services composition using shop2, in proceedings of 2nd international santic web conference (iswc2003), sanibel island, florida, october 2003. [24] hourdin, v.; cheung-foo-wo d.; s.l. ; j.y.t., ubiquarium informatique: une plate-forme pour l’etude des equipements informatiques mobiles en environnement simule., in proccedings of 3-eme journees francophones mobilite et ubiquite (ubimob), paris, september 2006. int j comput commun, issn 1841-9836 vol.7 (2012), no. 3 (september), pp. 473-481 optimal bitstream adaptation for scalable video based on two-dimensional rate and quality models j. hou, s. wan junhui hou, shuai wan northwestern polytechnical university school of electronics and information xi’an 710129, china e-mail: houjunhuihn@gmail.com swan@nwpu.edu.cn abstract: in this paper, a two-dimensional (2d) rate model is proposed considering the joint impact of spatial (i.e., the frame size) and snr (i.e., the quantization step) resolutions on the overall rate-distortion performance. a related 2d quality model is then proposed in terms of perceptual quality. then the two proposed models are applied to scalable video to address the problem of optimal bitstream adaptation. experimental results show that the proposed rate and quality models fit the actual data very well, with high coefficients of determination and small relative root mean square errors. moreover, given the bandwidth constraint and required display resolution of the end users, the optimal combination of snr and spatial layers that provides the highest perceptual quality can be achieved using the proposed models. keywords: 2d rate model, 2d perceptual quality model, scalable video, bitstream adaptation. 1 introduction recent multimedia applications are featured by various resolutions designed for a variety of devices with different computational and display capabilities. these devices range from cell phones and pda’s with small screens and restricted processing power to high-end work stations with high-definition displays. the related video services or applications are connected to different types of networks with various bandwidth limitation and loss characteristics. a highly attractive approach to address the vast heterogeneity is known as scalable video, which allows for spatial, temporal, and snr scalabilities [1]. in scalable video coding (svc), the video signal can be encoded into a base layer (bl) and one or more enhancement layers (els), with each enhancement layer improving the resolution (either temporally or spatially) or the fidelity of the video sequence. as a result, certain parts of the scalable bitstream can be removed for adaptation to various capabilities of end users as well as varying network conditions. at the network proxy or gateway, a bitstream adaptor is usually employed to extract the bitstream to meet particular constraints, e.g., targeted bit-rates and/or spatial or temporal resolutions. for a given set of constraints, the solution can be varieties of resolution combinations, leading to different visual qualities. the challenging problem of bitstream adaptation is therefore how to determine the combination of the spatial resolution (i.e., the frame size (s)), temporal resolution (i.e., the frame rate (t)) and snr (signal-to-noise ratio) resolution (i.e., the quantization step (q)) to be used for bitstream extraction under a given targeted bit-rate to maximize the resulting quality. many efforts have been devoted to bitstream adaptation for scalable video. a basic and content independent extractor is provided in the reference software of the joint scalable video model (2) [2]. in [3], an alternative extraction method is proposed based on rate-distortion optimization. this technique utilizes the concept of quality layers and improves the performance of the jsvm basic extractor by arranging the priority of layers based on their contributions to the global improvement in quality. a more copyright c⃝ 2006-2012 by ccc publications 474 j. hou, s. wan efficient method for extraction is proposed in [4], using an accurately and efficiently estimation of the quality degradation resulting from discarding an arbitrary number of network abstraction layer (nal) units from multiple layers taking drift into account. however, the methods in [3] and [4] are executed only within a single resolution, e.g., the snr plane. in [5], an effective method is proposed to quickly solve the problem of spatial resolution selection based on an analysis on the content information. however, the peak-signal-to-noise ratio (psnr) is used as the distortion criterion, which does not correlate well with the perceptual quality especially with regard to spatial scalability. in [6], two-dimensional (2d) rate and perceptual quality models in terms of the frame rate and the quantization step are built, and then the two models are applied to optimal bitstream extraction in svc. however, the spatial resolution is not considered in [6] and the parameters in the quality model are difficult to obtain. in [7], the video quality under different spatial, temporal and snr combinations is quantitatively and perceptually assessed, based on which an efficient adaptation algorithm is proposed. however, there is lack of a rate model to estimate the related bit-rate. on the other hand, performance improvement can be achieved by resorting to network-related technologies, such as using a priority mechanism [8], or self optimization of networked communications [9] presents a model for self optimization of network communications in order to improve cluster performance by shortening the data transfer time. in this paper, 2d rate and quality models are proposed for optimal bitstream adaptation for scalable video under given bandwidth constrains and required display resolutions at the end user. assuming that the frame rate is determined, the two 2d models are applied to extract bitstream to achieve the optimal combination of spatial and snr resolutions. the rest of the paper is organized as follows: section 2 presents the 2d rate and perceptual quality models considering the impact of spatial and snr resolutions. their application in constrained scalable video adaptation is introduced in section 3. section 4 presents the experimental results. section 5 concludes this paper and discusses future directions. 2 two-dimensional rate and perceptual quality models in this section, the impact of the spatial and snr resolutions on the bit-rate and the perceptual quality is analyzed, based on which a 2d rate model and a 2d perceptual quality model are respectively derived. 2.1 two-dimensional rate model considering snr and temporal scalabilities, we have proposed an analytical 2d rate model for h.264/svc [10]. in this paper, this model is extended to the spatial domain where a product of a power function of the quantization step q and a power function of the spatial resolution index s are used, given as r(q, s) = cqαsγ, (1) where α and γ are both content-dependent model parameters. the values of α and γ characterize how fast the bit-rate reduces with the increase of q and how fast the bit-rate increases with the refinement of the spatial resolution, respectively. usually a sequence with richer texture has larger absolute values of α and γ. here s is computed through dividing the frame size of the current spatial resolution by the frame size of the lowest spatial resolution. in order to evaluate the model accuracy, sequences, with qcif, cif and 4cif resolutions were encoded into 3 dyadic spatial layers using jsvm9.19.7 [11], respectively. each spatial layer contained 5 quality layers. the base quality layer in a lower spatial layer was used to perform inter-layer prediction to avoid drifting at the decoder. the gop (group of picture) size was set to 1 to avoid the effect of temporal scalability. 120 frames were encoded for each sequence. the difference of the quantization parameter (qp) between adjacent quality layers and adjacent spatial layers optimal bitstream adaptation for scalable video based on two-dimensional rate and quality models 475 were set to 5 and 6, respectively, following [12]. the qp of the base quality layer of the lowest spatial level was set to 38. the model parameters were obtained by minimizing the root mean square error (rmse) between the actual and predicted bit-rates. the actual values and those predicted using (1) are plotted in figure 1. it is clear that the proposed 2d rate model fits the actual data very well. table 1 gives the used parameters and the model accuracy in terms of the rrmse (rrms e = rms e/rmax, where rmax denotes the maximum bit-rate in the actual data) and the coefficient of determined (cod), defined as: cod = 1 − ∑ i ( xi − x̂i )2 ∑ i ( xi − x )2 , (2) where xi and x̂i are the actual and the predicted values of the bit-rate, respectively, and x is the mean of all actual bit-rates shown in figure 1. it is once again demonstrated that the proposed rate model is very accurate in prediction, where high cod and small rrmse values can be observed for all tested sequences. specifically, the average cod and rrmse are 0.9892 and 2.81%, respectively. and as expected, the “city" sequence with the richest texture among the tested sequences has the largest absolute values of α and γ. 0 50 100 150 200 250 0 500 1000 1500 2000 2500 3000 3500 quantization step b it ! ra te ( k b /s ) soccer actual data qcif actual data cif actual data 4cif predicted values using (1) 0 50 100 150 200 250 0 500 1000 1500 2000 2500 3000 3500 quantization step b it ! ra te ( k b /s ) crew actual data qcif actual data cif actual data 4cif predicted values using (1) 0 50 100 150 200 250 0 500 1000 1500 2000 2500 3000 quantization step b it ! ra te ( k b /s ) city actual data qcif actual data cif actual data 4cif predicted values using (1) 0 50 100 150 200 250 0 500 1000 1500 quantization step b it ! ra te ( k b /s ) ice actual data qcif actual data cif actual data 4cif predicted values using (1) figure 1: actual bit-rates and predicted values using (1). table 1: the values of parameters in (1) and model accuracy soccer crew city ice ave. c×10 3 9.67 13.58 10.76 4.23 α -1.276 -1.365 -1.462 -1.048 γ 0.970 0.965 1.078 0.756 cod 0.9958 0.9860 0.9792 0.9929 0.9892 rrmse 1.71% 3.31% 3.97% 2.27% 2.81% 476 j. hou, s. wan 2.2 two-dimensional quality model it has been widely acknowledged that the quality metrics of the psnr and the mean square error (mse) do not correlate well with the perceptual quality. on the other hand, the subjective quality can be well captured by the mean opinion scores (mos) and video quality metric (vqm) [13], at the cost of high complexity in testing and computations. trading off between the complexity and the consistency with the human perception, the structural similarity (ssim) [14] is used as the quality measure in this paper. the ssim measures the structural similarity as well as the luminance and contrast similarity between two images block by block. in this paper, the ssim values have been measured with regard to different combinations of spatial and snr resolutions, where the layers of lower spatial resolutions were upsampled to 4cif using a set of 6-taps filters provided by the jsvm. according to empirical observations, a logarithmic function in terms of the spatial resolution index and the quantization step is used to model the perceptual quality regarding different spatial and snr resolutions, which is expressed as qmssim(q, s) = a0 + a1 ln q + a2 ln s + a3 ln q ln s, (3) where a0,a1,a2 and a3 are all content-dependent model parameters. here the second and third terms indicates the impact of the snr and the spatial resolution on perceptual quality, respectively. the forth term models the joint impact of the snr and the spatial resolution. the model parameters can be derived easily by minimizing the rmse between the actual and predicted values. the actual and predicted qualities are shown in figure 2. table 2 lists the used parameters and the model accuracy in terms of the cod and rrmse. it can be concluded from figure 2 and table 2 that the proposed 2d perceptual quality model is very accurate in prediction with high cod and small rrmse values for all tested sequences. 0 50 100 150 200 250 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 quantization step q m s s im soccer actual data qcif actual data cif actual data 4cif predicted values using (3) 0 50 100 150 200 250 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 quantization step q m s s im crew actual data qcif actual data cif actual data 4cif predicted values using (3) 0 50 100 150 200 250 0.4 0.5 0.6 0.7 0.8 0.9 1 quantization step q m s s im city actual data qcif actual data cif actual data 4cif predicted values using (3) 0 50 100 150 200 250 0.82 0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 quantization step q m s s im ice actual data qcif actual data cif actual data 4cif predicted values using (3) figure 2: actual qualities and predicted values using (3). optimal bitstream adaptation for scalable video based on two-dimensional rate and quality models 477 table 2: the values of parameters (3) in and model accuracy soccer crew city ice ave. a0 0.7709 0.9112 0.7268 0.9395 a1 -0.0614 -0.0569 -0.0791 -0.0193 a2 0.2292 0.1454 0.2918 0.0739 a3 -0.0393 -0.0251 -0.0444 -0.0141 cod 0.9871 0.9842 0.9754 0.9561 0.9757 rrmse 1.39% 1.11% 2.49% 0.8% 1.45% 3 optimal bitstream adaptation for scalable video using proposed models the proposed models are applied to constrained bitstream adaptation for scalable video. figure 3 provides a systematical view of the adaptation problem. for each video, a single full-resolution scalable bitstream is available at a server, where the bitstream will be adapted at a network proxy or gateway according to the user channel conditions and viewing preferences (i.e., the displayed spatial resolution). when a user requests the video from the server, the adaptor (at the proxy) will determine an appropriate bit-rate rt for extraction based on the channel condition. based on rt and the user’s settings of viewing preference (embedded in the user profile and sent to the adaptor), the adaptor determines the optimal set of spatial and snr layers to extract, so as to provide the best perceptual quality. for a given targeted bit-rate rt and the required display spatial resolution, the adaptation problem can be formulated as the following constrained optimization problem: determine q, s to maximize qmssim(q, s) subject to r(q, s) ≤ rt u(s)|s < s, (4) where rt and s denote the targeted bit-rate and the required display spatial resolution index, respectively. by u(s)|s < s it is indicated that up-sampling is executed if the extracted spatial resolution is less than the required display spatial resolution. assume that both the spatial resolution and the quantization step may take on any effective value. by setting r(q, s) = rt, it can be obtained that q = α √ rt csγ , (5) which describes the feasible q for a given s, to satisfy the rate constraint rt. substituting (5) into (3) yields qmssim(s) =− a3γ(ln s)2 α + (a3 ln rt/c +αa2 − a1γ) ln s α + a0 + a1 ln rt/c α . (6) equation 6 is the achievable quality with different spatial resolutions under the targeted bit-rate rt. clearly, this function has a unique maximum, which can be derived by setting its first order derivative with respect to s to be zero. this yields s = e(a3 ln (rt/c)+αa2−a1γ)/2a3γ. (7) 478 j. hou, s. wan for any given rt and s , we can solve (7) numerically to determine the optimal spatial resolution. then using (5) and (6) the optimal quantization step can be determined, and the corresponding quality can be maximized. the parameters for the rate model, i.e., c, α and γ, can be easily derived from the bit-rates corresponding to several different (q, s)combinations using least square fitting. the quality model parameters, i.e., a0, a1, a2 and a3, can be derived using the least square fitting at the encoder, and then embedded in the header field of the video stream. based on the simulations, only several bytes are required to represent those parameters which can be neglected compared to the actual video stream payload. ������ ��� �� ���� ����� ��� ������������������ ��� ������������������ ����������������������� �������� ��������� � �����!������ �����"������ #��� $��� ��������!������� ��������� ���� ����%�&� $ ' � � � � ��! � � � � �� � �( �# � � �� � �� "��� �!������������ �� ���� )) ) )) figure 3: constrained scalable video adaptation. 4 experimental results the experimental results are presented in this section to evaluate the performance of the proposed extraction method. firstly, assuming that the spatial resolution can be any positive values, and then the practical case where spatial resolutions to be discrete is considered. 4.1 optimal solutions assuming q and s taking continuous values assuming that both the spatial resolution and the quantization step can take continuous values. figure 4 shows the optimal spatial resolution, quantization step and quality as functions of the targeted bitrate rt. as expected, as the targeted bit-rate increases, the optimal s increases while the optimal q reduces, and the achievable best quality continuously improves. notice that the optimal s increases more rapidly for the “city" sequence than for the other sequences because of its richer texture. the up-sampling introduces more severe quality decrease than the quantization step. therefore, under the bit-rate constraint, a larger spatial resolution with a larger quantization step is a better choice. 4.2 optimal solutions under dyadic spatial resolution scalability the h.264/svc includes three profiles [15], i.e., the “scalable baseline" profile, the “scalable high" profile, and the “scalable high intra" profile. while the latter two profiles support full spatial svc scalability, the scalable baseline profile imposes some constraints to enable simplified application scenarios. for example, dyadic spatial scalability is provided in the baseline profile, where the scaling ratio of the width and height between adjacent spatial layers is equal to 2. from a practical point of view, it will be interesting to see the optimal combination of the spatial resolution and quantization step for different optimal bitstream adaptation for scalable video based on two-dimensional rate and quality models 479 0 500 1000 1500 2000 2500 3000 3500 4000 0 10 20 30 40 50 60 70 80 90 100 targeted bit!rate (kb/s) soccer optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 10 20 30 40 50 60 70 80 90 100 targeted bit!rate (kb/s) crew optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 20 40 60 80 100 120 140 targeted bit!rate (kb/s) city optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 20 40 60 80 100 120 targeted bit!rate (kb/s) ice optimal s optimal q optimal (100*qm ssim ) figure 4: optimal quantization step, spatial resolution index and the corresponding quality versus the targeted bit-rate by assuming the quantization step and the spatial resolution to be continuous. targeted bit-rates under this svc structure. to obtain the optimal solution for this svc structure, we first determine the optimal s using (7), and then choose two spatial resolutions up and down around the value from the candidates. finally, compute the quality using (6) corresponding to the two spatial resolutions and choose the spatial resolution that leads to a better quality. the experimental results are shown in figure 5. because the spatial resolution can only increase in a discrete step, the optimal quantization step does not decrease monotonically with the bit-rate. whenever the optimal s jumps to the next higher value, the optimal q first increases to meet the rate constraint, and then decreases while the optimal s is held constant, as the rate increases. consistent with the previous results in figure 4, for the “city" sequence with richer texture, the optimal s is 16 (corresponding to 4cif) at a low bit-rates, whereas for other sequences, the optimal s stays 4 (corresponding to cif) even at high bit-rates. in practice, the svc encoder with quality scalability does not allow the quantization step to change continuously. the finest granularity in quality scalability is a decrement of qp by 1 with each additional quality layer. this means that the quantization step reduces by a factor of 2−1/6 with each additional layer. in practice, much coarser granularity is typically used, with a decrement of qp by 3 to 6 typically [11]. when we limit the values of q to be discrete in addition to allow only dyadic spatial resolutions, a rate constraint cannot be always exactly met. however, one may still obtain the optimal q and s for any given constrains using the proposed scheme by estimating the bit-rate and quality of each combination in the finite set of feasible values for q and s. 5 conclusions and future works in this paper, a 2d rate model and a 2d quality model have been proposed, based on which a modeldriven method for optimal bitstream adaptation is developed. experimental results have demonstrated the accuracy of the two models. using the proposed extraction method, the optimal combination of quality and spatial layers can be determined, providing the highest perceptual quality for a given bandwidth 480 j. hou, s. wan 0 500 1000 1500 2000 2500 3000 3500 4000 0 20 40 60 80 100 120 targeted bit!rate (kb/s) soccer optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 10 20 30 40 50 60 70 80 90 100 targeted bit!rate (kb/s) crew optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 20 40 60 80 100 120 140 targeted bit!rate (kb/s) city optimal s optimal q optimal (100*qm ssim ) 0 500 1000 1500 2000 2500 3000 3500 4000 0 20 40 60 80 100 120 targeted bit!rate (kb/s) ice optimal s optimal q optimal (100*qm ssim ) figure 5: optimal quantization step, spatial resolution index and the corresponding quality versus the targeted bit-rate by assuming that the q varies continuously and the spatial resolution takes qcif/cif/4cif. constraint and required display frame rate of the end user. future work may include an extension of the proposed models to three-dimension, taking temporal scalability into account. moreover, the proposed models can be applied to other applications, e.g., advanced multidimensional rate control for video coding. acknowledgement this work was supported by the national science foundation of china (60902052, 60902081), the doctoral fund of ministry of education of china (no.20096102120032), and the npu foundation for fundamental research (jc201038). bibliography [1] h. schwarz, d. marpe, t. wiegand, overview of the scalable video coding extension of the h.264/avc standard, ieee trans. circuits syst. video technol., vol. 17, no. 9, pp.1103-1120, 2007. [2] j. reichel, h. schwarz, and m. wien, joint scalable video model 11 (jsvm 11), joint video team, doc. jvt-x202, 2007. [3] i. amonou, n. cammas, s. kervadec, s. pateux, optimized rate distortion extraction with quality layers in the scalable extension of h.264/avc, ieee trans. circuits syst. video technol., vol. 17, no. 9, pp.1186-1193, 2007. [4] ehsan maani, aggelos k. katsaggelos, optimized bit extraction using distortion modeling in the scalable extension of h.264/avc, ieee trans. image process., vol. 18, no. 9, pp.2022-2029, 2009. optimal bitstream adaptation for scalable video based on two-dimensional rate and quality models 481 [5] yu wang, lap-pui chau, kim-hui yap, spatial resolution decision in scalable bitstream extraction for network and receiver aware adaptation, proceedings of the 2008 ieee international conference on multimedia and expo, pp.577-580, 2008. [6] y. wang, z. ma, y.-f. qu, modeling rate and perceptual quality of scalable video as function of quantization and frame rate and its application in scalable video adaptation, proceedings of the ieee 17th packet video workshop, pp.1-9, 2009. [7] guangtao zhai, jianfei cai, weisi lin, xiaokang yang, wenjun zhang, three dimensional scalable video adaptation via user-end perceptual quality assessment, ieee trans. broadcasting, vol.54, no.3, pp.719-728, 2008. [8] a. rahim, z.s. khan, f.b. muhaya, m. sher, m.k. khan, information sharing in vehicular adhoc network, int. j. of computers, communications and control, 5(5):892-899, 2010. [9] a. rusan, c.-m. amarandei, a new model for cluster communications optimization, int. j. of computers, communications and control, 5(5):910-918, 2010. [10] junhui hou, shuai wan, fuzheng yang, "frame rate adaptive rate model for video rate control," proceedings of the 2010 ieee international conference on multimedia communication, pp.226229, 2010. [11] h.264 svc reference software (jsvm 9.19.7) and manual cvs sever, jvt, 2010 [online]. available: garcon.ient.rwth-aachen.de. [12] xiang li, peter amon, andreas hutter, andr kaup, performance analysis of inter-layer prediction in scalable video coding extension of h.264/avc, ieee trans. broadcasting, vol. 57, no. 1, pp6674, 2011. [13] m. pinson, s. wolf. a new standardized method for objectively measuring video quality, ieee transactions on broadcasting, vol. 50, no.3, pp.312-322, 2004. [14] z. wang, a. c. bovik, h. r. sheikh, and e. p. simoncelli, image quality assessment: from error visibility to structural similarity, ieee trans. image process., vol. 13, no. 4, pp.600-612, 2004. [15] t. wiegand, g. j. sullivan, j. reichel, h. schwarz, m. wien, eds., amendment 3 to itu-t rec. h.264 (2005) | iso/iec 14496-10:2005, scalable video coding, 2007. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 799-812 discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level g. millán, h. kaschel, g. lefranc ginno millán, héctor kaschel universidad de santiago de chile departamento de ingeniería eléctrica avda. libertador bernardo o’higgins #3363. estación central. santiago chile e-mail: {ginno.millan,hector.kaschel}@usach.cl gastón lefranc pontificia universidad católica de valparaíso escuela de ingeniería eléctrica avda. brasil #2147. valparaíso chile e-mail: glefranc@ucv.cl abstract: traffic streams, sources as well as aggregated traffic flows, often exhibit long-range-dependent (lrd) properties. this paper presents the theoretical foundations to justify that the behavior of traffic in a high-speed computer network can be modeled from a self-similar perspective by limiting its scope of analysis to the network layer, since the most relevant properties of self-similar processes are consistent for use in the formulation of traffic models when performing this specific task. keywords: long-range-dependent, network layer, network traffic, self-similar process. 1 introduction still rooted in the genesis of the design of present day high speed computer networks is the trend to scalable development with a base prepared for the primary support of processing applications which, although requiring a reliable transport service, are not demanding in terms of other quality of service (qos) parameters such as delay, flow rate, latency, and loss rate. it is a reality that is subordinated to financial justifications, unable to reflect both the behavior and the operation of present day network environments, most of them characterized not only by their scalability and support of services and added value applications with high band width and availability requirements, but also by their convergence, complementarity, and interoperability. on the other hand, sustained development in the fields of optical, nanometric, and quantum technologies with greater emphasis has allowed the evolution of computer networks, providing them with the capacity needed to satisfy simultaneously the requirements of diverse traffic, creating the scenario inherent to the appearance of new services and applications for which this characteristic is essential; we are in the presence of services that involve real time traffic and which, because of their nature, have highly demanding needs to and from the available bandwidth. therefore, the new high speed networks must be capable of providing a service that not only ensures the availability of the resources, but is also provided under quality conditions that are well defined, parameterizable, adaptable, and dynamic in their assignment, because the requirements of present day real time applications and services cannot be satisfied using the high-level protocols if the carrier networks do not offer the necessary guaranties. it is crucial, therefore, to make quantitative analyses that evaluate the service quality offered by the new technologies, leaving copyright c⃝ 2006-2010 by ccc publications 800 g. millán, h. kaschel, g. lefranc aside the unsubstantial bases, arguments, and assumptions. the main problem that appears at the time of making a rigorous evaluation of the performance of a communications network is that of modeling the input traffic to the network. in fact, to many authors, traffic modeling is the most critical problem related to the evaluation of the performance of communications networks, because the success of the analyses depends directly on how representative of reality are the traffic models used. historically, traffic modeling had its origin in conventional telephony systems and has been based almost exclusively on assumptions of independence between the times of arrival of successive grids and exponential durations in the use of the resources. concretely, the acceptance of both assumptions implies a restriction toward the stochastic processes so that they obey a universe of poisson or markov processes. in that respect, the usefulness of their use by network designers as well as by systems analysts for planning capacities and predicting performance is not questioned [1]. however, in a wide range of real world cases it has been verified that the results predicted from the analysis of tails differ significantly from the actual observed performance, and this marked discrepancy has its origin in the fact that traffic processes often present lrd on many or all the temporal scales, while poisson or markov models, which have no memory or show short-range dependence (srd), present traffic flow over much shorter time scales. as a result, there is a tendency to produce highly optimistic forecasts of performance due to the use of distributions with finite variance for characterizing the periods with the presence and absence of burst packets. in view of the above arguments, the following working hypothesis is proposed: “it is completely feasible to restrict the evolution of a statistically self-similar process to a well defined application setting without altering its nature and its more important properties, in that way highlighting the validity of its postulates and giving greater plausibility to its physical interpretation.” in this context, the plausibility refers to the action of conferring an admissible character, therefore worthy of consideration, to one or several parameters that are components of an analytical model, whose interpretations do not constitute only a mathematical idealization. this paper presents a detailed discussion of the theoretical bases that justify the fact that the behavior of a high speed computer network traffic in the presence of long-range dependence can be modeled from a selfsimilar perspective limiting its analysis setting to the network layer level, stressing that all the most relevant properties of the self-similar processes are consistent for use in the formulation of traffic models when this distinction is made, since the need for its concept is justified to describe the traffic that is registered in the settings of present day computer networks. 2 bibliographic discussion since kleinrock’s publication [2], later expanded in [3], which establishes the mathematical theory that governs networks with packet switching, the existence of temporal dependence in the performance of the different types of data traffic flows has become an exciting field of research with countless discoveries, with the huge impact and influence that they have on the performance of tail systems standing out among them. the latter fact accounts for both the current existence and coexistence of a wide variety of input traffic models that show structures with rather complex correlations, which are applied to cases in which the models of the communications systems that are being studied allow adequate analytic handling. in any case, these models, basically markovian, neglect the temporal correlations starting from a given temporal separation, even if the latter can be increased arbitrarily at the expense of complicating the models with additional parameters. since 1993 an increasing number of published studies have documented that the data traffic pattern is well modeled by self-similar processes in a wide range of real world and network situations [1], with their top reference point and foundational work in the research of leland, willinger, taqqu, and wilson [4], presented originally at acm sigcomm ’93, and discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 801 then amended and extended in [5]. in spite of the existence of some previous papers that provide informal descriptions of this performance, such as [6][8], and to an exception from mandelbrot himself [9], no one had submitted the idea of self-similarity applied to the analysis of data traffic in itself, and that paper shattered the illusion that a simple tail analysis, based on the assumption that the traffic follows a poisson distribution can model adequately all the network traffic [1], showing that traffic in ethernet has a self-similar or fractal nature and therefore requires new modeling and analysis statements. in this respect, the methodology followed by the authors involves a massive compilation of traffic samples from 1898 through 1992, from different ethernet lans of the research and engineering center of bellcore in morristown, usa [5], which resulted in a detailed temporal high resolution collection totaling more than 100 million packets with 10 µs precision, grouped in four sets of measures available in [10], and in the application of a rigorous and exhaustive statistical analysis based on the modeling of the traffic sources using hyperbolic tail distributions, in particular pareto’s, comparing the results with the behavior of the traffic flow of the real traces, and in the observation of the estimated value of hurst’s parameter (h) for each of the four sets of traffic samples, expressed for processing as a series of ordered pairs of data composed of the time of arrival and the size of the ethernet packet, as well as for each level of temporal traffic aggregation considered. a complete analysis of both the statement and the methodology followed by the authors is found in [11] and [12], and their proofs in [13]. specifically, this research shows that: • it is possible to model ethernet traffic producing results similar to those of real ethernet traffic using few parameters (parsimony), and with the fundamental added value of being physically plausible. • ethernet lan traffic can be modeled through the superposition of many sources that vary between a state of burst transmission and one of inactivity, using for their characterizations infinite variance distributions. in particular it is proved using a pareto distribution. • ethernet traffic is statistically self-similar regardless of the place and time at which it is checked. • the degree of self-similarity measured in terms of hurst’s parameter (h) is a function of the use factor of ethernet and can be used to get the magnitude of the traffic bursts. • traditional traffic models are unable to capture the property of self-similarity. these results and their deep implications, as can be noted from the preceding paragraphs, produced a host of researchers seeking to observe that same behavior associated with the largest variety of communications and applications scenarios. what follows is an exhaustive literature review of research results in relation to their field of application, that approaches the treatment of systems communications systems and applications from a self-similar perspective. it should be noted that the idea is not only to show the application of this view, but also to present results that dissent from it. the self-similar or fractal behavior of traffic in wan networks is shown in [14][16], pointing out the failure of poisson models to represent the strong correlations that exist at different temporal scales. evidence and conclusions on this behavior in traffic due to the www are provided in [17][19], considering interconnection scenarios as well as traffic patterns in browsers. on the other hand, [20] and [21] point out the fractal nature of the data flow of the protocols that compose the signaling system 7 in common channel signaling networks [22], showing that the traditional methods are not adequate to interpret their behavior, and the duration of the calls are better characterized if hyperbolic tail distributions are used. in another setting, [9] and [23][25] show that the lrd 802 g. millán, h. kaschel, g. lefranc is a characteristic inherent to vbr video traffic that does not have any relation with the type of codec or the number of special effects that contain the recorded scenes. specifically, the vbr video traffic flow transmitted through b-isdn, atm, and internet networks are studied, showing that the behavior of the distribution’s tail that represents the marginal band width can be described exactly if hyperbolic tail distributions (like pareto) are used; that the self-correlation function of the video sequences decays hyperbolically (this is equivalent to long-range dependence) and it can be modeled using self-similar processes, and finally, that the use of models that only capture the srd is inappropriate for characterizing this kind of traffic because it overestimates the performance, leading to insufficient resource assignments, which finally derives in poor perceptions by the users of the networks when difficulties appear to achieve the service quality expected by them. in the field of wireless communications, in [26] it is shown that traffic in cdpd networks has an lrd behavior. using the r/s and variance-time methods, it estimates values for hurst’s parameters of h = 0.8 and h = 0.9, respectively, thus disregarding the use of predictive models based on poisson arrival processes. in [27] an investigation is made of the impact of mobility on the added traffic in wireless networks in the city of bristol, uk, and of whether the applications of voice and data together produce self-similar traffic. it is concluded that the added traffic generated by the mobile users that use voice and data services together show a self-similar lrd behavior that has no relation with the rate of penetration of the services. they warn on the drastic changes that wireless multimedia service implementations must undergo in terms of the traffic profiles used in their models to be able to capture that characteristic. from another perspective, in [28] it is shown that traffic in wireless networks with ad hoc topology is self-similar and forecastable as a consequence of the fact that subjacent temporal self-similar series are, in essence, predictable. the required data are captured using a wireless test network with ad hoc topology. the analysis of traffic and the design of wireless ip networks describing tcp traffic as dominant in present day internet is approached in [29], indicating that its statistical nature shows the same behavior over all the temporal scales. it also presents an analysis of traffic traces which shows the statistically self-similar nature of the traffic due to www and to the vbr video over these types of networks. in [30] develops a new model for traffic in wireless networks that has its origin in the alternating fractal renewal processes (afrp) proposed as traffic models in [14], and in the wide band network traffic model using the extended alternating fractal renewal processes (eafrp) proposed in [31]. with the incorporation of a limiting rate for alternation between the two states, called extended limiting rate, the rate-limited eafrp model is formulated, which assumes an advance with respect to the wireline models used traditionally for model traffic in wireless networks, since it takes care of its two main deficiencies: omission of the effects of the lrd temporal correlations, and inability to make reliable performance forecasts due to the high dependence on short-range processes. in [32] there is an extensive discussion of the problem of modeling the data traffic that flows from and to the wireless networks with respect to the internet, taking care of large scale wireless communication structures. based on the methodology presented in [33] and tested extensively in [34], [35], it is concluded that the circulation of traffic flows cannot be treated using poisson models, and that their behavior is statistically self-similar. in [36] two solutions are proposed to create an interconnecting bridge between wimax and wifi links. the former is based on maintaining a certain level of qos from one end to the other regardless of the wireless technology used, while the latter is aimed at the reduction of the complexity in its physical implementation at the expense of not providing any qos guaranty. in both cases the performance of the system is compared with computer simulations that consider real time traffic with long-range dependence that is manifested trough a polynomial type decay of the self-correlation function. to model the traffic generated by the many terminals within the wlan, recourse is made to the on/off methodology presented in [14], supporting its foundations on [37]. finally, in the same context, discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 803 but in another field of application, [38] deals with the use of fractal geometry in the antenna design process, while in [39] a general synthesis methodology is proposed that covers the efficient design of fractal antennas and their wimax applications. in the field of optical networks, [40] deals extensively with the use of self-similar traffic models, in particular that proposed in [15], as the only way to represent reality faithfully and to evaluate the performance of ethernet passive optical networks. in [41] a new protocol is proposed for labeled switching in optical networks with optical burst switching (obs), with time/space labeling that allows to keep the signaling always joined with the addressing functions. the results obtained are based on simulations under the premise of accepting the self-similarity of the traffic in the networks with wavelength division multiplexing. finally, [42] reports on the implications of reducing the self-similarity of ip traffic by the obs assembly algorithms. in spite of what all the above arguments imply in terms of putting in evidence the merits and advantages of the use of parsimonious models and which also provide a plausible physical interpretation to its parameters, the question arises on the degree of prevalence of these self-similar traffic patterns and on which are the conditions for the analysis of performance to depend critically on considering self-similarity. in this sense it is valid to inquire not only about the origin of the data that have been analyzed with respect to the synthetic traces generated, but also on what is the context or the setting in which these comparisons have been made, and where are the results aimed at. it is no less true that in the light of all the research presented, it seems even irrelevant to think of a traditional analysis of tails to represent data traffic flow in present day high speed networks. but this is neither categorical nor restrictive; this methodology cannot be disregarded flatly, and neither is its proper to think that the former is the unified solution by simply arguing it ubiquitousness in all the temporal scales, because this, analyzed from a higher perspective, and even though the presence of the correlation in the traffic is not under discussion, brings about the question of whether the correlation structure alone is sufficient to characterize traffic over self-similar processes. the context described in this way is very extensive, and therefore the results must be limited. there are several reports that put in evidence the lack of consensus on the application field of self-similar models and of the impact of lrd on the performance of communications systems, and even though their number is much more limited than that of those whose results support exactly the opposite, their conclusions must be analyzed carefully because they bring forth, in essence, a critical and fundamental matter in common: “since the traditional tail models are unable to put in evidence the self-similarity characteristic, its validity for predicting performance would be supported if it is shown that self-similarity does not have a measurable impact on performance,” and even more so if it is shown that the models based on self-similar stochastic processes fail when considering the impact of important characteristic parameters in each particular network case. precisely based on this last point, [43] presents a detailed analysis of a fault detected in self-similar models by considering that they are incapable of reflecting the impact of the range of temporal scales of interest for evaluating the performance and the prediction of problems, and those first order statistics such as the marginal distribution of the process. based on traces generated by a jpeg encoder of an ntsc television channel and the traces of [6] it is reported that: • there is a correlation horizon such that the rate of loss does not affect performance beyond it. • the correlation level considered for evaluating performance depends not only on the structure of the source traffic correlation, but also on the temporal scales belonging to the system that is being studied. • the scale factor considered has a considerably greater impact on the rate of loss than hurst’s parameter or the size of the buffers. 804 g. millán, h. kaschel, g. lefranc • increasing the size of the buffers helps reduce the rate of loss if we are dealing with srd traffic. on lrd traffic it does not have a considerable impact. the in-depth analysis of this work shows that the impact of the lrd is dealt with over the contribution of the single server model in relation to the size of the input buffer, using for that purpose a model of fluid [44], [45], that presents a hyperbolic drop down to a given cut coefficient from which it drops to zero. based on the results from many simulation experiments using video traces as well as ethernet traces for different values of hurst’s parameter, cut coefficients and buffer sizes, and a wide range of marginal distributions, the authors discovered the existence of a critical cut coefficient that they call “correlation horizon,” such that the rate of loss is not affected if the cut coefficient is increased above it. therefore, the correlation horizon separates the relevant from the irrelevant correlation coefficients with respect to the rate of loss. finally, in their conclusions the authors argue that because of the existence of a finite cut horizon (which in the case of the finite buffers is a function of their size), any model that captures the correlation structure up to that horizon will be valid to represent the system. on the contrary, if the correlation horizon is infinite, i.e., the system’s time scale cannot be determined clearly, then selfsimilar models must be used. based on the above point, [46] states that in the case of considering a finite buffer, the effects of the lrd are detectable only if it makes the occupation periods become sufficiently long, since the behavior of their tail is affected largely by the characteristics of the traffic that arrives during those periods. in that respect, this appraisal is based on [47], where through the definition of the concept of “relevant temporal scale” as the typical duration at which all the arrivals at a tail interact and affect collectively their behavior, it is deduced that for the large buffers the size of the tail can be large, so many arrivals interact in the tail and cause the long-range correlation to cause more losses than those predicted by the models that are not capable of considering it or do not consider it. however, in the case of small buffers, where few arrivals interact, the effect of the lrd is imperceptible. therefore, the standpoint on the appraisal of the effects of the lrd in terms of its impact on the occupied periods is depicted by the authors through the concept of “reset effect,” which involves that as the buffer in question is emptied, the system forgets everything. in this way, in the case of vbr video servers, since they are sensitive to the delay and to the loss of meshes, the intensity of the traffic flow will not be very large, giving rise to short periods of occupation and a very pronounced reset effect in the regions of practical operation, an effect that will also be reinforced in the case of finite buffers, due to the truncating effect of these types of buffers. the latter is due to the fact that an occupied period in which there is overflow is shorter than the corresponding one in an infinite buffer model, or similarly, there can be several periods occupied in the finite buffer version before the corresponding occupation period ends in the infinite buffer version. then, through the use of markov models, the authors finally report that when the srd is strong and parameter h is moderate, the lrd has no impact on the occupation of the buffer, and therefore their models give rise to good estimations, and in the case in which the srd shows a slightly pronounced behavior and parameter h has a high value, the truncating effect is sufficiently strong for their models to estimate well the rate of loss, even though it is admitted that for a high traffic intensity and a large buffer size the estimation of the mean size of the tail is bad. in [48], a research having characteristics similar to those of the previous one, the concept of critical temporal scale (cts) is introduced as follows. given the size of the buffer and the marginal distribution of mesh sizes, the cts of a vbr video source is defined as the number of mesh correlations that contribute effectively to the rate of loss of cells. using models of the video traces of [9], the authors state that for markovian models as well as with lrd, the cts is finite and decreases with the size of the buffer. consequently, and under the assumption that the size of the buffer required to multiplex a large number of vbr video source is typically small due to the restrictions that correspond to real time applications, it is concluded that for buffer sizing scenarios in atm discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 805 networks it is not necessary to capture the correlations with the lrd of a video source even if the traffic shows this behavior markedly, because for all practical cases the srd has a dominant impact. the following can be argued with respect to this last conclusion and to the research in general: • the result is based on an analysis that relies completely on marginal gaussian distributions, and even though it can be explained from the perspective of keeping an adequate analytic treatment, it is not sufficient for validating absolute generalizations of the “in all cases” type nor to attenuate the fact of working with distributions independent of the behavior of others. • the behavior of the models if hyperbolic tail distributions are used or if they are tested with distributions without margins is not reported. an extended version of this research is [49], where not only these two considerations are taken up, but attention is also given to the relevance of the srd and the lrd in real time vbr video traffic in wide band networks (particularly atm) and in the integrated internet services, and through a theoretical and simulations approach, the authors tackle the problem of determining admissible ranges for the probability of cell loss and its relation with the size of the buffers in terms of the maximum delay. it should be noted that this research takes place within the context of validating the use of markovian models and srd for video applications, and for that purpose the authors show basically that: • the long-range correlations have no impact on the probability of cell loss. • an adequately implemented markov model that captures the relevant range of correlation provides good predictions of performance. • the capture of the lrd by itself can lead to an underestimation of the necessary resources in the network. • the cts explains the strong relation existing between the probability of cell loss in atm and the srd at the expense of the lrd. that is, for the applications of interest, the cts is small and more sensitive to the short-range than to the long-range traffic correlations. • analytically simple markovian models are feasible and have the capacity to harmonize marginal distributions and correlations over a given critical temporal scale. as a last example of the already mentioned lack of consensus in the field of video traffic, [61] presents a model of a vbr traffic source that uses finite states markov chains, and states that although the original model presented in [26] is good in terms of its parsimony, it does not lend itself adequately to analytic studies. summarizing, six reports have been presented so far with a common denominator: dissenting on the blind applicability of the self-similar model and its implications in performance, considering as examples systems that involve video traffic, mainly of the vbr type. but as expected, this is not the only field in which discrepancies appear, and more acutely and in direct relation with the working hypothesis stated there is a number of reports that question the validity of the use of hurst’s parameter as a single descriptor to characterize the lrd of a self-similar stochastic process. but before dealing with this topic a last group of reports are mentioned that have a critical position toward self-similar models in areas other than video traffic. in the field of wireless networks and their associated technologies, [51] studies the behavior of the self-similarity characteristic of traffic when it goes from a wired to a wireless network through a gateway, concluding that the device can change the traffic’s degree of selfsimilarity as a direct consequence of the reassembly and repacking operations on the self-similar 806 g. millán, h. kaschel, g. lefranc input traffic, even reaching its annulment. in [52] the above behavior is reaffirmed considering the study of the influence of the mac mechanism of ieee 802.3e on lrd traffic when it goes through one or several links, suggesting that the traffic transported through a wlan interface undergoes deep structural changes in its statistical model, and showing that the fractional gaussian traffic model is inadequate to describe its behavior. finally, in the field of obs networks, [53] reports the development of an algorithm for the assembly of bursts that has the purpose of reducing the degree of self-similarity of ip traffic. it is admitted that this is a characteristic inherent to www traffic, but its presence causes an important disadvantage in terms of the performance of the tails, so it must be reduced in favor of a random srd traffic. the first paragraph of this page mentions the existence of some research that questions the use of hurst’s parameter as a single indicator to capture the self-similarity characteristic of a stochastic process that boasts of being such, in addition to stressing the importance that this fact has to prove the stated work hypothesis. in this respect, and recalling its statement, it is specified that the idea is not to validate exhaustively the self-similarity parameter or hurst’s parameter, but only to obtain an indicator of the presence of the characteristic in representative traffic series. consider the following definition: the valuated real process x(t) , t ∈ r is self-similar with h > 0 if for all a > 0 the finite-dimensional distributions of x(at) , t ∈ r are identical to the finite-dimensional distributions ah x(t), t ∈ r, i.e., {x(at), t ∈ r} =d {ahx(t), t ∈ r} ∀a > 0 (2.1) where =d means equality for all the finite-dimensional distributions [54], [55]. the property defined by (1), is usually known as the scaling property, and a direct consequence of its definition is that a self-similar process preserves its distribution, and thereby its statistics, since it is subjected to a temporal scaling. also, from the same standpoint parameter h, or hurst’s, is known as the self-similarity parameter for the stochastic process x(t) to which it is associated. the first report that recognized and approached the need to have additional parameters to characterize the variability of the traffic is [26], where although it is accepted that h is necessary for that purpose, it is not sufficient. through a detailed statistical analysis of vbr video samples, the authors conclude that the self-correlation of the vbr video sequences decays hyperbolically, equivalent to the lrd. but since the lrd is related to the frequency of the components of the process and not to the distribution of the bandwidth requirements, if the marginal distribution is compressed because the coefficient of variability (coefficient between the mean bandwidth and the standard deviation) tends to zero when the number of multiplexed input sources that give rise to the traffic tend to infinity, the traffic, as the number of sources increases, is confined within narrow statistical limits, and although within these frontiers the behavior continues to be long range (result confirmed through h = 0.7), in the range in which the standard deviation is much less than the product of the mean of the bandwidth distribution and the number of multiplexed input sources, the traffic does not depend on h. therefore, h is necessary to characterize the variability, but it is not sufficient. so an adequate characterization of video traffic must consider at least the following four parameters: the mean of the bandwidth distribution, the number of multiplexed input sources, the standard deviation, and the coefficient of variability derived from them. the authors make it clear, finally, that these results are valid only if they follow the central limit theorem [56], i.e., when the standard deviation is finite. although the above result may seem to be expected because the parsimony can lead to imprecision in both the interpretations and the results, it is not so in relation to the effect produced by assuming that if the detailed behavior of the components of a given stochastic process, p1, that shows some degree of self-similarity h1 is not known, then a biunivocal correspondence between h1 and p1 is clearly established. in other words, processes that show clearly differentiated behaviors are possible, but their correlation structures must be characterized by the same h parameter. in this discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 807 respect, [57] approaches this problem considering the asymptotic behavior of an unlimited buffer of a multiplexor under different self-similar input traffic models, in particular, cox’s infinite server models, or m/g/∞ [58], and fractional gaussian noise models [59], [60]. in this way the authors report getting two completely different behaviors for the buffer’s probability tail, namely that while with the former the drop is mostly hyperbolic, with the latter it presents a wiebull asymptotic behavior [61], simply showing that hurst’s parameter is insufficient as a single descriptor to characterize the lrd in input traffic models [62], [63]. in [64] it is also shown how synthetic traces that have identical self-similarity parameters and means differ significantly from one another. finally, in [65] the insufficiency of hurst’s parameter by itself as a precise descriptor of the long-range dependence of the traffic in an ethernet network is reported. in this research it is shown convincingly, through an analysis of tails applied to a series of representative data of the traces of the real traffic registered in the ethernet network of the department of computer science of the university of california at los angeles, ca, usa, that hurst’s parameter does not provide a precise prediction of the performance of the tails for a given lrd traffic, and that its behavior is not monotonic with respect to the presence or absence of bursts if the original series is disaggregated into smaller ones, which also implies that h does not serve to characterize the relative importance of groups within a whole. it is clearly seen that both results are opposed to the conventionalism of [6] since h cannot be used to size the traffic bursts in ethernet. questions on where, when, and under what set of circumstances the use of self-similar processes in modeling communications systems and related applications is completely valid, as well as the uncertainty on the existence of a scenario that brings together criteria and its influence on the basic characteristics of the processes remain unanswered. however, they seem to have an answer derived from the analysis of the research of ryu and lowen, [66], [67], on the use of fractal point processes (fpp) for modeling and analyzing self-similar traffic in networks [68]. concretely, this research proposes to make a distinction between self-similarity at the application level and self-similarity at the network level for the purpose of the design and administration of wideband networks in terms of a correct provision of the qos required by the applications, and their best results are the proofs that self-similarity of vbr traffic can frequently be ignored in the face of the sizing of the buffers in atm, and that self-similar traffic at the applications level can be managed effectively in the context of the admission control for assigning resources with service quality guarantees, because it is independent of the network conditions under which it is sent. 3 conclusions a detailed discussion has been presented of the theoretical bases that support the position of considering that high speed computer network traffic shows self-similar behavior and long-range dependence. with respect to the above, and considering the arguments in favor and against this position, it is believed that traffic in present day computer network settings is of a statistically self-similar nature and presents a pronounced long range dependence (lrd). accepting the above singularities as inherent to the traffic flow of present day high speed network settings, it is proposed that their behaviors are amenable to being modeled by limiting their applicability to the network layer level, estimating that the most relevant properties of self-similar stochastic processes are consistent to be used in the formulation of traffic models when that distinction is made, since the concepts of self-similarity and long-range dependence are justified by the need to describe faithfully the real traffic processes in present day computer network settings. to depict the concepts with which this research deals, the following work hypothesis is proposed: “it is completely feasible to restrict the evolution of a statistically self-similar process to a well defined application setting without altering its nature and its more important properties, in that 808 g. millán, h. kaschel, g. lefranc way highlighting the validity of its postulates and giving greater plausibility to its physical interpretation.” considering all the arguments given above, it is stated that it is theoretically feasible to prove it, since all its arguments are correctly founded and supported, and only their proof at the analytic and experimental levels remains as a future task. bibliography [1] w. stallings, redes e internet de alta velocidad. rendimiento y calidad de servicio, 2nd ed., madrid, pearson prentice hall, 2004, pp. 224-237. [2] kleinrock, information flow in large communication nets, ph.d. thesis, research laboratory of electronics, massachusetts institute of technology, cambridge, ma, 1961. [3] l. kleinrock, communication nets: stochastic message flow and delay, new york, mcgrawhill, 1964. [4] w.e. leland, m.s. taqqu, w. willinger, and d.v. wilson, on the self-similar nature of ethernet traffic, in proc. acm sigcomm ?93, san francisco, ca, pp. 183-193. [5] w.e. leland, m.s. taqqu, w. willinger, and d.v. wilson, on the self-similar nature of ethernet traffic (extended version), ieee/acm trans. netw., vol. 2, no. 1, pp. 1-15, february 1994. [6] a. erramilli, r.p. singh, and p. pruthi, application of deterministic chaotic maps to model packet traffic in broadband networks, in proc. 7th itc specialist seminar, morristown, nj, 1990. [7] w.e. leland and d.v. wilson, high time-resolution measurement and analysis of lan traffic: implications for lan interconnections, in proc. ieee infocom ?91, bal harbour, fl, pp. 1360-1361. [8] j. beran, r. sherman, m.s. taqqu, and w. willinger, long-range dependence in variablebit-rate video traffic, ieee trans. commun., vol. 43, no 2/3/4, pp. 1566-1579, feb/mar/apr 1995. [9] b. mandelbrot, self-similar error cluster in communication systems and the concept of conditional stationarity, ieee trans. commun. technol., vol. 13, no. 1, pp. 71-90, mar. 1965. [10] http://ita.ee.lbl.gov/html/contrib/bc.html. [11] w. willinger, m.s. taqqu, r. sherman, and d.v. wilson, self-similarity through highvariability: statistical analysis of ethernet lan traffic at the source level, in proc. acm sigcomm ’95, cambridge, ma, pp. 100-113. [12] w. willinger, m.s. taqqu, r. sherman, and d.v. wilson, self-similarity through highvariability: statistical analysis of ethernet lan traffic at the source level, ieee/acm trans. netw., vol. 5, no. 1, pp. 71-86, feb. 1997. [13] m.s. taqqu, w. willinger, and r. sherman, proof of a fundamental result in self-similar traffic modeling, acm sigcomm computer communication review, vol. 27, no. 2, pp. 5-23, apr. 1997. discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 809 [14] a. adas and a. mukherjee. (1994, dec.).on resource management and qos guarantees for long range dependent traffic. georgia inst. tech., ga. [online]. available: http://hdl.handle.net/1853/6797. [15] s.m. klivansky and a. mukherjee. (1995, aug.). the nfsnet. georgia inst. tech., ga. [online]. available: ftp://ftp.cc.gatech.edu/pub/coc/tech_reports/95/git-cc-95-07.ps.z. [16] v. paxson and s. floyd, wide-area traffic: the failure of poisson modeling, ieee/acm trans. netw., vol. 3, no. 3, pp. 226-244, jun. 1995. [17] m.e. crovella and a. bestavros. (1995, oct.). explaining world wide web traffic selfsimilarity. boston univ., ma. [online]. available: http://www.cs.bu.edu/techreports. [18] m.e. crovella and a. bestavros, self-similarity in world wide web traffic: evidence and possible causes, ieee/acm trans. netw., vol. 5, no. 6, pp. 835-846. dec. 1997. [19] m. arlitt, r. friedrich, and t. jin, workload characterization of a web proxy in a cable model environments, performance evaluation review, vol. 27, no. 2, pp. 25-36, sep. 1999. [20] d.e. duffy, a.a. mc intosh, m. rosenstein, and w. willinger, statistical analysis of ccsn/ss7 traffic data from working ccs subnetworks, ieee j. sel. areas commun., vol. 12, no. 3, pp. 544-551, apr. 1994. [21] p. pruthi and a. erramilli, heavy-tailed on/off source behavior and self-similar traffic, in proc. 1995 ieee international conference on communications, seattle, wa, vol. 1, pp. 445-450. [22] g. rufa, developments in telecommunications. whit a focus on ss7 network reliability, berlin, germany: springer-verlag, 2008. [23] m.w. garrett and w. willinger, analysis, modeling and generation of self-similar vbr video traffic, computer communication review, vol. 24, no. 4, pp. 269-280, oct. 1994. [24] b. tsybakov and n.d. georganas, on self-similar traffic in atm queues: definitions, overflow probability bound and cell delay distribution, ieee/acm trans. netw., vol. 5, no. 3, pp. 397-409, jun. 1997. [25] l. yellanki, performance evaluation of vbr video traffic models, m.sc. thesis, dept. comput. sci., univ. saskatchewan, saskatoon, sk, canada, 1999. [26] m. zhonghua, analysis of wireless data network traffic, m.sc. thesis, school of engineering science, simon fraser univ., burnaby, bc, canada, 2000. [27] d.r. basgeet, j. irvine, a. munro, p. dugenie, d. kaleshi, and o. lazaro, impact of mobility on aggregate traffic in mobile multimedia system, in the 5th international symposium on wireless personal multimedia communications, honolulu, hi, 2002, vol. 2, pp. 333-337. [28] q. liang, ad hoc wireless network traffic-self-similar and forecasting, ieee commun. lett., vol. 6, no. 7, pp. 297-299, jul. 2002. [29] t. janevski, characterization and classification of ip traffic, in traffic analysis and design of wireless ip networks, norwood, ma: artech house, inc., 2002, ch. 5, pp. 135-165. [30] j. yu, modeling of high-speed wireline and wireless network traffic, ph.d. dissertation, elect. comput. eng. dept., drexel univ., philadelphia, pa, 2005. 810 g. millán, h. kaschel, g. lefranc [31] x. yang, impulsive self-similar processes, with applications in broadband communication system modeling, ph.d. dissertation, elect. comput. eng. dept., drexel univ., philadelphia, pa, 2001. [32] j. ridoux, a. nucci, and d. veitch, seeing the difference in ip traffic: wireless versus wireline, in proc. 25th ieee international conference on computer communications, barcelona, spain, 2006, pp. 1-12. [33] n. hohn, d. veitch, and p. abry, does fractal scaling at the ip level depend on tcp flow arrival processes?, in proc. 2nd acm sigcomm workshop on internet measurement, marseille, 2002, pp. 63-68. [34] n. hohn, d. veitch, and p. abry, cluster processes, a natural language for network traffic, ieee trans. signal process., vol. 51, no. 8, pp. 2229-2244, aug. 2003. [35] n. hohn, d. veitch, and p. abry, the impact of the flow arrival process in internet traffic, in proc. ieee int. conf. acoustics, speech, and signal processing, hong kong, 2003, vol. 6, pp. vi-37-40. [36] r. fantacci and d. tarchi, bridging solutions for a heterogeneous wimax-wifi scenario, journal of communications and networks, vol. 8, no. 4, pp. 369-377, dec. 2006. [37] a. erramilli, m. roughan, d. veitch, and w. willinger, self-similar traffic and network dynamics, in proc. of the ieee, vol. 90, no. 5, pp. 800-819, may. 2002. [38] j.p. gianvittorio and y. rahmat-samil, fractal antennas: a novel antenna miniaturization technique, and applications, ieee antennas propagat. mag., vol. 44, no. 1, pp. 20-36, feb. 2002. [39] r. azaro, e. zeni, m. donelli, and a. massa, fractal-based methodologies for wimax antenna synthesis, in wimax: technologies, performance analysis, and qos, s. ahson and m. ilyas, eds. boca raton, fl: crc press, 2008, ch. 2, pp. 21-39. [40] g. kramer, ethernet passive optical networks, usa, mcgraw-hill, 2005. [41] a. huang, b. mukherjee, l. xie, and z. li, time-space label switching protocol (tslsp), in high-performance packet switching architectures, i. elhanany and m. hamdi, eds., germany: springer-verlag, 2007, ch. 9, pp. 197-210. [42] m. maier, optical switching networks, new york: cambridge university press, 2008. [43] m. grossglauser and j-c bolot, on the relevance of long-range dependence in network traffic, ieee/acm trans. netw., vol. 7, no. 5, pp. 629-640, oct. 1999. [44] j.-y. le boudec and p. thiran, network calculus. a theory of deterministic queuing systems for the internet, germany: springer-verlag, 2004, pp. 3-6. [45] a. adas, traffic models in broadband network, ieee commun. mag., vol. 35, no. 7, pp. 82-89, jul. 1997. [46] d.p heyman and t.v. lakshman, what are the implications of long-range dependence for vbr-video traffic engineering?, ieee/acm trans. netw., vol. 4, no. 3, pp. 301-317, jun. 1996. discussion of the analysis of self-similar teletraffic with long-range dependence (lrd) at the network layer level 811 [47] k. sriram and w. whitt, characterizing superposition arrival processes in packet multiplexers for voice and data, ieee j. sel. areas commun., vol. 4, no. 6, pp. 833-846, sep. 1986. [48] b.k. ryu and a. elwaid, the importance of long-range dependence of vbr video traffic in atm traffic engineering: myths and realities, computer communication review, vol. 26, no. 4, pp. 3-14, oct. 1996. [49] b.k ryu and a. elwaid, the relevance of short range and long-range dependence of vbr video traffic to real-time traffic engineering, unpublished. [50] k. chandra and a.r. reibman, modeling one-and two-layer variable bit rate video, ieee/acm trans. netw., vol. 7, no. 3, pp. 398-417, jun. 1999. [51] j. yu and a. petropulu, is high-speed wireless network traffic self-similar?, in proc. of ieee int. conf. acoustics, speech, and signal processing, montreal, canada, 2004, vol. 2, pp. ii-425-428. [52] s. bregni, p. giacomazzi, and g. saddemi, transport of long-range dependent traffic in single-hop and multi-hop ieee 802.3e networks, in proc. ieee global telecommunications conference, new orleans, la, 2008, pp. 1-6. [53] a. ge, f. callegati, and l.s. tamil, on optical burst switching and self-similar traffic, ieee commun. lett., vol. 4, no. 3, pp. 98-100, mar. 2000. [54] d.i. sheluhin, s.m. smolskiy, and a.v. osin, self-similar processes in telecommunications, chichester, uk: john wiley & sons, ltd., 2007, ch.1, pp. 8-9. [55] x. yang, impulsive self-similar processes, with applications in broadband communication system modeling, ph.d. dissertation, elec. comput. eng. dept., drexel univ., philadelphia, pa, 2001. [56] f. m. dekking, c. kraaikamp h. p. lopuhaä, and l. e. meester, the central limit theorem, in a modern introduction to probability and statistics. understanding why and wow. springer-verlag, 2005, ch. 14, pp. 195-202. [57] m. parulekar and a.m. makowski, tail probabilities for a multiplexer with self-similar traffic, in fifteenth annual joint conf. ieee computer societies. networking the next generation, san francisco, ca, 1996, vol. 3, pp. 1452-1459. [58] m. parulekar and a.m. makowski. (1996). m/g/∞ input process: a versatile class of models for network traffic, univ. maryland, college park, md, [online]. available: http://hdl.handle.net/1903/5778. [59] b. mandelbrot and w. van ness, fractional brownian motions, fractional noises and applications, siam review, vol. 10, no. 4, pp. 422-437, oct. 1968. [60] j. beran, statistical methods for data with long-range dependence, statistical science, vol. 7, no. 4, pp. 404-416, nov. 1992. [61] h. rinne, the weibull distribution. a handbook, boca raton, fl: chapman & hall/crc, 2009. 812 g. millán, h. kaschel, g. lefranc [62] m. parulekar and a.m. makowski. (1995). buffer overflow probabilities for a multiplexer with self-similar traffic. univ. maryland. college park, md, [online]. available: http://hdl.handle.net/1903/5727. [63] m. parulekar and a.m. makowski (1996). tail probabilities for m|g|∞ input processes (i): preliminary asymtotics. univ. maryland. college park, md, [online]. available: http://hdl.handle.net/1903/5760. [64] a. patel and c. williamson, statistical multiplexing of self-similar traffic: theoretical and simulation results, unpublished. [65] r. ritke, x. hong, and m. gerla, contradictory relationship between hurst parameter and queuing performance (extended version), telecommunication systems, vol. 16, no. 1-2, pp. 159-175, jan. 2001. [66] b.k. ryu and s.b. lowen, point process approaches for modeling and analysis of selfsimilar traffic: part i: model construction, in proc. fifteenth annual joint conference of the ieee computer societies. networking the next generation, san francisco, ca, 1996, vol. 3, pp. 1468-1475. [67] b.k. ryu and s.b. lowen, point process approaches for modeling and analysis of selfsimilar traffic: part ii: applications, in proc. 5th international conference on telecommunication systems, modeling, and analysis, nashville, tn, 1997, pp. 62-70. [68] s.b. lowen and m.c. teich, estimation and simulation of fractal stochastic point processes, fractals. complex geometry patterns and scaling in nature and society, vol. 3, no. 1, pp. 183-210, mar. 1995. international journal of computers, communications & control vol. i (2006), no. 4, pp. 126-138 generic modeling and configuration management in product lifecycle management souheïl zina, muriel lombard, luc lossent, charles henriot abstract: the plm (product lifecycle management) is often defined as a set of functions and procedures which allows one to manage and to exploit the data defining at the same time the products and the processes implemented for their developments. however, the installation of a plm solution remains a difficult exercise taking into account the complexity and the diversity of the customer requirements as well as the transverse utilization of this solution in all the company’s’ functions. the issues faced by both editors and integrators of plm applications arise from the specific aspect of customers’ projects, even tough most functional needs are often generic. in this paper we are focused on product modeling in plm applications, more particularly on configuration management that traces product evolutions throughout its lifecycle. we will insist on the links between the configuration needs and the multi-view approach models and we release problems related to plm applications deployment. our work concerns the plm generic solutions based on the concept of generic models. this generic model takes into account the configurations specification associated to the managed product and can be extended to cover specific needs. keywords: plm, configuration management, generic modeling. 1 introduction monitoring the technical information is one of the main preoccupation of the companies. indeed, the increasingly constraining regulations and the higher competition level require being more rigorous and reactive to the customers’ requests. the product quality improvement and the reduction costs cycles require applying technical data management rules and means. the plm (product lifecycle management) appeared to answer the need of managing growing volumes of data in more and more complex environments. the plm covers product life cycle integrality, without stopping itself at the design stages; it extends today to a wide scope of fields such as the aerospace-defense, food, drugs, public sector, engineering, manufacturing, etc. product term thus indicates diverse entities in very varied trades. the product life cycle management by a plm solution allows including, not only all the necessary elements to ensure its traceability, like modeling, document management, numerical analysis, know-how capitalization, etc. but all the information system components making it possible to ensure the product monitoring from its manufacture to its marketing until its disappearance or likely its recycling. in plm applications, the technical data are organized within configurations. the configuration management is used to manage products complexity and knowledge diversity resulting from various business cases in the company. indeed, the growing number of plm applications users, the technical data volume and the various evolutions associated to these data require: • controlling and checking the exchanged technical data consistency, unicity and safety, • taking into account data evolutions and all their effects on the product and its components. copyright c© 2006 by ccc publications generic modeling and configuration management in product lifecycle management 127 this is why the configuration management is a fundamental component in plm applications, making it possible to control and manage complexity related to the data. in the literature, several researches treat various types of problems around the plm. this work is especially interested in the problems related to the data exchange and sharing [32, 26], the process management problems [19, 12, 33] and the product configuration management problems [20, 21, 18, 4]. in this paper, we are centered on technical data management and particularly on configuration management. in the first part of this document, we present problems related to the configurations modeling and a treatment example on given configurations. in the second part, we will show why the plm solution deployment in a company remains a difficult exercise with the showing off of first problems. the study carried out at lascom1 consisted, starting from existing plm applications, to set up a step of reverse engineering which made it possible to formalize the concepts used in plm applications within a uml meta-model. this fundamental stage made it possible to validate the handled concepts at the conceptual level, then to underline the advantages of working on this modeling level to capitalization. 2 the product modeling in plm applications a technical object is thus a business object on which data management requirements are expressed in regard to the management and the handling of complex objects. the technical data concerns the design, the manufacture, the maintenance, the recycling and the marketing [3]. the definition of various business or technical objects and the links between them strongly depends on the company needs, organization and working methods. the diversity of plm applications (diversity related to the customer’s specificities), the data increasing complexity and the need for evolving and flexible systems (due to the evolution of the needs as time goes by) implies that there is not an universal plm application model being able to meet all the customers conflicting needs. in the literature several research tasks are interested in product modeling with different approaches and technologies: use rdf (resource description framework) [17], topic maps [16], or the orientedobject approaches [9] which aim to model and implement pdm (product data management) systems using uml (unified modeling language). 2.1 configuration management in plm applications research works are interested in methods and tools development for managing the product configuration; they deal especially with generic product modeling. in the literature, several methods, based on artificial intelligence techniques, propose solutions to solve the products configuration problems [29]. these methods are based on rules and constraints [1, 31, 10]. the product configuration is based on a configuration model (often called product generic structure); the model describes the components (called also configuration elements or objects members of a configuration) that can be included in the product configuration. the configuration model also includes the combination rules between these components. various tools, called configurators (e.g. engcon [14], wecotin [2]), make it possible to obtain a precise product description, which satisfies the needs and which is validated by the compliance with the rules of constraints defined in the configuration model. these tools can be integrated in plm applications to 1lascom (www.lascom.com) is an editor of life cycle management solutions concerning company product and processes. 128 souheïl zina, muriel lombard, luc lossent, charles henriot contribute to configure the product. in our work we are centered particularly on the configuration management. like configuration tools, the configuration management tools are also based on product models making it possible to formalize technical objects, links and constraints which express managed and traced needs. indeed, the configuration management is a discipline of management which consists in applying technical and administrative rules to the development, the production and maintenance, in all configuration article life cycle. it consists in managing the technical description of a system (and its different components), like managing the whole of the modifications made during the system evolution. the configuration management finds out an interest when it concerns a product management that have a lot of variants and a long lifecycles or unit complex products like the production system itself or special machines [22]. figure 1 presents a configuration example of a production site composition modeled in a plm application. this configuration follow the evolution of the productions lines and their adaptability to the product. figure 1: example of a production site configuration. the configuration management consists in controlling information of product structure, especially its decomposition in elementary subsets, parts and addition to the whole of this information, functional and physics characteristics. the standard [15] presents recommendations for using configuration management in industry. it provides the detailed process, organization and procedures of management. according to this standard, the configuration management is an integral part of the plm; it provides a clear vision of the configuration state, associated to products or projects, as well as theirs evolutions by guaranteeing a total traceability. configuration management tools integrate functions and mechanisms allowing audit and control of all actions carried out on the product configuration. generic modeling and configuration management in product lifecycle management 129 2.2 product multi-point of view modeling the concepts of view and point of view were studied in several fields related to the data processing: databases, analyzes and design, programming languages, etc. in the literature several research tasks integrated the concepts of view and point of view in products modeling [24, 23, 13, 25, 28], these views are generally used to express different trades’ needs on the product. figure 2 presents an example of different business views around a product. figure 2: various business views associated with a product. the notion of point of view, classically used in the literature, has for main goal the description of a complex entity having several facets. the points of view make it possible to structure information starting from various criteria related with trade or product. this make it more representative and understandable and so easier to exploit. each actor of the company handles particular view of the product that corresponds to his specific needs: functional view, technical view, industrial view, etc. there are two principal approaches which were used to take into account the actors points of view in the product model: multi-view and multi-model approaches. the multi-view approach is based on the development of a single model starting from different views. this unique model is accessible according to several points of view. the main advantage of the use of a single model is that modifications made on a sub-model are reflected in the other sub-models. consequently, the problems of inconsistency due to the division of the data between the partial models are avoided [24, 23]. this approach is very much used in works to product representation in cad (computer-aided design) systems. research of million [23] relates to the problem of designing technical information systems in an industrial multi-actors context in order to visualize information according to various views. the suggested method, called vim (viewpoints information modeling), makes it possible to build up, by successive adjustments, a total data model starting from an initial model centered on the technical object according to the points of view considered. the principal interest of the multi-view approach lies in the fact that there is a unique model to manage, which facilitates the exchanges management and information sharing. however, it leads to a static product representation because the models handled by the various actors are fixed and do not vary at the same time as the product representation [8]. the multi-model approach consists in creating a model associated with each actor’s view on the 130 souheïl zina, muriel lombard, luc lossent, charles henriot product. thus, there as exist many models as of different points of view on the product. each model contains the technical objects and the relations which correspond to the given point of view. the management of the relations between these various models imposes using a whole of coherence rules which must apply to the models whole. the multi-models approach makes possible to structure the data following specific models to each point of view on the product. these separated models can evolve independently. however, coherence maintenance and information sharing between these models are much more difficult to ensure. the problem of coherence is attenuated by the use of rules of coherence, but their identification and their formalization remain difficult. 2.3 configuration models and data processing to be coherent with the different actors needs on the product, the configuration models must take into account these concepts of view and points of view associated to the product. according to the application needs, advitiumtm, software package developed by the lascom company, define several types of configuration for a product (a given technical object). we define, for example, design configuration, documentary configuration, configuration carried out according to the stages reached in the project, etc. these configuration types correspond to different points of view on the product. each configuration is based on its own model and can evolve independently of the other types of configuration associated with the product. these configurations structure the data necessary to the product definition. thus, each actor will gather, treat on a hierarchical basis and complete the technical objects according to his own needs. it is for this purpose that various structures of the product are managed. each one corresponds to a particular configuration type. we defined the concept of “context” related to the configuration elements in order to take into account the specific use of context data. the application of a context allows defining contextual views on the configuration [34]. starting from existing plm applications, the study carried out at lascom consisted in setting a step of reverse engineering (step 1) which made it possible to formalize the concepts (step 2 & 3) used in advitiumtm within an uml meta-model [27] (this meta-model is not presented in this paper). the employed methodology is illustrated by figure 3, the plm applications deployment (step 4 & 5) is described by figure 7 section 3.1. generic modeling and configuration management in product lifecycle management 131 figure 3: the employed methodology. we developed tools for plm applications retro-modeling, these tools allow formalizing configuration links between various technical objects classes. our problematic is located in the formalization of the technical objects and links existing between them to answer: • a technical data presentation matter to user, • optimization of existing links in data base considering semantic studies produced according to customers requirements, • easy access to configuration data and an optimization of the treatments on the configuration elements. 132 souheïl zina, muriel lombard, luc lossent, charles henriot our tool allows, from advitiumtm relational databases, to generate an xsd (xml schema definition) of configurations definition. figure 4 represents the hierarchical structure of classes in an example of a technical object (ot01_site) configuration model. an example of this class instance is given by figure 1. figure 4: example of configuration xml schema. in this model, configuration elements (buildings, drawings, documents, folders, etc.) are linked between them and organized to form configurations. technical objects can be related for various reasons: to express a composition link, to make a specialization, membership, etc. links between the technical objects can be static (specific to a technical object instance) or dynamic (evolve with the technique objects versions) [4]. majority of configuration models are recursive. it is noted, in figure 4, that the class “folder” is re-used at various places in the hierarchy. this led, at the physical level, to infinite hierarchical structures. our tool, associated with graphviz [11], allows the visualization of configuration links graph of an existing plm application. this representation informs us about the configuration structure and characteristics (depth, degree of objects re-uses, etc.). figure 5 presents the graph of product study configuration. we noted that the whole of the technical objects which constitute the product structure can be represented using a dag (directed acyclic graph). each graph consists of nodes set (technical objects); these nodes are connected by links. links have properties (link type, beginning and expired dates, etc.) allowing to describe more precisely relationships among the objects and authorizing, thus, the configuration traceability evolutions. generic modeling and configuration management in product lifecycle management 133 nomenclature d’étude 1763 1648 1773 1582 1784 1681 1805 1588 1568 1576 1791 1792 1794 1795 1796 1682 1671 1672 1678 1595 1597 1567 1570 1640 1641 1552 1553 1639 1642 1564 17551738 1739 1743 1546 1511 17251729 1732 1518 1524 1713 1528 1717 1721 1932 1983 1985 19882877 28781530 1534 1722 1689 1699 1708 1624 17011700 17021710 1711 16871690 1693 16941696 16031599 1600 1601 1602 16041616 1617 1618 1619 1620 1621 16221625 1659 1631 1632 1633 16341638 1703 1704 1705 1706 1707 1691 1692 1606 1607 1608 1609 1610 1611 1612 1613 1626 1627 1628 figure 5: example of study configuration graph in existing plm applications. the nodes can contain additional informations (order, descriptions, etc.), which lead the need for defining an entity node as presented at figure 6. in order to implement applications according to customer requirements, this model includes a set of basic concepts (figure 6.a) independent of any applicability use (e.g. part, configuration, user, group, etc.). these concepts can be specialized to complet the model according to application needs (figure 6.b). the derivation of this conceptual model gives a part of the physical model (relational model) currently implemented in the advitiumtm software package. data treatments related to the configurations can be inspired from techniques and methods resulting from the graphs theories. indeed, in the configurations handling and management, certain basic user’s functions are commonly used: • search, in a given technical object configuration, the whole of descendants of this object (to obtain the configuration elements). • search, in a given technical object configuration, the whole of the ascending of this object (to obtain the employment cases). • make search with criteria related on technical objects and their links properties (e.g. validity dates). in certain research, the criteria on links properties must be checked for the whole links constitute the way between the starting and arrival technical object. in order to improve application performances related to configurations management (in particular search and navigation functions in configurations), we studied certain technical solutions which aim im134 souheïl zina, muriel lombard, luc lossent, charles henriot figure 6: a part of generic model. plementing hierarchical structures in relational databases. among these solutions, we quote the “nested sets” method [5] (well adapted to handle the trees structures in the relational databases). other research tasks are interested in the resolution of this problems type which consists in managing hierarchical data structures in relational databases [7, 30]. 3 the reference model construction plm applications are based on complex and evolving product structures. the issues faced by both editors and integrators arise from the specific aspect of customers’ projects. as company’s needs are often specific, a plm solution implementation requires heavy investments mainly regarding development aspects. these developments require huge implementation timetables and massive resources. one explanation lays on the fact that developments are very specific, and stress applied by plm solution integrators on physical aspect rather than on conceptual aspect. however, the consideration of the needs at the conceptual level, by plm applications editors, permit to capitalize knowledge related to their products engineering and to rationalize the design and development teams working methods. indeed, the knowledge capitalization helps to preserve, to share and above all to re-use know-hows generated through customers’ projects. this re-use thus allows: • offering a better times control of engineering and a more flexible software offer, • limiting plm applications maintenance costs, • facilitating the evolution plm applications and allowing a greater users autonomy. generic modeling and configuration management in product lifecycle management 135 3.1 the generic models so as to capitalize, it is recommended to study a set of reference models by sector or trade, in order to have a base of standard models or generic models. in fact, it is rather easier to particularize a model dedicated to a sector of activity than to reinvent it each time. thereby, we reveal two levels of trade: • generic level: in this level a person is in charge of creating generic models, by studying certain number of similar cases already encountered and modeled in reference models. these models can be enriched, if necessary, with generic specificities even if these specificities are not used till now but they are useful regarding the preceding businesses. • particular level: in this level a person is particularizing this generic level suited to trade to obtain the particular desired model. this model is particularized according to the specification elements. thus, this person will have to particularize a partially defined model existing, and will have only to complete this initial model so as to provide the model to be implemented in the company, consequently making a gain of time. figure 7: process of model instantiation. figure 7 represents the interest that can be disposed by generic models per activity sector to simplify the work of plm solutions integrators or developer. 3.2 functions deployment it has already been showed, compared to database modeling approaches, that a good data organization (coherent models and adapted to the needs) allows to considerably simplify the treatments and 136 souheïl zina, muriel lombard, luc lossent, charles henriot thus to improve the performances of the concerned applications. indeed, a generic implementation is often too general when it is used in a specific situation; this generalization often causes an ineffective execution. to increase the performances, this implementation must be adapted in order to keep preserving only the necessary functionalities in a specific situation. it is thus suitable to define and associate elementary functions to the generic models. these functions can be combined and organized to meet the specific needs expressed during models particularization. otherwise, for better plm application appropriation by users, a “trade translation” of the functions is also necessary. 4 summary and conclusions the product life cycle management is a recent field, the perimeter of plm applications is in constant evolution. this evolution implies that there is not a data model able to meet all the customer requirements. our work concerns the generic solutions of technical data management based on the concept of generic model. this generic model takes into account the configuration specification associated to technical objects. disposing of generic models by sector or by trade permits to facilitate the work of the plm solutions integrators or developers. this work can be done through an audit to extract the modeling invariants. it is advisable to well determine the trade sectors. thus, in the objective of the plm tools appropriation by the users, this classification propose solutions practically ready-made for its deployment in term of modeling of the technical data. this dimension allows decreasing or eliminating the specific developments. in these models, the terminology thus is well taken into account, since particularized with a given industrial sector. references [1] m. aldanondo, h. fargier, and m. véron. configuration, configurateurs et gestion de production, hermès science, traité ic2 productique, pp.179-209, 2001. [2] t. asikainen,t. männistö, and t. soininen. using a configurator for modelling and configuring software product lines based on feature models, wsvmpd, 2004. [3] a. bernard. modèles et approches pour la conception et la production intégrées. productique, méthodes et outils, cpi’99, numéro spécial de la revue jesa, vol.37, issue 2-3, 2000. [4] t. w. carnduff and j. s. goonetillake, configuration management in evolutionary engineering design using versioning and integrity constraints, advances in engineering software, vol.35, issue 3-4, pp.161-177, 2004. [5] j. celko. joe celko’s trees and hierarchies in sql for smarties. morgan kaufmann, 2004. [6] p.y. chao and t.d. chen. analysis of assembly through product configuration, computers in industry, vol.44, pp.189-203, 2001. [7] y. chen, on the computation of recursion in relational databases. in effective databases for text & document management, s. a. becker, ed. idea group publishing, hershey, pa, pp.263-277, 2003. generic modeling and configuration management in product lifecycle management 137 [8] i. el khalkhali. système intégré pour la modélisation, l’échange et le partage des données de produits. institut national des sciences appliquées de lyon, 2002. [9] b. eynard, t. gallet, p. nowak, and l. roucoules. uml based specifications of pdm product structure and workflow. computers in industry, vol.55, issue 3, pp. 301-316, 2004. [10] h. fargierh and l. henocqueh. configuration à base de contraintes. information interaction intelligence, actes des 2ième assises nationales du gdr i3, pp.141-159. [11] at&t labs, 2005. graphviz. available from: http://www.research.att.com/sw/tools/graphviz/. [12] d. grigori, f. casati, m. castellanos, u. dayal, m. sayal, and m.-c. shan. business process intelligence, computers in industry journal, special issue on workflow mining, vol.53, issue 3, pp.321343, 2004. [13] y. harani. une approche multi-modèles pour la capitalisation des connaissances dans le domaine de la conception. phd thesis, institut national polytechnique de grenoble, 1997. [14] o. hollmann, t. wagner and a. günter. engcon ű a flexible domain-independent configuration engine. workshop configuration at ecai-2000, 2000. [15] iso 10007:2003. quality management systems ű guidelines for configuration management, 2003. [16] iso/iec 13250:2003. information technology sgml applications topic maps (2nd edition), 2003. [17] h-b. jun, d. kiritsis, and p. xirouchakis. product lifecycle information modeling with rdf, international conference on product lifecycle management, pp.44-54, 2005. [18] e. kasper and j. riis. expected and realized costs and benefits when implementing product configuration systems, international design conference design 2004, dubrovnik, croatia, 2004. [19] a k a de medeiros, wmp van der aalst, ajmm weijters. workflow mining: current status and futur directions. coops/doa/adbase, lncs 2888, pp.389-406, 2003. [20] t. männistö, r. sulonen. evolution of schema and individuals of configurable products, in proc. of ecdm’99 workshop on evolution and change in data management, versailles, france, springer verlag, november 15-18, 1999. [21] t. männistö. a conceptual modelling approach to product families and their evolution. phd thesis, helsinki university of technology, 2000. [22] p. martin, l. lossent, l. abt and f. brasset. conception de machines spéciales: méthodologie d’élaboration de cahier des charges. mécanique & industries vol.5, pp.305-316, 2003. [23] o. million, m. lombard, g. ris. analysis and modeling of a technical information system: a modular approach. proceedings of idmme’1998 integrated design and manufacturing in mechanical engineering, utc, compiégne (france), vol.4, pp.1245-1252, may 27-29, 1998. [24] m. nassar. vuml: a viewpoint oriented uml extension. in the 18th ieee international conference on automated software engineering (ase’2003), montreal, canada, 2003. [25] f. nöel. a dynamic multi-view product model to share the product behaviours among designers. international conference on product lifecycle management, pp.113-120, 2005. 138 souheïl zina, muriel lombard, luc lossent, charles henriot [26] p. nowak, b. rose, l. saint-marc, b. eynard, l. gzara, m. lombard. towards a design process model enabling the integration of product, process and organisation, 5th international conference on integrated design and manufacturing in mechanical engineering, idmme 2004, bath (united kingdom), april 5-7, 2004. [27] omg. omg unified modeling language specification v1.5: revisions and recommendations, version 1.5. object management group document formal/03-03-01, 2003. [28] a. saucier, un modèle multi-vues du produit pour le développement et l’utilisation de systèmes d’aide à la conception en ingénierie mécanique, thèse ecole normale supérieure de cachan, france, 1997. [29] t. soininen, and m. stumptner. introduction to special issue on configuration. artificial intelligence for engineering design, analysis and manufacturing, vol.17, issue 1-2, 2003. [30] s. subbarayan and h.r. andersen. linear functions for interactive configuration using join matching and csp tree decomposition. ijcai-2005 configuration workshop, 2005. [31] m. véron. modélisation et résolution du problème de configuration industrielle: utilisation des techniques de satisfaction de contraintes. phd thesis, institut national polytechnique, tarbes, november 2001. [32] l. yesilbas, b. rose, m. lombard. specification of a repository to support collaborative knowledge exchanges in ippop project. computers in industry, vol.57, issue 8-9, pp.690-710. [33] h. zhuge : a process matching approach for flexible workflow process reuse, information and software techology, vol.44, pp.445-450, 2002. [34] s. zina, m. lombard, l. lossent. integration of contextual views in configuration management for plm applications. 9th ifac symposium on automated systems based on human skill and knowledge, 2006. souheïl zina 1,2, muriel lombard 1, luc lossent 1, charles henriot 2 e-mail: s.zina@lascom.com 1 centre de recherche en automatique de nancy umr 7039 université henri poincaré, nancy i faculté des sciences b.p. 239 54 506 vandoeuvre-lès-nancy, france 2 lascom burospace antélia 4, route de gisy 91 571 bièvres cedex, france received: november 11, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 349-362 generalized modus ponens using fodor’s implication and t-norm product with threshold i. iancu ion iancu university of craiova department of mathematics and computer science 13 a. i. cuza street, 200585, romania e-mail: i_iancu@yahoo.com abstract: using generalized modus ponens reasoning, we examine the values of the inferred conclusion depending on the correspondence between the premise of the rule and the observed fact. the conclusion is obtained using fodor’s implication in order to represent a fuzzy if-then rule with a single input single output and the tnorm with threshold generated by t-norm product, as a compositional operator. a comparison study with the case when the standard t-norm product is used is made. some comments and an example are presented in order to show how the obtained results can be used. keywords: t-norm, t-conorm, negation, implication, fuzzy number, generalized modus ponens rule 1 introduction the database of a rule-based system may contain imprecisions which appear in the description of the rules given by the expert. the imprecision implies the difficulty of representing the rules expressed, generally, by means of natural language. another difficulty is the utilization of these rules in approximate reasoning when the observed facts do not match the condition of the rule. in order to obtain an imprecise conclusion from imprecise premises, zadeh extends the traditional modus ponens rule obtaining generalized modus ponens (gmp). an investigation of gmp inference was made by many papers: [2], [3], [4], [5], [7], [9], [14], [15], [27], [28], [29], [30], [33], [34], [35]. also, we analyzed this type of inference in some papers: [19] , [22], [24] , [25], [26]. the proposition x is a can be understood as the quantity x satis f ies the predicate a or the variable x takes its values in the set a. the semantic content of the proposition x is a can be represented by πx = µa, where πx is the possibility distribution restricting the possible value of x and µa is the membership function of the set a. because the majority of practical applications work with trapezoidal or triangular distributions and these representations are still a subject of various recent papers ([1], [13] and [16], for instance) we copyright c© 2006-2009 by ccc publications 350 i. iancu will work with membership functions represented by trapezoidal fuzzy numbers. such a number n = (a, b, α, β ) is defined as µn (x) =     f or x < a − α x − a + α α f or x ∈ [a − α, a]  f or x ∈ [a, b] b + β − x β f or x ∈ [b, b + β ]  f or x > b + β let x and y be two variables whose domains are u and v , respectively. a causal link from x to y is represented as a conditional possibility distribution [35, 36] πy /x which restricts the possible values of y for a given value of x . for the rule i f x is a then y is b we have ∀ u ∈ u, ∀ v ∈ v, πy /x (v, u) = µa(u) → µb(v) where → is an implication operator and µa and µb are the possibility distributions of the propositions "x is a" and "y is b", respectively. if µa′ is the possibility distribution of the proposition x is a′ then from the rule i f x is a then y is b and the fact x is a′ generalized modus ponens rule computes the possibility distribution µb′ of the conclusion y is b′ as µb′ (v) = sup u∈u t ( µa′ (u) , πy /x (v, u) ) , where t is a t-norm. 2 basic concepts the main concepts used in gmp are presented below, using the terminology of [8], [17] and [32]. definition 1. a function t : [, ] → [, ] is a t-norm iff it is commutative, associative, non-decreasing and t (x, ) = x ∀x ∈ [, ]. definition 2. a function s : [, ] → [, ] is a t-conorm iff it is commutative, associative, non-decreasing and s(x, ) = x ∀x ∈ [, ]. definition 3. a function n : [, ] → [, ] is a strong negation iff it is an involutive and continuous decreasing function from [, ] to itself. generalized modus ponens using fodor’s implication and t-norm product with threshold 351 in order to represent a rule, the notion of fuzzy implication is used. we recall an axiomatic approach (formulated by fodor in [10, 11, 12]) to the definition of fuzzy implication. definition 4. an implication is a function i : [, ] → [, ] satisfying the following conditions: i1: if x ≤ z then i(x, y) ≥ i(z, y) for all x, y, z ∈ [, ] i2: if y ≤ z then i(x, y) ≤ i(x, z) for all x, y, z ∈ [, ] i3: i(, y) =  (falsity implies anything) for all y ∈ [, ] i4: i(x, ) =  (anything implies tautology) for all x ∈ [, ] i5: i(, ) =  (booleanity) the following properties could be important in some applications: i6: i(, x) = x (tautology cannot justify anything) for all x ∈ [, ] i7: i(x, i(y, z)) = i(y, i(x, z)) (exchange principle) for all x, y, z ∈ [, ] i8: x ≤ y if and only if i(x, y) =  (implication defines ordering) for all x, y ∈ [, ] i9: i(x, ) = n(x) for all x ∈ [, ] is a strong negation i10: i(x, y) ≥ y for all x, y ∈ [, ] i11: i(x, x) =  (identity principle) for all x ∈ [, ] i12: i(x, y) = i(n(y), n(x)) for all x, y ∈ [, ] and a strong negation n i13: i is a continuous function. the most important families of implications are given by definition 5. a s-implication associated with a t-conorm s and a strong negation n is defined by is,ns (x, y) = s(n(x), y) ∀x, y ∈ [, ] a r-implication associated with a t-norm t is defined by itr(x, y) = sup{z ∈ [, ]|t (x, z) ≤ y} ∀x, y ∈ [, ] a ql-implication is defined by it,s,nql (x, y) = s(n(x), t (x, y)) ∀x, y ∈ [, ] one of the most important implications is the fodor’s implication if (x, y) = {  i f x ≤ y max( − x, y) otherwise which is [5] a r-implication for t = min, a s -implication for s = max and a ql-implication for t = min and s = max, where min (x, y) = {  i f x + y ≤  min(x, y) i f x + y >  and max (x, y) = {  i f x + y ≥  max(x, y) i f x + y <  352 i. iancu and n(x) =  − x. besides, the fodor’s implication verifies the properties i1-i12. an important class of t-norms (t-conorms) is given by the t-norms (t-conorms) with thresholds, obtained from standard t-norms (t-conorms); the number of thresholds is an integer n ≥ . first example of operators with 1-threshold were given by pacholczyk in [31]. various families of such t-operators can be found in [18, 20, 21, 23], where the advantage of their usage to represent the uncertain knowledge is justified. in this paper we analyze the results obtained by reasoning with imprecise knowledge using a t-norm with threshold as a composition operator. finally we will compare these results with those obtained using the corresponding standard operators. we consider the following t-norm with a single threshold k ∈ (, )[31] tk(x, y) = { k  − k t (  − k k x,  − k k y) i f x ≤ k and y ≤ k min(x, y) i f x > k or y > k obtained from the t-norm t (x, y). we will work with the t-norm generated by tp(x, y) = xy, which is one of the most used; it results tk(x, y) = {  − k k xy i f x ≤ k and y ≤ k min(x, y) i f x > k or y > k 3 main results taking into account the following reasons, we shall work with rules having a single input single output: a) a rule with multiple consequent can be treated as a set of rules with a single conclusion; for instance, the rule i f antecedent then c and c and ....... and cn is equivalent to the rules i f antecedent then c i f antecedent then c ................................. i f antecedent then cn. b) a rule with multiple premise can be broken up into simple rules [6] when the rules are represented with any s-implication or any r-implication and the observations are normalized fuzzy sets. our aim is to obtain the conclusion "y is b′" from the rule i f x is a then y is b and the fact x is a′ where the fuzzy sets a, a′, b and b′ are represented by trapezoidal possibility distributions. the set b′ is computed as µb′(v) = sup u∈u tk(µa′(u), if (µa(u), µb(v))), analyzing five cases, depending on the relation between µa and µa′. generalized modus ponens using fodor’s implication and t-norm product with threshold 353 theorem 6. if the premise contains the observation, i. e. µa′(u) ≤ µa(u) ∀u ∈ u , then µb′(v) = µb(v) i f µb(v) ≥ . µb′(v) ∈ [µb(v),  − µb(v)) i f µb(v) < . proof. i1) value on the set u = {u ∈ u /µa(u) ≤ µb(v)} because if (µa(u), µb(v)) = , we have µb′(v) = sup u∈u tk(µa′(u), ) = sup u∈u µa′(u) ≤ µb(v). i2) value on the set u = {u ∈ u /µa(u) > µb(v) ≥ .}∪{u ∈ u /µa(u) >  − µb(v) > .} we have if (µa(u), µb(v)) = µb(v). if k < µb(v) then µb′(v) = sup u∈u tk(µa′(u), µb(v)) = sup u∈u min(µa′(u), µb(v)) = µb(v). for k ≥ µb(v) and u  = {u ∈ u/µa′(u) ≤ k} we have µb′(v) = sup u∈u  tk(µa′(u), µb(v)) = sup u∈u   − k k µa′(u)µb(v) ≤ ( − k)µb(v) < µb(v). for k ≥ µb(v) and u  = {u ∈ u/µa′(u) > k} we obtain µb′(v) = sup u∈u  tk(µa′(u), µb(v)) = sup u∈u  min(µa′(u), µb(v)) = µb(v). i3) value on the set u = {u ∈ u /µb(v) < µa(u) ≤  − µb(v)} in this case if (µa(u), µb(v)) =  − µa(u) and therefore µb′(v) = sup u∈u tk(µa′(u),  − µa(u)). for k < µb(v) we have  − µa(u) ≥ µb(v) > k and tk ≡ min. it results µb′(v) = sup u∈u min(µa′(u),  − µa(u)) <  − µb(v). for µb(v) ≤ k ≤  − µb(v) we analyze the cases: i): value on the set u  = {u ∈ u /µb(v) ≤ µa(u) <  − k} because k <  − µa(u) we obtain µb′(v) = supu∈u  tk(µa′(u),  − µa(u)) = supu∈u  min(µa′(u),  − µa(u)) < min( − k,  − µb(v)) =  − k. i): value on the set u  = {u ∈ u /µb(v) <  − k ≤ µa(u) ≤  − µb(v)} in this case,  − µa(u) ≤ k and we study three possibilities, depending on µa′(u). i): on the set u ,  = {u ∈ u  /µa′(u) = } we obtain µb′(v) =  i): on the set u ,  = {u ∈ u  /µa′(u) ∈ (, k]} we have µb′(v) = sup u∈u ,  − k k µa′(u)( − µa(u)) < k( − k). 354 i. iancu i): on the set u ,  = {u ∈ u  /µa′(u) > k} we get µb′(v) = sup u∈u , min(µa′(u),  − µa(u)) <  − µb(v). for k >  − µb(v) we consider the set u  = {u ∈ u/µb(v) >  − k} = {u ∈ u / − k < µb(v) < µa(u) ≤  − µb(v)} and we work with the subsets of u  for which µa′(u) = , µa′(u) ∈ (, k] and µa′(u) > k, respectively; we obtain the following corresponding results: µb′(v) = , µb′(v) < k( − k) and µb′(v) <  − µb(v). synthesizing the previous results, one obtain the conclusion formulated in the theorem. theorem 7. if the premise and the observation coincide, i. e. µa(u) = µa′(u) ∀u ∈ u , then µb′(v) = µb(v) i f k > . and µb(v) ≥  − k, µb′(v) ∈ [µb(v),  − k) i f k > . and µb(v) <  − k, µb′(v) = max(., µb(v)) i f k ≤ .. proof. in this case one repeat the proof of the theorem 6 taking account the equality µa(u) = µa′(u) ∀u ∈ u . it results: 1) if . < k ≤ µb(v) then µb′(v) = µb(v) 2) if k ≤ . ≤ µb(v) then µb′(v) = µb(v) 3) if k ≤ µb(v) < . then µb′(v) = . 4) if µb(v) ≤ k ≤ . then µb′(v) = . 5) if . ≤ µb(v) < k then µb′(v) = µb(v) 6) if µb(v) ≤ . < k then µb′(v) = µb(v) i f µb(v) ≥  − k and µb′(v) ∈ [µb(v),  − k) i f µb(v) <  − k from which we get the conclusion. theorem 8. if the observation contains the premise, i. e. µa(u) ≤ µa′(u) ∀u ∈ u , then µb′(v) ≥ max(µb(v),  − k k µb(v)( − µb(v))) i f µb(v) ≤ min(., k) µb′(v) ≥ µb(v) otherwise. proof. i1) value on the set u = {u ∈ u /µa(u) ≤ µb(v)} because if (µa(u), µb(v)) =  we have µb′(v) = sup u∈u min(µa′(u), ) = sup u∈u µa′(u) ≥ µb(v). i2) value on the set u = {u ∈ u /. ≤ µb(v) < µa(u)}∪{u ∈ u /µa(u) >  − µb(v) > .} in this case if (µa(u), µb(v)) = µb(v) and i) for k < µb(v) we obtain µb′(v) = sup u∈u tk(µa′(u), µb(v)) = sup u∈u min(µa′(u), µb(v)) = µb(v) i) for k ≥ µb(v) we consider two subsets of u: generalized modus ponens using fodor’s implication and t-norm product with threshold 355 i) on the subset u   = {u ∈ u/µa′(u) ≤ k} we have µb′(v) = sup u∈u  tk(µa′(u), µb(v)) = sup u∈u   − k k µa′(u)µb(v)) ≤ ( − k)µb(v) < µb(v) i) on the subset u   = {u ∈ u/µa′(u) > k} we have µb′(v) = sup u∈u  tk(µa′(u), µb(v)) = sup u∈u min(µa′(u), µb(v)) = µb(v). i3) value on the set u = {u ∈ u /µb(v) < µa(u) ≤  − µb(v)} . in this case if (µa(u), µb(v)) =  − µa(u) and we analyze the following cases. i) if k < µb(v) then µb′(v) = sup u∈u tk(µa′(u),  − µa(u)) = min(µa′(u),  − µa(u)) <  − µb(v). ii) if k ≥ µb(v) we consider the following subcases: ii) µb(v) ≤ k ≤  − µb(v) ii) on the set u   = {u ∈ u/µb(v) ≤ µa(u) <  − k} we have µb′(v) = sup u∈u  min(µa′(u),  − µa(u)) <  − µb(v) ii) on the set u   = {u ∈ u/ − k ≤ µa(u) ≤  − µb(v)} we consider two subsets: • u , = {u ∈ u  /µa′(u) ≤ k} for which we obtain µb′(v) = supu∈u ,  − k k µa′(u)( − µa(u)) ≥ supu∈u ,  − k k µa(u)( − µa(u)) ≥ max(( − k),  − kk µb(v)( − µb(v))) ≥  − k k µb(v)( − µb(v)) • u , = {u ∈ u  /µa′(u) > k} for which we have µb′(v) = sup u∈u , min(µa′(u),  − µa(u)) <  − µb(v). ii) k >  − µb(v) which defines the set u  = {u ∈ u/ − k < µb(v)} = {u ∈ u / − k < µb(v) < µa(u) ≤  − µb(v)} • for µa′(u) ≤ k we obtain µb′(v) = supu∈u   − k k µa′(u)( − µa(u)) ≥ supu∈u   − kk µa(u)( − µa(u)) ≥  − k k µb(v)( − µb(v)) • for µa′(u) > k it results µb′(v) = sup u∈u  min(µa′(u),  − µa(u)) <  − µb(v). finally we obtain the conclusion formulated in the theorem. theorem 9. if there is a partial overlapping between the sets a and a′ then µb′(v) =  i f core(a′)∩(u − aµb(v)) 6= /0 and µb′(v) ≥ µb(v) otherwise where aα denotes the α -cut of a. 356 i. iancu proof. i1) the case core(a′)∩(u − aµb(v)) 6= /0. on the set u = {u ∈ u /µa(u) ≤ µb(v)} we have if (µa(u), µb(v)) =  and therefore µb′(v) = sup u∈u tk(µa′(u), ) = . i2) the case core(a′)∩(u − aµb(v)) = /0. on the set u = {u ∈ u /µa(u) > µb(v) ≥ .} we have if (µa(u), µb(v)) = µb(v) and therefore µb′(v) = sup u∈u tk(µa′(u), µb(v)) ≥ tk(, µb(v)) = µb(v). if µb(v) < . we analyze three cases. let ũ = {u ∈ u /µa(u) = µb(v)}; card(ũ ) =  if  < µb(v) < . i) the case ũ ∩supp(a′) = /0 and core(a′)∩core(a) 6= /0. on the set u = {u ∈ u /µa(u) ≥  − µb(v) > .} it results µb′(v) = sup u∈u tk(µa′(u), µb(v)) ≥ tk(, µb(v)) = µb(v). i) the case ũ ∩supp(a′) = /0 and core(a′)∩core(a) = /0. we consider the set u = {u ∈ u /µb(v) < µa(u) ≤  − µb(v)}; on the set u = u ∪u we have µb′(v) = sup u∈u tk(µa′(u), if (µa(u), µb(v))) ≥ sup u∈u tk(µa′(u), µb(v)) ≥ tk(, µb(v)) = µb(v). i) the case ũ ∩supp(a′) 6= /0. on the set u we obtain µb′(v) ≥ µb(v), as in the previous case. it results that, in the case i2), µb′(v) ≥ µb(v). the same result is obtained for µb(v) ∈ {, }. we consider the negation with threshold k ∈ (, ) [31] nk(x) = {  −  − kk x i f x ≤ k k  − k ( − x) i f x ≥ k obtained from the standard negation n(x) =  − x. theorem 10. if the premise and the observation are contradictory, i.e. µa′(u) = nk(µa(u)) ∀u ∈ u , then µb′(v) =  ∀v ∈ v. proof. on the set u = {u ∈ u /µa(u) ≤ µb(v)} we have µb′(v) = sup u∈u tk(µa′(u), ) = sup u∈u min(µa′(u), ) = sup u∈u µa′(u) = sup u∈u nk(µa(u)) =  because there is u ∈ u with µa(u) = . 4 interpretation and utilization of results in this section we will compare the results given by the common operators (t-norm product tp(x, y) = xy and negation n(x) =  − x) with those obtained by the corresponding operators with threshold and we will indicate some possibility of their utilization in a fuzzy reasoning system. an example of working with these results is also presented. in the case of standard operators tp and n, according to [24] we have: generalized modus ponens using fodor’s implication and t-norm product with threshold 357 theorem 11. if the premise contains the observation, i.e µa′(u) ≤ µa(u) ∀u ∈ u , then µb′ (v) = µb(v) i f µb(v) ≥ . or (. ≤ µb(v) < .) µb′ (v) < . i f µb(v) < . theorem 12. if the premise and the observation coincide, i.e. µa(u) = µa′(u) ∀u ∈ u , then µb′ (v) = max(µb(v), .) theorem 13. if the observation contains the premise, i.e. µa(u) ≤ µa′(u) ∀u ∈ u , then µb′(v) ≥ µb(v) ∀v ∈ v. theorem 14. if there is a partial overlapping between the sets a and a′, then µb′(v) =  i f core(a′)∩(u − aµb(v)) 6= /0 and µb′(v) ≥ µb(v) otherwise where aα denotes the α−cut of a. theorem 15. if the premise and the observation are contradictory, i.e. ∀u ∈ u µa′(u) =  − µa(u), then µb′(v) =  ∀v ∈ v . if the observation is more precise than the premise of the rule then it gives more information than the premise. however, it does not seem reasonable to think that the generalized modus ponens allows to obtain a conclusion more precise than that of the rule. the result of the inference is valid if µb′(v) = µb(v), ∀v ∈ v . sometimes, the deduction operation allows the reinforcement of the conclusion, as is specified in [28], [19] and [25]: rule: if the tomato is red then the tomato is ripe. observation: this tomato is very red. if we know that the maturity degree increases with respect to color, we can infer "this tomato is very ripe". on the other hand, in the example rule: if the melon is ripe then it is sweet observation: the melon is very ripe we do not infer that "the melon is very sweet" because it can be so ripe that it can be rotten. this examples show that if the expert has not supplementary information about the connection between the variation of the premise and the conclusion, he must be satisfied with the conclusion µb′(v) = µb(v). the theorem 6 gives a valid result if we choose µb′(v) = µb(v) for µb(v) < .. as opposite, the corresponding theorem 11 from the case of the standard t-norm tp does not allow to obtain a valid result if µb(v) < .. when the observation and the premise of the rule coincide the convenient behavior of the fuzzy deduction is to obtain an identical conclusion. a different conclusion indicates the appearance of an uncertainty in the conclusion. the both theorems, 7 and 12, give an uncertain conclusion, but we can choose k > . in the theorem 7 and we obtain a better result, because the uncertainty is smaller in comparison with the result from the theorem 12. if the observation contains the premise, because max(  − kk µb(v)( − µb(v)), µb(v)) ≥ µb(v) it results that theorem 8 gives a better result that theorem 13. in this case the inferred conclusion b′ is a superset of b; we can choose the first superset. 358 i. iancu if there is a partial overlapping between the premise and the observation or the premise and the observation are contradictory then the two t-norms give the same results for the inferred conclusion. the value µb′(v) =  obtained in these cases represents an indeterminate conclusion, all elements v ∈ v having a possibility equal to 1. in the case of "partial overlapping" we propose a "mediation" between the two possible values: µb′(v) =  and µb′(v) ≥ µb(v); if b, b, ..., bk are the supersets of b with µbk (v) ≥ µbk− (v) ≥ .... ≥ µb (v), we can choose b′ = b [ k  ] , where [x] is the greatest integer which is smaller than or equal to x. the theorem 10 gives a waited result, that represents one of the basic properties of gmp reasoning. the results from theorems 6-10 can be used in a fuzzy inference system as in the following example. a customer is interested to buy a computer. the quality of the computer depends on its price as is specified by the rules: rule1: if the price is very low then the quality is below average rule2: if the price is very very high then the quality is very good. rule3: if the price is middle then the quality is good. the variable price has values in the following set of linguistic terms lp = {very very low, very low, low, midle, high, very high, very very high} and the variable quality has values in the set lq = {poor, below average, average, above average, good, very good}. we consider the universes of discourse [, ] for price and [, ] for quality. the linguistic terms are represented by the following trapezoidal fuzzy numbers: very very low = (, , , ) very low = (, , , ) low = (, , , ) middle = (, , , ) high = (, , , ) very high = (, , , ) very very high = (, , , ) poor = (, , , ) below average = (, , , ) average = (., ., ., .) above average = (, , , ) good = (., ., ., .) very good = (., ., ., .). these fuzzy numbers are depicted in the figures 1 and 2. we consider the observations: observation1: the price is very very low observation2: the price is very high observation3: the price is high the theorems 6-10, used together with the comments from this section, give the following results: 1) the conclusion obtained from rule1 and observation1 is "the quality is below average"; this result is obtained with theorem 6 2) theorem 8 is applied for rule2 and observation2 and gives the conclusion "the quality is good" generalized modus ponens using fodor’s implication and t-norm product with threshold 359 0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 0 0.2 0.4 0.6 0.8 1 de gr ee o f m em be rs hi p v.v.low vlow low v.v.highmiddle high vhigh figure 1: fuzzy sets for linguistic terms from the list lp 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 de gr ee o f m em be rs hi p poor baverage average aaverage good vgood figure 2: fuzzy sets for linguistic terms from the list lq 3) using theorem 9 for the rule3 and observation3 one obtain the conclusion "the quality is average". as it can be observed from this example, our results allow us to obtain the inferred conclusion by a very simple calculus in comparison with the standard formula used in gmp. 5 summary and conclusions the results obtained in this paper explain how the generalized modus ponens rule works with the fodor’s implication and the t-norm product with threshold. combining these results with the approximations proposed in the previous section we obtain a fast answer for the value of the conclusion inferred by gmp reasoning. we worked with the t-norm product because it is one of the most used in practical applications. as it results from the previous sections, one obtain better results in the case of t-norm with threshold. in a future paper we will analyze the results given by another t-norms with threshold and 360 i. iancu another implications. bibliography [1] t. allahviranloo, m. adabitabar firozja, note on “trapezoidal approximation of fuzzy numbers”, fuzzy sets and systems 7, 2007, pp. 755–756. [2] b. bouchon, inferences with imprecisions and uncertainties in expert systems, in: a. kandel (ed), fuzzy expert systems, addison-wesley, new york, 1987. [3] j. c. buisson, h. farreny, h. prade, dealing with imprecision and uncertainty in expert system diabeto iii, in: proc. 2nd int. conf. on artificial intelligence, marseille, 1986, pp. 705–721. [4] j. f. baldwin, a new approach to approximate reasoning using fuzzy logic. fuzzy sets and systems 2, 1979, pp. 309–325. [5] e. czogala, j. leski, on equivalence of approximate reasoning results using different interpolations of fuzzy if-then rules, fuzzy sets and systems 11, 2001, pp. 279–296. [6] k. demirli, i.b. turksen, rule break up with compositional rule if inference, ieee international conference on fuzzy systems, san diego, 1992, pp. 949–956. [7] d. dubois, h. prade, operations in a fuzzy-valued logic, information and control 43, 1979, pp. 224–240. [8] d. dubois, modeles mathematiques de l’imprecis at de l’incertain en vue d,applications aux techniques d’aide a la decision, these d’etat, univ. scientifique et medicale, grenoble, 1983 [9] d. dubois and h. prade, fuzzy logics and the generalized modus ponens revisited, cybernetics and systems 15, 1984, pp. 293–331. [10] j. fodor, on fuzzy implication operators, fuzzy sets and systems 42, 1991, pp. 293-300 [11] j. fodor, m. roubens, fuzzy preference modelling and multicriteria decision support, kluwer, dordrecht, 1994 [12] j. fodor, contrapositive symmetry of fuzzy implications, fuzzy sets and systems 69, 1995, pp. 141-156 [13] j. fodor, b. bede, recent advances in fuzzy arithmetics, international journal of computers, communications and control, vol. 1, suppl. 5, 2006, pp. 199-207 [14] s. fukami, m. mizumoto, k. tanaka, some considerations on fuzzy conditional inference, fuzzy sets and systems 4, 1980, pp. 243–273. [15] b. r. gaines, fundations of fuzzy reasoning, int. j. man-machine stud. 8, 1976, pp. 623–668. [16] p. grzegorzewski, e. mrowka, trapezoidal approximations of fuzzy numbers revisited, fuzzy sets and systems 7, 2007, pp. 757–768. [17] m. m. gupta, j. qi, theory of t-norms and fuzzy inference methods, fuzzy sets and systems 40, 1991, pp. 431-450 [18] i. iancu, t-norms with threshold, fuzzy sets and systems. int. j. of soft computing and intelligence 85 (1997), pp. 83-92 generalized modus ponens using fodor’s implication and t-norm product with threshold 361 [19] i. iancu, propagation of uncertainty and imprecision in knowledge-based systems, fuzzy sets and systems 94, 1998, pp. 29–43. [20] i. iancu, on a family of t-operators, annals of the univ. of craiova, mathematics and computer science serie, vol xxvi(1999),pp. 84-92 [21] i. iancu, fuzzy connectives with applications in uncertainty management, proc. of the 3-rd annual meeting of the romanian society of mathematical sciences, 1999, pp. 40-47 [22] i. iancu, on a representation of an uncertain body of evidence, annals of the univ. of craiova, mathematics and computer science serie, vol xxx(2003),pp. 100-108 [23] i. iancu, operators with n-thresholds for uncertainty management. j. appl. math. & computing. an int. journal, vol 19(2005), no. 1-2, pp. 1-17, publisher: springer berlin / heidelberg [24] a. giurca, i. iancu, approximate reasoning using fodor’s implication, computational intelligence, theory and applications int. conf. 9th fuzzy days in dortmund, springer, 2006, pp. 513–520, berlin. [25] i. iancu, generalized modus ponens using fodor’s implication and a parametric t-norm, wseas transaction on systems 6(vol. 7), 2008, pp. 738-747 . [26] i. iancu, generalized modus ponens reasoning for rules with partial overlapping between premise and observation, european computing conference, malta, september 2008, pp. 37-43 [27] e. h. mamdani, application of fuzzy logic to approximate reasoning using linguistic systems, ieee trans on computers 26, 1977, pp. 1182–1191. [28] m. mizumoto, h.-j. zimmerman, comparison on fuzzy reasoning methods, fuzzy sets and systems 8, 1982, pp. 253–283. [29] m. mizumoto, fuzzy reasoning under new compositional rule of inference, kybernetics 12, 1985, pp. 107–117. [30] a. nafarieh, j. m. keller, a new approach to inference in approximate reasoning, fuzzy sets and systems 41, 1991, pp. 17–37. [31] d. pacholczyk, introduction d’un seuil dans le calcul de l’incertitude en logique floue, busefal 32, 1987, pp. 11-18 [32] i. j. rudas, j. fodor, information aggregation in intelligent systems using generalized operators, international journal of computers, communications and control, vol. 1, no. 1, 2006, pp. 47-57 [33] y. tsukamoto, an approach to fuzzy reasoning method. in: m. m. gupta, r. k. ragade and r. r. yager (eds.) advances in fuzzy sets theory and applications, north-holland, amsterdam, 1979, pp. 137–149. [34] r. r. yager, an approach to inference in approximate reasoning, int. j. man-machine stud. 13, 1980, pp. 323–338. [35] l. a. zadeh, fuzzy sets as a basis for a theory of a possibility, fuzzy sets and systems 1, 1978, pp. 2–28. [36] l. a. zadeh, a theory of approximate reasoning, machine intelligence (eds: j. e. hayes, d. mikie and l. i. mikulich), john wiley & sons, new york, 1979, pp. 149–194. 362 i. iancu ion iancu received his degree in mathematics from the university of craiova and ph. d. in artificial intelligence from the university of bucharest. currently, he is titular professor of computer science and artificial intelligence at the university of craiova. his main topics of interest include fuzzy sets, modeling of uncertain and imprecise knowledge, approximate reasoning, soft computing. a several number of research articles in the above areas have also been published in various journals and proceedings; also, he is the author of eight books. international journal of computers, communications & control vol. i (2006), no. 2, pp. 85-94 coordinated control of mobile robots based on artificial vision carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha abstract: this work presents a control strategy for coordination of multiple robots based on artificial vision to measure the relative posture between them, in order to reach and maintain a specified formation. given a leader robot that moves about an unknown trajectory with unknown velocity, a controller is designed to maintain the robots following the leader at a certain distance behind, by using visual information about the position of the leader robot. the control system is proved to be asymptotically stable at the equilibrium point, which corresponds to the accomplishment of the navigation objective. experimental results with two robots, a leader and a follower, are included to show the performance of the vision-based control system. keywords: mobile robots, coordinated robots, vision based control, artificial vision. 1 introduction during the last years, efforts have been made to give autonomy to single mobile robots by using different sensors, actuators and advanced control algorithms. this was mainly motivated by the necessity to develop complex tasks in an autonomous way, as demanded by service or production applications. robots have thus become highly sophisticated systems. in some applications, a valid alternative (or even the mandatory solution) is the use of multiple simple robots which, operating in a coordinated way, can develop complex tasks ([1]; [2]; [7]). this alternative offers additional advantages, in terms of flexibility in operating the group of robots and failure tolerance due to redundancy in available mobile robots [6]. as the number of robots increases, the task of controlling the system becomes more complex. control strategies can be classified as centralized and decentralized. in a centralized control system, all planning and control functions are developed in a single control unit. each mobile robot has few simple sensors, the actuators and the communication system with the single control unit. every motion and conflict between robots is solved by the control unit. nevertheless, the system becomes vulnerable to any failure that may occur in the control unit. on the other hand, with the decentralized control approach, each robot is equipped with multiple sensors and a controller thus becoming capable of recognizing the environment and taking its own control actions ([3]; [5]). the function of the control center -if availableis to assign tasks to each robot and to govern the information flow in the system. the coordinated control of robots allows a team of robots to perform missions not easy or viable to be achieved by a single robot. the guidance of a mobile robot requires its localization in the environment [4]. a precise localization is needed when multiple robots share a common environment. odometric sensors, sonar sensors, gyros, laser and vision and its fusion are commonly used for robot localization and environment modeling. vision sensors are increasingly applied because of its ever-growing capability to capture information. this work proposes a strategy based on capturing vision information with single cameras mounted on the follower robots, to obtain the relative posture of a leader robot and to guide a specified robots formation. the controller design is then obtained using non linear control theory, and the overall control system is proved to be asymptotically stable. the paper is organized as follows. the concept of robot formation is briefly discussed in section 2 and the robot kinematics model in section 3. the visual measurement of the posture of a leader robot is presented in section 4. the controller design and the stability analysis are given in section 5. some experimental results are discussed in section 6. finally, section 7 presents some concluding comments. copyright c© 2006 by ccc publications 86 carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha 2 robots formation in this work the following formation strategy is considered. one of the robots is defined as the leader robot, and moves in an unknown trajectory to the other follower robots. the leader has a pattern mounted on its back, which is observed by the follower robots to obtain information about their relative posture to the leader. this information is used to control their position to reach the specified formation. the visual information is obtained by a looking ahead camera mounted on each follower robot. figure 1 shows typical triangle and convoy configurations that can be defined for three robots by using this strategy. figure 1: a) triangle formation. b) convoy formation. 3 mobile robot model in this work it is considered the unicycle-like mobile robot, with is described by the following kinematics equations: . x = v cos ϕ (1) . y = v sin ϕ . θ = ω where (x, y) are the cartesian coordinates of robot position, and ϕ the robot heading or orientation angle; v and ω are the robot’s linear and angular velocities. the non-holonomic restriction for model (1) is . y cos ϕ − .x sin ϕ = 0 (2) which specifies the tangent trajectory along any feasible trajectory for the robot. the reference point of the robot is assumed to be the middle point between the two driven wheels, fig. 2. v1 and v2 denote linear speeds of the left and the right wheels, respectively. linear and angular velocities of the robot can be expressed as v = (v1 + v2)/2 and ω = (v1 − v2)/l respectively, where l represents the distance between the two driven wheels. coordinated control of mobile robots based on artificial vision 87 figure 2: geometric description of the mobile robot. 4 visual measurement of the leader posture the control objective is that the follower robots follow the leading robot evolving with unknown motion in the working area. the robots have been equipped with a looking-ahead fixed vision camera. this camera captures the image of a pattern mounted on the leading vehicle that features four marks on a square of known side length e[m]. in order to ease the calculations, and without losing generality, the height of the horizontal median of this square is made to coincide with the height of the image’s camera center. the projected pattern on the camera image will appear with a projection distortion as represented in fig. 3. the positions of the pattern’s marks on the image are expressed in pixels as (xi, yi) with i = a, b,c and d. these variables are considered as the image features: figure 3: image of the pattern’s marks. from these image features, as measured by the vision system, it is possible to compute the posture of the leading or target vehicle (xt , zt , ϕt ), measured on a coordinate system associated to the camera (xc, zc). fig. 4 shows a diagram with the horizontal projection of the vision system, showing the posture of the leader or target vehicle on the camera’s coordinates of a follower robot, from which the following expressions are obtained: 88 carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha xt = xr + xl 2 zt = zr + zl 2 (3) ϕt = cos−1( xr −xl e ) by resorting now to the model of reverse perspective, expressions are obtained to compute the leading vehicle’s posture of (3) as a function of the measurements supplied by the vision system, fig.4: xl = zl − f f xa, xr = zr − f f xb (4) zl = f ( e hl + 1 ) , zr = f ( e hr + 1 ) using the variables from (3) and (4), and assuming that the camera is mounted on the robot’s center, the relative posture of the follower robot with respect to the leading robot (ϕ, θ , d) can then be calculated. the relative posture is defined as in figs. 4 and 5. these variables are calculated by the following expressions: φ = tan−1( zr −zl xr −xl ) ϕ = tan−1 ( xt zt ) (5) θ = ϕ + φ d = √ x2t + z 2 t figure 4: location of the leader respecting the camera. coordinated control of mobile robots based on artificial vision 89 figure 5: relative position between the leader and a follower robot. 5 servo visual control of the mobile robot 5.1 controller figure 6 defines the control structure to be used in this work, where h represents the relationship between the variables defining the relative posture of the follower and the leading robot, and the image features ξ . figure 6: control structure. the control objective is defined as follows: assuming a case where a leading robot moves along an unknown trajectory, with unknown velocity as well, make the follower robot keep a desired distance dd to the leader and pointing to it (that is ϕd = 0), using only visual information, fig. 5. more specifically, the control objective can be expressed as lim t→∞ e(t) = lim t→∞ (dd −d) = 0 (6) lim t→∞ ϕ̃(t) = lim t→∞ (ϕd −ϕ) = 0 the evolution of the posture of the follower robot relative to the leader will be stated by the time derivative of the two error variables. the variation of distance error is given by the difference between the projection of the leader’s velocity and the follower robot velocity on the line connecting both vehicles, that is: 90 carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha . e = −vt cos θ + v cos ϕ̃ (7) likewise, the variation of angle error has three terms: the angular velocity of the follower robot, and the rotational effect of the linear velocities of both robots, which can be expressed as: . ϕ̃ = ω + vt sin θ d + v sin ϕ̃ d (8) for the system dynamics expressed by (7) and (8), the following nonlinear controller is proposed to achieve the control objective given in (6), v = 1 cos ϕ̃ (vt cos θ − f (e)) (9) ω = − f (ϕ̃)−vt sin θ d −v sin ϕ̃ d in (9), f (e), f (ϕ̃) ∈ ω , with ω the set of functions that meet the following definition: ω = { f : ℜ → ℜ/ f (0) = 0 and x f (x) > 0 ∀x ∈ ℜ} in particular, the following functions are considered: f (e) = ke tanh(λee) and f (ϕ̃) = kϕ̃ tanh(λϕ̃ ϕ̃). these functions prevent the control actions becoming saturated. the variables used by this controller (θ , ϕ, d) as given by (5) are calculated from the image captured by the vision system. by combining (7), (8) and (9), the closed-loop system is obtained: . e = − fe(e) (10) . ϕ̃ = − fϕ̃ (ϕ̃) 5.2 stability analysis considering the system of (10) with its single equilibrium point at the origin, the following lyapunov candidate function, v = e2 2 + ϕ̃ 2 2 (11) has a time-derivative on the system trajectories given by . v = −e f (e)−ϕ̃ f (ϕ̃) (12) it is then concluded the asymptotic stability of the equilibrium, that is: e(t) → 0, ϕ̃(t) → 0, with t → ∞. it should be noted that the controller of (9) requires knowing the linear velocity vt of the leader vehicle. this variable should be estimated with the available visual information. by approximating the derivative of the position error as given in (7) by the discrete difference between successive positions, and considering a 0.1s sampling period, the objective velocity can be approximated as follows: v̂t = (dk −dk−1)/0.1 + v cos ϕ̃ cos θ coordinated control of mobile robots based on artificial vision 91 6 experiments in order to evaluate the performance of the proposed coordination control algorithm, experiments were carried out with two pioneer 2dx mobile robots (fig. 7). each robot has its own control system. the vision system includes a frame grabber pxc200 that allows capturing the images from a camera sony ev-d30 mounted on the follower robot. these images are transmitted from the follower robot to a pentium ii-400 mhz pc, in charge of processing the images and of calculating the corresponding control actions. figure 8(a) shows the image captured by the camera; this image is processed to obtain the image shown in fig. 8(b). from this image, the centroids of the four projected pattern’s marks are calculated and used to compute the variables (θ , ϕ, d) needed by the controller. finally, the computed control actions are sent by a transmitter to the follower robot. for the experiences, the following parameter values were used: ke = 200, λe = 0.005, kϕ̃ = 10 and λϕ̃ = 0.1. the follower robot has to follow the leading robot by keeping a desired distance of dd = 0.50m and ϕd = 0. figure 9 shows the evolution of the distance between both robots. figure 10 shows the evolution of angles ϕ and θ . from these figures, the accomplishment of the control objective can be verified. fig. 11 depicts the control actions that are calculated and sent to the follower robot. the estimation of the leader robot’s velocity is shown in fig. 12, and the trajectory of the follower robot is depicted in fig. 13. figure 7: robots used in the experiment. figure 8: (a) image captured by the robot’s camera. (b) image processed to find the centroid of each mark. 92 carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha figure 9: evolution of the distance to the objective. figure 10: evolution of angles ϕ and θ . figure 11: calculated control actions. coordinated control of mobile robots based on artificial vision 93 figure 12: estimated velocity of the objective. figure 13: trajectory followed by the follower robot. 7 conclusions in this work, a non-linear vision-based controller for coordinated motion of mobile robots following a leader robot has been presented. the nonlinear controller has been designed with state dependent control gains that allow avoiding the saturation of the control actions. by using the lyapunov method, it has been proven that the resulting control system is asymptotically stable. through experiences, it has been demonstrated that the proposed control system accomplishes the control objective with a good performance, leading to a specified formation in which the follower robots follow a leader robot by using visual information. 8 acknowledgment this work was partially supported by anpcyt and conicet, argentina. the authors thank the science and technology for development program (cyted) for promoting the research cooperation between their groups. references [1] r. alami, multirobot cooperation in the martha project, sieee robotics and automation magazine, vol. 5, no. 1, pp. 36-47, 1998. 94 carlos m. soria, ricardo carelli, rafael kelly, juan m. ibarra zannatha [2] r. c. arkin, integrating behavioural, perceptual and world knowledge in reactive navigation, journal of robotics and autonomous systems, vol. 6, no. 1, pp. 36-47, 1990. [3] h. asama, operation of cooperative multiple robots using communication in a decentralised robotic system, proc. conf. from perception to action, switzerland, 5-7 sept., 1994. [4] j. borestein, navigating mobilerobots systems and techniques, a k peters, wesley, ma, usa, 1996. [5] r. a. brooks, a robust layered control system for a mobile robot, ieee journal of robotics and automation, vol. 2, no. 1, pp. 14-23, 1986. [6] y. ishida, functional complement by co-operation of multiple autonomous robots, proc. ieee int. conf. on robotics and automation, pp. 2476-2481, 1994. [7] m. j. mataric, learning in multi-robot systems, lecture notes in artificial intelligence – adaptation and learning in multi-agent systems, vol. 10, 1996. carlos m. soria, ricardo carelli universidad nacional de san juan instituto de automática av. san martín oeste 1109 5400, san juan, argentina e-mail: csoria@inaut.unsj.edu.ar, rcarelli@inaut.unsj.edu.ar rafael kelly centro de investigación científica y de educación superior de ensenada ensenada, baja california, 22800 méxico e-mail: rkelly@cicese.mx juan m. ibarra zannatha laboratorio de robótica del departamento de control automático centro de investigación y de estudios avanzados av. ipn n 2508, lindavista, 07360 méxico, df e-mail: jibarra@ctrl.cinvestav.mx international journal of computers, communications & control vol. ii (2007), no. 2, pp. 132-142 predictive control of a wastewater treatment process sergiu caraman, mihaela sbarciog, marian barbu abstract: the paper deals with the design of a predictive controller for a wastewater treatment process. in the considered process, the wastewater is treated in order to obtain an effluent having the substrate concentration within the standard limits established by law (below 20 mg/l). this goal is achieved by controlling the concentration of dissolved oxygen to a certain value. the predictive controller uses a neural network as internal model of the process and alters the dilution rate in order to fulfill the control objective. this control strategy offers various possibilities for the control law adjustment by means of the following parameters: the prediction horizon, the control horizon, the weights of the error and the command. the predictive control structure has been tested in three functioning regimes, considered essential due to the frequency of their occurrence in current practice. keywords: predictive control, wastewater treatment, neural network, bioreactor 1 introduction the issue of wastewater treatment belongs to a larger area, namely the environment protection. the environment protection generally and biological wastewater treatments particularly is essential for the life of the human communities and received lately a lot of attention from specialized international organizations. in this context, european laws envisage a series of specific orientations for treating and maintaining the water quality within legal limits (eg. surface water directives, 75/440/eec and 79/869/eec, drinking water directives 80/778/eec/15july1980 and 98/83/eec/3 november 1998, urban wastewater treatment directive 91/271/eec etc.). complementary to what has been already stated, the wastewater treatment processes are very complex, non-linear and characterized by many uncertainties w.r.t. the influent parameters, the structure and the coefficients of the model. moreover, many wastewater treatment plants do not have measurement and control equipments. therefore, there is a need in designing control strategies for the good operation of the process, strategies that may consider various types of models. process modelling: there has been a long transition between adopting the procedure of wastewater treatment using active sludge and setting up the theoretical framework to closely describe the procedure. the delay was mainly caused by the conflicting hypotheses related to the explanation of process mechanisms and their difficult translation into mathematical models [3, 7]. in 1983, international water association (iwa) formed a working group destined to promote and facilitate the practical methods of designing and operating the biological wastewater treatment systems. as a result, the activated sludge model 1 (asm1) has been presented in 1987 (see [8]). the model used 13 state variables and described the elimination of organic carbon and nitrogen. the same working group extended the model afterwards by adding the biological process of phosphorus elimination, and named this model the activated sludge model 2 (asm2) [9]. two other improved versions of asm2, named asm2d and asm3 appeared [10]. the major shortcoming of asm1 is its complexity, which makes it difficult to be used in a control system. a simplified alternative of the asm1 model was obtained by taking into consideration the significant variables on a medium time-scale (a few hours to several days). this is why the variables with a slow evolution were considered constant and those having a fast evolution were neglected [13]. these simplifications allowed the usage of asm1 model in designing control laws. lately, iwa established two major research areas: copyright © 2006-2007 by ccc publications predictive control of a wastewater treatment process 133 • modelling of different industrial wastewater treatment processes: cellulose and paper industry, agricultural farms, spun glass industry, etc. the research team tries to model each process, depending on the substances involved in the process. contrary to the case of domestic wastewater treatment which is made naturally by the microorganisms, the industrial wastewater treatment is done by cultivation of microorganisms, sometimes genetically modified, which consume a certain organic substrate [17, 5]. • conditioning the excess of active sludge in order to use it in other industrial activities, especially as a fertilizer in agriculture [16, 20]. process control: the wastewater treatment systems are complex, non-linear processes, with multiple inputs and outputs (multivariable), which determine equivocal information about the influent’s characteristics, the model’s structure and parameters. two approaches can be distinguished in choosing the control structure for such a process: the first one is process-driven and the second one is model-based. the first approach deals with the separate control of the most important variables. within this category, the well-known problem of controlling the dissolved oxygen level is one of the most important issues for a good operation of the wastewater treatment plants. thus, a good level of dissolved oxygen allows the optimal growth of microorganisms used in the process [12]. recently, the control of nitrogen and phosphor level received also a lot of attention [21]. the second approach has been improved a number of times. these improvements are related to the type of the mathematical model used, as it is the case for state estimators. using simplified models allowed the application of advanced control techniques (e.g. precise linearizing or adaptive control, robust control techniques etc.) [19]. however, when using more complex models, such as the asm1 model, the issue of automatic control became very complicated and the established results were less numerous. for the asm1 model classic control techniques are usually used (pi, pid controllers), arranged hierarchically, in a three-level structure [2]: at the higher level, a stable trajectory for the process is calculated for a certain period of time; the medium level deals with the trajectory optimization for the dissolved oxygen, the flow of the recycled active sludge and the recycled inflow for nitrogen removal; at the lower level, the control of dissolved oxygen concentration is achieved, based on the medium level reference. a well-suited approach for this type of process is the control based on artificial intelligence strategies. thus the intelligent control exploits the knowledge and experience accumulated from managing the process and puts it across the control structures like expert, fuzzy, neuro-fuzzy systems [1, 15, 18]. the present study considers a simplified model of the biological wastewater treatment plant [19]. the process is controlled using a model-based predictive control (mpc) strategy. the predictive controller uses a neural network as internal model of the process. this offers various possibilities for the control law adjustment by means of the following parameters: the prediction horizon, the control horizon, the weights of the error and the command. the control purpose is to maintain the substrate concentration below an admissible limit, which is indirectly achieved by controlling the dissolved oxygen concentration, considering as control input the dilution rate d. the predictive control structure has been tested during several functioning regimes, which are essential due to their frequent occurrence in current practice. the paper is structured as follows: the second section describes the process components and the mathematical model of the plant, the third section introduces theoretical considerations about the control structure used in the paper, while the fourth section refers to the neural network used as internal model of the predictive controller. the fifth section presents the simulation results of the proposed control structure and the last section is dedicated to conclusions. 2 the model of the wastewater treatment process the mathematical model considered in this paper has been proposed in [19]. the model is based on the following assumptions: 134 sergiu caraman, mihaela sbarciog, marian barbu • the system runs in steady-state regime (fin = fout = f , d = f/v ); • the recycled sludge is proportional to the process flow (f ): fr = r · f , where r is the recycled sludge rate; • the flow of the sludge removed from the bioreactor (sludge that is in excess) is considered proportional to the process flow (f ): fβ = β ·f , where β is the removed sludge rate; • there is no substrate or dissolved oxygen in the recycled sludge flow of the bioreactor; • the output flow of the aerated tank is equal to the sum between the output flow of the clarifier tank (settler) and the recycled sludge flow. aerated bioreactor settler influent effluent waste sludge settled sludge recycled sludge s, x , dosin, doin, d x , do, s, (1+r)·d xr , r·d xr , (r+β )·d xr s, (1−β )·d xr , β·d figure 1: the schematic representation of the wastewater treatment process figure 1 presents the schematic representation of the wastewater treatment process. the aeration tank is a biological reactor containing a mixture of liquid and suspended solid, where a microorganism population is grown in order to remove the organic substrate from the mixture. the clarifier tank is a gravity settlement tank where the sludge and the clear effluent are separated. a part of the removed sludge is recycled back to the aeration tank and the other part removed [14]. under these conditions the process model is given by the following mass balance equations: dx dt = µ(t)x (t)−d(t)(1 + r)x (t) + rd(t)xr(t) (1) ds dt = −µ(t) y x (t)−d(t)(1 + r)s(t) + d(t)sin (2) ddo dt = −k0 µ(t) y x (t)−d(t)(1 + r)do(t) + αw (domax −do(t)) + d(t)doin (3) dxr dt = d(t)(1 + r)x (t)−d(t)(β + r)xr(t) (4) µ(t) = µmax s(t) ks + s(t) do(t) kdo + do(t) (5) where x (t) biomass, s(t) substrate, do(t) dissolved oxygen, domax maximum dissolved oxygen, xr(t) recycled biomass, d(t) dilution rate, sin and doin substrate and dissolved oxygen concentrations in the influent, y biomass yield factor, µ biomass growth rate, µmax maximum specific growth rate, ks and kdo saturation constants, α oxygen transfer rate, w aeration rate, k0 model constant, r and β ratio of recycled and waste flow to the influent. the model coefficients have the following values: y = 0.65; β = 0.2; α = 0.018; kdo = 2 mg/l; k0 = 0.5 µmax = 0.15 mg/l; ks = 100 mg/l; domax = 10 mg/l; r = 0.6. predictive control of a wastewater treatment process 135 figure 2: the systemic diagram of the wastewater treatment process the systemic diagram of the process is given in figure 2. figure 3 illustrates the open loop response of the system for a step input d = 0.1 h−1(w = 80 h−1). the initial conditions considered in this simulation are: x (0) = 200 mg/l, s(0) = 88 mg/l, do(0) = 5 mg/l, x r(0) = 320 mg/l, doin = 0.5 mg/l, sin = 200 mg/l. 0 50 100 175 180 185 190 195 200 time [h] x [ m g /l] 0 50 100 55 60 65 70 75 80 time [h] s [ m g /l] 0 50 100 4.5 5 5.5 6 time [h] d o [ m g /l] 0 50 100 320 330 340 350 360 time [h] x r [m g /l] figure 3: open loop system response during the normal functioning of the wastewater treatment process, three regimes have been identified: rain (d = 1/20 h−1, w = 80 h−1), normal (d = 1/35 h−1, w = 60 h−1) and drought (d = 1/50 h−1, w = 20 h−1). the first case is characterized by maximum values for the aeration and dilution rates, the second regime considers medium values for w and d and the third case is characterized by small values for the same parameters. in this study special attention has been paid to the predictive controller, such that it provides good performances for all the three functioning regimes. 3 predictive control predictive control algorithms belong to the class of model-based control strategies, using a process model to incorporate the predicted future behavior of the process into the controller design procedure [6]. independent of the type of model used and of the cost index minimized, the principle of mpc is the same. at each sampling instant t [4]: • use the process model to predict the future output of the process over the prediction horizon n2 , {y(t + k/t), k = 1 . . . n2}, based on past inputs and outputs and postulated future inputs; • minimize the cost index, taking into account possible constraints on input, output and states, in order to determine the optimal control sequence {u(t + k/t), k = 0 . . . nu −1}, where nu is the control horizon; 136 sergiu caraman, mihaela sbarciog, marian barbu • use the receding-horizon control mechanism that introduces feedback into the optimization problem by applying to the process the first optimal control action and discarding the consequent ones. as it is straightforward from the description above (the model is the central element of the entire strategy), the success of mpc strategy is highly dependent on a reliable process model, that is a model which approximates well the process dynamics. a lot of research has been carried out up to now in the area of mpc based on linear models, however many of the real-life processes are characterized by complex non-linearities, the necessity of having a non-linear model of the process becoming straightforward. therefore, emphasis is placed nowadays on using nonlinear models in the framework of predictive control that would lead to improved control performances. the concept of the predictive control algorithm used in this work is illustrated in figure 4. + w u process model step response coefficients min j u g(t) y y m figure 4: predictive control structure at each sampling instant t, the increment of the control input ∆u(t) is calculated by minimizing the cost function j = n2 ∑ k=1 δ 2(k) [w(t + k/t)−y(t + k/t)]2 + nu−1 ∑ k=0 λ 2(k) [∆u(t + k/t)]2 (6) where w(t + k/t) is the setpoint prediction, δ (k) and λ (k) are respectively the weighting coefficients of the prediction errors and of the control input increments. in order to calculate the output prediction, the step response of the model must be determined. to this end, it is necessary to admit that the model can be linearized around the current operating point. then y(t + k/t) = y f ree(t + k/t) + y f orced (t + k/t) (7) where { y f ree(t + k/t), k = 1 . . . n2 } is the model output produced by the control input sequence {u(t + k/t) = u(t −1), k = 0 . . . n2 −1} and y f orced (t + k/t) = k ∑ i=1 gi∆u(t + k −i/t) (8) with {gi, i = 1 . . . n2} the unit step response coefficients. in matrix notation, equation (7) becomes y = gu + yf ree (9) where y = [ y(t + 1/t) . . . y(t + n2/t) ]t (10) u = [ ∆u(t/t) . . . ∆u(t + nu −1/t) ]t (11) yf ree = [ y f ree(t + 1/t) . . . y f ree(t + n2/t) ]t (12) g =   g1 0 . . . 0 g2 g1 . . . 0 ... ... ... ... gn2 gn2−1 . . . gn2−nu−1   (13) predictive control of a wastewater treatment process 137 using the model (9) in (6), a quadratic relation with respect to u is obtained: j = [∆·w −∆(g·u + yf ree)]t [∆·w −∆(g·u + yf ree)] + (λ·u )t (λ·u ) (14) where w = [ w(t + 1/t) . . . w(t + n2/t) ]t (15) ∆ = diag [ δ (1) . . . δ (n2) ] (16) λ = diag [ λ (0) . . . λ (nu −1) ] (17) only the first component of the vector u , ∆u(t/t) = ∆u(t), is used. at the next sampling instant the whole procedure is repeated. 4 the internal model of the process artificial neural networks form an important class of nonlinear systems, with many applications in modeling and control. as mathematically proven (see [11]), any static continuous nonlinear function can be approximated arbitrary well over a compact interval by a multilayer neural network with one or more hidden layers. in this contribution a feedforward neural network is used to model the behavior of the wastewater treatment process. the proposed neural network has three layers: the first one contains 15 neurons, the second one 7 neurons and the output layer 4 neurons. to appropriately capture the interconnections between all variables, up to four time-delayed values of the inputs and states were supplied to the network. the neural model predicts x (t), s(t), xr(t) and do(t) as functions of: d(t −1), d(t −2), d(t −3), w (t −1), w (t −2), w (t −3) x (t −1), x (t −2), x (t −3), x (t −4), s(t −1), s(t −2), s(t −3) xr(t −1), xr(t −2), xr(t −3), xr(t −4), do(t −1), do(t −2), do(t −3) the data used to train the neural network was obtained by integrating the differential equations (1)(4), considering randomly varying dilution rates in the interval [0, 0.1] and randomly varying aeration rates in the interval [0, 100]. before training, the data was scaled to the interval [0, 1]. in the same manner, a second data set was generated and used to validate the accuracy of the model. as figure 5 shows, there is hardly any difference between the measured values from the process and the ones predicted by the neural network for the dissolved oxygen and substrate concentrations. there is a noticeable shift between the biomass calculated based on the differential equations of the process and the biomass predicted by the neural network, but this is not going to affect the performance of the predictive controller since the neural network is used to predict the dissolved oxygen level. 5 simulation results figure 6 illustrates the control principle. the predictive controller calculates the dilution rate, which forces the dissolved oxygen concentration to follow the setpoint. controlling the concentration of dissolved oxygen has a benefic effect on the substrate concentration, which is brought within the limits imposed by the law (below 20mg/l). various configurations of the predictive controller parameters can be chosen in order to fulfill the control requirements. in these simulations a fast control was pursued, which can be generally achieved for a small prediction horizon, and less attention was paid to the magnitude of control input variations. the controller parameters were: n2 = 5, nu = 1, ∆ = i5, λ = 0. 138 sergiu caraman, mihaela sbarciog, marian barbu 0 0.05 0.1 d 0 50 100 w 0 5 10 d o 0 100 200 s 0 200 400 x 0 100 200 300 400 500 600 700 800 900 1000 0 500 x r time [h] figure 5: validation of the neural network model: process continuous line, model dash-dotted line air flow rate (containing do ) consumed do measured do here intervenes the designed controller 1) if the water stays in the tank long enough, the do concentration will increase, because the oxygen is not any longer consumed (treated water is equivalent to the substrate being biologically degraded); 2) if the water does not stay in the tank long enough, the do will decrease, thus the water is not treated (the explanation is that aerobe metabolism reactions are taking place). figure 6: the principle of the dissolved oxygen concentration control 0 50 100 w 4 6 8 d o 0 10 20 s 0 0.05 d 260 280 300 x 0 50 100 150 200 250 300 350 400 450 500 500 550 600 x r time [h] figure 7: simulation results for do constant setpoint (7.5) predictive control of a wastewater treatment process 139 the results of the dissolved oxygen concentration control are presented in figures 7, 8 and 9. figure 7 considers a constant dissolved oxygen setpoint (7.5), while figure 8 shows the case when the dissolved oxygen setpoint is variable. in both cases, the aeration rate w varies such that the process covers all three functioning regimes (rain, normal and drought). 0 50 100 w 4 6 8 d o 0 10 20 s 0 0.05 d 260 280 300 x 0 50 100 150 200 250 300 350 400 450 500 500 550 600 x r time [h] figure 8: simulation results for do variable setpoint figure 9 considers a constant dissolved oxygen setpoint but a variable concentration of the substrate in the influent. at time t = 150 h, sin was changed from 200 mg/l to 300 mg/l and was kept constant to the new value until t = 250 h, when it was changed to 150 mg/l. the controller adjusts the dilution rate and do is brought back to the setpoint value. 0 50 100 w 4 6 8 d o 0 10 20 s 0 0.05 d 200 300 400 x 0 50 100 150 200 250 300 350 400 450 500 500 600 700 x r time [h] figure 9: variable substrate concentration in influent 6 conclusions wastewater treatment is a complex process, which needs control for a good operation. this paper introduces a predictive controller for such a system and evaluates the control performances. the success of the mpc strategy is highly dependent on a reliable process model, that is a model which approximates well the process dynamics. taking into account the complexity of the wastewater treatment process, a neural network has been chosen as internal model for the predictive controller. 140 sergiu caraman, mihaela sbarciog, marian barbu the simulation results show a good performance of the control loop. the controller manipulates the dilution rate and forces the dissolved oxygen concentration to follow the imposed setpoint. this has a benefic effect on the substrate concentration, which is maintained within the limits established by law. the control is effective for various operational regimes, defined by the aeration rate. moreover, it is able to reject disturbances that might appear on the substrate concentration in the inflow. references [1] z. boger, application of neural networks to water and wastewater treatment plant operation, isa trans., vol. 31, pp. 25-33, 1992. [2] m. a. brdys and y. zhang, robust hierarchical optimising control of municipal wastewater treatment plants,preprints of the 9th ifac/ifors/imacs/ifip symposium large scale systems: theory & applications ű lssš2001, bucharest, romania, pp. 540-547, july 18-20, 2001. [3] a. m. buswell and h. l. long, microbiology and theory of activated sludge, journal of american pollution wks. assn., vol. 10, 1923. [4] e. f. camacho and c. bordons, model predictive control, springer-verlag, london, 1999. [5] e. choi et al., high strength nitrogen removal from nightsoil and piggery wastes, proc. of the 6th iwa speciality symposium on strong nitrogenous and agro-wastewater, seoul, korea, 11-13 june, 2003. [6] r. de keyser, model based predictive control, invited chapter in "unesco encyclopedia of life support systems (eolss)", eolss publishers co. ltd., oxford (www.eolss.net), 2003. [7] b. l. goodman and a. j. englande, a unified model of the activated sludge process, journal of water pollution control fed., vol. 46, pp. 312-332, 1974. [8] m. henze et. al., activated sludge model no. 1, iawq scientific and technical report no. 1, iawq, london, great britain, 1987. [9] m. henze et al., activated sludge model no. 2, iawq scientific and technical report no. 3, iawq, london, great britain., 1995. [10] m. henze et al., activated sludge models asm1, asm2, asm2d and asm3, iwa publishing, london, great britain, 2000. [11] k. hornik, m. stinchcobe and h. white, multilayer feedforward networks are universal approximators, neural networks, vol. 2, pp. 359-366, 1989. [12] p. ingildsen, realising full-scale control in wastewater treatment systems using in situ nutrient sensors, ph.d. thesis, dept. of industrial electrical engineering and automation, lund university, sweden, 2002. [13] u. jeppsson, modelling aspects of wastewater treatment processes, ph.d. thesis, dept. of industrial electrical eng. and automation, lund university, sweden, 1996. [14] m. r. katebi, m.a. johnson and j. wilke, control and instrumentation for wastewater treatment plant, springer-verlag, london, 1999. predictive control of a wastewater treatment process 141 [15] r. e. king and a. stathaki, a multi-layer perceptron for the control of a wastewater treatment plant, 12th mediterranean conference on control and automation med2004, kusadasi, turkey, proc. cd-rom, june 6-9, 2004. [16] h. kroiss, what is the potential for utilizing the resources in sludge, water science and technology, vol. 49, pp. 1-10, 2003. [17] g. langergraber et al., monitoring of a paper mill wastewater treatment plant using uv/vis spectroscopy, water science and technology, vol. 49, pp. 9-14, 2003. [18] s. a. manesis, d. j. sapidis and r. e. king, intelligent control of wastewater treatment plants, artificial intelligence in engineering, vol. 12, pp. 275-281, 1998. [19] f. nejjari, a. benhammou, b. dahhou and g. roux, non-linear multivariable adaptive control of an activated sludge wastewater treatment process, int. j. adapt. control signal process., vol. 13, pp. 347-365, 1999. [20] j. t. novak and c. park, chemical conditioning of sludge, proc. of int. conf. on wastewater sludge as a resource biosolids 2003, trondheim, norway, 23-25 june, 2003. [21] s. yagi, h. kohara, y. nakamura and s. shiba, fuzzy control of a wastewater treatment plant for nutrients removal, proc. of the int. conf. on artif. intell. in engineering & technology, sabah, malaysia, june 17-18, 2002. sergiu caraman & marian barbu "dunarea de jos" university of galati, romania department of automatic control and electronics domneasca street, no. 47, 800008-galati, romania sergiu.caraman, marian.barbu@ugal.ro mihaela sbarciog ghent university, belgium department of electrical energy, systems and automation technologiepark 913, zwijnaarde-ghent, 9052, belgium mihaela@autoctrl.ugent.be received: february 19, 2007 sergiu caraman (born on september 30, 1955) received the license degree in 1980 from polytechnical university of bucharest and the phd degree in 1996 from “dunarea de jos” university of galati, romania, both in control systems. presently he is professor in the faculty of electrical engineering and electronics, “dunarea de jos” university. his research interest includes topics such as modelling and control of biotechnological processes, intelligent control. 142 sergiu caraman, mihaela sbarciog, marian barbu mihaela sbarciog(born on may 21, 1976) graduated the faculty of naval and electrical engineering of “dunarea de jos” university of galati in 1999. presently she is a research assistant at faculty of engineering, ghent university. her main research field is the analysis and control of biochemical reaction systems. marian barbu (born on march 22, 1978) received the license degree in 2001 and the phd degree in 2006 from “dunarea de jos” university of galati, both in control systems. presently he is lecturer in the faculty of electrical engineering and electronics, “dunarea de jos” university. his research interest includes topics such as modelling and control of wastewater treatment processes, robust and intelligent control. international journal of computers, communications & control vol. i (2006), no. 1, pp. 33-39 symbolic computations based on grid services dana petcu, cosmin bonchiş, cornel izbaşa abstract: the widespread adoption of the current grid technologies is still impeded by a number of problems, one of which is difficulty of developing and implementing grid-enabled applications. in another dimension, symbolic computation, aiming to automatize the steps of mathematical problem solving, has become in the last years a basis for advanced applications in many areas of computer science. in this context we have recently analyzed and developed grid-extensions of known tools for symbolic computations. we further present in this paper a case study of a web service-based grid application for symbolic computations. keywords: grid computing, web services, mathematical software 1 introduction it is widely recognized that grid computing is the computer buzzword of the decade. many of the greatest challenges for software systems lie in how to enable automated software components deployed by different organizations to dynamically discover one another, communicate and coordinate their actions and form sound, robust and effective compound applications and services. the grid promises to solve these problems. the grid underlying problems are multi-disciplinary and cover a wide range of issues from service discovery, management, robust management of dependencies and system-system communication to security, legal or ethical frameworks, methodologies, verification, testing, and finally deployment of infrastructure in a shared and accessible environment. after the forerunner first-generation grid systems, the second-generation proposed the vision of computing resources to be shared like content on the web over the internet. the associated layered architecture abstracts fundamental system components, their purpose, and their interaction with each other. moreover the current, third-generation grid is aligned with web services. comparing to the conventional distributed computing environments, the usual grid environment focuses on the user: users working on their home machines see the illusion of a single computer, with access to all kinds of data and physical resources. moreover, the specific machines that are used to execute an application are chosen from the user’s point of view, maximizing the performance of that application, regardless of the effect on the system as a whole. the two basic approaches to computational solution of mathematical problems are numerical and symbolic. for a long time, the numerical approach had an advantage of being capable of solving a substantially larger set of problems. developments in symbolic computing are lagging relative to numerical computing, mainly due to the inadequacy of available computational resources: most importantly computer memory, but also processor power. continuous growth in the capabilities of computer hardware led to an increasing interest in symbolic calculations. a transition from numerical modeling to analytical modeling can be observed today in various spheres of science and technology; a motivation consists in the desire to construct more accurate and faithful simulations. currently software tools for symbolic computations, known as computer algebra systems (cas), allow users to study computational problems on the basis of their mathematical formulations and to focus on the problems themselves instead of spending time transforming the problems into forms that are numerically solvable. there are three ways in which a cas can interact with the grid, that are detailed in the next section: the cas uses a grid service to improve its own services, the cas uses the grid infrastructure to improve its response time, or the cas is presented to a client application as a grid service. we have studied the first cases in [11] respectively [10]. in this paper we look to the third approach. the paper is organized as follows. section 2 presents a state-of-the-art in the field. section 3 underlines the benefits of using grid services for symbolic computations. in the context of the current grid and cas technologies, a case study is presented in section 4. further work directions are identified in section 5. 2 the grid and the cas 2.1 approaches for cas-grid interaction a grid-extension of a cas system can tackle one or more of the following approaches: copyright c© 2006 by ccc publications 34 dana petcu, cosmin bonchiş, cornel izbaşa ability to accept services from the grid: the cas must be capable to augment its facilities with external modules, in particular it should be able to explore computational grid facilities, to connect to a specific grid service, to use it, and to translate its results for the cas interface. this approach is taken into consideration by netsolve/gridsolve [1], geodise [4], mathgridlink [14], our maple2g [9]. ability to communicate and cooperate over the grid: several kernels of cass must be able cooperate within a grid when solving problems; in order to have the same cas on different computational nodes a grid-version must be available; in the case of different cass, appropriate interfaces between them must be developed and implemented or a common language for inter-communication must be adopted. this approach is taken into account by maple2g [10]. being a source of grid or web services: the cas or some of its facilities must be reachable as grid or web services and allowed to be activated by remote users under appropriate security and licensing conditions; furthermore, deployment of the services must be done in an easy way from the inside of the cas. this approach is taken into account by the several projects described bellow. more details about the first two approaches can be found in [12]. details about the third approach follows. 2.2 web service-based cas extensions in number theory there exist a number of successful internet projects [6] aiming, among others, at finding large prime numbers, factoring large numbers, computing digits of π , finding collisions on known encryption algorithms etc. a cas web-wrapper component that can be used by multiple systems was reported in [15]. another online system, ogb (for gröbner basis computations), has been recently deployed [5]. maplenet [7] offers a software platform to enhance mathematics and related courses over the web. the client machine must be able to run java applets. a publisher machine is responsible for creating and editing the content of the web pages and, when complete, uploading them to the server. the server is the machine to which clients will connect to access web pages and the applets associated with them. the server also respond to publishing requests from the publisher machine for the transfer of content between the publisher and the server. it manages concurrent maple instances as required to serve client connections for mathematical computation and display services. the server can also provide some additional services including user authentication, logging information, and database access. webmathematica [16] offers access to mathematica applications through a web browser or other web clients. mathematica can be seen as a development environment for webmathematica sites. standard java technologies are used: java servlet and javaserver pages. webmathematica allows a site to deliver html pages that are enhanced by the addition of mathematica commands. when a request is made for one of these pages, the mathematica commands are evaluated and the computed result is inserted into the page. input can come from html forms, applets, javascript, and web-enabled applications. it is also possible to send data files to a server for processing. output can use different formats such as html, images, mathematica notebooks, mathml, svg, xml, postscript, pdf. the monet project [8], funded by the european commission, was a two-year (april 2002-march 2004) investigation into mathematical web services aiming to demonstrate the applicability of the semantic web to the world of mathematical software. the principal objective was to develop a framework for the description and provision of web-based mathematical services. the key to such a framework is the ability to discover services dynamically based on published descriptions which describe both their mathematical and non-mathematical attributes. such discovery and subsequent interaction are mediated by software agents capable of recognizing the criteria which should determine how particular kinds of problems are solved, and extracting them from the user’s problem description. a symbolic solver wrapper tool architecture was designed to provide an environment that encapsulates cass and expose their functionalities through symbolic services deployed. all symbolic services are running as independent web services, each reachable at its own unique url, all of them are enclosed within the symbolic server and they are managed by the wrapper tool symbolic solver environment. each symbolic service is assigned to several instances, such as a service core java class, a source code implementing the service with a mathematical solving software (a cas), and a msdl file. the principal information about each service is provided by the service configuration file that contains tree parts: service’s msdl, service interface to mathematical solving system and the actual service implementation. the technologies used for symbolic solver services implementation are java, axis, tomcat, soap, wsdl, jsp, msdl. maple was chosen as an example of the solving engine for the first implementation and axiom was used to validate the architecture and to demonstrate abilities to adopt different solving engine without performing major changes. symbolic computations based on grid services 35 2.3 grid service-based cas extensions there exist a number of grid-oriented projects that involve cass. the project grid enabled numerical and symbolic services [3], genss (march 2004-february 2006), in the frame of uk e-science programme, addressed the combination of grid computing and mathematical web services, their extension to deliver mathematical problem analysis, the code and the resources to compute the answers, using a common open agent-based framework. the main research focus lied on matchmaking techniques for advertisement and discovery of mathematical services. the project involved the design and implementation of an ontology for symbolic mathematical problems and used to support service specification and registration of services. the ontology has been extended based on work undertaken in monet [8]. the grid execution management for legacy code architecture, gemlca [2] is a recent solution to deploy existing legacy code applications written in any programming language as a grid service without modifying or even requiring access to the legacy code (source or binary). the access point for a client to the gemlca architecture is the front-end layer composed of a number of grid services offering interfaces in order to deploy, query, submit, check the status of, and get the results back from computational jobs. the front-end layer is described in wsdl and can be used by any grid service client to bind and make use of its functionality through soap. in order to access a legacy code program, the user executes the gemlca grid service client that creates a legacy code instance with the help of a legacy code factory. following this, the system submits the job to the compute server through globus toolkit version 3 using a particular job manager. a specific xml format, lcid (legacy code interface description file) is necessary to be used. 3 benefits of using symbolic-computing services based on globus-wsrf the recent version 4 of globus toolkit, de-facto standard for grid technologies, is based on standard web services technologies such as soap and wsdl. it is written according the wsrf specification (web services resource framework). the basic requirements addressed by wsrf is the ability to create, address, inspect, discover, and manage statefull resources. grid services extends web services (usually stateless services) by providing these extra functionalities. wsrf approach is more flexible than the previous ones implemented in globus toolkit (e.g. ogsi implementation) allowing many-to-many mappings between web services (the message processor) and any associated statefull resource (the statefull service instance). 3.1 statefull services the wsrf approach simplifies the development of grid-service wrappers for cass. the cas can take now the role of the statefull service instance. if we go back to the case of the web-wrapper of a cas, we can identify several problems solved by the grid environment. successive related requests to the service hiding the cas will need the maintenance of the service instance in a command waiting cycle, without releasing the connections. when the connection is interrupted, but the client come back to the system it must start as a any new incomer. if a statefull service is used, the latest state of the cas can be registered. despite the fact that the connection was closed, the client can come back and resume the computation at any time before the service instance destruction. 3.2 service instances on remote grid nodes using a appropriate scheduler the cas service instance can run on a different grid hardware resource than the one where the container for web-based grid services resides, primarily addressed by the service client. this approach solves the problem of the server overload of a classic client-server architecture. 3.3 service discovery the user is confronted with thousands of packages are available to perform all kinds of mathematical computations. a standard way to categorize, explore, discover, invoke and compose them is needed. grid computing has 36 dana petcu, cosmin bonchiş, cornel izbaşa awake high expectations for its potential as a discovery accelerator. grid wsrf-based services are described in wsdl standard format that can be easily inspected by any potential client. 3.4 security standards globus’s gsi offers two message-level protection schemes, and one transport-level scheme [13]. gsi secure message scheme that provides message-level security can be used in the case on proprietary cas usage. globus toolkit implements three authentication methods: x.509 certificates, username-password, and anonymous authentication. the first two authentication methods are recommended in the case of a proprietary cas usage. gsi supports also authorization in both the server-side and the client-side. the server has six possible authorization modes: none, self, gridmap, identity-authorization, host authorization, saml callout authorization. depending on the authorization mode that if will be chosen, the server will decide if it accepts or declines an incoming request. identity-authorization or saml callout authorization are recommended in the case of a proprietary cas usage. 4 a case study: grid-based services using maple we proceed with a practical example of how a cas can be made available as grid-wsrf service and for this purpose maple became our cas of choice. the main reason is that, despite its robustness and ease of use, we were not able to locate efforts to link maple with the grid, accept ours, namely maple2g. furthermore, it is well known that maple excels other cass in solving selected classes of problems e.g. systems of nonlinear equations or inequalities. finally, maple has already a build-in socket library for communicating over the internet, and a library for parsing xml. these capabilities match very well with our goal as they suffice to make maple a client for an grid computational service. maple2g (maple-to-grid) was build recently as a grid-wrapper for maple. maple2g consists of two parts a cas-dependent and a grid-dependent one. therefore, any change in the cas or in the grid will be reflected only in one part of the proposed system. furthermore, the cas-dependent part is relatively simple and easy to be ported to support another cas or legacy software. maple2g covers all three approaches described in section 2.1. we describe here the newest component, the one that presents maple as grid service. it is based on the wsrf implementation from globus toolkit 4. figure 1: the four elements of the application, the client, the factory, the instance, and the resource. their interaction in time at the server side, the application has two main components: the factory service, the instance service. a resource is created by the factory service and used by the instance service. the interaction pushed by the client follows the steps (figure 1): 1. the client request the service instance and resource creation; 2. the factory service creates the resource; 3. the key of the resource is identified by the factory; 4. the factory creates the service instance; symbolic computations based on grid services 37 5. the service reference is returned to the factory; 6. the endpointreference (instance and resource identifiers) is send to the client; 7. the client contacts the service instance and request an operation involving the resource; 8. the service instance serves the request using the resource; 9. the service instance sends the result to the client. the client can reiterate the steps (7-9) using the endpointreference. the application components were written in java. the factory service is activated once the globus service container is activated on the resource were the service package was deployed. the instance service launches maple as a concurrent thread on the same hardware resources on which it runs. the communication between the java-based instance service and maple is done via sockets. at start maple thread reads a temporary file that specify the socket channel that should be open and then the cycle in which it accepts any string coming on that communication channel, evaluate it as maple command, and sends the result via the socket connection to the instance service. for example, after the maplefactoryservice activation, the mapleclientperform can send maple commands to the instance service in form of strings: $ mapleclientcreate http://194.102.62.15:8080/wsrf/services/maplefactoryservice >ref $ mapleclientperform ref "ifactor(123456789056789098765098765432100);" (2)^2*(5)^2*(7)*(43)*(113)*(331)*(683)*(12067378391)*(65837)*(202087) $ mapleclientperform ref "p:=12*x^6+84*x^4-54*x^5-270*x^3+168*x^2-216*x+96:" $ mapleclientperform ref "solve(p);" 1/2, 4, i, -i, 2*i, -2*i we have build also a web interface that is depicted by figure 2. we used ajax (asynchronous javascript and xml) for sending and receiving dates to the server. after the user authentification, the interface can be use in few simple step: 1. start the globus container on the server (figure 2.a); 2. choose the proper service (mathfactoryservice) from the list of available services (figure 2.b); 3. start the mathfactoryservice which will launch the maple instance (figure 2.c); 4. fill and execute a maple command (figure 2.d and e). 5. the maple instance executes the command and returns an mathml document as answer. the mathml document will be transform to a svg file which is send back to the interface (figure 2.f). 5 conclusions and further work at this stage maple2g exists as a demonstrator system with some of the functionalities described above. in the near future it will be further developed to include facilities existing in other systems, in order for it to become more robust. currently if the access to maple service is granted, any maple commands can be used. restricted access to a subset of commands (e.g. no access to shell commands revealing the host characteristics or establishing socket connections) should by implemented. specialized services based on maple should be developed and deployed as grid services. experiments on the wide-area grids will help guide further development of the system. deployment of grid services based on other cass than maple using the same codes must be take also into consideration. acknowledgment this work was partially supported by the european project science (fp6-2004-infrastructure-5-026123) and the romanian project compgrid (cncsis-2004-949). 38 dana petcu, cosmin bonchiş, cornel izbaşa figure 2: using a web interface to access symbolic computing services symbolic computations based on grid services 39 references [1] s. agrawal, j. dongarra, k. seymour, s. vadhiyar, “netsolve: past, present, and future – a look at a grid enabled server", in making the global infrastructure a reality, wiley, berman f. (ed.), pp. 613-622, 2003. [2] t. delaitre, a. goyeneche, p. kacsuk, t. kiss, g.z. terstyanszky, s.c. winter, “gemlca: grid execution management for legacy code architecture design”, in procs. of the 30th euromicro conference, special session on advances in web computing, august 2004, rennes, france, pp. 305-315, 2004. [3] genss, available on-line at: http://genss.cs.bath.ac.uk/index.htm. [4] geodise, available on-line at: http://www.geodise.org/. [5] m. gettrick, “ogb: online gröbner bases”, http://grobner.it.nuigalway.ie, 2004. [6] internet-based distributed computing, available on-line at: http://www.aspenleaf.com/ distributed/apmath.html. [7] maplenet, available on-line at: http://www.maplesoft.com/maplenet/. [8] monet, available on-line at: http://monet.nag.co.uk. [9] d. petcu, d. dubu, “an extension of maple for grid and cluster computing”, procs. iccc 2004, i. dziţac, t. maghiar, c.popescu (eds.), oradea, băile felix spa, may 27-29 2004, ed. metropolis, pp. 355-360, 2004. [10] d.petcu, d.dubu, m.paprzycki, “grid-based parallel maple”, lncs 3241, procs. pvmmpi 2004, budapest, hungary, september 19-22, 2004, d. kranzmüller, p. kacsuk, j. dongarra (eds.), springer, pp. 215-223, 2004. [11] d.petcu, m.paprycki, d.dubu, “design and implementation of a grid extension of maple”, scientific programming, vol. 13, no. 2, ios press, pp. 137-149, 2005. [12] d. petcu, d. ţepeneu, m. paprzycki, t. ida, “symbolic computations on grids”, chapter 27, engineering the grid: status and perspective, b. di martino, j. dongarra, a. hoisie, l. yang, and h. zima (eds.), 2006. [13] b. sotomayor, l. childers, globus toolkit 4 : programming java services, morgan kaufmann, 2005. [14] d. ţepeneu, t. ida, “mathgridlink connecting mathematica to the grid”, in procs. ims’04, banff, alberta, canada, 2004. [15] a. weber, w. küchlin, b. eggers, v. simonis, “parallel computer algebra software as a web component”, available on-line at: http://www.cs.ucsb.edu/conferences/ java98/papers/algebra.pdf, 1998. [16] webmathematica, available on-line at: http://www.wolfram.com/products/webmathematica/. dana petcu institute e-austria timişoara and western university of timişoara computer science department address: b-dul vasile pârvan 4, 300223 timişoara, romania e-mail: petcu@info.uvt.ro cosmin bonchiş institute e-austria timişoara, and vasile goldiş university of arad computer science department cornel izbaşa institute e-austria timişoara, and western university of timişoara computer science department international journal of computers, communications & control vol. i (2006), no. 2, pp. 5-5 preface gastón lefranc hernández it is an honor for me to introduce you a list of papers selected from the xvi congress of acca (asociación chilena de control automático, chilean association of automatic control), done in santiago of chile at the end of 2004, in its 30 years of existence. since 1974, acca organize congress (every 2 years), tutorial courses for continuing education, seminars, workshops, exposition of systems and equipments and our magazine automatica and innovation. all of these activities have results: important influence in all ambits, consolidating to acca as a point of meeting of people from industries, from private and public institutions, from the academics world, from suppliers of systems and equipments, and professional from all latin america . in 1976, acca had its first program committee to select papers, and its first proceedings. this congress was organized by acca, ieee chilean chapter on control, robotics and cybernetics, ifac and its technical committees, and the universidad de las américas, chile. acca is nmo of ifac since 1984. acca congress had keynotes speakers for plenary: dr. françois vernadat from france, dr. florin filip from romania, dr. shimon nof from usa and dr. philippe dupont, from france. a round table was organised to discuss about productivity, interested in chile and latin american professionals. the 46 accepted papers selected by the international program committee, were presented in technical sessions where new ideas, critical comments, and the beginning of cooperation leading to future projects will take place. the papers come from argentina, brazil, chile, cuba and méxico. the international program committee selected 10 papers as the best of this congress, to be published in “international journal of computers, communications & control”. the papers are in areas of artificial intelligence, vision, manufacturing, pattern recognition and robotics. acca wants to say thanks to dr. florin filip to permit to show the activities in chile and latin america, oriented to improve and to solve our own problems. it is pleasure to introduce you to this special issue conference dedicated to acca in its 30 years. gastón lefranc hernández chairman of international program committee xvi congress of acca guest editor of this issue copyright c© 2006 by ccc publications int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 144-147 acad. solomon marcus at 85 years (a selective bio-bibliography) f. g. filip (editor in chief of ijccc), i. dzitac (associate editor in chief of ijccc) professor solomon marcus is one of the seniors of the romanian science and culture, with a tremendously diverse and intensive activity, with numerous, fundamental, and many times pioneering contributions to mathematics, mathematical linguistics, formal language theory, semiotics, education, and to other areas, with an impressive internal and international impact and recognition, since several decades very actively involved in the scientific and cultural life – and still as active as ever at his age. that is why the short presentation below is by no means complete, it is only a way to pay our homage to him at his 85th birthday anniversary. we are honored and we thank to professor solomon marcus for having the kindness to publish, in the first issue of this journal, an article occasioned by the moisil centenary1. 1 biography and general data born at march 1, 1925, in bacău, romania. elementary school and high school in bacău, classified the first at the school-leaving examination (“bacalaureat"), in 1944. faculty of science, mathematics, university of bucharest, 1945-1949. assistant professor since 1950, lecturer since 1955, associate professor since 1964, and professor since 1966. professor emeritus since 1991, when he retired. all positions held in the faculty of mathematics, university of bucharest. phd in mathematics in 1956 (with the thesis about “monotonous functions of two variables"), state doctor in sciences in 1968, both at the university of bucharest. corresponding member of romanian academy since april 1993, and full member of the romanian academy (academician) since december 2001. 1grigore c. moisil: a life becoming a myth, international journal of computers, communications & control, 1(1),73-79, 2006 copyright c⃝ 2006-2010 by ccc publications acad. solomon marcus at 85 years (a selective bio-bibliography) 145 research and teaching in the fields of mathematical analysis, theoretical computer science, measure theory, general topology, linguistics, history and philosophy of mathematics, poetics, semiotics, applications of mathematics to natural and social sciences. has published over 50 books, as single author or in collaboration, and over 400 research articles, as well as several hundreds of articles on various cultural topics. has edited over 40 collective volumes. more than 250 invited lectures at various universities from europe, americas, and asia. in his papers and books has solved many open problems in mathematical analysis and has formulated a still larger number of problems and research topics, has introduced new ideas, notions and models, which were addressed and continued by a large number of researchers. just an example: the contextual grammars he has introduced in 1967-68 are now called marcus contextual grammars and were subject of many papers and phd theses, as well as of two monographs. many students and collaborators, a really “contagious" professor and researcher. cited and followed by thousand of authors, from romania and abroad. his books were reviewed and commented by many personalities, among whom, we mention a few: emanuel vasiliu, mike holcombe, sheng yu, yehosua bar-hillel, maurice gross, l. nebesky, michel janot, i.i. revzin, ferenc kiefer, h.p. edmundson, ju.a. sreider, jacob l. mey, carlo tagliavini, gr.c. moisil, matei călinescu, nicolae manolescu, sorin stati, k. sgallova, p. sgall, gabriela melinescu, jean-marie klinkenberg, virgil nemoianu, adrian marino, miron nicolescu, alexandru ivasiuc, wladimir krysinski, mircea mihăieş, şerban cioculescu, eugen simion, constantin negoiţă, tudor octavian, dinu flamând, stelian tănase, alin teodorescu, mircea scarlat, smaranda vultur, cristian calude, gheorghe păun, tudorel urian, paul cernat, irina mavrodin, rosa del conte, jean-pierre descles, umberto eco, marius iosifescu, roman jakobson, gheorghe mihoc, octav onicescu, cesare segre, gheorghe tomozei, iorgu iordan, constanţa buzea, cornel ungureanu, bogdan suceavă, basarab nicolescu, alexandru t. balaban, mihai zamfir, and many others. member of the editorial board of over three dozens of professional journals. among the numerous honors received, we recall: doctor honoris causa of the universities of bacău, constanţa, and craiova. vice president of the international association for semiotic studies (19891999). honorary president of the balkan semiotic society (since 2001). member of the executive committee of the international association for semiotic studies. honorary member of the international association for visual semiotics. honorary member of the toronto semiotic circle, of como (italy) semiotic circle and of the hungarian semiotic society. honorary member of the romanian mathematical society. permanent invited professor, sao paulo catholic university. member of the romanian national mathematical committee. member of the leading council of the romanian linguistic society. member of the romanian union of writers and member (1990-1995) of the leading council of this union. vice-president of the romanian semiotic society. member of the romanian committee for the club of rome. honorary member of the society eratosthene, switzerland. he has also received many prizes, in romania and abroad. with various occasions, special issue of journals and collective volumes were devoted to him. here are some of them: the international journal of computer mathematics (great britain) and revue roumaine de mathematiques pures et appliquées devoted some of their issues in 1985 to his 60th anniversary, while two collective volumes were dedicated to his 70th anniversary, in 1995, mathematical aspects of natural and formal languages, world scientific, singapore, 1994, and mathematical linguistics and related topics, ed. academiei, bucharest, 1995. in the year 2000, two volumes were dedicated to his 75th anniversary: finite vs infinite. an eternal dilemma, springer, london, and recent topics in mathematical and computational linguistics, ed. academiei, bucharest. in the year 2005, volume 64, numbers 1-4 of fundamenta informaticae were published as a “special issue in honor of the 80th birthday of professor solomon marcus", with papers by 70 authors from 16 countries. 146 f. g. filip (editor in chief of ijccc), i. dzitac (associate editor in chief of ijccc) 2 books, authored or co-authored 1. lingvistica matematică. modele matematice în lingvistică. ed. didactică şi pedagogică. bucureşti, 1963. 2. gramatici şi automate finite. ed academiei, bucureşti, 1964. 3. analiza matematică. vol. i. ed. didactică şi pedagogică, bucureşti, 1st edition 1962, 2nd edition 1963, 3rd edition 1966, 4th edition 1971, 5th edition 1980 (in collab. with m. nicolescu and n. dinculeanu). 4. lingvistica matematică (2nd edition, revised and completed with 4 new chapters). ed. didactică şi pedagogică, bucureşti, 1966. 5. introducere în lingvistica matematică. ed. ştiinţifică, bucureşti, 1966 (in collab. with e. nicolau and s. stati) 6. noţiuni de analiză matematică. originea, evoluţia şi semnificaţia lor. ed. ştiinţifică, bucureşti, 1967. 7. limbaj, logică, filozofie. ed. ştiinţifică, bucureşti, 1968 (in collab. with al. boboc, gh. enescu, c. popa, and s. stati). 8. analiza matematică. vol. ii. ed. didactică şi pedagogică, bucureşti, 1st edition 1966, 2nd edition 1971, 3rd edition 1980 (in collab. with m. nicolescu and n. dinculeanu). 9. introduction mathematique a la linguistique structurale. dunod, paris, 1967. 10. algebraic linguistics; analytical models. academic press, new york, 1967. 11. poetica matematică. ed. academiei, bucureşti, 1970. 12. teoretiko-mnozestvennye modeli jazykov. ed. nauka, moscova, 1970 (translation of the first five chapters of book 10 and of the last chapter of book 9). 13. algebraicke modely jazyka. ed. academia, prague, 1969 (translation in czech of book 4, and of a part of book 2). 14. introduzione alla linguistica matematica. casa editrice riccardo patron, bologna, 1970 (revised and completed translation of book 5; in collab. with e. nicolau and s. stati). 15. mathematische poetik. ed. academiei, bucureşti – athenaum-verlag, frankfurt am main, 1973 (revised and completed translation of book 11). 16. matematicka poetika. ed. nolit, belgrad, 1974 (revised and completed serbo-croatian translation of book 11). 17. din gândirea matematică românească. ed. ştiinţifică şi enciclopedică, bucureşti, 1975. 18. semiotica folclorului. abordare lingvistico-matematică. ed. academiei, bucureşti, 1975 (coauthor). 19. matematicka analyza ctena podruhe. ed. academia, prague, 1976 (revised and completed czech translation of book 6). 20. a nyelvi szepseq matematikaja. ed. gondolat, budapesta, 1977. 21. metode distribuţionale algebrice în lingvistică. ed. academiei, bucureşti, 1977 (coauthor). 22. la semiotique formelle du folklore. approche linguistico-mathematique. ed. klincksieck, paris – ed. academiei, bucureşti, 1978 (revised and completed translation of book 18; co-author). 23. introduccion en la linguistica matematica. ed. teide. barcelona, 1978 (revised and completed spanish translation of book 5). 24. semne despre semne. ed. ştiinţifică şi enciclopedică, bucureşti, 1979. acad. solomon marcus at 85 years (a selective bio-bibliography) 147 25. contextual ambiguities in natural & artificial languages. vol. 1, communication and cognition, ghent, belgium, 1981 (revised and completed translation of a part of book 21). 26. snmeia gia ta snmeia. ed. pneumatikos, atena, 1981 (greek translation of book 24). 27. metode matematice în problematica dezvoltării. ed. academiei, bucureşti, 1982 (co-author). 28. gândirea algoritmică. ed. tehnică, bucureşti, 1982. 29. semiotica matematică a artelor vizuale. ed. ştiinţifică şi enciclopedică, bucureşti, 1982 (coordinator and co-author). 30. simion stoilow. ed. ştiinţifică şi enciclopedică, bucureşti, 1983 (in collab. with cabiria andreian cazacu). 31. paradoxul. ed. albatros, bucureşti, 1984. 32. timpul. ed. albatros, bucureşti, 1985. 33. artă şi ştiinţă. ed. eminescu, bucureşti, 1986. 34. analiza matematică. vol. ii, univ. bucureşti, 1986 (co-author). 35. to paradocso. ed. pneumatikos, atena, 1986 (greek version of book 31). 36. şocul matematicii. ed. albatros, bucureşti, 1987. 37. moduri de gândire. colecţia “ştiinţa pentru toţi", ed. ştiinţifică şi enciclopedică, bucureşti, 1987. 38. provocarea ştiinţei. seria “idei contemporane", ed. politică, bucureşti, 1988. 39. invenţie şi descoperire. ed. cartea românească, 1989. 40. analiza matematică. materiale pentru perfecţionarea profesorilor de liceu iii. universitatea din bucureşti, facultatea de matematică, bucureşti, 1989 (co-author). 41. dicţionar de analiză matematică. ed. ştiinţifică şi enciclopedică, bucureşti, 1989 (co-author). 42. controverse în ştiinţă şi inginerie. ed. tehnică, bucureşti, 1991. 43. language, logic, cognition and communication; a semiotic,computational and historical approach. report 9/96. grup de recerca en linguistica matematica i enginyeria del llenguatge. reports universitat rovira i virgili, tarragona, spain, 1996. 44. matematica, manual pentru clasa a ix-a, licee teoretice specializarea filologie (in colab. with mihaela singer). ed. sigma, bucureşti, 1999; 2nd edition, 2000. 45. matematica, manual pentru clasa a xii-a (in colab. with p. alexandrescu, m. radulescu, s. radulescu). ed. paralela 45, bucureşti – piteşti, 2002. 46. jocul ca libertate. ed. scripta (colecţia ludică), bucureşti, 2003. 47. mathematics in romania. cub press 22, baia mare, 2004. 48. intâlnirea extremelor. scriitori în orizontul ştiinţei. ed. paralela 45, bucureşti – piteşti, 2005. 49. paradigme universale. ed. paralela 45, piteşti – bucureşti, 2005. 50. paradigme universale ii. pornind de la un zâmbet. ed. paralela 45, piteşti – bucureşti, 2006. 51. paradigme universale iii. jocul. ed. paralela 45, piteşti – bucureşti, 2007. 52. words and languages everywhere. polimetrica academic publisher, milano, 2007. 53. solomon marcus (protagonist): educaţia în spectacol. spandugino publ. house., bucureşti, 2010. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 238-250 solving problems in a distributed way in membrane computing: dp systems gh. păun, m.j. pérez-jiménez gheorghe păun institute of mathematics of the romanian academy po box 1-764, 014700 bucureşti, romania, and department of computer science and artificial intelligence university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: gpaun@us.es mario j. pérez-jiménez department of computer science and artificial intelligence university of sevilla avda. reina mercedes s/n, 41012 sevilla, spain e-mail: marper@us.es abstract: although p systems are distributed parallel computing devices, no explicit way of handling the input in a distributed way in this framework was considered so far. this note proposes a distributed architecture (based on cell-like p systems, with their skin membranes communicating through channels as in tissue-like p systems, according to specified rules of the antiport type), where parts of a problem can be introduced as inputs in various components and then processed in parallel. the respective devices are called dp systems, with the case of accepting strings called dp automata. the communication complexity can be evaluated in various ways: statically (counting the communication rules in a dp system which solves a given problem), or dynamically (counting the number of communication steps, of communication rules used in a computation, or the number of objects communicated). for each measure, two notions of “parallelizability" can be introduced. besides (informal) definitions, some illustrations of these idea are provided for dp automata: each regular language is “weakly parallelizable" (i.e., it can be recognized in this framework, using a constant number of communication steps), and there are languages of various types with respect to chomsky hierarchy which are “efficiently parallelizable" (they are parallelizable and, moreover, are accepted in a faster way by a dp automaton than by a single p automaton). several suggestions for further research are made. keywords: membrane computing, p system, distributed computing, communication complexity, chomsky hierarchy. 1 introduction p systems are by definition distributed parallel computing devices, [11], [12], [17], and they can solve computationally hard problems in a feasible time, [13], but this efficiency is achieved by a trade-off between space and time, based on the possibility of generating an exponential workspace in a linear time, by means of biologically inspired operations, such as membrane division and membrane creation. however, no class of p systems was proposed where a hard problem can be solved in a distributed parallel copyright c⃝ 2006-2010 by ccc publications solving problems in a distributed way in membrane computing: dp systems 239 way after splitting the problem in parts and introducing these subproblems in components of a p system which can work on these subproblems in parallel and produce the solution to the initial problem by interacting/communicating among each other (like in standard distributed computer science). in particular, no communication complexity, in the sense of [2], [9], [16], was considered for p systems, in spite of the fact that computation (time) complexity is very well developed, [13], and also space complexity was recently investigated, [14]. some proposals towards a communication complexity of p systems were made in [1], but mainly related to the communication effort in terms of symport/antiport rules used in so-called evolution-communication p systems of [5]. (note that in communication complexity theory the focus is not on the time efficiency of solving a problem, but the parties involved in the computation just receive portions of the input, in general, distributed in a balanced manner, “as fair as possible" – this distribution introduces an inherent difficulty in handling the input – and then mainly the complexity of the communication needed to parties to handle this input is investigated.) this note tries to fill in this gap, proposing a rather natural framework for solving problems in a distributed way, using a class of p systems which mixes ingredients already existing in various much investigated types of p systems. namely, we consider p systems with inputs, in two variants: (i) like in p automata, [6], [10], where a string of symbols is recognized if those symbols are brought into the system from the environment and the computation eventually halts (it is important to note that the string is “read" during the computation, not before it), and (ii) in the usual manner of complexity investigations, [13], where an instance of a decision problem is introduced in a p system in the form of a multiset of symbols (this operation takes no time, the computation starts after having the code of the problem inside), and the system decides that instance in the end of a computation which sends to the environment one of the special objects yes or no. several such systems, no matter of what type, are put together in a complex system which we call dp system (from “distributed p system"); the component systems communicate through channels linking their skin membranes, by antiport rules as in tissue-like p systems. when accepting strings by dp systems with p automata as components, the device is called a dp automaton. such an architecture was already used, with specific ingredients, for instance, in the investigations related to eco-systems, where “local environments" are necessary to be delimited and communication possibilities exist, linking them; details can be found in the recent paper [4]. the way to use a dp system is obvious: a problem q is split into parts q1,q2,...,qn, which are introduced in the n components of the dp system (as in p automata or as in decision p systems), these n systems work separately on their problems, and communicate to each other according to the skin-toskin rules. the solution to the problem q is provided by the whole system (by halting – in the case of accepting strings, by sending out one of the objects yes or no, etc.). like in communication complexity, [9], we request the problem to be distributed in a balanced way among the components of the dp system, i.e., in “as equal as possible" parts (also an almost balanced way to distribute the input among two processors is considered in [9] – no partner takes more than two thirds of the input – which does not seem very natural to be extended to the general case, of n processors). several possibilities exist for defining the communication complexity of a computation. we follow here the ideas of [1], and introduce three measures: the number of steps of the computation when a communication rule is used (such a step is called communication step), the number of communication rules used during a computation, and the number of objects transferred among components (by communication rules) during a computation. all these three measures are dynamically defined; we can also consider a static parameter, like in descriptional complexity of chomsky languages (see a survey in [8]), i.e., the number of communication rules in a dp system. a problem is said to be “weakly parallelizable" with respect to a given (dynamical) communication complexity measure if it can be split in a balanced way, introduced in the dp system, and solved using a number of communication steps bounded by a constant given in advance; a problem is “efficiently parallelizable" if it is weakly parallelizable and can be solved by a dp system in a more efficient way than by a single p system; more precise definitions are given in the next sections of the paper. 240 gh. păun, m.j. pérez-jiménez various possibilities exist, depending on the type of systems (communicating systems, e.g., based on symport/antiport rules, systems with active membranes, catalytic systems, etc.) and the type of problem we consider (accepting strings, decision problems, numerical problems, etc.). in this note we only sketch the general formal framework and give an illustration, for the case of accepting strings as in p automata. we only show here that all regular languages are weakly parallelizable (only one communication step suffices, hence the weak parallizability holds with respect to all three dynamical measures), and that there are regular, context-free non-regular, context-sensitive noncontext-free languages which are efficiently parallelizable with respect to the first two dynamical measures mentioned above (in view of the results in [9], there are linear languages which are not efficiently parallelizable with respect to the number of communicated objects/bits among components). if we use extended systems (a terminal alphabet of objects is available) and the communication channels among the components of a dp automaton are controlled, e.g., by states, as in [7], or created during the computation, as in [3], then the power of our devices increases considerably: all recursively enumerable languages are weakly parallelizable in this framework. many research problems remain to be explored, starting with precise definitions for given classes of p systems, continuing with the study of usefulness of this strategy for solving computationally hard problems (which problems are weakly/efficiently parallelizable and which is the obtained speed-up for them?), and ending with a communication complexity theory of dp systems, taking into account all measures of complexity mentioned above (for the number of objects communicated among components, which corresponds to the number of bits considered in [9], we can transfer here the general results from communication complexity – note however that in many papers in this area one deals with 2-party protocols, while in our framework we want to have an n-party set-up, and that we are also interested in the time efficiency of the distributed and parallel way of solving a problem). 2 dp systems – a preliminary formalization the reader is assumed familiar with basics of membrane computing, e.g., from [11], [12], and of formal language theory, e.g., from [15], hence we pass directly to introducing our proposal of a distributed p system. the general idea is captured in the following notion. a dp scheme (of degree n ≥ 1) is a construct ∆ = (o,π1,...,πn,r), where: 1. o is an alphabet of objects; 2. π1,...,πn are cell-like p systems with o as the alphabet of objects and the skin membranes labeled with s1,...,sn, respectively; 3. r is a finite set of rules of the form (si,u/v,s j), where 1 ≤ i, j ≤ n, i ̸= j, and u,v ∈ o∗, with uv ̸= λ ; |uv| is called the weight of the rule (si,u/v,s j). the systems π1,...,πn are called components of the scheme ∆ and the rules in r are called intercomponents communication rules. each component can take an input, work on it, communicate with other components (by means of rules in r), and provide the answer to the problem in the end of a halting computation. (a delicate issue can appear in the case of components which can send objects to the environment and bring objects from the environment – this happens, for instance, for symport/antiport p systems; in this case we have to decide whether or not the components can exchange objects by means of the environment, or the only permitted communication is done by means of the rules in r. for instance, solving problems in a distributed way in membrane computing: dp systems 241 a “local environment" for each component can be considered, disjoint from the “local environments" of other components, thus preventing the interaction of components by means of other rules than those in r. actually, the rules in r themselves can be defined between these “local environments" – which is a variant worth to explore. we point out here that also the need of a “local environment" has appeared in the applications of membrane computing to eco-systems investigations, see [4] and its references.) now, we can particularize this notion in various ways, depending on the type of systems πi,1 ≤ i ≤ n, and the type of problems we want to solve. for instance, we can define dp systems with active membranes, as dp schemes as above, with the components being p systems with active membranes, each of them having a membrane designated as the input membrane. having a decision problem – consider, e.g., sat for n variables and m clauses – we can split a given instance of it in parts which are encoded in multisets which are introduced in the components of the dp system. for example, we can introduce the code of each separate clause in a separate component of the dp system. the components start to work, each one deciding its clause, and in the end they communicate to each other the result; if one of the components will find that all m clauses are satisfied, then the whole sat formula is satisfied. intuitively, this is a faster way than deciding the formula by means of a single p system with active membranes – but a crucial aspect has been neglected above: in order to say that the formula is satisfied, all the m clauses should be satisfied by the same truth-assignment, and this supposes that the m components communicate to each other also which is the assignment which turns true the clauses. that is, besides the usual time complexity of solving the problem we have now to consider the cost of communication among the components and the trade-off between these two parameters should be estimated. another interesting case, which will be briefly investigated in the subsequent section, is that of accepting strings in the sense of p automata, [6], [10]; we will come back immediately to this case. on the other hand, we have several possibilities for estimating “the cost of communication", and we adapt here the ideas from [1]. let us consider a dp system ∆ , and let δ : w0 =⇒ w1 =⇒ ... =⇒ wh be a halting computation in ∆ , with w0 being the initial configuration. then, for each i = 0,1,...,h −1 we can write: comn(wi =⇒ wi+1) = 1 if a communication rule is used in this transition, and 0 otherwise, comr(wi =⇒ wi+1) = the number of communication rules used in this transition, comw (wi =⇒ wi+1) = the total weight of the communication rules used in this transition. these parameters can then be extended in the natural way to computations, results of computations, systems, problems/languages. we consider below the case of accepting strings (by l(∆ ) we denote the language of strings accepted by ∆ ): for comx ∈ {comn,comr,comw } we define comx(δ ) = ∑h−1 i=0 comx(wi =⇒ wi+1), for δ : w0 =⇒ w1 =⇒ ... =⇒ wh a halting computation, comx(w,∆ ) = min{comx(δ ) | δ : w0 =⇒ w1 =⇒ ... =⇒ wh is a computation in ∆ which accepts the string w}, comx(∆ ) = max{comx(w,∆ ) | w ∈ l(∆ )}, comx(l) = min{comx(∆ ) | l = l(∆ )}. similar definitions can be considered for more general decidability problem than accepting strings, then complexity classes can be defined. we do not enter here into details for this general case; in the next section we will briefly consider the specific case of dp automata and of languages. the previously sketched approach should be investigated in more details. which is the speed-up for a given problem or class of problems? clearly, comn(α) ≤ comr(α) ≤ comw (α), for all valid 242 gh. păun, m.j. pérez-jiménez α . moreover, in one communication step one can use arbitrarily many communication rules, which therefore move from a component to another one arbitrarily many objects. anyway, independently of the communication cost, presumably, only a linear speed-up can be obtained by splitting the problem in a given number of parts. are there problems which however cannot be solved in this framework in a faster way than by using a single p system (with active membranes) provided that the communication cost is bounded (e.g., using communication rules in r only for a constant number of times)? which is the communication complexity for a given problem or class of problems? finding suggestive examples can be a first step in approaching such issues. a case study will be considered in the next section, not for dp systems with active membranes (which, we believe, deserve a separate and detailed examination), but for a distributed version of p automata. 3 dp automata we consider now the distributed version of p automata, [6], [10], which are symport/antiport p systems which accept strings: the sequence of objects (because we work with strings and symbol objects, we use interchangeably the terms “object" and “symbol") imported by the system from the environment during a halting computation is the string accepted by that computation (if several objects are brought in the system at the same time, then any permutation of them is considered as a substring of the accepted string; a variant, considered in [6], is to associate a symbol to each multiset and to build a string by such “marks" attached to the imported multisets). the accepted string can be introduced in the system symbol by symbol, in the first steps of the computation (if the string is of length k, then it is introduced in the system in the first k steps of the computation – the p automaton is then called initial), or in arbitrary steps. of course, the initial mode is more restrictive – but we do not enter here into details. as a kind of mixture of the ideas in [6] and [10] for defining the accepted language, we can consider extended p automata, that is, with a distinguished alphabet of objects, t , whose elements are taken into account when building the accepted string (the other objects taken by the system from the environment are ignored). here, however, we work with non-extended p automata. a dp automaton is a construct ∆ = (o,e,π1,...,πn,r), where (o,π1,...,πn,r) is a dp scheme, e ⊆ o (the objects available in arbitrarily many copies in the environment), πi = (o, µi,wi,1,...,wi,ki,e,ri,1,...,ri,ki) is a symport/antiport p system of degree ki (without an output membrane), with the skin membrane labeled with (i,1) = si, for all i = 1,2,...,n. a halting computation with respect to ∆ accepts the string x = x1x2 ...xn over o if the components π1,...,πn, starting from their initial configurations, using the symport/antiport rules as well as the intercomponents communication rules, in the non-deterministically maximally parallel way, bring from the environment the substrings x1,...,xn, respectively, and eventually halts. the dp automaton is synchronized, a universal clock exists for all components, marking the time in the same way for the whole dp automaton. it is also important to note that we work here in the non-extended case, all input symbols are recorded in the string. in this way, at most context-sensitive languages can be recognized. the three complexity measures comn,comr,comw defined in the previous section can be directly introduced for dp automata (and they were formulated above for this case). with respect to them, we can consider two levels of parallelizability. a language l ⊆ v ∗ is said to be (n,m)-weakly comx parallelizable, for some n ≥ 2,m ≥ 1, and x ∈ {n,r,w }, if there is a dp automaton ∆ with n components and there is a finite subset f∆ of l such that each string x ∈ l − f∆ can be written as x = x1x2 ...xn, with ||xi|− |x j|| ≤ 1 for all 1 ≤ i, j ≤ n, each solving problems in a distributed way in membrane computing: dp systems 243 component πi of ∆ takes as input the string xi,1 ≤ i ≤ n, and the string x is accepted by ∆ by a halting computation δ such that comx(δ ) ≤ m. a language l is said to be weakly comx parallelizable if it is (n,m)-weakly comx parallelizable for some n ≥ 2,m ≥ 1. two conditions are here important: (i) the string is distributed in equal parts, modulo one symbol, to the components of the dp automaton, and (ii) the communication complexity, in the sense of measure comx , is bounded by the constant m. we have said nothing before about the length of the computation. that is why we also introduce a stronger version of parallelizability. a language l ⊆ v ∗ is said to be (n,m,k)-efficiently comx parallelizable, for some n ≥ 2,m ≥ 1,k ≥ 2, and x ∈ {n,r,w }, if it is (n,m) weakly comx parallelizable, and there is a dp automaton ∆ such that lim x∈l,|x|→∞ timeπ (x) time∆ (x) ≥ k, for all p automata π such that l = l(π) (timeγ (x) denotes here the smallest number of steps needed for the device γ to accept the string x). a language l is said to be efficiently comx parallelizable if it is (n,m,k)-efficiently comx parallelizable for some n ≥ 2,m ≥ 1, k ≥ 2. note that in the case of dp automata, the duration of a computation may also depend on the way the string is split in substrings and introduced in the components of the system; in a natural way, one of the most efficient distribution of the string and shortest computation are chosen. of course, as larger the constant k as better. moreover, while time∆ (x) is just given by means of a construction of a suitable dp automaton ∆ , timeπ (x) should be estimated with respect to all p automata π . an example is worth considering in order to illustrate this definition. let us examine the dp system from figure 1 – the alphabet of objects is o = {a,b,c,d,c1,c2,#}, and e = {a,b}. clearly, component π1 (in the left hand side of the figure) can only bring objects a,c inside, and component π2 (in the right hand side of the figure) can only bring objects b,d inside. in each step, only one of a,c, alternately, enters π1 and only one of b,d, alternately, enters π2 (note that we do not need objects c,d to be present initially in the environment, while one copy of each a and b is sufficient). the computation of each component can stop only by “hiding" the “carrier objects" c,d inside an inner membrane, and this means releasing c1 in π1 and c2 in π2. if these objects are not released at the same time in the two components, so that the exchange rule (s1,c1/c2,s2) can be used, then, because of the maximal parallelism, the object c1 should enter membrane (1,3), and object c2 should enter membrane (2,3); in each case, the trap-object # is released, and the computation never stops: the object # oscillates forever across membrane (1,2) in π1 and across membrane (2,2) in π2. consequently, the two strings accepted by the two components of ∆ should have the same length, that is the language accepted by the system is l(∆ ) = {(ac)s(bd)s | s ≥ 0}. note the crucial role played here by the fact that the system is synchronized, and that a computation which accepts a string xs = (ac)s(bd)s, hence of length 4s, lasts 2s + 2 steps (2s steps for bringing objects inside, one step when objects c,d are introduced in an inner membrane, and one inter-components communication step), with one of these steps being a communication between components. obviously, if we recognize a string xs = (ac)s(bd)s as above by means of a usual symport/antiport p system, then, because no two symbols of the string can be interchanged, no two adjacent symbols can be introduced in the system at the same step, hence the computation lasts at least as many steps as the length of the string, that is, 4s. this shows that our language is not only (2,r)-weakly comx parallelizable, but also (2,r,2)-efficiently comx parallelizable, for (r,x) ∈ {(1,n),(1,r),(2,w )}. this conclusion is worth formulating as a theorem. 244 gh. păun, m.j. pérez-jiménez ' & $ % ' & $ % # " !# " ! # " ! # " ! s1 (1,2) (1,3) c1 # (c1,out;c,in) (#,in) (#,out) (#,out;c1,in) c d (s1,c1/c2,s2) (c,out;a,in) (a,out;c,in) s2 (2,2) c2 # (2,3) (c2,out;d,in) (#,in) (#,out) (#,out;c2,in) (d,out;b,in) (b,out;d,in) figure 1: an example of a dp automaton theorem 1. the language l = {(ac)s(bd)s | s ≥ 0} is efficiently comx parallelizable, for all x ∈ {n,r,w }. note that this language is not regular (but it is linear, hence also context-free). the previous construction can be extended to dp automata with three components: π1 inputs the string (ac)s, π2 inputs (bd)s, and π3 inputs (ac)s, then π1 produces the object c1, π2 produces two copies of c2, and π3 produces the object c3. now, c1 is exchanged for one copy of c2 from π2 and c3 for the other copy, otherwise the computation never stops. the recognized language is {(ac)s(bd)s(ac)s | s ≥ 0}. this language is not context-free, hence we have: theorem 2. there are context-sensitive non-context-free languages which are efficiently comx parallelizable, for all x ∈ {n,r,w }. the previous two theorems show that the distribution, in the form of dp systems, is useful from the time complexity point of view, although only one communication step is performed and only one communication rule is used at that step. moreover, the proofs of the two theorems show that, in general, languages consisting of strings with two well related halves (but not containing “too much" information in each half of the string, besides the length), are weakly parallelizable, and, if no two adjacent symbols of the strings can be interchanged, then these languages are efficiently parallelizable. we have said nothing above about regular languages – this is the subject of the next section. solving problems in a distributed way in membrane computing: dp systems 245 4 all regular languages are weakly parallelizable the assertion in the title of this section corresponds to theorem 2.3.5.1 in [9], which states that for each regular language there is a constant k which bounds its (2-party) communication complexity. the version of this result in terms of weak comx parallelizability is shown by the following construction. consider a non-deterministic finite automaton a = (q,t,q0,f,p) (set of states, alphabet, initial state, final states, set of transition rules, written in the form qa → q′, for q,q′ ∈ q,a ∈ t ). without any loss of generality, we may assume that all states of q are reachable from the initial state (for each q ∈ q there is x ∈ t ∗ such that q0x =⇒∗ q with respect to transition rules in p). we construct the following dp automaton: ∆ = (o,e,π1,π2,r), where : o = q ∪ t ∪{d} ∪ {(q,q′) | q,q′ ∈ q} ∪ {⟨q,q f ⟩ | q ∈ q,q f ∈ f} ∪ {⟨q⟩ | q ∈ q}, e = o −{d}, π1 = (o,[s1[1,2 ]1,2 ]s1,q0,λ ,e,rs1,r1,2), rs1 = {(q,out;q ′a,in) | qa → q′ ∈ p} ∪ {(q,out;⟨q′⟩a,in) | qa → q′ ∈ p}, r1,2 = {(⟨q⟩,in), (⟨q⟩,out) | q ∈ q}, π2 = (o,[s2 ]s2,d,e,rs2), rs2 = {(d,out;(q,q ′)a,in) | qa → q′ ∈ p,q ∈ q} ∪ {((q,q′),out;(q,q′′)a,in) | q′a → q′′ ∈ p,q ∈ q} ∪ {((q,q′),out;⟨q,q f ⟩a,in) | q′a → q f ∈ p,q ∈ q,q f ∈ f}, r = {(s1,⟨q⟩/⟨q,q f ⟩,s2) | q ∈ q,q f ∈ f}. the first component analyzes a prefix of a string in l(a), the second component analyzes a suffix of a string in l(a), first guessing a state q ∈ q from which the automaton starts its work. at some moment, the first component stops bringing objects inside by taking from the environment a symbol ⟨q′⟩ for some q′ ∈ q, reached after parsing the prefix of the string in l(a). this object will pass repeatedly across the inner membrane of π1. the second component can stop if a state q′ is reached in the automaton a for which no rule q′a → q′′ exists in p (and then ∆ never stops, because its first component never stops), or after reaching a state in f , hence introducing an object of the form ⟨q,q f ⟩ for some q f ∈ f . note that q is the state chosen initially and always stored in the first position of objects (q1,q2) used by π2. the computation can halt only by using a communication rule from r, and this is possible only if q = q′ – the first component has reached the state of a which was the state from which the second component started its work. consequently, the concatenation of the two strings introduced in the system by the two components is a string from l(a). thus, the language l(a) is weakly parallelizable. now, consider a regular language such that no two adjacent symbols in a string can be permuted (take an arbitrary regular language l over an alphabet v and a morphism h : v ∗ −→ (v ∪{c})∗, where c is a symbol not in v , such that h(a) = ac for each a ∈ v ). then, clearly, if the two strings accepted by the two components of the dp automaton ∆ are of equal length (note that the strings of h(l) are of an even length), then the time needed to ∆ to accept the whole string is (about) half of the time needed to any p automaton π which accepts the same language. this proves that the language h(l) is efficiently parallelizable, hence we can state: 246 gh. păun, m.j. pérez-jiménez theorem 3. each regular language is weakly comx parallelizable, and there are efficiently comx parallelizable regular languages, for all x ∈ {n,r,w }. of course, faster dp automata can be constructed, if we use more than two components. however, it is not clear whether dp automata with n + 1 components are always faster than dp automata with n components – this might depend on the structure of the considered language (remember that the distribution of the input string to the components of the dp automaton must be balanced). more specifically, we expect that there are (n,m) weakly parallelizable languages which are not, e.g., (n + 1,m) weakly parallelizable; similar results are expected for efficiently parallelizable languages. a natural question is how much the result in theorem 3 can be extended. for instance, is a similar result true for the linear languages, or for bigger families of languages? according to theorem 2.3.5.4 in [9], this is not true for measures comr and comw , the recognition of context-free languages (actually, the language lr at page 78 of [9] is linear) have already the highest communication complexity (in 2party protocols), a linear one with respect to the length of the string. thus, the number of communication rules used by a dp automaton during a computation cannot be bounded by a constant. the case of measure comn remains to be settled: is it possible to have computations with a bounded number of communication steps, but with these steps using an unbounded number of rules? we conjecture that even in this case, languages of the form {x mi(x) | x ∈ {a,b}∗}, where mi(x) is the mirror image of x (such a language is minimally linear, i.e., can be generated by a linear grammar with only one nonterminal), are not weakly comn parallelizable. many other questions can be raised in this framework. for instance, we can consider families of languages: (n,m)-weakly comx parallelizable, weakly comx parallelizable, (n,m,k)-efficiently comx parallelizable, and efficiently comx parallelizable. which are their properties: interrelationships and relationships with families in chomsky hierarchy, closure and decidability properties, hierarchies on various parameters, characterizations and representations, etc. then, there is another possibility of interest, suggested already above: the static complexity measure defined as the cardinality of r, the set of communication rules. there is a substantial theory of descriptional complexity of (mainly context-free) grammars and languages, see [8], which suggests a lot of research questions starting from coms(∆ ) = card(r) (with “s" coming from “static") and extended to languages in the natural way (coms(l) = min{coms(∆ ) | l = l(∆ )}): hierarchies, decidability of various problems, the effect of operations with languages on their complexity, etc. 5 the power of controlling the communication in the previous sections the communication rules were used as any rule of the system, non-deterministically choosing the rules to be applied, with the communication rules competing for objects with the inner rules of the components, and observing the restriction of maximal parallelism. however, we can distinguish the two types of rules, “internal evolution rules" (transition rules, symport/antiport rules, rules with active membranes, etc.) and communication rules. then, as in [1], we can apply the rules according to a priority relation, with priority for evolution rules, or with priority for communication rules. moreover, we can place various types of controls on the communication channel itself. for instance, because the communication rules are antiport rules, we can associate with them promoters or inhibitors, as used in many places in membrane computing. a still more natural regulation mechanism is to associate states with the channels, like in [7]. in this case, the communication rules associated with a pair (i, j) of components πi,π j are of the form (q,u/v,q′), where q,q′ are elements of a given finite set q of states; initially, the channel is assumed in a given state q0. a rule as above is applied only if the cannel is in state q – and the antiport rule (i,u/v, j) can be applied; after exchanging the multisets u,v among the two components πi,π j, the state of the channel is changed to q′. solving problems in a distributed way in membrane computing: dp systems 247 an important decision should be made in what concerns the parallelism. in [7], the channel rules are used in the sequential mode, but we can also consider two types of parallelism: (i) choose a rule and use it as many times as made possible by the objects in the two components, or (ii) apply at the same time all rules of the form (q,u/v,q′) for various u and v (but with the same q and q′), in the non-deterministic maximally parallel way. in the result discussed below, any of these two possibilities works – and the result is somewhat surprising: theorem 4. any recursively enumerable language l is (2,2)-weakly comn and comr parallelizable and has coms(l) ≤ 2, with respect to extended dp automata with channel states. we do not formally prove this assertion, but we only describe the (rather complex, if we cover all details) construction of the suitable dp automaton. take a recursively enumerable language l ⊆ t +, for some t = {a1,a2,...,an}. for each string w ∈ t +, let valn+1(w) be the value of w when considered as a number in base n + 1, using the digits a1,a2,...,an interpreted as 1,2,...,n, without also using the digit zero. we extend the notation to languages, in the natural way: valn+1(l) = {valn+1(w) | w ∈ l}. clearly, l is recursively enumerable if and only if valn+1(l) is recursively enumerable, and the passage from strings w to numbers valn+1(w) can be done in terms of p automata (extended symport/antiport p systems are universal, hence they can simulate any turing machine; this is one of the places where we need to work with extended systems, as we need copies of a and b – see below – to express the values of strings, and such symbols should be taken from the environment without being included in the accepted strings). construct now a dp automaton ∆ with two components, π1 and π2, working as follows. the component π1 receives as input a string w1 ∈ t ∗ and π2 receives as input a string w2 ∈ t ∗, such that w1w2 should be checked whether or not it belongs to the language l. without loss of generality, we may assume that |w1| ∈ {|w2|, |w2|+1} (we can choose a balanced distribution of the two halves of the string). in the beginning, the state of the channel between the two components is q0. both components start to receive the input symbols, one in each time unit; the component π1 transforms the strings w1 in valn+1(w1) copies of a symbol a, and π2 transforms the string w2 in valn+1(w2) copies of a symbol b. when this computation is completed in π1, a special symbol, t, is introduced. for this symbol, we provide the communication rule (q0,t/λ ,q1), whose role is to change the state of the channel. we also consider the rule (q1,a/λ ,q2). using it in the maximally parallel way, all symbols a from π1 are moved to π2, in one communication step. because we have considered w1 at least of the length of w2 and we also need two steps for “opening" the channel and for moving the symbols a across it, we are sure that in this moment in π2 we have, besides the valn+1(w1) copies of a, valn+1(w2) copies of b. the second component takes now these copies of a and b and computes valn+1(w1w2), for instance, as the number of copies of an object c. after that, π2 checks whether or not valn+1(w1w2) ∈ valn+1(l). if the computation halts, then the string w1w2 is accepted, it belongs to the language l. note that the dp automaton ∆ contains two communication rules (hence coms(l) ≤ 2) and that each computation contains two communication steps (hence comn(l) ≤ 2), in each step only one rule being used (hence comr(l) ≤ 2). these observations complete the proof of the theorem. of course, comw (∆ ) = ∞. (similarly, if we define comr taking into account the multiplicity of using the rules, then also comr can be considered infinite – hence the assertion in the theorem remains to be stated only for the measure comn.) instead of changing channel states as above, we can assume that the channel itself switches from “virtual" to “actual", like in population p systems, [3]: the channel is created by object t produced by π1, and then used for moving a from π1 to π2 by a usual communication rule (which, by definition, is used in the maximally parallel way). anyway, the conclusion of this discussion is that the results we obtain crucially depend on the ingredients we use when building our dp systems (as well as on the chosen definitions for complexity 248 gh. păun, m.j. pérez-jiménez measures and types of parallelizability). 6 closing remarks the paper proposes a rather natural way (using existing ingredients in membrane computing, bringing no new, on purpose invented, stuff into the stage) for solving problems in a “standard" distributed manner (i.e., splitting problems in parts, introducing them in various component “computers", and constructing the solution through the cooperation of these components) in the framework of membrane computing. so called dp schemes/systems were defined, and two notions of parallelizability were proposed and briefly investigated for the case of dp automata (accepting strings). a lot of problems and research topics were suggested. the reader can imagine also further problems, for instance, transferring in this area notions and questions from the communication complexity theory, [9], considering other types of p systems (what about spiking neural p systems, where we have only one type of objects and no antiport-like rules for communicating among components?), maybe using unsynchronized p systems, non-linear balanced input, and so on and so forth. we are convinced that dp systems are worth investigating. note. during the recent brainstorming week on membrane computing, 1-5 of february 2010, sevilla, spain, several comments about the definitions and the results of this paper were made, especially by erzsébet csuhaj-varú, györgy vaszil, rudolf freund, and marian kögler. several continuations of this paper are now in preparation; the interested reader is requested to check the bibliography from [17], in particular, the brainstorming proceedings volume. acknowledgements this work is supported by proyecto de excelencia con investigador de reconocida valía, de la junta de andalucía, grant p08 – tic 04200. useful discussions with henry adorna are gratefully acknowledged. bibliography [1] h. adorna, gh. păun, m.j. pérez-jiménez: on communication complexity in evolutioncommunication p systems. manuscript, 2009. [2] l. babai, p. frankl, j. simon: complexity classes in communication complexity. proc. 27th annual symp. founf. computer sci., 1986, 337–347. [3] f. bernardini, m. gheorghe: population p systems. j. universal computer sci., 10, 5 (2004), 509– 539. [4] m. cardona, m.a. colomer, a. margalida, i. pérez-hurtado, m.j. pérez-jiménez, d. sanuy: a p system based model of an ecosystem of some scavenger birds. membrane computing. proc. wmc10, curtea de argeş, 2009 (gh. păun et al., eds.), lncs 5957, springer, 2010, 182–195. [5] m. cavaliere: evolution-communication p systems. membrane computing. proc. wmc 2002, curtea de argeş (gh. păun et al., eds.), lncs 2597, springer, berlin, 2003, 134–145. [6] e. csuhaj-varjú: p automata. membrane computing. proc. wmc5, milano, 2004 (g. mauri et al., eds.), lncs 3365, springer, berlin, 2005, 19–35. [7] r. freund, gh. păun, m.j. pérez-jiménez: tissue-like p systems with channel-states. theoretical computer sci., 330, 1 (2005), 101–116. solving problems in a distributed way in membrane computing: dp systems 249 [8] j. gruska: descriptional complexity of context-free languages. proc. symp. on mathematical foundations of computer science, mfcs, high tatras, 1973, 71–83. [9] j. hromkovic: communication complexity and parallel computing: the application of communication complexity in parallel computing. springer, berlin, 1997. [10] m. oswald: p automata. phd thesis, tu vienna, 2003. [11] gh. păun: membrane computing. an introduction. springer, berlin, 2002. [12] gh. păun, g. rozenberg, a. salomaa, eds.: handbook of membrane computing. oxford university press, 2010. [13] m.j. pérez-jiménez: a computational complexity theory in membrane computing. membrane computing. proc. wmc10, curtea de argeş, 2009 (gh. păun et al., eds.), lncs 5957, springer, 2010, 125–148. [14] a.e. porreca, a. leporati, g. mauri, c. zandron: introducing a space complexity measure for p systems. intern. j. computers, communications and control, 4, 3 (2009), 301–310. [15] g. rozenberg, a. salomaa, eds.: handbook of formal languages. 3 volumes, springer, berlin, 1998. [16] a.c. yao: some complexity questions related to distributed computing. acm symposium on theory of computing, 1979, 209–213. [17] the p systems website: www.ppage.psystems.eu. gheorghe păun graduated the faculty of mathematics, university of bucharest, in 1974 and received his ph.d. from the same university in 1977. from 1990 he is a senior researcher at the institute of mathematics of the romanian academy. he (repeatedly) visited numerous universities in europe, asia, and north america. his main research areas are formal language theory and its applications, computational linguistics, dna computing, and membrane computing; this last research area was initiated by him, in 1998, and the respective models are now called p systems, see http://ppage.psystems.eu). he has published a large number of research papers, has lectured at many universities, and gave numerous invited talks at recognized international conferences. he has published eleven monographs in mathematics and computer science, has (co)edited over seventy collective volumes and special issues of journals, and also published many popular science books, books on recreational mathematics (games), and fiction books. he is a member of the editorial board of more than a dozen international journals and was/is involved in the program/steering/organizing committees for many recognized conferences and workshops. in 1997 he was elected a member of the romanian academy and from 2006 he is a member of academia europaea. he also got other honors, in romania or abroad. he is an isi highly cited researcher (see http://isihighlycited.com/). 250 gh. păun, m.j. pérez-jiménez mario j. pérez-jiménez received his degree in mathematics from the barcelona university and the doctor degree in mathematics from the sevilla university. in the past, he was associated professor at the university of barcelona. currently, he is full professor of computer science and artificial intelligence at the university of sevilla, where is the head of the research group on natural computing. his main research fields are computational complexity theory, natural computing, membrane computing, bioinformatics, and computational modeling for systems biology and population biology. he has published twelve books in computer science and mathematics, and over 200 scientific papers in international journals (collaborating with many researchers worldwide). he is the main researcher in various european, spanish and andalusia research grants. he has been an independent expert to the evaluation of nest (new and emergent science and technology) proposals under the sixth framework programme of the european community, and from may 2006 he is an european science foundation peer reviewer. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 961-967 secure data retention of call detail records f. vancea, c. vancea, d. popescu, d. zmaranda, g. gabor florin vancea, codruţa vancea, daniela elena popescu doina zmaranda, gianina gabor university of oradea, romania 410087 oradea, st. universităţii 1 e-mail: {fvancea,cvancea,depopescu,zdoina,gianina}@uoradea.ro abstract: in today’s world communication is relying heavily on electronic means, both for voice and other native data. all these communication sessions leave behind journaling information by the very nature of the underlying services. this information is both sensitive with respect to user’s rights and important for law enforcement purposes, so proper storage and retrieval techniques have to be taken into consideration. the paper discusses such techniques in relation with recent eu recommendations and suggests some methods for achieving good performance while preserving the required security levels. keywords: call detail records, secure retention, row chaining. 1 introduction during the last years we have seen an increasing interest in secure storage and retrieval of journaling archives of various transactions. the possibility of fraud or inappropriate usage of resources have led to laws and regulations regarding storage of transaction history for phone calls, sms, e-mail traffic and other forms of communication. specifically, the european parliament and the council of the european union have adopted a directive (2006/24/ec) [1] which gives guidelines for retention of data collected from publicly available communication services or public communication networks, in order to ensure that the data is available for investigation, detection and prosecution of serious crime. usually, the devices that perform the actual communication function are generating logging data that can identify the peers, time attributes and other relevant details of the transaction. these logs have been traditionally used for billing and eventually for statistical purposes by the network operators themselves. since this information was stored anyway by the operators, the law enforcement agencies could make use of them for specific purposes within a frame more or less regulated by each country laws. currently, many states are requiring the voice and data operators to store these logs for a well-defined period of time and to present them timely when legally requested by various law-enforcement entities. in order for this information to be useful for investigation and furthermore for prosecution, there is an implicit requirement that the information contained by the logs cannot be tampered with. even if the operators should not (or actually may not) capture and store the actual content of the communication, there are also increasing concerns about the privacy of the service users related to their communication partners. wholesale collection of user communication actions and habits can be viewed as a breach of privacy, so strong protection against casual browsing or unauthorized intentional usage of this information should be provided. when combining the long-term storage and efficient retrieval requirements with privacy, nonrepudiation, integrity, performance and cost requirements, the task of data retention becomes non-trivial. copyright c⃝ 2006-2010 by ccc publications 962 f. vancea, c. vancea, d. popescu, d. zmaranda, g. gabor 2 system structure, main requirements and challenges the communication network operator has to manage during normal operation several pieces of information about each communication session. at the bare minimum this information is used to establish communication channels and to ensure correct traffic flow but it may also be stored and used for billing purposes. we will call such information about one user session call detail record (cdr) as this is the name commonly used by voice service providers. for simplicity we will also name the communication session call but all reasoning below applies also for data sessions (e-mail, internet sessions). the records originate in the network equipment (central switch, access infrastructure), which have limited ability to store data, so periodically the records are transferred into database systems where they are processed (e.g. for billing) and finally discarded. if cdr retention is desired, the records are also stored for a rather extended period of time in some sort of semi-persistent storage until lawfully required through a query or until the retention period expires. network equipment billing process data is discarded legitimate query cdr retention system figure 1: cdr data flow and data retention for the purpose of this discussion we will not consider the billing path because this is part of the existing business model of the operator and is already well-established and less likely to accept any change. user data may be exposed there but this is an old threat, which is supposedly already handled by operator’s procedures. furthermore, the lifecycle of user sensitive data there is relatively short (one month or at most a couple of months) and the impact of integrity loss is only eventually financial to the operator but not deeply legal to the user. the cdr data can be attacked: • before entering the retention system; • while stored in the retention system; • during query; • after supposed deletion. we will consider that the attacks performed before entry in the retention system have a low risk because the data stays in transit between network equipment and storage for a short period of time, the path is internal to the operator (thus is reasonably secure) and more important, the attacks are likely to take place only after a reasonable long time after the call is placed (otherwise the attacker would have refrained from making the call at all or would have attacked directly the network infrastructure to obtain an untraceable call). the attacks on cdr data during the query may be: secure data retention of call detail records 963 • impersonating authorized entities; • query alteration; • result alteration; • result disclosure. all those can be stopped by proper signing and encryption of the request and the result. the attacks after supposed deletion are disclosure attacks and would attempt to extract protected information from media used to store cdr data in the retention system. encrypting the data is of course the main protection method but ciphertext-extensive attacks may exist which exploit the very large amount of encrypted data. to avoid these attacks write-once media should be destroyed properly and rewritable media should be properly erased after retention time expires. we will focus on data stored in the retention system, because the cdr data stays there a rather long time (at least 6 months, according to eu recommendation) and the attacks may be either against the confidentiality or against the integrity of the data. the cdr retention system has to take steps to prevent at least the following attack types: • unauthorized disclosure of call detail, either for a particular call, a particular originator or a particular termination • alteration of call detail (originator, termination, start/end time, other details) • complete removal of one call or of all calls matching a particular originator, termination or time interval • complete denial of service against the retention system when evaluation the potential solutions we should also consider the size of the problem. one reasonably large operator may easily originate or terminate in excess of 10m calls per day (probably at least one order of magnitude more in the case of data services). at a minimum, a cdr will contain the originating subscriber number or identifier (at least 10 characters), termination or forwarding subscriber number (at least 10 characters), starting timestamp and duration (about 6 characters). to cover all situations (international dial numbers) additional space has to be reserved. in the case of mobile services additional location data is required and data services may have longer identification tokens. we estimate therefore the raw cdr to require at least 32 bytes of storage, leading to a minimum figure of 320mb of raw data to be stored for each day of traffic. this extends to about 10gb monthly and 120 gb yearly. the above figures may appear small by today’s standards in memory and storage capacity, but they are absolute minimum estimates of raw data. in a working system there should be protection which is obviously introduced by encryption and a working system should offer some sort of direct random access to the data, preferably optimized like an indexed database query. both features have storage overhead and we consider it to be tenfold from extrapolating previous experiences. in the end the retention system will probably have to deal securely with about 500gb of data for a 6 month retention period on the assumption of 10m calls per day. the above estimation may still appear small by comparison to a large business platform, but we should keep in mind that the cdr retention system is a non-profitable investment for the operator so one cannot expect it to use significant resources in terms of purchased hardware or software. fortunately, the criteria for common queries are limited: by originator identifier (directly or indirectly mapped through user identity), by termination identifier and by time interval. 964 f. vancea, c. vancea, d. popescu, d. zmaranda, g. gabor 3 potential solutions according to the problem description we should figure how to store the data and how to efficiently retrieve the required cdr according to the typical query criteria. 3.1 direct worm storage one obvious approach is to use worm media, given that the write-once feature will provide tampering protection. this approach will not automatically solve the confidentiality issue, so some additional measures have to be taken. the main disadvantage of passive worm media is capacity. considering the above estimations, plain passive worm media is not sufficient unless the time span for data written on one support is short. the time span should also be as short as possible, because data is protected only after write, and data in transit will be vulnerable to integrity attacks. short time spans on one support will translate into many media units for the entire retention period, making the query process difficult and time-consuming. the speed of passive worm media is also limited, affecting the query performance. a better performing approach is to use special active worm devices. these are special storage units presenting the worm feature at the access port (ethernet, scsi) but backed by conventional magnetic storage. the worm feature is protected by dedicated interface and firmware and the whole device is tamper-proof. this kind of device offers good protection but is usually expensive and its main use case is append to log. our goal is to map database-like search capabilities over the protected data and the append to log restricted primitive is not friendly with common database engines and their storage management. the lesser version of active worm is a hybrid software system that achieves the write once feature by modification of the operating system block drivers or by a custom operating system [2]. the protection it provides may be reasonable but far weaker than the one offered by true passive optical media. this hybrid alternative fails to be database-friendly, too. all the solutions based mainly on worm devices will amount to periodically storing the cdr logs and sequentially scanning those for each query. this is not very efficient; especially considering that all the data that is sequentially scanned will be encrypted for confidentiality purposes. 3.2 database backed by worm storage a slightly better solution would be to use a true database for query purposes and a passive worm reference for result validation. the cdr data would both be stored in the database and consolidated with a reasonable short interval to worm storage (passive media should be ok). the initial query would be performed over the regular database and the integrity of the database itself might be checked against some hash checks stored on worm media. the solution is fragile and may not provide either the required level of integrity or the desired level of performance. some dbms (e.g. oracle) offer the possibility to split the storage segments over read-write and read-only media. in such a simple scenario, the retention time window would be split in several fragments out of which only the last one is residing on read-write storage. of course, management of splitting would be rather complicated and there are certain limitations in place which would limit the reasonable unsafe fragment to at least one week. the solution has the disadvantage of poor query performance for time frames located on read-only media, but the main disadvantage is that the unsafe fragment cannot be protected even if conventional rowlevel encryption is applied. little can be done to actually prevent the rows in the read-write partition from being maliciously created, changed or deleted. security mechanisms at database secure data retention of call detail records 965 level do exist but we are looking for an additional layer of trust, which would rule out any database authority from tampering the data. by using encryption at row level one can simply prevent row changing and unauthorized row creation [3]. efficient query is possible by index-scan over plaintext time attributes or by index-scan over pre-encrypted source or target fields. unfortunately row deletion can be always performed at some authority level without being even detected. source target start time duration source target start time duration source target start time duration symmetrical encryption sig sig sig row-level signature figure 2: row content is protected but rows can be deleted 3.3 database with cross-linked rows backed by worm storage an improved solution is using results of our previous work, namely row chaining [4] [5]. beside symmetrical encryption for confidentiality protection and row-level signature for row integrity and authenticity protection we use a chaining scheme that links one row to the previous one. the scheme can detect row deletion unless a whole block of rows from the end are collectively deleted. this would be solved by building the chain two ways, at the cost of revisiting previous records. given the volume and the dynamic of data we consider a single chain is providing enough protection. dur .. dur .. s’. . s’. . s’. . source target start time dur .. source target start time source target start time symmetrical encryption sig sig sig row-level signature figure 3: rows protected by chaining cannot be deleted using the chaining scheme has the great advantage of relieving us from calling the worm storage upon each query. the cdr data can now reside entirely in plain read-write database storage as its integrity is now protected by chains and signatures. when a query is presented, the results are quickly determined at regular database speed, and then the result-set is validated by walking the chain one or two steps for each record. the worm storage is still required in case tampering is detected in any form and as a backup to avoid denial-of-service attacks (complete corruption of the database). the above scheme has however a flaw and can be improved. one can maliciously alter the database indexes to skip certain records, and those records will never be returned in the result 966 f. vancea, c. vancea, d. popescu, d. zmaranda, g. gabor set even if they are present in the database and the storage structure is still cryptographically intact. all checks will succeed, even for queries returning rows adjacent to the masked ones. the solution is to build the chains not on subsequent rows as they are added to the database but on rows belonging to the same source or the same target. this means that the database will contain a chain of rows for each source and a chain of rows for each target. there is a new efficiency issue here, because we will need two chaining fields, one for source and one for target. the issue of protecting the last record in the chain becomes also apparently more sensitive, because the open ends of the chains are living longer. however, undetected deletion of a row requires that it is at the open end of both source and target chains, which is unlikely to happen for long in regular traffic. 4 aggregation attack and countermeasures so far we have considered that encrypting the source and the target fields offers appropriate protection against disclosure of the actual participants to a call. unfortunately, in order to benefit from indexed search a particular source or target identifier has to be encrypted always with the same key, yielding the same encrypted value. the key does not have to be the same for all encryptions (actually should be changed over the source-target population) but once an identifier is encrypted in the system it should use the same ciphertext representation. this invariance property required for indexing opens a path for aggregation attacks. say the attacker has access to the database (either online or in archived form) and is looking for source a, but does not know the key. actually it does not need to. if the attacker knows that a has placed calls at some particular moments in time it can aggregate through the data looking for that particular call pattern. once it finds it all the past and future cdr involving a (at least as source) are accessible. the required number of such fixed points is not very high, as it was previously proven in aggregation attacks on blinded statistical data. the success of the attack depends on the traffic volume around the known time-points and on the number of the time-points available. the attacker may even optimize its chances by explicitly placing calls to a at low-traffic time intervals or if the attacker is itself a, by making calls at such well-chosen moments. to provide some level of protection against this kind of attack we have to dilute the resolution the attacker has in the time domain when building a candidate set based on a given timestamp. when the attacker has a timestamp it can effectively build a set of sources or destinations that have placed or received a call at that moment in time. if the timestamp is say 11:00:00 am, the set will be likely large (high traffic at busy hours) but if the timestamp is 03:00:00 am the set will be considerably smaller. the time resolution dilution has to be made by sacrificing performance at some level. we will store in the start time field a down-rounded timestamp and in an additional encrypted field the offset of the actual start time. this will reduce the resolution of the time searches and will entail some sequential processing to achieve exact query results. however, since the query specifies typically also the source or the target the performance penalty will be small (will use source or target indexes). on the other hand, the attacker has only the degraded start time to work with. to further refine the protection, the rounding should be made according to traffic patterns. lower traffic intervals should be larger and higher traffic intervals may be smaller. this helps reducing the performance degradation we mentioned before and can be achieved by a hamming-like algorithm applied once in a while to determine the optimal rounding intervals. even when using the rounding method to protect against data aggregation, special care should be taken with respect to the data storage pattern. all records have to be added incrementally with the starting timestamp (or eventually the end timestamp) because that is the way they come secure data retention of call detail records 967 from the network device logs. if the rounding algorithm performs for example the rounding at 23:00, 01:00, 05:00 the attacker may place a call shortly after 01:00 am and look for records after but in close proximity of the start time switch from 23:00 to 01:00. the solution is to randomly shift the rounding boundaries each day with at least 10% of the theoretical interval size. 5 conclusions and future works designing and implementing a system which provides secure data retention of call detail records is not a trivial task. there are several inter-related issues ranging from storage methods to data protection by encryption, and from efficient query to safe implementation. unfortunately we have to note that in the current form, secure data retention has little driving force. the operators that manage the data have little to gain by properly implementing such a system and proper implementation is not necessarily cheap. the laws mandating the presence of such systems are rather vague on the required security and performance levels for such systems. the potential direct users have no direct means to encourage proper (read fast) implementations and the real owners of the call data (the subscribers) have also little means to encourage proper (read secure) implementations. we however tried to outline within the limited size of this paper some of the requirements and the challenges related to such a system together with means to achieve a safe system with good performance. of course, each link in the chain has its very important contribution to the overall strength and there are many details left uncovered. some directions may be: the proper protocol to be implemented between the retention system and the authorized partner requesting a query, proper and efficient protocol for destruction of cdr data at the end of retention period, implementation details on the chaining and on the time dilution algorithm, general implementation notes regarding secure split-role administration. some of our future work may be related to these directions. bibliography [1] ***, directive 2006/24/ec of the european parliament and of the council of 15 march 2006, official journal of the european union, l105/54, 13.04.2006 [2] y.wang, y.zheng, fast and secure worm storage systems, proceedings of the ieee security in storage workshop (sisw), pages 11-19, 2003 [3] b. schneier, applied cryptography, john wiley & sons, 1996. [4] f. vancea, c. vancea, f. vancea, c. vancea, practical security issues for a real case application, int. j. of computers, communication and control 3(s), pages 11-16, 2008 [5] f. vancea, c. vancea, protecting data integrity with chained rows and public key cryptography. comments on a real case, proceedings of rsee 2008 international journal of computers, communications & control vol. ii (2007), no. 1, pp. 56-65 advancing electronic assessment nikolaos doukas, antonios andreatos abstract: a computer-aided assessment system is presented that has been designed to produce and deliver tests to the hellenic air force academy students and assess their performance. the system is called e-xaminer and is intended for use in both undergraduate courses and distance learning post-graduate programs of the academy. the e-xaminer uses meta-language concepts to automatically generate tests, based on parametrically designed questions. tests intended for different students may entail differences in the arithmetic parameters. additionally, different tests may be composed from different but equivalent and randomly chosen sub-questions. the system may also present each student with a scrambled sequence of the same questions, as a counter-measure against cheating. examinations are delivered via a webbased interface; an automatically generated program marks the answers submitted by each student. e-xaminer allows the implementation of question parameterisation and counter cheating measures, so that electronic tests become significantly different and more powerful than traditional ones. sample problems are presented which show the additional features of the e-xaminer, intended to facilitate the work of the course organiser in issuing and marking the tests, as well as in combating cheating. this paper focuses on some new, advanced types of questions enabled by electronic assessment; it then compares paper-and-pencil exams to electronic exams; results from a small student poll on the electronic exams are also presented. finally, the directions for planned future work are outlined. keywords: e-xaminer, computer-assisted assessment, domain specific languages, hafa. 1 introduction 1.1 the revolution of e-learning e-learning may be defined as the technology and the academic services related to the teaching and learning processes [1]. it is a wide term covering all the range of previous educational applications such as computer based training (cbt) and web based training (wbt), as well as more recent technologies such as lms, virtual classrooms or labs and digital collaboration [2]. historically, the rush of e-learning may be located in the decade 1990-2000, a period characterised by a boom in the information & communication technologies (ict) and the invent and evolution of the web. for better exploitation of the above technologies, standards which will allow the interoperability of various platforms and the re-use of educational material are being developed. the first such standards appeared in 2001. the above evolution, along with other reasons, not only led to the foundation of many open universities around the world [3], but also pushed many traditional universities to offer distance learning courses [1]. it is estimated that, as far as continuing education in higher education institutions is concerned, distance learning will grow ten times faster than on-campus learning over the next ten years [4]. according to burns, “up to 45 percent of colleges and university enrolment is from adult learners, many of which sign-up for distance learning classes rather than on-campus classes. revenues for continuing education rose 67% at responding institutions since the previous survey in 2004. the trend is expected to grow distance learning 10 times faster than campus classes over the next decade. the growth in distance learning is driven by the growth of interactive marketing” [4]. the web has been considered a means of education and knowledge since its early days. today it is widely used for educational purposes due to its worldwide spread and penetration and because it supports a lot ways for the representation of information [5]. copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 advancing electronic assessment 57 the recent proliferation of distance learning (delivered by open universities worldwide, as well as traditional institutions) has encouraged many higher education organisations to develop software for supporting this type of learning. a well known such package is claroline [6], which is freeware and supports 32 languages. with the expansion of e-learning, the need for electronic examinations has become more imperative. a significant number of computer aided assessment (caa) systems has appeared as a result of the work of both academic institutions and commercial companies. examples of such systems are given in [6], [7], [8], [9], [10], [11] and [12]. these systems have already been extensively tested and are being widely used. 1.2 the merits of electronic testing in ref. [13], the public-private coalition known as the ‘partnership for 21st century skills’ gives a vision of how students should be prepared to face the challenges of the 21st century. within this report, the benefits of using technology in order to give immediate feedback on student assessments is underlined. electronic testing has been accused of bringing non-technology students to a dissadvantage when they are forced to use a keyboard to type their answers, rather than writing them on paper [14]. in response, public and private sector experts state in [13] that 21st century literacy is much more than the basic computer skills required for typing an answer. it is pointed out that the new tools for learning including computers, telecommunications and audio or video based media are critical enablers of learning in a number of realms, even for subjects that have nothing to do with technoology. they hence conclude that there is a need for assessment tools that measure those essential skills that will never be captured by traditional tests. while the value of traditional testing (like portfolio assessment) as a means for classroom level assessment of individual students is not questioned, electronic tests provide rapid feedback on students performance that can be compared across classrooms or schools [13]. furthermore, computer based training can enable the evolvment of novel concepts that instructors would have never contemplated of delivering a few years ago [15]. the authors present a training platform which automatically designs courses that not only adapt to the students capabilities and previous knowledge, but also dynamically adjusts the contents, according to the students performance during the progress of the course. the statistical results presented show that computer delivered courses are extremely efficient in promoting learning. an automated computer-assisted assessment (caa) system has already been presented [12], [16], which has been designed for the needs of the hellenic air force academy (hafa). this system is called e-xaminer, a title which emphasises the fact that this system extends e-learning in the field of examinations. the principle reasons which dictated the development of a new system from scratch, in order to cover the needs of the hafa, where the following: (1) the limited number of types of questions supported by the existing systems. (2) the intention of hafa to experiment with cheating countermeasures so that the final system could eventually be used in its distance learning program [17]. (3) most existing systems do not support the greek language, while teaching in hafa is done exclusively in greek. this fact creates some special requirements that needed to be met. in ref. [16] we have presented the nine different problem types and partial credit possibilities supported by the e-xaminer so far and we have briefly discussed the main advantages of caa. in ref. [12] we have presented the dsl approach adopted by the e-xaminer, cheating countermeasures and some experimental results obtained by the pilot application of the e-xaminer. 1.3 making the difference multiple choice tests suffer from the drawback that examinees may aquire free-marks by taking lucky guesses [18]. furthermore, a way to exploit electronic exams in order to overcome this problem is proposed. given the evolution of web technologies since then, the need to make electronic exams 58 nikolaos doukas, antonios andreatos significantly different is currently more pronounced. another challenge for the design of electronic examination systems is to make exams more pleasant for students. students are naturally reluctant to sit exams, since exams are a source of stess for them. on the contrary, they are keen to spend large periods of time in front of the computer screen, surfing the internet. the question is hence posed: if exams are delivered using a friendly web interface, can they become a less stressful experience? this paper focuses on the implementation of test parameterisation and counter-cheating measures on the e-xaminer, that distinguish e-xams from paper and pencil exams and make them a better tool from promoting learning; it also lists some empirical results and presents a comparison between conventional paper-and-pencil exams and electronic exams given by means of the examiner (and therefore, referred to as ‘e-xams’). the way in which questions are parameterised is firstly presented. examples of parametric questions are shown. counter-measures against exam-time cheating are listed and the way in which these have been implemented in the new system is described. the new system has been used for mid-term tests of students of all four years of the academy, for all specialisations. statistical results from these tests are given. finally conclusions are drawn and the directions for the planned future work are presented. 2 design of the system 2.1 system architecture the architecture of the e-xaminer is depicted in figure 1. the system operates as follows. the instructor sets examination questions and model answers using a domain specific language (dsl) [19]. these files are given as input to the core of the e-xaminer which produces two programs, the examination agent and the marking agent. the examination agent is installed in an appropriate http server and is the only part of the system that is ever exposed to a public terminal. the examinees open the ‘e-xam’ pages and answer the test questions by filling in forms, using their favorite web browser. student answers are stored and finally passed as input to the examination agent that runs on the instructors terminal (e.g. a laptop computer only temporarily connected to the student network). a marking report and statistics are produced. figure 1: architecture of the e-xaminer advancing electronic assessment 59 2.2 the examination procedure figure 2 depicts the examination procedure. the correspondance to the system architecture described earlier on is straightforward. it is interesting to note however that it is possible for the instructor, to reiterate the process with a revised marking scheme. a marking (grading) policy is implicitely determined by the instructor and is included in his/her marking scheme. the marking scheme may include alternative answers that carry different marks. for example, the correct answer to the question “what is the maximum value that can be represented in an n-bit unsigned binary number”, is 2n − 1. the instructor may however decide to grant students a partial credit for the (wrong) answer 2n . this iterative procedure, which would have been more tedious for a paper-and-pencil test, represents a significant advantage of e-assessment. as already pointed out, the main drawback of existing systems, as far as their use by the hafa is concerned, was the fact that they supported only a limited number of question types; furthermore, these questions were often fixed (same for all students). it was required that the new system supported parameterisation. additionally, the whole process needed to be automated. by using the e-xaminer, the entire class is examined simultaneously, but each student sees a different worksheet [12]. figure 2: flowchart of the examination procedure 2.3 question parameterisation apart from the innovative types of questions, a key feature of the e-xaminer is question parameterisation. it was required that the system be able to receive as input from the course instructor a skeleton question and produce a series of different questions from it. the process of defining and designing such skeleton questions is the question parameterisation incorporated in the e-xaminer [12]. in order to implement this parameterisation, our system employs the concept of domain specific languages or dsl [19]. a skeleton question can hence be defined by its textual parts, a series of parameters that it requires and a rule which is used for assembling the final question. an additional parameterisation for the entire test is question order scrambling, i.e., the randomisation of the order in which the questions in the test of a particular student is arranged. this randomisation may be expanded to the arrangement of sub-questions of a particular question. two examples of parameterised questions which were used during the past academic year (2005-6) are given below. the first question was designed to examine a chapter on binary arithmetic. each student was given 60 nikolaos doukas, antonios andreatos six different random numbers. each student was hence required to perform a number of operations on the numbers assigned to them. these operations were selected at random for each student from a set of predefined ones (binary to decimal conversion, decimal to binary conversion, addition, subtraction and negation). the setup of this question eliminated any chance that a student might have copied from their collegue sitting next to them. the second question was designed as part of a course on computer networks [20]. the skeleton of question was the following: “a company owns a set of class b ip addresses. the company has x lans with an increase rate of y% during the next 10 years. each lan connects w computers, with an increase rate of z% during the next 10 years. which is the best way of sharing the class b host bits between subnets and computers?”. all students sitting this examination had to answer this question, however each student had a different set of values for the x, y, z and w parameters. these values where automatically assigned by the e-xaminer. tests delivered during the pilot application phase, were just automated versions of what a paper and pencil test would have looked like. in order to better exploit the potentials of the caa web interface, the decision was made to include various innovative features in the tests. the first such feature was the electronic processing of an (electronic) document, linked to the e-xam by a simple hyperlink. the question had as follows [20]: “given the specification of http 1.1 [rfc 2616] in electronic format, answer the following questions: 1. what is the signalling mechanism used to terminate a persistent connection? 2. who may terminate such a connection? (a) the client, (b) the server, (c) both of them 3. what does an error code 415 signify? 4. what encryption services are provided by http?” rfc 2616 is a 176-page document describing the http standard. students are obviously not asked to memorise this text and it is impractical to copy the entire document for each student for the purpose of the exam. they are however expected to be familiar with such documents and able to extract information from them using various text/word processing tools (such as ‘search’ or ‘find’). testing of this skill is only possible via electronic exams. these questions may further combined with parameterisation, in order to produce a different error code for each student. the next planned test requires the students to use some special services available on the internet, get the answer on their browser and copy it on their ‘e-xam’. telecommunication engineering students in hafa are required to be able to write, assemble and run machine language programs. in another type of question therefore, examinees were required to assemble their programme and submit the assembler listing file. this is another example showing how e-assessment can test skills that would have been impossible to examine with paper-and-pencil exams. 2.4 facilitating the process of in-classroom examinations an additional requirement for the system was that it should shield both instructors and students from having to comprehend any complicated software engineering concepts. as far as students are concerned, the target was met by virtue of the fact that a plain web interface was used for delivering the tests. students were pleasantly surprised to notice that each one of them had a different set of numbers. this made them adopt an attitude such as “i will mind my own business and finish my questions in time”, rather than the more traditional “i will try to see if one of my colleagues sitting next to me can help me with the exam questions”. hence learning was promoted and student and instructor psychology was boosted. in order to maximise the benefits for course instructors as well, the concept of domain advancing electronic assessment 61 specific languages was employed. instructors compose the skeleton examination questions and their model (correct) solutions in html format (figures 1, 2). they are not required to be familiar with html (low-level) coding [12]. they can use their favourite html editor to complete the task, as current editors have a simple user interface (similar to a word processor such as microsoft word). the html files are processed by the e-xaminer core and two sets of programs are produced: the examination agent and the marking agent (figure 1). the examination agent is an active page combining html and perlscript. the testing agent is a perl script which processes the answers submitted by students. the outputs are the marked tests and statistics of the class performance. 3 contribution to the virtual classroom the fact that questions are parameterised has several positive implications for the virtual classroom. firstly, tests can become personalised (a different set of questions for each student) without compromising test fairness. additionally, tests can be given more often than usual (the customary midterm exam may be replaced by weekly exams), since the effort required by the instructor is minimal. both the above achievements are recommended practices against examination-time cheating and in favour of promoting learning [21], [22]. it has additionally been observed that the web interface makes the idea of frequent exams, more agreeable than usual for students. marking papers is a fairer process, since, even at early stages, the system has caught grading errors made by humans. as it was mentioned earlier, the electronic tests in particular have been accused of bringing some students to a disadvantage [14]. the e-xaminer experience has shown that the e-test marks have large correlation to both the oral mark awarded by the instructor, as well as the mark attained during the paper-and-pencil semester final exam. furthermore the hafa, being a technically oriented institution, demands from its students (which, as officers of the hellenic air force, are going to handle electronic equipment worth millions of euros) to be familiar and at ease with technology. accusations have been extended to state that “test-takers are unable to underline text, scratch out eliminated choices and work out math problems all commonly-used strategies" [14]. current web technology allows not only underlining on-screen texts, but also much more elaborate formatting to take place by incorporating a simple html editor (a practice used by many web-based email services). as far as scratching is concerned, we have provided special scratch-pad areas next to each question (implemented as html textareas). we have also encouraged our students to get better help by using electronic dictionaries and calculators, as well as their old paper notebook which is sitting next to their keyboard. 4 pilot application and statistics the e-xaminer is being used in testing digital electronics, computer science, microprocessors and computer network courses taught in hafa since the beginning of the past academic year (2005-6). the caa tests were addressed to students of all disciplines taught in hafa (pilots, aircraft, telecommunications and civil engineers, as well as air-traffic controllers). during the first six months all student answers were being marked by both the e-xaminer and the instructor. during this first period, automatically assigned marks deviated by up to 10% from the instructor marks. this deviation declined steadily as the system evolved and staff acquired experience in assigning better model answers. currently, only a limited number of tests, selected at random, are being manually graded and the deviation between the two sets of marks is is less than 1%. the grading resolution (that is, the minimum grade associated to questions), was set to 0.5% during recent e-xams. after the initial 6-month deployment period, the e-xaminer has been systematically catching human marking errors in up to 10% of student papers. instructors have very often exploited the fact that the system is automatic and have revised their model 62 nikolaos doukas, antonios andreatos answers (along with their marking scheme) so as to better assess class performance. 4.1 comparing paper exams to electronic exams in this subsection electronic exams delivered by the e-xaminer will be compared to traditional paperand-pencil exams. rather than answering a question of the form ‘which one is better’, our experience from the use of the e-xaminer during the current (2006-7) and the past academic year (2005-6) will be presented. each approach has its own merits that need to be considered by course instructors before making a choice. the aim of this section is to support such a choice. the advantages of paper-and-pencil exams include: • they can be easily adopted to any subject. • they may be used by digitally illiterate students. • no technological infrastructure is necessary. • no computer-related background skills are necessary. their major disadvantages are: • the grading process is usually tedious and time-consuming. • it is difficult to embed in them multimedia (other than figures). on the other hand, the advantages of electronic assessment are: • tests may be generated automatically from a pool of questions and problems. • grading is easy, automatic and hence tests may be delivered more frequently. • it is easy to embed multimedia (such as designs, circuits, video and sound clips for courses such as signal processing, electronics and telecoms). • students with bad, illedgible handwriting can produce a well formed document. • results and statistics are immediately generated automatically and students obtain rapid feedback on their performance. • counter-cheating methods may be employed. • supplementary programs may be used (such as dictionaries, assemblers, compilers, matlab etc.). • exams may be easily stored and retrieved, results may be further processed with other computer programs such as excel and spss. • finally it should be noted that e-xams are environment-friendly in that little paper need ever be used. the disadvantages of electronic assessment are [16]: • it might be difficult to adopt it to some types of questions (such as math formulae, where special equation editors are needed for typing the formulae and complex software for interpreting them). • it might be difficult to adopt it to some subjects. • it requires additional equipment such as pcs, lan, software etc. and is hence more complicated to give, as well as, vulnerable to power or system failures. an instructor must take all the above factors into account before making a decision. advancing electronic assessment 63 4.2 student opinions it is important to consider the opinions of users in evaluating any e-learning system [22], [23]. the authors of ref. [22] define such an evaluation procedure based on hypothesis testing. the hypotheses that needed to be tested in the case of the e-xaminer where (1) “e-xams are perceived as equally difficult to the corresponding paper ones”, (2) “e-xams promote learning by making tests more agreable experience for students” and (3) “e-xams promote learning by helping students accept their test marks as a fair assessment of their performance”. in order for us to investigate these hypotheses, three extra questions were added at the end of the most recent tests. the questions where: 1. do you consider the electronic test to be more difficult than what you would expect from a paper test? 2. do you believe that automatic assessment you will get for this test will be fairer than the one you would have got if the test was marked by your instructor? 3. do you prefer this test to a traditional paper one? hafa students answered by an overwhelming majority (over 90%) that the electronic test was equally difficult and more preferable to the traditional test, while they expected their automatically assigned marks to better reflect their performance. answers to these questions are still being collected, as more classes sit electronic exams and will be presented in future publications once the required statistical significance is attained. 5 summary and conclusions the implementation of parametric questions and counter cheating measures of the ‘e-xaminer’, our caa system, was outlined. this implementation was shown to offer advantages to university course organisers, in that it facilitated their work and eliminated much of the tediousness involved in the grading process. the new system was also shown to promote learning by the students, by making exam taking a frequent, fair and agreeable procedure. some contributions were also made to theoretical issues concerning the electronic classroom and its acceptance in general. additionally, e-xaminer was shown to offer a number of advantages in the fight against examination-time cheating. statistics from the pilot application were given, were it was shown that e-xaminer was capable of effectively marking student answers. innovative types of exam questions were used, that could not have been set without the existence of an e-assessment platform. initial statistical results were presented on the acceptance of the system by students. these results are part of a study on the usefulness of this system in promoting learning. during the next academic year we plan to further develop the system in order to: • include some additional types of questions/problems. • support multimedia in both questions and answers. this is a clear advantage of caa over paperand-pencil exams. • include a timer and enforce automatic submission upon time-out. • strengthen security and fight cheating attempts by adding an authentication module that will monitor users login and logout [12]. 64 nikolaos doukas, antonios andreatos references [1] the univ. of iowa in cooperation with hbo systems inc., e-learning assessment summary report, available online at: www.hbosystems.com, 2004, retrieved on march 31, 2006. [2] f. pantano-rokou, educational design for e-learning: models, meaning and impact on learning (in greek), open education, vol. 1, pp. 45-68, 2005. [3] d. vergidis, a. lionarakis, a. lykourgiotis, b. makrakis and ch. matralis, open and distance learning, vol. 1, institution and operation, hellenic open university, patra (in greek; title of book translated by authors), 1998. [4] e. burns, continuing education drives distance-learning enrollment, available online at: www.clickz.com/stats/sectors/education/article.php/3605321, retrieved on may 25, 2006. [5] ch. fidas, ch. tranoris, v. kapsalis and n. avouris, system design for synchronous support and monitoring in web-based educational systems (in greek), proceedings of the 3rd international conference on open and distance learning, propombos, athens, vol. a, pp. 577-585, 2005. [6] claroline documentation, http://www.claroline.net/documentation.htm, retrieved on june 21, 2006. [7] blackboard documentation, http://library.blackboard.com/docs/as/bb_academic_suite_brochure_single.pdf, retrieved on june 21, 2006. [8] univ. of loughborough caa site, http://www.lboro.ac.uk/service/pd/caa/index.htm, retrieved on june 21, 2006. [9] quia site, http://www.quia.com/company/quia-presentation.pdf, retrieved on june 21, 2006. [10] test assessments project, http://www.scribestudio.com/home/ inaction/flash/ss_in_action.jsp?cm=testsassessments_project, retrieved on june 21, 2006. [11] web ct site, http://www.webct.com, retrieved on july 10, 2006. [12] n. t. doukas and a. s. andreatos, implementation of a computer aided assessment system based on the domain specific language approach., wseas transactions on advances in engineering education, vol. 3(5), pp. 382-388, 2006. [13] j. salpeter, 21st century skills: will our students be prepared?, http://www.techlearning.com, oct. 2003, retrieved on march 22, 2006. [14] fairtest site, http://www.fairtest.org/facts/computer.htm, retrieved on june 23, 2006. [15] a. d. styliadis, i. d. karamitsos and d. i. zachariou, personalized e-learning implementation the gis case, international journal of computers, communications and control, vol. i, no. 1, pp. 59-67 (2006). [16] a. andreatos and n. doukas, e-xaminer: electronic examination system, proceedings of the 3rd wseas / iasme international conference on engineering education, vouliagmeni, athens, greece, july 2006. [17] a. andreatos, distance e-learning for the hellenic air force, proceedings of eden’03, rhodes, greece, pp. 428-433, 2003. [18] m. bush, alternative marking schemes for on-line multiple choice tests, 7th annual conference on the teaching of computing, belfast, cti computing 1999. advancing electronic assessment 65 [19] d. spinellis, notable design patterns for domain specific languages, journal of systems and software, 56 (1), pp. 91-99, feb. 2001. [20] j. f. kurose and k. w. ross, computer networking a top-down approach featuring the internet, 3rd ed., addison-wesley, 2005. [21] a. angeletou et al., assessment techniques for e-learning process, proceedings of the 3rd international conference on open & distance learning, vol. b, pp. 47-54, patra, greece, 2005. [22] d. spinellis, p. zaharias and a. vrechopoulos, coping with plagiarism and grading load: randomized programming assignments and reflective grading, computer applications in engineering education, to appear in 2007. [23] r. guidorzi and m. l. giovannini, e-learning tools in higher education: users’ opinions, proceedings of eden’03, rhodes, greece, pp. 201-206, 2003. nikolaos doukas, antonios andreatos dept. of aeronautical sciences div. of computer engineering and informatics hellenic air force academy dekeleia, attica, tga-1010 greece e-mail: nikos@doukas.net.gr, andreatos@hafa.gr received: november 18, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 178-184 optimization for date redistributed system with applications mădălina văleanu, smaranda cosma, dan cosma, grigor moldovan, dana vasilescu mădălina văleanu university of medicine and pharmacy "iuliu hatieganu" medical informatics and biostatistics department cluj-napoca e-mail: mvaleanu@umfcluj.ro smaranda cosma babes-bolyai university business department, faculty of business cluj-napoca e-mail: smaranda.cosma@tbs.ubbcluj.ro dan cosma university of medicine and pharmacy "iuliu hatieganu" department of pediatric surgery and orthopedics cluj-napoca e-mail: dcosma@umfcluj.ro grigor moldovan babes-bolyai university computer systems department cluj-napoca e-mail: moldovan@cs.ubbcluj.ro dana vasilescu university of medicine and pharmacy "iuliu hatieganu" department of pediatric surgery and orthopedics cluj-napoca e-mail: dana.vasilescu@umfcluj.ro abstract: in this paper we intend to define a strategy for managing databases with mobile structures, taking into account their redistribution in the nodes of a computer network. the minimal cost of the redistribution is highlighted and some applications for medical and business databases are presented. keywords: distributed database, costs, medical databases, economical databases, wireless network 1 introduction the paper presents a generalization and extension for mobile environments of the context of the problem expressed in paper [1]. it also presents some applications of the problem. let us consider the mobile databases (tables) bi, i = 1, n distributed in r nodes of a network of computer stations with own memories si, i = 1, r. hence, we have: copyright © 2006-2009 by ccc publications optimization for date redistributed system with applications 179 b = {b1, b2, . . ., bn} and s = {s1, s2, . . ., sr}, where b is a distributed database. now we identify the nodes, that is the stations of the computer network considered with the same symbols as for the memory supports si in s. the architectures of the fixed computer networks with nodes s = {s1, s2, . . ., sr} can differ, but on the horizontal level, in general, they are modeled through a relative graph. particular computer network architectures can exist, such as the hypercube or generalizations of the hypercube [2] [3], which provide simple and efficient routing means but whose complexity in number of nodes and restrictions make them inefficient in the end. modeling a computer network in a graph, in general, will give a static network with fixed and well defined geographical locations. in our previous paper [1] we have supposed that subbases bi of the database b have a well defined location and that this location is maintained fixed during the running of a distributed application. at present, mobile databases characterized by allocation in permanent change are known. consequently, dynamism characterizes all their aspects. they are searched for (selected), accessed and processed from a mobile environment made up of laptops, mobile phones etc. they become stronger and stronger elements of data processing. they are connected by means of wireless stations in special fixed points (nodes) belonging to a computer network. the traditional model of transactions migrates towards a mobile transaction model. the following presents a strategy for this kind of databases processing. databases bi, i = 1, n and other soft resources (programs) shall be stored in fixed hosts, noted fh and identified through si (fixed host computers!), in a well established network, s = {s1, s2, . . ., sr}. the mobile environment will inherit the properties of the distributed environment. the mobile environment with ever increasing storing spaces will be able to take over the mobile databases for processing data, by duplicating procedures, and the results will turn back to a fixed host. the fixed hosts will be those that permanently preserve the data subbases bi. databases bi could be preserved in mobile hosts, but any update (modification) should end with their replication to a fixed host mentioned with a new version number. in the fixed network, it is necessary to update all duplicated subbases bi, using the most recent version numbers allotted in order to maintain the consistency of the distributed database b. the update of the databases should occur instantly after the alteration of their version number. the update of duplicated data subbases bi can also be achieved with the help of a jeton function periodically passing through the nodes s of the network in consideration. it is obvious that between the mobile hosts noted mh and fixed hosts noted fh belonging to a computer network, there is a fixed interface, called mobile support station, noted mss (mobile support station) or base station. the connection between a mobile support station (mss) and a mobile host (mh) is wireless. each mss allotted to a node si controls a cell of mobile hosts identified by {i1, i2, . . ., ik} . a mobile host can disconnect from a mss and possibly reconnect to another mss just while running a distributed application. the disconnection and connection of mobile stations occurs frequently. disconnection establishes a new distribution of subbases in the network nodes. the figure below presents the general architecture of a mobile platform. in the design of a mobile database, in each node si we shall highlight for bi an often modifying and dynamic component that frequently is accessed from other nodes of the network, noted bi and other components, noted mi(s) associated to mobile units, quite often accessed locally to mobile units but where the modification of data is less frequent. 180 mădălina văleanu, smaranda cosma, dan cosma, grigor moldovan, dana vasilescu figure 1: mobile platform we have bi = (bi; mi(1), mi(2), . . ., mi(k)) where we used for indices ip notation i(p) and p = 1, k. we can consider that we made a decomposition of the subbases bi by selection and/or projection operations so that by further union operations we get updated subbase bi. at a given moment in the computer network stations we witness a certain distribution, respectively a grouping of databases bi, i = 1, n. in general, if n ≥ r, then, more subbases bi will exist in the memory si. for reasons of simplification, in our study, we will suppose that consecutively, in each station si of the r station, we will have d subbases si , hence n = d.r. we also suppose that we have removed, by means of a certain conveniently selected strategy, the duplications of subbases bi, therefore bi are distinct. a distributed application supposing programs running in the network under consideration leads to the access, from the nodes si, of the subbases bj in a defined succession, until the result needed is obtained. we note the successively accessed data subbases (some of them more often accessed in a distributed application) in a vectorial form, as follows: bl = (bm1 , bm2 , . . ., bms ) then l = (m1, m2, . . .ms); mk ∈ {1, 2, . . ., n} remember that mk identifies the place in the succession of accesses of the subbases in b performed. in general, in the case of an access from si network node to a subbase found in sj, a so-called penalty should also be considered (for instance: time, cost) noted with pij for all i, j = 1, r which will be composed of a fixed penalty pfij established in a fixed computer network and possibly from a penalty due to the specific working manner with mobile databases noted pmij. we will obtain pij = pfij + pmij. 2 grouping data subbases on the network fixed nodes let distributed database be b = {b1, b2, . . ., bn}. the indices of subbases build the set in = {1, . . ., n}. the reorganisation of these data is defined by permutation indices σ = ( 1 2 ...k...n i1i2...ik...in ) where ik ∈ in; k = 1, n are distinct. the permutation σ is also written as σ = (σ(1), σ(2), . . ., σ(n)). if we have two permutations σ and τ , optimization for date redistributed system with applications 181 their produce στ is obtained by the composition of the two functions, so that στ = (σ(τ(1)), σ(τ(2)), . . ., σ(τ(n))). let us mark with supp(σ), the permutation support σ, i.e. the set of the elements i ∈ {1, 2, . . ., n} having the property σ(i) 6= j. a permutation σ is called cyclic of length m, m ≥ 2 if elements i1, i2, . . ., im ∈ supp(σ) exist so as σ(i1) = i2, σ(i2) = i3, . . .σ(im−1) = im, σ(im) = i1. it is known that any permutation that is different from the identical one can be written as a produce of distinct cycles. [4] let us consider that n = d.r, i.e. on any si station in the r computer network we have d data subbases. let us take the following reorganisation (distribution) of the n data subbases on the r workstations, successively: bσ−1(1) bσ−1(2) bσ−1(d) in s1 . . . . . . . . . . . . bσ−1(1+(i−1)d) bσ−1(2+(i−1)d) bσ−1(id) in si . . . . . . . . . . . . bσ−1(1+(r−1)d) bσ−1(2+(r−1)d) bσ−1(rd) in sr note: σ is a bijective application, σ : {1, 2, . . ., n} → {1, 2, . . ., n} where σ(k) = ik, respectively σ−1(ik) = k; k = 1, n. consider the sequence of successive accesses ld = (m1, m2, . . ., ms) of the subbases in b and the indices of these stations are. with these notations, we define the cost of a distributed application with the relationship c(s, b, ld, σ) = s−1∑ k=1 (prσ(mk),rσ(mk+1) + qrσ(mk)) where qrσ(mk) represents the cost of the activities in station srσ(mk). let us note with aij the number of the times (mk, mk+1) = (i, j), k = 1, s − 1 ; i, j ∈ {1, 2, . . ., n}, and with ci , how many times mk = i, k = 1, s; i, j ∈ {1, 2, . . ., n}. then, c(s, b, ld, σ) = n∑ i=1 n∑ j=1 (aijprσ(mk),rσ(mk+1) + ciqrσ(mk)) = n∑ i=1 n∑ j=1 (aσ−1(i),σ−1(j)pri(i),ri(j) + ciqri(i)) the cost of a distributed application will be: c(s, b, ld, σ) = n∑ i=1 n∑ j=1 (aσ−1(i),σ−1(j)p ∗ ij + ciq ∗ i ), where pri(i),ri(j) = p ∗ ij; qri(i) = q ∗ i a way to find out this sums can see in [5]. notes 1. in practice, we can consider that pij is symmetrical, hence p∗ij will also be symmetrical, i.e. p∗ij = p ∗ ji. penalties pij can be determined, for instance, with the help of statistical data after more run182 mădălina văleanu, smaranda cosma, dan cosma, grigor moldovan, dana vasilescu nings of the programs of the distributed application d. 2. if permutation σ is decomposed in a produce of cyclical permutations, the formula for the application cost can be simplified accordingly. 3 applications 3.1 medical databases the medical field is one of the most important fields of social concern. it is defined by high level dynamism. nowadays the healthcare system from every country have to faced to many challenges of the 21st century which influenced significant the financial aspects of the organizations’ activities. in these new conditions the competitions increased and pressed on the costs to acquire and maintain a high quality of the technology and capital outlay. today, the data needed for research are registered in medical documents, in a written form, but not in a unique form and the work necessary to retrieve and process such data is enormous. it is for this reason that it is required to design general interest databases, for doctors, patients, researchers and health units. such databases are characterised by the fact that they will include an enormous volume of data distributed among the nodes of a computer network. the medical field activities can be divided into primary level care, secondary level care activities and the division can go even further. primary care refers to family medicine that is to the first contact and consultation point for the patient. secondary care is the service provided by a specialist, who does not have the first contact with the patient, in general. usually, a doctor providing secondary care services treats patients previously consulted by a family doctor. to establish a correct diagnosis and a proper treatment it is necessary to handle the databases in question that, often mean to return to their redistribution in the nodes of the computer network. a concrete examples are given in papers [6]. in such an application it is equally important to find an answer to a query to the databases in as short a time as possible. a valuable component of a heath care computer-based system is its capacity to work with information on the patients stored in various locations: the national health authority, the social insurance system, providers of primary and secondary care services. in order to find solutions, a distributed approach should be taken into consideration. [7] [8] health care information, such as medical records, x-rays, lab tests results are more are more kept and processed by computers. that is why standards to send such data away in an unambiguous manner among computers are required. in this way, uniform health care-related information shall also be available. a standard represents a conceptual lexis common for all the stakeholders in the healthcare network. standards of this kind are already available for many medicine subfields. optimization for date redistributed system with applications 183 3.2 economical databases the economic applications of distributed databases are diverse and numerous and their importance is also valuable. it is enough to take as an example a system in the field of international trade involving the handling of very large volumes of data relative to the varied goods distributed among shop networks. the management information system of a company becomes decisive for international corporations of the learning-company type that extend more and more their activities using varied international market penetration strategies. e-commerce develops and includes larger and larger scopes. that is why it is necessary to establish standards related to marketed products, in this field too. the queries put to distributed and increasing in size databases should be made more efficient in time. it is sure that in the near future the optimising of costs (query types) of the used databases will have to be considered. marketing research identifies, collects, processes, analyses, interprets and communicates information relevant for a specific marketing situation to make a decision. all the data are organised in distributed databases in more locations. marketing research mainly aims at reducing risk and uncertainty in the conception and grounding of marketing-related decisions and at implementing and controlling the practical putting into application of these decisions. [7] 4 conclusions the fundamental problem, with respect to the distributed application d under consideration, consists in the determination of a permutation σ in the set of possible permutations p having elements {1, 2, . . ., n}, indices of the b data subbases so that the cost of the use of the distributed application d programs would be minimal, i.e. min{c(s, b, ld, σ); σ ∈ p}. it is obvious that the problem relates to combination, its solution is important when the distributed application d is used repeatedly. the problem is solved once and the advantage remains operational all along the use of the respective distributed application. the applications for this are multiple. here are describes some applications in medical and economical domain, that can use distributed databases and where the problem of cost minimizing (time need to transferred information from one point of the network to another) is very important. bibliography [1] g. moldovan, m. văleanu, the performance optimization for date redistributing system in computer network, international journal of computer, communications & control, issn 1841-9836, e-issn 1841-9844, vol iii, supl. issue, p. 116-118, 2008. [2] g. moldovan, m. văleanu, redistributing databases in a computer network, analele univ. bucureşti, ser. math.-info., 56, 2006. 184 mădălina văleanu, smaranda cosma, dan cosma, grigor moldovan, dana vasilescu [3] g. moldovan, i. dzitac, sisteme distribuite modele matematice, ed. univ. agora, 2006. [4] l. aspinall, data base. re-organisation –algorithms, ibm, uksc – 0029, 1972. [5] a. gog, h. grebla, evolutionary tuning for distributed database performance, the 4th international symposium on parallel and distributed computing (ispdc), lille, france, ieee computer society, 2005, p 275-281. [6] s. cosma, d. cosma , a. negrusa, m. văleanu, g. moldovan, d. vasilescu, implementation of the communication system for clubfoot, wseas transactions on communications, issn:1109-2742, issue 9, vol 7, sept 2008, p.932-941 [7] d.e. vasilescu, d. cosma, m. văleanu, i. negreanu, d. vasilescu, the results of the early conservative orthopedic treatment in the congenital talipes equinovarus, applied medical informatics 2004, vol 15, p 34-43. [8] d. cosma, s. cosma, m. văleanu, d.e. vasilescu, g. moldovan, web based guideline for clubfoot: patient orientated materials, journal of international business and economics, issn 1544-8037, 8-1, 2008. int j comput commun, issn 1841-9836 vol.7 (2012), no. 4 (november), pp. 785-790 clustering-based energy-efficient broadcast tree in wireless networks j. yu, h. jiang, g. wang, q. guo jiguo yu, honglu jiang school of computer science, qufu normal university, rizhao, 276826, p.r. china e-mail: jiguoyu@sina.com; jianghonglu88@163.com guanghui wang school of mathematics, shandong university, jinan, 250100, p.r. china e-mail: ghwang@sdu.edu.cn qiang guo key laboratory for computer networks of shandong province shandong computer science center, jinan, 250014, p.r. china e-mail: guoq@keylab.net abstract: the characteristics of wireless networks present formidable challenges to the study of broadcasting problem. a crucial issue in wireless networks is the energy consumption, because of the nonlinear attenuation properties of radio signals. another crucial issue is the trade-off between reaching more nodes in a single hop by using higher power versus reaching fewer nodes in that single hop by using lower power. given a wireless network with a specified source node that broadcasts messages to all other nodes in the network, the minimum energy broadcast (meb) problem is np-hard. in this paper, we propose a hybrid approach cbeeb(clustering-based energy-efficient broadcast) for the meb problem based on clustering. theoretical analysis indicates the efficiency and effectiveness of cbeeb. simulation results show that cbeeb has better performance compared with the existing heuristic approaches. keywords: wireless network, energy-efficient, broadcast, clustering 1 introduction nodes in wireless networks are usually powered by batteries with limited capacity. therefore, energy efficiency is one of the most important design issues for wireless networks. the energy consumption in transmission can be further reduced by using one or more intermediate nodes instead of transmitting directly. broadcasting in wireless networks is different from that in wired networks, since all nodes that are within the transmission range of the sender can receive the transmission without any additional cost at the sender. this characteristic of wireless transmission is known as wireless multicast advantage (wma) [1]. this allows us to seek power optimal range assignment for the energy-efficient broadcast problem. the minimum energy broadcast (meb) problem is to find a broadcast scheme with minimum energy consumption. the problem is also known as minimum power broadcast (mpb) problem or minimum energy consumption broadcast subgraph (mecbs) problem [2]. we use energy and power alternatively throughout this paper. in this paper, we study the problem of broadcasting in wireless networks, where every node is equipped with omni directional antennas. we propose a hybrid algorithm based on clustering and prove its correctness. theoretical analysis shows the effectiveness of our approach. we compare it with the broadcast incremental power (bip) [1] algorithm and the best heuristic approaches known in [2–4] by simulation. copyright c⃝ 2006-2012 by ccc publications 786 j. yu, h. jiang, g. wang, q. guo 2 related work most previously developed models for broadcasting and multicasting problems were linkbased models, which does not properly reflect the properties of the all-wireless network environment. to solve the mpb problem, wieselthier et al. first proposed the node-based approach (bip)which is more suitable for wireless environment than the link-based algorithms [1]. it was subsequently shown in [5] that the bip algorithm has an approximation ratio between 13/3 and 12. das et al. gave an improvement procedure called r-shrink for meb problem [6]. cagalj et al. [7] proposed another improvement procedure called embedded wireless multicast advantage (ewma). kang et al. [8] generalized the ewma into another heuristic called largest expanding sweep search(less). in [9], an ant-colony based approach for the problem was presented. an algorithm called cm using ant colony optimization approach was also presented in [3]. furthermore, in [4] a simple simulated annealing algorithm with metropolis chains of dynamic length was presented. the algorithm is in fact a probabilistic version of the 1-shrink tree-improvement algorithm described in [9]. kang et al. [10] gave a perturbation based iterated local optimization method that uses less as local search. in [11], montemanni et al. presented a simulated annealing approach based on r-shrink. they used sweep procedure to improve the solution obtained through simulated annealing. al-shihabi et al. [12] developed a hybrid approach combining nested partitioning with lp relaxation and r-shrink method. in [13], wolf et al. proposed an evolutionary local search, which uses modified r-shrink as local search and random increase in transmission power of some nodes as mutation operator. recently, wu et al. [14] developed a generational genetic algorithm that uses permutation encoding to represent a broadcast scheme. hashemi et al. presented a simulated annealing algorithm using a special node selection mechanism in its neighborhood structure [2]. in [15], singh et al. proposed a hybrid approach to the meb problem combining a genetic algorithm with a local search heuristic, which is a modified version of r-shrink improvement procedure [6]. 3 preliminaries and model we consider static multi-hop ad hoc wireless networks with omni-directional transmitters, and each node can adjust its transmitting power based on the distance to the receiving node. in the most common power attenuation model, received signal power varies as d−α, where d is the distance from the transmitter and α is an environment-dependent constant typically between 2 and 5. therefore, the transmitter power required to support the direct communication is proportional to dα. to represent one wireless ad hoc network, let g = (v,e) be a directed graph, where v denotes the set of nodes and e denotes the set of edges, and a special node s ∈ v that broadcasts messages to all other nodes of v. the transmission energy required by a node in an arborescence is determined by the longest edge among all edges of that arborescence. leaf nodes do not relay messages to any other node. therefore, the transmission energy required by leaf nodes is zero. the total transmission energy required for the broadcast can be computed by adding the energy which is required by each node in that arborescence. definition 1. min-energy broadcast problem(meb): let g = (v,e) be a directed graph, find a broadcast tree t ⊆ e rooted at s, with the minimum energy cost ∑ u∈v max(u,v)∈t d(u,v) α, where d(u,v) is the distance between the nodes u and v. clustering-based energy-efficient broadcast tree in wireless networks 787 4 hybrid approach–cbeeb we now propose a hybrid approach cbeeb (clustering-based energy-efficient broadcast) to meb problem, which includes a clustering algorithm and the ibip (improved bip) algorithm. a special node s broadcasts messages to all other nodes of v , and each node except s has one unique identifier id. for convenience, the notation and terminology used in the rest of this paper are summarized in table 1. definition 2. priority of nodes: for two nodes i,j ∈ v\{s},i.prio > j.prio ⇔ d(i) > d(j), or d(i) = d(j) & &id(i) > id(j) table 1. notation and terminology id(i) the unique identifier of node i i.prio the priority of node i d(i) the degree of node i n1i the set of one-hop neighbors of node i i.ch the clusterhead elected by node i i.type the type of node i, which is a clusterhead or a leaf node the clustering algorithm is as follows: step 1. each node except s collects the information of all its one-hop neighbors n1i . such information can be acquired by each node exchanging message including its id and priority to its one-hop neighbors. then each node sorts the priority for all nodes within its one-hop neighborhood. step 2. a node i decides to become a clusterhead if either one of the following criteria is satisfied: (1)node i has the highest priority in its one-hop neighborhood. (2) node i is an one-hop neighbor of a node b. furthermore, i has the highest priority in the one-hop neighborhood of b. step 3. all the clusterheads are added to the set d. assign to each clusterhead v ∈ d the transmission range rv = maxv′∈n1i d(v,v′). then, all the cluster members are the leaf nodes of the broadcast tree. the following figure 1 gives an example of the clustering algorithm in a twenty-node network. 1 2 3 5 6 7 4 8 1 0 9 1 2 1 3 1 4 1 1 1 5 1 6 1 7 1 8 1 9 2 0 1 2 3 5 6 7 4 8 1 0 9 1 2 1 3 1 4 1 1 1 5 1 6 1 7 1 8 1 9 2 0 1 2 3 5 6 7 4 8 1 0 9 1 2 1 3 1 4 1 1 1 5 1 6 1 7 1 8 1 9 2 0 f i g u r e 1 a . r a n d o m n e t w o r k ( n = 2 0 ) f i g u r e 1 b . r e d n o d e s a r e c l u s t e r h e a d s e l e c t e d b y t h e c l u s t e r i n g a l g o r i t h m f i g u r e 1 c . c o n n e c t t h e c l u s t e r m e m b e r s t o t h e c l u s t e r h e a d figure 1. an example of clustering in a twenty-node network. we give the ibip(improved bip) algorithm. the ibip algorithm runs on the clusterhead set d. the cluster members elected by the clustering algorithm consist of the leaf nodes of the broadcast tree. step 1. initially, the tree consists of only the source node s. we begin by determining the node that node s can reach with minimum expenditure of power. 788 j. yu, h. jiang, g. wang, q. guo step 2. determine which new clusterhead can be added to the tree at minimum additional power in the set of d. if node i is already in the tree, and node j is not yet in the tree, (i,j ∈ d). if pi,j < rαi , then we add j to the tree, where pi,j is the power required to support the transmission between node i and j, and ri is the transmission range of node i which is assigned in the clustering algorithm. otherwise let p ′i,j = pi,j −max{rαi ,p(i)}, where p ′i,j represents the incremental power associated with adding j to the set of nodes to which node i is already transmitting. the pair {i,j} that causes the minimum value of p ′i,j is selected. node i transmits at a power level sufficient to reach node j. thus, one new node is added to the tree. step 3. this process continues until all nodes are included in the tree. the total power required to maintain this tree is the sum of the transmitted powers at each of the transmitting nodes. the following figure2 gives an example of the ibip algorithm. s 1 2 3 4 9 6 7 5 8 s 1 2 3 4 9 6 7 5 8 s t e p 1 : s 9 s t e p 2 : s 6 f i g u r e 2 a . f i g u r e 2 b . s 1 2 3 4 9 6 7 5 8 s 1 2 3 4 9 6 7 5 8 s t e p 3 : 6 7 f i n a l t r e e f i g u r e 2 c . f i g u r e 2 d . figure 2. an example of ibip algorithm in a nine-clusterhead network with source node s. 5 algorithm analysis and simulation theorem 3. the set of clusterheads elected by the clustering algorithm cover all network nodes. proof: because each node either has the highest priority among its one-hop neighbors or has a neighbor with the highest priority among one-hop neighbors of the node. by the definition of the dominating set, a node either becomes a dominator itself or elects the neighbor with the highest priority among one-hop neighbors of the node as a dominator. thus the network has a dominating set elected by the algorithm. therefore, we conclude that the sets of clusterheads elected by the clustering algorithm can cover all network nodes. 2 theorem 4. the cbeeb algorithm has time complexity of o(m2), where m ≤ n dmin+1 is the number of clusterhead elected by the clustering algorithm and dmin is the smallest degree of nodes in the network. proof: the clustering algorithm adopts a distributed clustering strategy. thus, the time complexity of the entire network equals that of a single node o(1). in the algorithm ibip, it runs on the set of clusterheads. obviously, the number of the clusterheads is smaller than n dmin+1 . moreover, the ibip algorithm is based on the prim’s algorithm. thus the time complexity is o(( n dmin+1 )2). therefore, the total time complexity of the cbeeb algorithm is o(1 +m2), that is o(m2). 2 theorem 5. the overhead complexity of control messages in the network of the cbeeb algorithm is o(n + m3), where m ≤ n dmin+1 is the number of clusterhead elected by the clustering algorithm and dmin is the smallest degree of nodes in the network. clustering-based energy-efficient broadcast tree in wireless networks 789 proof: at the beginning of the clustering algorithm, each node broadcasts a message to collect its information of its one-hop neighbors. therefore, the overhead complexity of control messages in the network is o(n). the ibip runs on the set of clusterheads elected by the clustering algorithm based on the prim’s algorithm. because we need to update the power p ′i,j at each step of the algorithm, the message complexity is o(m3) when a straightforward implementation is used [1]. therefore, we can conclude that the overhead complexity of control messages in the network of the cbeeb algorithm is o(n + m3). 2 comparing with the time complexity of the bip algorithm is o(n2), and the message complexity is o(n3) [1]. obviously, our algorithm cbeeb shows better effectiveness. we now compare the performance of cbeeb algorithm with other six broadcast algorithms blimst [1], bip [1], cm [3], sa [4], esa [2]and ga [15] by simulations. the simulations are carried out in an ideal network generated over a 100 × 100m2 area without consideration for packet lost. the number of network nodes changes from 25 to 250 with each increment of 25. fig 3a. the original network topology with 150 nodes figure 3b.the topology after running clustering algorithm figure 3c.the topology after running ibip figure 4.energy cost comparison among seven algorithms figure 3 illustrates the backbone topology construction process using cbeeb. in figure 4, we compare the energy cost of our algorithm with other six algorithms. the simulation results show that our algorithm makes further improvements on the energy cost compared with the blimst and bip algorithm. cm, sa, esa and ga algorithm can improve the energy cost over the bip algorithm. moreover, we can see cbeeb performs better than the ga algorithm especially when the number of nodes is large. 790 j. yu, h. jiang, g. wang, q. guo 6 conclusions in this paper, we propose a hybrid approach for the meb problem in wireless networks. compared with existing approaches, theoretical and experimental results show the superiority. as further work, we will develop fully distributed algorithms for meb problem. acknowledgments this work was partially supported by the national natural science foundation of china for contract (11101243, 60373012), natural science foundation of shandong province for contract(zr2009gm009, zr2009am013), stpu of shandong province for contract (j10lg09) and tkp of shandong province for contract (2009gg10001014). bibliography [1] j. e. wieselthier, g. d. nguyen, a. ephremides, on the construction of energy efficient broadcast and multicast trees in wireless networks, in: proc. of infocom 2000, 585-594, 2000. [2] s. m. hashemi, mohsen rezapour, ahmad moradi, two new algorithms for the min-power broadcast problem in static ad hoc networks, applied math. and compu., vol.190, pp. 1657-1668, 2007. [3] a. k. das, r. j. marks, m. ei-sharkawi, p. arabshi, a. gray, a cluster-merge algorithm for solving the minimum power broadcast problem in large scale wireless networks, in proc. of the milcom conference, 13-16, 2003. [4] a. k. das, r. j. marks, m. ei-sharkawi, p. arabshi, a. gray, the minimum power broadcast problem in wireless networks: a simulated annealing approach, in proc. of wcnc, 2057-2062, 2005. [5] p. j. wan, g. calinescu, x. y. li, o. frieder, minimum-energy broadcast routing in static ad hoc wireless networks, in proc. of infocom, 1162-1171, 2001. [6] a. k. das, r. j. marks, m. ei-sharkawi, p. arabshai, a. gray, r-shrink: a heuristic for improving minimum power broadcast trees in wireless networks, in proc. of globecom 523-527, 2003. [7] m. cagalj, j. p. hubaux, c. enz, minimum-energy broadcast in all-wireless networks: npcompleteness and distribution issues, in proc. of mobicom’02, 172-182, 2002. [8] i. kang, r. poovendran, broadcast with heterogeneous node capability, in proc. of globecom 4114-4119, 2004. [9] a. k. das, r. j. marks, m. ei-sharkawi, p. arabshi, a. gray, the minimum power broadcast problem in wireless networks: an ant colony system approach, in proc. of the ieee cas workshop on wireless communications and networking, 5-6, 2002. [10] i. kang, r. poovendran, iterated local optimization for minimum energy broadcast, in: proc. of wiopt, 332-341, 2005. [11] r. montemanni, l. m. gambardella, a. k. das, the minimum power broadcast in wireless networks: a simulated annealing approach, in proc. of wcnc, 2057-2062, 2005. [12] s. al-shihabi, p. merz, s. wolf, nested portioning for the minimum energy broadcast problem,in proc. of lion 2, lncs 5313, 1-11, 2008. [13] s. wolf, p. merz, evolutionary local search for the minimum energy broadcast problem,in proc. of evocop’08, lncs 4972, 61-72, 2008. [14] x. wu, x. wang, r. liu, solving minimum power broadcast problem in wireless ad hoc networks using genetic algorithm,in proc. of cnsr, 203-207, 2008. [15] alok singh, wilson naik bhukya, a hybrid genetic algorithm for the minimum energy broadcast problem in wireless ad hoc networks, applied soft computing, vol.11, pp. 667-674, 2011. international journal of computers, communications & control vol. i (2006), no. 3, pp. 41-59 formation control of mobile robots dang binh nguyen, khac duc do abstract: a constructive method is presented to design cooperative controllers that force a group of n mobile robots to achieve a particular formation in terms of shape and orientation while avoiding collisions between themselves. the control development is based on new local potential functions, which attain the minimum value when the desired formation is achieved, and are equal to infinity when a collision occurs. the proposed controller development is also extended to formation control of nonholonomic mobile robots. keywords: formation control, mobile robot, local potential function, nonholonomic mobile robot. 1 introduction over the last few years, formation control of multiple vehicles has received a lot of attention from the control community. applications of vehicle formation control include the coordination of multiple robots, unmanned air/ocean vehicles, satellites, aircraft and spacecraft [1]-[28]. for example, a cooperative mobile sensor network, where each mobile robot serves as a mobile sensor, is expected to outperform a single large vehicle with multiple sensors or a collection of independent vehicles when the objective is to climb the gradient of an environmental field. the single, heavily equipped vehicle may require considerable power to operate its sensor payload, it lacks robustness to vehicle failure and it cannot adapt the configuration or resolution of the sensor array. an independent vehicle with a single sensor may need to perform costly maneuvers to effectively climb a gradient, for instance, wandering significantly to collect rich enough data much like the "run and tumble" behavior of flagellated bacteria. in military missions, a group of autonomous vehicles are required to keep in a specified formation for area coverage and reconnaissance. in automated highway system, the throughput of the transportation network can be greatly increased if vehicles can form to platoons at a desired velocity while keeping a specified distance between vehicles. research on formation control also helps people to better understand some biological social behaviors, such as swarm of insects and flocking of birds. in the literature, there have been roughly three methods to formation control of multiple vehicles: leader-following, behavioral and virtual structure. each method has its own advantages and disadvantages. in the leader-following approach, some vehicles are considered as leaders, whist the rest of robots in the group act as followers [1], [2], [3], [4]. the leaders track predefined reference trajectories, and the followers track transformed versions of the states of their nearest neighbors according to given schemes. an advantage of the leader-following approach is that it is easy to understand and implement. in addition, the formation can still be maintained even if the leader is perturbed by some disturbances. however, a disadvantage is that there is no explicit feedback to the formation, that is, no explicit feedback from the followers to the leader in this case. if the follower is perturbed, the formation cannot be maintained. furthermore, the leader is a single point of failure for the formation. in the behavioral approach [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], few desired behaviors such as collision/obstacle avoidance and goal/target seeking are prescribed for each vehicle and the formation control is calculated from a weighting of the relative importance of each behavior. the advantages of this approach are: it is natural to derive control strategies when vehicles have multiple competing objectives, and an explicit feedback is included through communication between neighbors. the disadvantages are: the group behavior cannot be explicitly defined, and it is difficult to analyze the approach mathematically and guarantee the group stability. in the virtual structure approach, the entire formation is treated as a single entity [15], [16], [17], [18]. when the structure moves, it traces out desired trajectories for each robot in the group to copyright c© 2006 by ccc publications 42 dang binh nguyen, khac duc do track. some similar ideas based on the perceptive reference frame, the virtual leader, and the formation reference point are given in [14], [17], [19]. the advantages of the virtual structure approach are: it is fairly easy to prescribe the coordinated behavior for the group, and the formation can be maintained very well during the manoeuvres, i.e. the virtual structure can evolve as a whole in a given direction with some given orientation and maintain a rigid geometric relationship among multiple vehicles. however requiring the formation to act as a virtual structure limits the class of potential applications such as when the formation shape is time-varying or needs to be frequently reconfigured, this approach may not be the optimal choice. the virtual structure and leader-following approaches require that the full state of the leader or virtual structure be communicated to each member of the formation. in contrast, behavior-based approach is decentralized and may be implemented with significantly less communication. formation feedback has been recently introduced in the literature [18], [20], [21], [22]. in [18], a coordination architecture for spacecraft formation control is introduced to incorporate the leader-following, behavioral, and virtual structure approaches to the multi-robot coordination problem. this architecture can be extended to include formation feedback. in [20], a lyapunov formation function is used to define a formation error for a class of robots (double integrator dynamics) so that a constrained motion control problem of multiple systems is converted into a stabilization problem for one single system. the error feedback is incorporated to the virtual leader through parameterized trajectories. in terms of information from the robots in the group used for feedback in the control design for each robot, there are two main approaches to solve the problem of motion planning/control of a group of mobile robots: centralization and decentralization. in the centralized approach, see for example [18], a single controller and collision free trajectories are constructed in a workspace. the centralized approach has a drawback of computation complexity but guarantees a complete solution. the decentralized approach, see for example [23], requires less computational effort, and offers an easy way to scale the size of the robot group. this approach usually involves a combination of robot based local potential fields [14], [24], [25]. the main problem with the decentralized approach is that it is unable or extremely difficult to predict and control the critical points. basically, the closed loop system under a controller designed by the decentralized approach has multiple equilibrium points. it is rather difficult to design a controller such that all the equilibrium points except for the desired equilibrium one are unstable/saddle points for a group of many robots. moreover even the formation control system is designed in a centralized manner, the tuning constants in several aforementioned papers (e.g. [26], [27], [28], [29]), which are crucial to guarantee that the only desired equilibrium points are asymptotic stable and that the other critical points are unstable, are extremely difficult to obtain for practical implementation. in most of the above papers, point-robots with simple (single or double integrator) dynamics (e.g. [14], [24], [29]) or fully actuated vehicles [19] (which can be converted to a double integrator dynamics via a feedback linearization) were investigated. vehicles with nonholonomic constraints were also considered (e.g. [5]). however, the nonholonomic kinematics are transformed to a double integrator dynamics by controlling the hand position instead of the inertial position of the vehicles. consequently, the vehicle heading is not controlled. in addition, in the tracking control of single nonholonomic mobile robots (e.g. [30], [31], [32]) the tracking errors are often converted into special forms to deal with nonholonomic constraints using several non-trivial coordinate transformations. if these techniques are migrated to formation control of a group of nonholonomic mobile robots, it is extremely difficult to incorporate collision avoidance between the robots. the above problems motivate the contribution of this paper. in this paper, we propose a constructive method to design a cooperative formation control system for a group of n mobile robots. the simple point-mass robots are first considered to clarify the design philosophy. the proposed technique is extended to mobile robots with nonholonomic constraints (nonholonomic mobile robots). new local potential functions are constructed to design gradient based cooperative controllers to achieve almost global asymptotic convergence of a group of mobile robots to a particular formation in term of both shape and orientation, and guarantee no collisions between themselves. formal proof of the results is given. formation control of mobile robots 43 2 problem statement we consider a group of n simple point-mass mobile robots, of which each has the following dynamics q̇i = ui, i = 1, ..., n (1) where qi ∈ rn and ui ∈ rn are the state and control input of the robot i. we assume that n > 1 and n > 1. the assumption that each robot is represented as a point is not as restrictive as it may seem since various shapes can be mapped to single points through a series of transformations [26], [27], [28]. our task is to design the control input ui for each robot i that forces the group of n robots to stabilize with respect to their group members in configurations that make a particular formation specified by a desired vector l(η) = [lt12(η), l t 23(η), ..., l t n−1,n (η)] t , where η ∈ rm is the formation parameter vector to specify the formation change, while avoiding collisions between themselves. the parameter vector η is used to specify rotation, expansion and contraction of the formation such that when η converges to its desired value η f , the desired shape of the formation is achieved. in addition, it requires all the robots align their velocity vectors to a desired bounded one ud ∈ rn, and move toward specified directions specified by the desired formation velocity vector. the control objective is formally stated as follows: control objective: assume that at the initial time t0 each robot initializes at a different location, and that each robot has a different desired location, i.e. there exist strictly positive constants ε1, ε2 and ε3 such that ||qi(t0)−q j(t0)|| ≥ ε1, ||li j(η)|| ≥ ε2, ||∂ li j(η)/∂ η|| ≤ ε3, ∀i, j ∈ {1, 2, ...n}, ∀η ∈ rm. (2) design the control input ui for each robot i , and an update law for the formation parameter vector η such that each robot (almost) globally asymptotically approaches its desired location to form a desired formation, and that the robots’ velocity converges to the desired (bounded) velocity ud while avoiding collisions with all other robots in the group, i.e. limt→∞(qi(t)−q j(t)−li j(η(t))) = 0, limt→∞(η(t)−η f ) = 0, limt→∞(ui(t)−ud ) = 0, ||qi(t)−q j(t)|| > ε4, ∀i, j ∈ {1, 2, ...n}, ∀t ≥ t0 ≥ 0 (3) where ε4 is a strictly positive constant, and η f is a vector of constants that determine the desired formation. the desired formation can be represented by a labeled directed graph ([29], [34]) in the following definition. definition 1. the formation graph, g = {v, e, l} is a directed labeled graph consisting of: -a set of vertices (nodes), v = {ϑ1,··· , ϑn} indexed by the mobile robots in the group, -a set of edges, e = {(ϑi, ϑ j) ∈v ×v}, containing ordered pairs of vertices that represent inter-robot position constraints, and -a set of labels, l = {γi j|γi j = ||qi − q j − li j||2, ∀(ϑi, ϑ j) ∈ e}, li j = qi f − q j f ∈ rn indexed by the edges in e. indeed, when the control objective is achieved, the edge labels become ||qi−q j −li j||2 = 0, ∀(ϑi, ϑ j) ∈ e, i.e. the relative distance between the robots i and j is li j. 3 control design we consider the following local potential function ϕi = γi + δ βi (4) 44 dang binh nguyen, khac duc do where δ are positive tuning constants, the functions γi and βi are the goal and related collision avoidance functions for the robot i specified as follows: -the goal function γi is essentially the sum of all distances from the robot i to its adjacent group members, ni. a simple choice of this function is γi = ∑ j∈ni γi j, γi j = 1 2 ||qi −q j −li j||2. (5) -the related collision function βi should be chosen such that it is equal to infinity whenever any robots come in contact with the robot i, i.e. a collision occurs, and attains the minimum value when the robot i is at its desired location with respect to other group members belong to ni, which are adjacent to the robot i. this function is chosen as follows: βi = ∑ j∈ni ( β ki j β 2ki jl + 1 β ki j ) (6) where k is a positive constant to be chosen later, βi j and βi jl are collision and desired collision functions chosen as βi j = 1 2 ||qi −q j||2, βi jl = 1 2 ||li j||2. (7) it is noted from (7) that βi j = β ji and βi jl = β jil . remark 1. 1. the above choice of the potential function ϕi given in (4) with its components specified in (5)-(6), has the following properties: 1) it attains the minimum value when the robot i is at the desired location with respect to other group member belong to ni, which are adjacent to the robot i, i.e. qi − q j − li j = 0, j ∈ ni, and 2) it is equal to infinity whenever one or more robots come in contact with the robot i, i.e. when a collision occurs. 2. the potential function (4) is different from the ones proposed in [14] and [33] in the sense that the ones in [14] and [33] are centralized and do not put penalty on the relative distance between the robots, i.e. do not include the goal function γi. therefore, the controllers developed in [14] and [33] do not guarantee the formation converge to a specified configuration but to any configurations that locally minimize the potential functions (these potential functions in [14] and [33] are nonconvex). 3. our potential function (4) is also different from the navigation functions proposed in [26] and [29] in the sense that our potential function is of the form of sum of collision avoidance functions while those navigation functions in [26] and [29] are of the form of product of collision avoidance functions . this feature makes our potential function "more decentralized". furthermore, our potential function is equal to infinity while those in [14], [26] and [29] is equal to a finite constant when a collision occurs. however, those in [26] and [29] also cover obstacle and work space boundary avoidance. although these issues are not included in this paper for clarity, considering these issues is possible and is the subject of future work. 4. our potential function does not have problems like local minima and non-reachable goal as listed in [24]. to design the control input ui, we differentiate both sides of (4) along the solutions of (1) to obtain ϕ̇i = ∑ j∈ni [ωti j(ui −u j)−ψti jη̇] = ∑ j∈ni [ωti j(ui −ud −(u j −ud ))−ψti j η̇] = ∑ j∈ni ωti j(ui −ud )− ∑ j∈ni ωti j(u j −ud )− ∑ j∈ni ψti jη̇ (8) formation control of mobile robots 45 where ωi j = qi −q j −li j + δ k ( 1 β 2ki jl − 1 β 2ki j ) β k−1i j (qi −q j) ψi j = [( qi −q j −li j + 2δ kβ ki j β 2k+1i jl li j )t ∂ li j ∂ η ]t . (9) from (8), we simply choose the control ui for the robot i and the update law for η as follows: ui = −c ∑ j∈ni ωi j + ud η̇ = −γ(η −η f ) (10) where c ∈ rn×n+ and γ ∈ rm×m+ are symmetric positive definite matrices. substituting (10) into (8) yields ϕ̇i = − ∑ j∈ni ωti jc ∑ j∈ni ωi j − ∑ j∈ni ωti j(u j −ud ) + ∑ j∈ni ψti jγ(η −η f ). (11) substituting (10) into (1) results in the closed loop system q̇i = −c ∑ j∈ni ωi j + ud , i = 1, ..., n. (12) since the desired formation is specified in terms on relative distances between the robots, we write the closed loop system of the inter-robot dynamics from the closed loop system (12) as q̇i j = −c ( ∑ a∈ni ωia − ∑ b∈n j ω jb ) , (i, j) ∈ {1, ..., n}, i 6= j (13) where qi j = qi −q j. we now state the main result in the following theorem. theorem 1. under the assumptions stated in the control objective, the control for each robot i given in (10) with an appropriate choice of the tuning constants δ and k, solves the control objective. proof. see appendix. 4 simulations we carry out a simulation example in two-dimensional space to illustrate the results. the number of robots is n = 4. the initial positions of robots are chosen randomly in the circle with a radius of 0.5 centered at the origin. the design constants are chosen as c = diag(0.4, 0.4), k = 0.5, δ = 0.1. it is noted that this choice satisfies the conditions in the proof of theorem 1. we run two simulations with ud = [1 0.2]t (linear formation motion meaning that each robot will move on a rectilinear line to form the desired formation) and ud = [sin(0.5t) cos(0.5t)] (circular formation motion meaning that each robot will move on a circle to form the desired formation). for clarity, we take the formation parameter η as a scalar to implement formation expansion. the desired formation is depicted in figure 1. these simulations are motivated by gradient climbing missions in which the mobile sensor network (each mobile robot serves as a mobile sensor) seeks out local maxima or minima in the environmental field. the network can adapt its configuration in response to the sensed environment in order to optimize its gradient climb. for example, gradients in temperature fields (among others) can be estimated from the data collected by the 46 dang binh nguyen, khac duc do mobile robots; these are of interest for enabling gradient climbing to locate and track features such as fronts and eddies. these gradients can be used to compute the desired reference velocity vector ud in our simulations in this section. in the first 4.5 seconds (for the linear formation motion case) and 15 seconds (for the circular formation case), η is set to zero then is updated to η f = 3 for the rest of simulation time. the update gain is chosen as γ = 2 (scalar). robot 1 robot 4 robot 3 robot 2 2( 1 ) 2 (1 ) 2(1 ) 2( 1 )2(1 ) 2 (1 ) figure 1: desired formation for simulation. figures 2 and 3 plot simulation results for the linear formation motion and circular formation cases, respectively. for clarity, we only plot the control u1 = [ux1 uy1]t and distances from the robot 1 to other members in the group, i.e. ‖q12‖,‖q13‖ and ‖q14‖. it is seen from these figures that the desired formation shapes are nicely achieved and there are no collisions between any robots, see the bottom right figures in figures 2 and 3, where the distances from the robot 1 to other members in the groups are plotted. clearly, these distances are always larger than zero. it is also seen from figures 2 and 3 that at the beginning all the robots rapidly move away from each other to avoid collisions since they start pretty close to each other. 5 extension to formation control of nonholonomic mobile robots control of single nonholonomic mobile robots receives considerable attention, and is complicated due to the fact that they have less controls than the outputs to be controlled, see for example [30], [31], [32] and references therein. indeed, control of a group of nonholonomic mobile robots is more complicated due to some nonholonomic (non-integral) constraint. however, in this section we show that the control method developed in section 3 can be readily extended to force a group of n nonholonomic mobile robots of unicycle type to move in such a way that a desired formation is achieved. for clarity, we consider only the kinematic model of the nonholonomic mobile robots. designing the control system at the dynamic level even without requiring robot velocities be measured can be carried out using one more "backstepping" step [35] and our proposed exponential observer in [31]. consider the kinematic model of the unicycle mobile robot i, whose only two wheels are actuated and the third wheel is not actuated formation control of mobile robots 47 0 2 4 6 8 10 12 −2 0 2 4 6 8 x y t=9 s 0 2 4 6 8 10 −1 0 1 2 3 4 5 time [s] c o n tr o l u 1 0 2 4 6 8 10 0 1 2 3 4 time [s] d is ta n ce s −2 0 2 4 6 8 −2 0 2 4 6 8 x y t=4.5 s ||q 12 || ||q 13 || ||q 14 || u x1 u y1 robot 1 robot 2 robot 3 robot 4 figure 2: linear formation motion: simulation results. 2 0 2 4 6 4 2 0 2 4 x y t=30 s 0 10 20 30 2 0 2 4 6 time [s] c o n tr o l u 1 0 10 20 30 0 1 2 3 4 time [s] d is ta n c e s 2 0 2 4 6 4 2 0 2 4 x y t=15 s u x1 u y1 ||q 12 || ||q 13 || ||q 14 || robot 3 robot 2 robot 1 robot 4 figure 3: circular formation motion: simulation results. 48 dang binh nguyen, khac duc do (see figure 4), given by ẋi = ri 2 (cos(θi)ω1i + cos(θi)ω2i) ẏi = ri 2 (sin(θi)ω1i + sin(θi)ω2i) θ̇i = ri 2bi (ω1i −ω2i) (14) where (xi, yi) denote the coordinates of the middle point, p0i, between the left and right driving wheels, and θi denotes the heading of the robot i coordinated in the earth-fixed frame oxy , see figure 4, ω1i and ω2i denote the angular velocities of the wheels of the robot i. moreover ri and bi are defined in figure 4. the task now is to design the control inputs ω1i and ω2i to achieve the control objective stated in section 3. we require an additional assumption on the desired formation velocity vector ud that limt→∞ ||ud (t)|| 6= 0, i.e. we do not consider the stabilization/regulation problem. for convenience, we convert the angular velocities of the wheels to the linear and angular velocities (vi and ri) of the robot i by the following relationship: [ vi ri ] = ( 1 ri [ 1 bi 1 −bi ])−1 [ ω1i ω2i ] . (15) with (15), we can write (14) as ẋi = vi cos(θi) ẏi = vi sin(θi) θ̇i = ri (16) y x o surg e ax is i y i x 2 i b 0i p i sway axis actuated wheel passive wheel 2 i r robot i figure 4: geometric description of a nonholonomic mobile robot. indeed, the kinematic model (14) or (16) possesses the following nonholonomic constraint: ẋi sin(θi)− ẏi cos(θi) = 0. (17) moreover, we will consider the the linear and angular velocities (vi and ri) of the robot i as the control inputs. after these inputs are designed, ω1i and ω2i are calculated from (15). formation control of mobile robots 49 5.1 control design the control design consists of two steps. at the first step, we consider the control vi and the yaw angle θi as a virtual control to steer the robot position (xi, yi) to its desired location. at the second step, the control ri will be desired to force the virtual yaw angle to converge to its actual yaw angle. step 1. define θei = θi −αθi (18) where αθi is a virtual control of θi. with (18), we can write (16) as q̇i = ui + λθei (19) where qi = ∣∣∣∣ xi yi ∣∣∣∣ , ui = ∣∣∣∣ cos(αθi ) sin(αθi ) ∣∣∣∣ vi, λθei = ∣∣∣∣ (cos(θei)−1) cos(αθi )−sin(θei) sin(αθi ) sin(θei) cos(αθi ) + (cos(θei)−1) sin(αθi ) ∣∣∣∣ vi. (20) it is seen that (19) is almost of the same form as (1). however, the problem is that the controls vi and αθi are not solvable directly from the control ui if ui is not designed properly. we therefore present briefly how ui is designed to tackle that problem. consider the following potential function (the same form as (4)) ϕi = γi + δ βi (21) where δ , γi and βi are defined in section 3, see (6) and (7). differentiating both sides of (21) along the solutions of (19) gives ϕ̇i = ∑ j∈ni [ωti j(ui + λθei −u∗d −(u j + λθe j −u∗d ))−ψti jη̇] (22) where ωi j and ψi j are defined in (9), and u∗d = √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2 ud . it is noted that we use u∗d instead of ud in (22) to overcome the nonholonomic problem of the mobile robot under investigation. indeed, limt→∞ ∑ j∈ni ωi j(t) = 0 implies that limt→∞ u∗d (t) = ud . from (22), we choose the control ui and the update law for η as ui = −c||ud|| ∑ j∈ni ωi j + u∗d η̇ = −γ(η −η f ) (23) where c and γ are diagonal positive definite matrices. again, ||ud|| is included in the control ui to overcome the nonholonomic problem. defining θd = arctan(udy/udx), then from the first equations of (23) and (20), we have cos(αθi )vi = −c1||ud|| ∑ j∈ni ωxi j + √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2||ud||cos(θd ) sin(αθi )vi = −c2||ud|| ∑ j∈ni ωyi j + √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2||ud||sin(θd ) (24) where ωxi j and ωyi j are defined as ωi j = [ ωxi j ωyi j]t , c1 and c2 are defined as c = diag(c1, c2). we now need to solve (24) for vi and αθi . to do this, multiplying both sides of the first and second equations of (24) with cos(θd ) and sin(θd ), respectively, then adding them together result in cos(αθi −θd )vi = −c1||ud|| ∑ j∈ni ωxi j cos(θd )− c2||ud|| ∑ j∈ni ωyi j sin(θd ) + √√√√1 + n ∑ i=1 || ∑ j∈ni ωi j||2||ud||. (25) 50 dang binh nguyen, khac duc do on the other hand, multiplying both sides of the first and second equations of (24) with sin(θd ) and cos(θd ), respectively, then subtracting from each other result in sin(αθi −θd )vi = c1||ud|| ∑ j∈ni ωxi j sin(θd )−c2||ud|| ∑ j∈ni ωyi j cos(θd ). (26) from (25) and (26), we have αθi = θd + arctan   c1 ∑ j∈ni ωxi j sin(θd )−c2 ∑ j∈ni ωyi j cos(θd ) −c1 ∑ j∈ni ωxi j cos(θd )−c2 ∑ j∈ni ωyi j sin(θd ) + √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2   . (27) it is seen that (27) is well-defined if the positive constants c1 and c2 are chosen such that c1 + c2 < 1. (28) the control vi is found by solving (24) as vi = cos(αθi )||ud|| ( −c1 ∑ j∈ni ωxi j + √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2 cos(θd ) ) + sin(αθi )||ud|| ( −c2 ∑ j∈ni ωyi j + √ 1 + n ∑ i=1 || ∑ j∈ni ωi j||2 sin(θd ) ) . (29) substituting (23) into (22) results in ϕ̇i = −||ud|| ∑ j∈ni ωti jc ∑ j∈ni ωi j + ∑ j∈ni [ωti j(λθei −(u j + λθe j −u∗d )) + ψti jγ(η −η f )]. (30) step 2. to design the control ri, differentiating both sides of (18) along the solutions of the third equation of (16) and choosing the control ri as ri = −diθei −α̇θi − ∑ j∈ni ωti jλθei /θei (31) where di is a positive constant, and the term ∑ j∈ni ωti jλθei /θei is to cancel the cross term ∑ j∈ni ωti jλθei in (30), result in θ̇ei = −diθei − ∑ j∈ni ωti jλθei /θei. (32) note that λθei /θei is well defined since sin(θie)/θie = 1∫ 0 cos(θieλ )dλ and (cos(θie)−1)/θie = 1∫ 0 sin(θieλ )dλ are smooth functions. 4.2 stability analysis we consider the following function ϕtot = log(1 + n ∑ i=1 (ϕi + θ 2ei)) + 1 2 (η −η f )t γ(η −η f ) (33) whose derivative along the solutions of (30), (32) and the second equation of (23) satisfies ϕ̇tot = −2 ||ud|| n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j + n ∑ i=1 diθ 2ei 1 + n ∑ i=1 (ϕi + θ 2ei) + n ∑ i=1 ∑ j∈ni ψti jγ(η −η f ) 1 + n ∑ i=1 (ϕi + θ 2ei) −(η −η f )t γ(η −η f ) (34) formation control of mobile robots 51 where we have used − n ∑ i=1 ∑ j∈ni [ωti j(u j + λθe j −u∗d ) = n ∑ i=1 ∑ j∈ni [ωti j(ui −u∗d + λθei ) = −||ud|| n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j + n ∑ i=1 ∑ j∈ni ωti jλθei . (35) the rest of stability analysis can be carried out in the same lines as in proof of theorem 1 since (34) is of the same form as (40) and limt→∞ ||ud (t)|| 6= 0 by assumption. finally, note that limt→∞ θei(t) = 0 and limt→∞ ∑ j∈ni ωi j(t) = 0 implies that limt→∞(θi(t)−θd ) = 0 , i.e. the yaw angle of all robots converge to the desired angle θd = arctan(udy/udx). 5.2 simulation results we now perform a simulation to illustrate the results in the previous subsection. the number of robots, initial conditions of the robot positions, control gains, desired formation velocity and desired formation shape are the same as in section 4. the robot heading angles are initialized randomly in the circle with a radius of 0.5 centered at the origin. for clarity, we only simulate the circular formation motion, and we do not include simulation results on the formation expansion as in section 4, i.e. the formation parameter η is set to zero in all the simulation time. the other design constants are chosen as di = 5. simulation results are plotted in figure 5. again, it is seen that the robots are forced to move to nicely achieve the desired formation and no collisions between the robots occur. moreover, the yaw angle of all robots converges to the desired value θd , see the top-right figure in figure 5, where the yaw angle errors are plotted. a close look at figure 5 shows that the main different between simulation results in this subsection and those in section 4 is that the robots take a longer time to approach the desired formation. this is because we use the heading angles θi as the virtual controls to steer the robots to overcome the noholonomic constraint. 6 summary and conclusions this paper has contributed the method to construct local potential functions, based on which gradientlike cooperative controllers were designed for a group of mobile robots both with and without nonholonomic constraints to perform certain formation missions. formal analysis of the convergence and feasibility of the control solutions have also been provided. in the near future, it is of interest to apply the proposed control design method combined with the control design scheme for other single underactuated robots with second order nonholonomic constraints such as underactuated ships [37] to achieve a desired formation for a group of underactuated systems. 7 appendix: proof of theorem 1 we prove theorem 1 in two steps. at the first step, we show that there are no collisions between any robots and the solutions of the closed loop system exist. at the second step, we prove that the equilibrium point of the inter-robot dynamics closed loop system (13), at which qi − q j − li j = 0, is asymptotically stable. finally, we show that all other equilibrium(s) of (13) are either unstable or saddle. step 1. proof of no collision and existence of solutions: we consider the following common potential function ϕ given by ϕ = n ∑ i=1 ϕi (36) 52 dang binh nguyen, khac duc do 2 0 2 4 6 3 2 1 0 1 2 3 4 x y 0 2 4 6 8 10 12 1 0.5 0 0.5 1 time [s] h e a d in g a n g le e rr o rs 0 5 10 15 20 5 0 5 10 time [s] c o n tr o ls v 1 , r 1 0 5 10 15 20 0 0.5 1 1.5 2 time [s] d is ta n c e s 1 d 2 d 3 d 4 d v 1 r 1 ||q 12 || ||q 13 || ||q 14 || robot 1 robot 2 robot 3 robot 4 figure 5: mobile robot circular formation motion: simulation result. formation control of mobile robots 53 whose derivative along the solutions of (11) is ϕ̇ = − n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j − n ∑ i=1 ∑ j∈ni ωti j(u j −ud ) + n ∑ i=1 ∑ j∈ni ψti jγ(η −η f ). (37) since li j = −l ji and ωi j = −ω ji, we have n ∑ i=1 ∑ j∈ni ωti j(u j −ud ) = − n ∑ i=1 ∑ j∈ni ωti j(ui −ud ). (38) substituting (38) into (37) gives ϕ̇ = −2 n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j + n ∑ i=1 ∑ j∈ni ψti jγ(η −η f ). (39) we now consider the following total function ϕtot = log(1 + ϕ) + 0.5||η − η f ||2 whose derivative along the solutions of (39) the second equation of (10) satisfies ϕ̇tot = − 2 1 + ϕ n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j + 1 1 + ϕ n ∑ i=1 ∑ j∈ni ψti jγ(η −η f )−(η −η f )t γ(η −η f ) (40) which implies that ϕ̇tot ≤ − 2 1 + ϕ n ∑ i=1 ∑ j∈ni ωti jc ∑ j∈ni ωi j + λmax(γ) 4ε(1 + ϕ)2 ∥∥∥∥∥ n ∑ i=1 ∑ j∈ni ψti j ∥∥∥∥∥ 2 − (λmin(γ)−ε λmax(γ))||η −η f ||2 (41) where ε is a positive constant, λmin(γ) and λmax(γ) denote the minimum and maximum eigenvalues of γ respectively. from (9), and definition of the function ϕ , it can be readily shown that there exists a positive constant ωmax such that 1 (1 + ϕ)2 ∥∥∥∥∥ n ∑ i=1 ∑ j∈ni ψti j ∥∥∥∥∥ 2 ≤ ωmax (42) with (42) in mind, picking ε = λmin(γ)/λmax(γ) we can write (41) as ϕ̇tot ≤ λ 2max(γ) 4λmin(γ) ωmax ∆ = ϖmax. (43) integrating both sides of (43) results in ϕtot (t) ≤ ϕtot (t0) + ϖmax(t −t0). (44) where ϕtot (t) and ϕtot (t0) are (from the definition of ϕtot ) ϕtot (t) = log [ 1 + n ∑ i=1 ( γi(t) + δ ∑ j∈ni ( β ki j (t) β 2ki jl + 1 β ki j (t) ))] + 12||η(t)−η f ||2 ϕtot (t0) = log [ 1 + n ∑ i=1 ( γi(t0) + δ ∑ j∈ni ( β ki j (t0) β 2ki jl + 1 β ki j (t0) ))] + 12||η(t0)−η f ||2. (45) the right hand side of (44) cannot escape to infinity unless when t = ∞ since βi jl > 0 and βi j(t0) > 0 (see definition of βi jl and βi j given in (7)). therefore the left hand side of (44) cannot escape to infinity for 54 dang binh nguyen, khac duc do all t ∈ [t0, ∞). this implies that βi j(t) cannot be zero for all t ∈ [t0, ∞), i.e. no collisions can occur for all t ∈ [t0, ∞). on the other hand, it is true from the second equation of (10) that ||η(t)−η f || ≤ ||η(t0)−η f ||e−λmin(γ)(t−t0) (46) which means that the desired formation shape is achieved exponentially. using (42) and (46), we can write (41) as ϕ̇tot≤ λmax(γ) √ ωmax||η(t0)−η f ||e−λmin(γ)(t−t0). (47) integrating both sides of (47) from t0 to t results in ϕtot (t) ≤ ϕtot (t0) + λmax(γ) √ ωmax||η(t0)−η f ||/λmin(γ). (48) it is seen that the right hand side of (48) is bounded. therefore the left hand side of (48) must also be bounded. this implies that βi j(t) must be larger than a strictly positive constant for all t ∈ [t0, ∞), which in turn means that there exists a strictly positive constant ε4 such that the last inequality of (3) holds. to prove that the solutions of the closed loop system (12) exist, we consider the function w = 0.5 n ∑ i=1 ||qi||2 whose derivative along the solutions of (12), after some simple manipulation, satisfies ẇ ≤ ρ1(1 + 1/ min(βi j))w + ρ2 , where ρ1 and ρ2 are some positive constants, which implies that the solutions of (12) exist since βi j(t) is larger than a strictly positive constant for all t ∈ [t0, ∞). furthermore, applying barbalat’s lemma found in [36] to (41) gives lim t→∞ 1 1 + ϕ(t) n ∑ i=1 ∑ j∈ni ωti j(t)c ∑ j∈ni ωi j(t) = 0 (49) which implies that { limt→∞ ∑ j∈ni ωi j(t) = 0 limt→∞ ϕ(t) = χ1 or { limt→∞ ∑ j∈ni ωi j(t) = χ2 limt→∞ ϕ(t) = ∞ (50) where χ1 and χ2 are some constants. from definitions of ωi j and ϕ , the second limit set in (50) cannot be true. therefore, the first limit set in (50) implies that limt→∞ ∑ j∈ni ωi j(t) = 0. step 2. behavior near equilibrium points. at the steady state, the equilibrium points are found by solving the following equations ∑ j∈ni ωi j = ∑ j∈ni ( qi j −li j + δ k ( 1 β 2ki jl − 1 β 2ki j ) β k−1i j qi j ) = 0, i = 1, ..., n. (51) it is directly verified that q̄ = l̄ where q̄ and are stack vectors of qi j and li j, respectively, i.e. q̄ = [qt12, q t 13..., q t n−1,n ] t and l̄ = [lt12, l t 13..., l t n−1,n ] t , is one root of (51). in addition there is (are) another root(s) denoted by q̄c = [qt12c, q t 13c..., q t n−1,nc] t of (51) different from l̄ satisfying ∑ j∈ni ωi j ∣∣∣∣∣ q̄=q̄c = ∑ j∈ni ( qi jc −li j + δ k ( 1 β 2ki jl − 1 β 2ki jc ) β k−1i jc qi jc ) = 0, i = 1, ..., n (52) where βi jc = 0.5||qic − q jc||2. in the following, we will show that the equilibrium point q̄ = l̄ is asymptotically stable, and the equilibrium point(s) q̄ = q̄c is (are) unstable or saddle. we now write the closed loop system of the inter-robot dynamics (13) as ˙̄q = −c̄f(q̄, l̄). (53) formation control of mobile robots 55 where c̄ = diag(c,··· ,c︸ ︷︷ ︸ e ) with e the number of edges of the formation graph, and f(q̄, l̄) = [ ∑ a∈n1 ωt1a − ∑ b∈n2 ωt2b, ∑ a∈n1 ωt1a − ∑ b∈n3 ωt3b, ...., ∑ a∈ni ωtia − ∑ b∈n j ωtjb, ...., ∑ a∈nn−1 ωtn−1,a − ∑ b∈nn ωtnb] t . (54) since (52) holds for all i = 1, ..., n, at the steady state we have ∑ a∈ni ωia− ∑ b∈n j ω jb = 0, ∀(i, j) ∈{1, ..., n}, i 6= j. therefore the equilibrium points q̄ = l̄ and q̄ = q̄c are also the equilibrium points of (53). the general gradient of f(q̄, l̄) with respect to q̄ is given by ∂ f(q̄, l̄) ∂ q̄ =   ∂ ξ12 ∂ q12 ∂ ξ12 ∂ q13 ··· ∂ ξ12∂ qn−1,n ... ... ... ... ∂ ξi j ∂ q12 ··· ∂ ξi j∂ qi j ∂ ξi j ∂ qn−1,n ... ... ... ... ∂ ξn−1,n ∂ q12 ··· ··· ∂ ξn−1,n∂ qn−1,n   , ξi j = ∑ a∈ni ωia − ∑ b∈n j ω jb, (i, j) ∈ {1, ..., n}, i 6= j. (55) it can be checked that ∂ ξi j ∂ qi j = nin×n + 2δ k ( 1 β 2ki jl − 1 β 2ki j ) β k−1i j in×n + 2δ k ( (k −1) ( 1 β 2ki jl − 1 β 2ki j ) β k−2i j + 2k β k+2i j ) qi j q t i j ∆ = hi j ∂ ξi j ∂ qcd = sδ k ( 1 β 2kcdl − 1 β 2kcd ) β k−1cd in×n + sδ k ( (k −1) ( 1 β 2kcdl − 1 β 2kcd ) β k−2cd + 2k β k+2cd ) qcd q t cd , (56) where (c, d) ∈{1, ..., n}, (c, d) 6= (i, j), c 6= d , and s = 1 or s = −1 depending on value of c, d, i and j. however, we do not need to specify the sign of s for our next task. we now investigate properties of the equilibrium points q̄ = l̄ and q̄ = q̄c based on the general gradient ∂ f(q̄, l̄)/∂ q̄ evaluated at those points. step 2.1 proof of q̄ = l̄ being the asymptotic stable equilibrium point: at the equilibrium point q̄ = l̄ , we have ∂ ξi j ∂ qi j ∣∣∣∣ q̄=l̄ = nin×n + 4δ k2 β k+2i jl li jl t i j , ∂ ξi j ∂ qcd ∣∣∣∣ q̄=l̄ = s 2δ k2 β k+2cdl lcd l t cd , (57) where βcdl = 0.5||lcd||2 . with (57), let ξ ∈ rne we have ξ t ∂ f(q̄, l̄) ∂ q̄ ∣∣∣∣ q̄=l̄ ξ ≥ ( n − 4δ k2ne max(l2i ja) min(β k+2i jl ) ) ξ t ξ , (i, j) ∈ {1, ..., n}, i 6= j (58) where li ja is the a th element of li j. therefore, for any given constant k if we choose the tuning constant δ such that n − 4δ k2ne max(l2i ja) min(β k+2i jl ) > 0 → δ < n min(β k+2i jl ) 4k2ne max(l2i ja) , (i, j) ∈ {1, ..., n}, i 6= j (59) then the matrix ∂ f(q̄, l̄)/∂ q̄ ∣∣ q̄=l̄ is positive definite, which in turn implies that the equilibrium point q̄ = l̄ is asymptotically stable. 56 dang binh nguyen, khac duc do step 2.2. proof of q̄ = q̄c being the unstable/saddle equilibrium point(s): the idea is to consider block matrices on the main diagonal of the matrix ∂ f(q̄, l̄)/∂ q̄ ∣∣ q̄=q̄c and show that there exists at least one block matrix whose determinant is negative. define hi jc = ∂ ξi j/∂ qi j ∣∣ q̄=q̄c and let φa and φb be the ath and bth elements of qi jc, (a, b) ∈ {1, ..., n}, a 6= b. we form the matrices h abi jc from the matrix hi jc as follows h abi jc = [ h11 h12 h21 h22 ] h11 = n + 2δ kπi jcβ k−1i jc + 2δ k[(k −1)πi jcβ k−2i jc + 2k/β k+2i jc ]φ 2a h12 = 2δ k[(k −1)πi jcβ k−2i jc + 2k/β k+2i jc ]φaφb h21 = 2δ k[(k −1)πi jcβ k−2i jc + 2k/β k+2i jc ]φaφb h22 = n + 2δ kπi jcβ k−1i jc + 2δ k[(k −1)πi jcβ k−2i jc + 2k/β k+2i jc ]φ 2b (60) where πi jc = 1/β 2ki jl −1/β 2ki jc . the determinant of h abi jc is given by det(h abi jc) = (n + 2δ kπi jcβ k−1 i jc )∆ ab i jc (61) where ∆abi jc = n + 2δ kπi jcβ k−1 i jc + 2δ k[(k −1)πi jcβ k−2i jc + 2k/β k+2i jc ](φ 2a + φ 2b ) (62) let us consider the sum: n−1 ∑ a=1 n ∑ b=a+1 ∆abi jc = n(n−1)n + 2δ k(n−1)(2(k−1) + n)β k−1i jc /β 2ki jl + 2δ k(n−1)(2(k + 1)−n)/β k+1i jc . (63) since n > 1, picking k > n/2 − 1 ensures that n−1 ∑ a=1 n ∑ b=a+1 ∆abi jc > 0. therefore, there exists at least one pair (a, b) ∈ {1, ..., n} denoted by (a∗, b∗) such that ∆a∗b∗i jc > 0. now for all (i, j) ∈ {1, ..., n}, i 6= j let us consider the sum: n−1 ∑ i=1 n ∑ j=i+1 det(h a ∗b∗ i jc ) ∆a∗b∗i jc βi jc = n−1 ∑ i=1 n ∑ j=i+1 (nβi jc + 2δ kπi jcβ ki jc). (64) on the other hand, multiplying both sides of f(q̄c, l̄) = 0 with q̄tc results in q̄ t c f(q̄c, l̄) = 0, which is expanded to n−1 ∑ i=1 n ∑ j=i+1 (nqti jc(qi jc −li j) + 2δ knπi jcβ ki jc) = 0. (65) substituting (65) into (64) results in n−1 ∑ i=1 n ∑ j=i+1 det(h a ∗b∗ i jc ) ∆a∗b∗i jc βi jc = n−1 ∑ i=1 n ∑ j=i+1 (n −2)βi jc + n−1 ∑ i=1 n ∑ j=i+1 qti jcli j. (66) the term n−1 ∑ i=1 n ∑ j=i+1 ( qti jcli j ) is strictly negative since at the point where qi j = li j (the point f in figure 6) all attractive and repulsive forces are equal to zero while at the point where qi j = qi jc (the point c in figure 6) the sum of attractive and repulsive forces is equal to zero (see section 2 for discussion of a simple case). therefore the point qi j = 0 (the point o in figure 6) must locate between the points qi j = li j and qi j = qi jc , see figure 6. furthermore if we write (65) as 2 n−1 ∑ i=1 n ∑ j=i+1 βi jc + δ k(β ki jc/β 2k i jl −1/β ki jc) = n−1 ∑ i=1 n ∑ j=i+1 qti jcli j (67) formation control of mobile robots 57 12 q 13 q 1n q 21 q 2 n q 1,1n q 1,n n q o f c the point where all attractive and repulsive forces are zero the point where sum of attractive and repulsive forces are zero. figure 6: illustration of location of critical points. we can see that deceasing δ results in decrease in βi jc since βi jl is a bounded constant and the right hand side of (67) is negative. therefore, choosing a sufficiently small δ ensures that the right hand of (64) is strictly negative since βi jc = 0.5||qi jc||2 . that is n−1 ∑ i=1 n ∑ j=i+1 det(h a ∗b∗ i jc ) ∆a∗b∗i jc βi jc < 0 (68) which implies that there exists at least one pair (i, j) ∈ {1, ..., n} denoted by (i∗, j∗) such that det(h a ∗b∗ i∗ j∗c) < 0. (69) the inequality implies that at least one eigenvalue of the matrix ∂ f(q̄, l̄)/∂ q̄ ∣∣ q̄=q̄c is negative. this in turn guarantees that q̄c is an unstable/saddle equilibrium point of (53). proof of theorem 1 is completed. references [1] p. k. c. wang, navigation strategies for multiple autonomous mobile robots moving in formation, j. robot. syst., vol. 8, no. 2, pp. 177-195, 1991. [2] p. k. c. wang and f. y. hadaegh, coordination and control of multiple microspacecraft moving in formation, j. astronautical sci., vol. 44, no. 3, pp. 315-355, 1996. [3] j. p. desai, j. ostrowski, and v. kumar, controlling formations of multiple mobile robots, proc. ieee int. conf. robotics and automation, leuven, belgium, pp. 2864-2869, 1998. [4] m. mesbahi and f. y. hadaegh, formation flying control of multiple spacecraft via graphs, matrix inequalities, and switching, aiaa j. guidance, control, dynam., vol. 24, no. 2, pp. 369-377, 2000. [5] r. t. jonathan, r. w. beard and b. j. young, a decentralized approach to formation maneuvers, ieee trans. robot. and automat., vol. 19, pp. 933-941, 2003. 58 dang binh nguyen, khac duc do [6] t. d. barfoot and c. m. clark, motion planning for formations of mobile robots, robot. auton. syst., vol. 46, pp. 65-78, 2004. [7] h. yamaguchi, adaptive formation control for distributed autonomous mobile robot groups, proc. ieee int. conf. robotics and automation, albuquerque, nm, pp. 2300-2305, 1997. [8] t. balch and r. c. arkin, behavior-based formation control for multirobot teams, ieee trans. robot. automat., vol. 14, pp. 926-939, 1998. [9] m. schneider-fontan and m. j. mataric, territorial multirobot task division, ieee trans. robot. automat., vol. 14, pp. 815-822, 1998. [10] q. chen and j. y. s. luh, coordination and control of a group of small mobile robots, proc. ieee int. conf. robotics and automation, pp. 2315-2320, 1994. [11] m. veloso, p. stone, and k. han, the cmunited-97 robotic soccer team: perception and multiagent control, robot. auton. syst., vol. 29, pp. 133-143, 1999. [12] l. e. parker, alliance: an architecture for fault-tolerant multirobot cooperation, ieee trans. robot. automat., vol. 14, pp. 220-240, 1998. [13] k. sugihara and i. suzuki, distributed algorithms for formation of geometric patterns with many mobile robots, j. robot. syst., vol. 13, no. 3, pp. 127-139, 1996. [14] n. e. leonard and e. fiorelli, virtual leaders, artificial potentials and coordinated control of groups, proc. ieee conf. decision and control, orlando, fl, pp. 2968-2973, 2001. [15] w. kang, n. xi, and a. sparks, formation control of autonomous agents in 3d workspace, proc. ieee int. conf. robotics and automation, san francisco, ca, pp. 1755-1760, 2000. [16] m. a. lewis and k.-h. tan, high precision formation control of mobile robots using virtual structures, auton. robots, vol. 4, pp. 387-403, 1997. [17] w. kang and h.-h. yeh, coordinated attitude control of multisatellite systems, int. j. robust nonlinear control, vol.12, pp. 185-205, 2002. [18] r. w. beard, j. lawton, and f. y. hadaegh, a coordination architecture for formation control, ieee trans. control syst. technol., vol. 9, pp. 777-790, 2002. [19] r. skjetne, s. moi and t. i. fossen, nonlinear formation control of marine craft, proc. ieee conf. on decision and control, las vegas, nv, pp. 1699-1704, 2002. [20] p. ogren, m. egerstedt and x. hu, a control lyapunov function approach to multiagent coordination, ieee trans. robot. autom. vol.18, pp. 847-851. [21] w. ren and r. w. beard, formation feedback control for multiple spacecraft via virtual structures. iee proceedings-control theory application, vol. 151, pp. 357-368, 2004. [22] e. w. jush and p. s. krishnaprasad, equilibria and steering laws for planar formations, syst. contr. letters, vol. 52, pp. 25-38, 2004. [23] d. m. stipanovica, g. inalhana, r. teo and c. j. tomlina, decentralized overlapping control of a formation of unmanned aerial vehicles, automatica, vol. 40, pp. 1285-1296, 2004. [24] s. s. ge and y. j. cui, new potential functions for mobile robot path planning, ieee trans. robot. automat., vol. 16, pp. 615-620, 2000. formation control of mobile robots 59 [25] s. s. ge and y. j. cui, dynamics motion planning for mobile robots using potential field method, auton. robots, vol. 13, pp. 207-222, 2000. [26] e. rimon and d.e. koditschek, exact robot navigation using artificial potential functions, ieee trans. robot. and automat., vol. 8, no. 5, pp. 501-518, 1992. [27] e. rimon and d.e. koditschek, robot navigation functions on manifolds with boundary, advances in applied mathematics, vol. 11, pp. 412-442, 1990. [28] h. g. tanner, s. g. loizou and k. j. kyriakopoulos, nonholonomic navigation and control of multiple mobile robot manipulators, ieee trans. robot. automat., vol. 19, no. 1, pp. 53-64, 2003. [29] h.g. tanner and a. kumar, towards decentralization of multi-robot navigation functions, ieee int. conf. robotics and automation, barcelona, spain, pp 4143-4148, 2005. [30] w. e. dixon, d. m. dawson, e. zergeroglu and a. behal, nonlinear control of wheeled mobile robots, springer, london, 2001. [31] k. d. do, z. p. jiang and j. pan, a global output-feedback controller for simultaneous tracking and stabilization of mobile robots, ieee trans. robot. automat., vol.20, pp. 589-584, 2004. [32] t. fukao, h. nakagawa, and n. adachi, adaptive tracking control of nonholonomic mobile robot, ieee trans. robot. automat., vol. 16, pp. 609-615, 2000. [33] h. g. tanner, a. jadbabaie and g. j. pappas, stable flocking of mobile agents, part i: fixed topology, proc. ieee conf. decision and control, hawaii, pp. 2010-2015, 2003. [34] g. godsils and g. royle, algebraic graph theory, new york: springer graduate texts in mathematics, 207, 2001. [35] m. krstic, i. kanellakopoulos and p.v. kokotovic, nonlinear and adaptive control design, new york: wiley, 1995. [36] h. khalil, nonlinear systems, prentice hall, 2002. [37] k. d. do and j. pan, global path-tracking of underactuated ships with non-zero off-diagonal terms, automatica, vol. 41, pp. 87-95, 2005. dang binh nguyen thai nguyen university of technology rector’s office 3-2 street, thai nguyen city, vietnam e-mail: nguyen.d.binh.tnut@gmail.com khac duc do school of mechanical engineering the university of western australia 35 stirling highway, crawley, wa 6009, australia e-mail: duc@mech.uwa.edu.au http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 395-411 mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems zhong xu, xue liu, guoqing zhang, wenbo he abstract: mobile ad hoc network is a self-configurable and self-organizing wireless network of mobile devices without fixed infrastructure support, which makes it a good candidate as underlying communication network for the cyber-physical systems in emergency conditions such as earthquake, flood, and battlefields. in these scenarios, efficient communication schemes with security support are especially desired. two cryptography approaches, the public key cryptography and the identitybased cryptography, face the costly and complex key management problem and the “key escrow" problem in the real-life deployment. recently, the certificateless public key cryptography (cl-pkc) was introduced to address these problems in previous approaches. however, the efficiency of the schemes based on cl-pkc is not high and can be improved further. in this paper, we present an improved certificateless signature scheme (mccls) based on bilinear pairings. first, we theoretically compare the efficiency of mccls with that of existing certificateless signature schemes (cls). second, an empirical study is conducted to compare the traditional aodv with the mccls scheme based on aodv (mcdv) in their efficiency and effectiveness against two most common attacks (i.e. redirection attack and rushing attack). results from theoretical analysis show that the new mccls scheme is more efficient than existing cls solutions, and results from empirical studies show that the mcdv is able to resist the two common attacks without causing substantial degradation of the network performance. keywords: certificateless signature, manets, cyber-physical systems, security; 1 introduction a salient feature of cyber-physical systems (cps) is that it integrates computing, monitoring, and communication capabilities, and constantly interacts with the physical environment. as a result, cyberphysical system must be dependable, safe, secure and efficient [16]. many emergency applications such as earthquake, flood and battlefields [10] proposed for cps will be implemented on networked environments where computing devices are connected through wireless links. for many applications such as the military applications, fixed infrastructure may not be available in the environment or even be destroyed [9]. it is important to solve the connectivity problems with self-configurable and self-organizing characteristics. a possible solution for the lack of communication means is deployment of the mobile ad hoc networks (manets). while manets provide a great flexibility for establishing communications, they are particularly prone to the security threats of eavesdropping, interception and routing attacks. some of these problems may be solved or mitigated with the use of cryptographic schemes [7]. in the recent literature many papers make specific proposals on determining how to use public key infrastructure (pki) [27, 23, 4, 15] and identity-based public key cryptography (id-pkc) [20, 13, 8, 25] cryptographic techniques to secure manets. the traditional pki signature scheme uses a centralized certificate authority to issue a digital certificate that binds a user with the corresponding public key. the requirement of certificate authority inevitably leads to complex certificate management problems in practice. copyright © 2006-2008 by ccc publications 396 zhong xu, xue liu, guoqing zhang, wenbo he the id-pkc which was introduced by shamir [20] is developed from traditional pki to simplify the certificate management process. in the id-pkc based scheme, user’s public key is derived directly from certain aspects of his identity such as email address which is assumed to be publicly known. a private key is generated by a trusted third party – private key generator (pkg). however, a new inherent problem is brought by this approach, namely the “key escrow" problem since the private key of user is known to the pkg. as a result, the pkg is able to impersonate any user of its choice, or decrypt messages. in order to solve the costly and complex key management problems in pki and the “key escrow" problem in id-pkc respectively, al-riyami and paterson [1] proposed the first certificateless public key cryptography (cl-pkc) scheme. in the certificateless signature (cls) scheme, key generation center (kgc) only provides user with a partial private key, which is related to the user’s identity and the master private key only known by pkc. then the user generates the remaining part of the private key and the corresponding public key. as a result, the kgc does not know the user’s private key because the user’s private key is generated by user itself, thereby solving the “key escrow" problem in id-pkc based schemes. however, cls schemes are usually computationally intensive, and hence they are not readily applicable in practical applications. in this paper, we present mccls scheme, a new cls scheme for mobile wireless cyber-physical systems. compared with existing cls schemes, mccls scheme only requires one pairing operation in the verification phase, and none in the signing phase. since the pairing operation is the most time-consuming computation in pairing-based cryptosystems, our mccls scheme has less computation overhead and therefore is more efficient than those schemes proposed previously in [1, 12, 14, 26]. we also provide a detailed security proof for mccls scheme based on the computational diffie-hellman problem (cdhp) [6]. then an empirical study is conducted to compare the mccls based on aodv (mcdv) with the traditional aodv in their efficiency and effectiveness against the two most common attacks, redirection attack and rushing attack, based on qualnet simulation software [19]. results show that our scheme is efficient in terms of computation overhead and it can resist redirection attack [18] and rushing attack [11]. the remainder of the paper is organized as follows. section 2 provides a brief description on the related work. section 3 introduces the preliminaries and the background on the security model and the attack model. section 4 presents our efficient mccls scheme. section 5 analyzes the security of mccls scheme in detail. section 6 evaluates the performance of mccls scheme under the redirection attack and the rushing attack. finally, section 7 concludes this paper with summaries and the directions of future work. 2 related work cyber-physical systems (cps) are physical and engineered systems whose operations are integrated, monitored, and controlled by a computational core [17]. cps integrate the communication and computation with the physical process [2]. since cyber-physical systems constantly interact with the physical environment, they must be dependable, safe, secure and efficient [16]. cps is a new active research area. the position papers published in the nsf workshop on cyberphysical system [16] presents a good overview of the different aspects of cps research. though security is an important research issue of cps , little work has been done [3] so far for the security of cps. since many emergency applications proposed for cps will be implemented on mobile ad hoc networks (manets), it is natural to ask the question if security schemes proposed for manets are practical for cps. to overcome the security problems in manets due to their infrastructure-less nature, we need some new methods to solve these problems. one of these methods is the lightweight and efficient key management scheme. recently, in order to solve the key management problem in public key mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 397 cryptography and “key escrow" problem in identity-based cryptography schemes, al-riyami and paterson [1] proposed the first certificateless signature (cls) scheme but fail to provide the security proof. later, huang et al. [12] found that this cls scheme was insecure against a type i forger attack. a modified cls scheme was proposed with security proved under the random oracle model [5]. however, the scheme requires more pairing operations than the original scheme proposed in [1]. in [14], li et al. therefore, proposed another cls scheme, with a formal security analysis omitted. another shortcoming of this scheme is that the verification algorithm requires four quite expensive pairing operations. zhang et al. [26] presented a cls scheme with a formal security analysis but it still needs four pairing operations in the verification phase. following that, yap et al. [22] proposed a new cls scheme, which requires no pairing operation in the signing phase but requires two pairing operations in the verification phase. however, since pairing operations are costly in computation and are usually time consuming, using more pairing operations in the scheme will make it difficult to be applied for emergency cyber-physical systems, because cps need constantly interact with the physical environment and with stringent timing requirements. in this paper, we present mccls scheme, which is more efficient and hence is a good alternative to be used in cyber-physical systems. a good security protocol must be resilient against security attacks. in the following, we briefly introduce two most commonly studied attacks. later in this paper, we prove that the proposed mccls scheme is resilient against these two attacks. redirection attack [18] is one of the many possible attacks in manets. in this attack, a malicious node sends a forged route reply (rrep) packet to a source node by altering control message fields with falsified values. when a source node receives multiple rreps, by comparing the destination sequence numbers contained in rrep packets, it regards the largest one as the most recent routing information and selects the route through which that rrep packet has been sent. if the attacker sends the rrep with destination sequence number higher than that of the real destination node to the source node, the data traffic will be directed toward the attacker. it then drops all data packets it receives instead of forwarding them to the next node on the routing path. consequently, the source and destination nodes will lose communication with each other. rushing attack [11] usually aims at a reactive routing protocol. every node in the network only forwards the first route discovery packet that it receives and drops the rest. malicious nodes can “rush" the route request packets towards the destination. as a result, the nodes that receive these “rushed" request packets forward them and discard other route requests that arrive later. the resulted routes would then include the malicious nodes. in this way, the attacker is placed in an advantageous position. 3 preliminaries in this section, we present some mathematical background which helps in realizing cls based on the bilinear pairing. it is commonly used in cls schemes to realize signature and verification [1, 12, 14]. we define two cyclic groups g1, g2, where g1 is an additive group and g2 is a multiplicative group, where both groups have a prime order p. let e be a computable bilinear map e : g1 × g1 → g2. we have the following conditions: 1. bilinearity: for any p, q, r ∈ g1, we have e(p + q, r) = e(p, r)e(q, r). for a, b ∈ z∗p and p, q ∈ g1, we have e(ap, bq) = e(p, q) ab = e(p, abp) = e(abp, p). 2. non-degeneracy: there exists p, q ∈ g1, such that e(p, q) 6= 1. 3. computability: there is an efficient algorithm to compute e(p, q) for all p, q ∈ g1 the map e will be derived from either the weil or tate pairing on an elliptic curve over a finite field. 398 zhong xu, xue liu, guoqing zhang, wenbo he an efficiently computable bilinear map e provides an algorithm for solving the decision diffiehellman problem (ddhp) [6]. that is, given (p, ap, bp, cp) ∈ g1 and a, b ∈ z∗p, decide whether c ≡ ab ∈ z ∗ p. in bilinear pairing, decision diffie-hellman (ddh) problem is easy and computational diffiehellman (cdh) problem [22] is still hard. that is, for a, b ∈ z∗p, given (p, ap, bp), computing abp is infeasible. 3.1 certificateless scheme usually, a certificateless signature (cls) scheme consists of five polynomial time algorithms [1]: • setup. kgc runs a probabilistic algorithm to initialize the system. it receives a security parameter k and returns a randomly chosen master key and a list of public parameters param. • extract partial private key. kgc takes the master key and an identity id ∈ {0,1}∗ as inputs, and outputs a private partial key did. • generate key pair. the user takes a list of public parameters param as inputs, outputs a private key sid and a public key pid. • cl-sign. the user takes a list of public parameters param, full private keys (did, sid), and a message m to produce a signature σ on m. • cl-verify. anyone in this algorithm may take {param, id, pid} and a message m as inputs, and outputs true if and only if σ is the valid signature, or a symbol ⊥ to indicate a failure. we may note that, once the user received the public parameters, such as public key of kgc, user chooses secret value to generate his key pair including user’s private key and user’s public key. thus the user’s full private key is composed of the partial private key generated by kgc and the user’s private key generated by user himself. neither the kgc nor the user can generate the full private keys by himself, therefore solving the “key escrow" problem. 3.2 adversarial model as defined in [1, 22], there are two types of adversaries, type i and type ii, with different capabilities. in cls, type i adversary ai acts as a third part who tries to impersonate a user. it is not allowed to know the kgc’s master private key. however, ai can replace the public key pid with values of its choice due to nature of the public key generated by the user. this means the adversary is able to fool the user accepting the signature, which is signed by the adversary’s public key. type ii adversary aii represents a malicious kgc who knows the master private key. that is, aii can compute the partial private key by itself. but aii does not know the user’s private key sid and it cannot replace the user’s public keys pid . definition 1. a cls scheme is secure against existential forgery on adaptive chosen message and id attacks against adversary a, of type i or type ii if no polynomial time algorithm has a non-negligible advantage against a challenger c in the following game [1]: 1. the challenger c takes a security parameter k and runs the setup algorithm. challenger c gives a the system parameters param. if a is of type i, the challenge c keeps the master private key to itself. otherwise, c gives the master private key to a. 2. a can request c to answer the following types of queries: mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 399 • partial key extraction (for type i adversary only). c returns to a’s partial private key did as the result of running extract partial private key algorithm. • secret value and public key extraction. c returns to a’s private key sid associated with a’s public key pid as the result of running extract partial private key and generate key pair algorithms. in the case of type i adversary, c returns if the user’s public key pid has been replaced. • public key replacement (for type i adversary only). a can replace the associated public key pid to a new public key p ′ id which is chosen by itself. • sign. c returns a valid signature σ using cl-sign algorithm regardless whether the public key pid has been replaced or not. 3. eventually, a outputs a signature (id∗, m∗, σ ∗). a wins game if veri f y(param, pid∗ , m ∗, σ ∗) = true and the generated output fulfills the following conditions: • cl-sign(id∗, m∗) has never been queried. • if adversary a is type i, id∗ has not been submitted to partial key extraction. • if adversary a is type ii, id∗ has not been submitted to secret value and public key extraction. 4 mccls scheme mccls scheme is motivated by the identity-based signature from [24]. our verification phase algorithm requires one pairing operation only, hence mccls scheme outperforms the other existing cls schemes in terms of efficiency. besides, message signing in mccls scheme is fast as it involves no pairing computation. mccls scheme is comprised of the following five stages. • setup. given a cyclic group g1 of prime order p, with an admissible pairing e and its generator p, kgc picks s ∈ z∗p and sets ppub = sp. then chooses two hash functions h1 : {0,1}∗ → g1 and h2 : {0,1}∗ × g1 → z∗p. the public system parameter list is (p, ppub, h1, h2), and the master private key is msk = s. • extract partial private key. given an identity id, kgc computes qid = h1(id) and did = sh1(id) . output did as the partial private key corresponding to qid = h1(id). • generate key pair. the user generates a secret value x ∈ z∗p, the public key is pid = xppub. the user’s private key is sid = x. • sign. given the user’s full private keys (did, sid) and a message m, user picks a number r ∈ z∗p and outputs a signature σ = (v, s, r) where s = 1 sid did, r = (r − sid)p and v = h2(m, r, pid)rp. • verification. given the signature (v, s, r) of a message m for the identity id, anyone in this algorithm can act a verifier to compute h = h2(m, r, pid). then checks whether (ppub,v −hr, s/h, qid) is a valid diffie-hellman tuple, that is, computes whether e(ppub, qid) = e(v − hr, s/h). if yes, accept the signature. otherwise, reject it. 5 analysis of mccls scheme in this section, we analyze the correctness, performance and security proof of mccls scheme. 400 zhong xu, xue liu, guoqing zhang, wenbo he 5.1 correctness the correctness of mccls scheme can be verified as follows: e(v − hr, s/h) = e(hrp − hrp + xhp, s/h) = e(xhp, did/xh) = e(ppub, qid). note that e(ppub, qid) is independent of the message, and only needs to be computed once and for all. so mccls scheme is more efficient than other previous schemes. 5.2 performance mccls scheme only requires two scalar multiplication in signature phase and two scalar multiplication computations and one pairing operation in verification phase. the pairing operations are expensive comparing with scalar multiplication and exponentiation. the comparison between the exiting schemes and mccls scheme according to efficiency of sign and verification algorithms and the length of public keys is shown in table 1. it shows that mccls scheme has the lowest pairing operations requirement and has the same length of public key as other cls schemes. table 1: comparison of the cls schemes ap [1] lcs [14] zwxf [26] yhg [22] mccls sign 1p+3s 2s 3s 2s 2s verify 4p+1e 4p+2s 4p 2p+3s 1p+3s pklen 2 points 2 points 1 points 1 point 1 point pklen: the public key length; s: the scalar multiplication computation; p: the pairing operation; e: the exponential computation. 5.3 security proof in this section we discuss the security of mccls scheme under the security model discussed in section 3. the main theorems concerning the security of our scheme are: theorem 2. our certificateless signature scheme is existentially unforgeable against a type i adversary ai in the random oracle model under the assumption that the cdh problem in g1 is infeasible. proof. suppose there exists an adversary ai which has an advantage in attacking mccls scheme. we build a challenger c that uses ai to solve the cdh problem. c receives an instance (p, ap, bp) of the cdhp. its goal is to compute abp. on the setup phase, c sets p as the generator of the group, and sets ppub = ap where a is the master key, which is unknown to ai. in order to avoid collision, c maintains a list l = (idi, didi , sidi , pidi ) throughout the game. the list is initially empty. c then starts to answer oracle queries with the following procedures [26]: • h1 queries. suppose ai makes qh1 queries to h1 oracle, where qh1 denotes the maximum number of queries. randomly choose j ∈ [1, qh1 ]. when an identity idi is submitted to oracle h1 where i ∈ [1, qh1 ], if i = j, assume that idi = id∗ at this point, c saves a list l1 = (idi, qi, yi) where qi = bp, yi = ⊥ (indicate to failure). otherwise, c generates a random number yi and lets qi = yip, then saves l1 = (idi, qi, yi). mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 401 • partial key extraction (idi) queries. when ai makes the query on idi, if idi = id ∗, then c aborts and halts the simulation. otherwise c finds l and performs as follows: – if the list l contains (idi, didi , sidi , pidi ), c checks whether didi = ⊥. if didi 6= ⊥, c returns didi to ai. if didi = ⊥, and idi 6= id∗, c answers with didi = yippub = yi(ap) as partial private key. c then returns didi to ai and adds it to l. – if the list l does not contain (idi, didi , sidi , pidi ), c sets (didi = yippub = yi(ap)). then challenger c sets (sid, pid) = ⊥ and adds idi, didi , sidi , pidi to the list l. • public key extraction (idi) queries. when ai makes the query on idi, c finds l and performs as follows: – if the list l contains (idi, didi , sidi , pidi ), c checks whether pidi = ⊥. if pidi 6= ⊥, c returns pidi to ai. otherwise, c picks a random xi ∈ z∗p, and sets pidi = xippub, sidi = xi. c then returns pidi to ai and adds (sidi , pidi ) to l. – if the list l does not contain (idi, didi , sidi , pidi ), c picks a random xi ∈ z∗p, and sets pidi = xippub, sidi = xi. c then returns pidi to ai and adds (sidi , pidi ) to l. • secret value extraction (idi) queries. when ai makes the query on idi, if idi = id ∗, then c aborts and halts the simulation. otherwise c finds l and performs as follows: – if the list l contains (idi, didi , sidi , pidi ), c checks whether didi = ⊥. if didi = ⊥, c executes partial key extraction queries to obtain didi . if pidi = ⊥, c makes public key extraction queries to obtain sidi = xi, pidi = xippub. then c saves the value and adds full private keys (didi , sidi ) to the list l. – if the list l does not contain (idi, didi , sidi , pidi ), c executes partialkeyextractionqueries to obtain didi and makes publickeyextractionqueries to obtain (sidi , pidi ). then c saves the value and adds full private keys (didi , sidi ) to the list l. • public key replacement(idi, p ′ id) queries. when ai makes the query on (idi, p ′ idi ), c finds l and performs as follows: – if the list l contains (idi, didi , sidi , pidi ), c sets pidi = pid′i and sidi = ⊥. – if the list l does not contain (idi, didi , sidi , pidi ), c sets didi = ⊥, pidi = pid′i and sidi = ⊥. and then c adds to the list l. • h2 queries. when ai makes the query on (m, r, pidi ), c first scans if a list l2 = (m, r, pidi , h j) has been defined. if defined, return the list to ai. otherwise, c picks a random h j ∈ z∗p as the hash value and returns h j, and adds it to l2. • sign queries(idi, m j). when ai asks for a signature by user idi on message m j. c finds (idi, didi , sidi , pidi ). if didi not found, c runs partial key extraction queries. if (pidi , sidi ) not found, c runs public key extraction queries. note that if idi 6= id∗, ai is able to generate signature on any messages using corresponding full private keys (didi , sidi ). as far as idi = id ∗, assume that pidi is current public key and corresponding private key sidi = x, where x ∈ z∗p, additionally submits through the ai. this is because the public key has been replaced earlier by ai, then c cannot know the corresponding private key and thus the signing oracle’s answer may not be correct. on receiving sign queries, c does the following: 402 zhong xu, xue liu, guoqing zhang, wenbo he 1. choose random r j ∈ z∗p and look up the list l2 for h j, if not found, c runs h2 queries to get h j. 2. compute vj = h j(x + a r j )p and s j = r jqi = r jbp, r j = xp; 3. return the signature σ = (vj, s j, r j). now, σ is returned to ai, which appears to be valid signature since e(vj − h jr, s j/h j) = e(h j(x + a r j )p) − h jxp, r jbp/h j) = e(h jap/r j, r jbp/h j) = e(ap, bp) = e(ppub, qid). finally, ai will output a valid forgery r = (id j, m j, r j, s j,vj). if id j 6= id∗, c outputs the fail and aborts the simulation. otherwise, we can compute r j through r j = ah j vj−h j x [21], since (ppub,vjp − h jr j, s j/h j, qi) is a valid diffie-hellman tuple. apply r j to s j, we have s j = ah j vj − h jx qi s j = ah j vj − h jx bp abp = s j(vj − h jx)/h j . so abp = s j(vj − h jx)/h j is the answer to our cdhp instance. if the ai can break our scheme, then the attacker solves the cdh problem. theorem 3. our certificateless signature scheme is existentially unforgeable against the aii adversary in the random oracle model under the assumption that the cdh problem in g1 is infeasible. proof. suppose there exists an adversary aii which has advantage in attacking mccls scheme. we build a challenger c that uses aii to solve the cdh problem. c receives an instance (p, ap, bp) of the cdhp. its goal is to compute abp. on the setup phase, c sets p as the generator of the group, and sets ppub = sp where s is the master key, which is known to aii. in order to avoid collision, c maintains a list l = (idi, sidi , pidi ) throughout the game. the list is initially empty. c then starts to answer oracle queries with the following procedures: • h1 queries. suppose aii makes qh1 queries to h1 oracle, where qh1 denotes the maximum number of queries. randomly choose j ∈ [1, qh1 ]. when an identity idi is submitted to oracle h1 where i ∈ [1, qh1 ], if i = j, assume that idi = id∗ at this point, c saves a list l1 = (idi, qi, yi) where qi = ap, yi = ⊥ (indicate to failure). otherwise, c generates a random number yi and lets qi = yip, and saves l1 = (idi, qi, yi). • public key extraction (idi) queries. when aii makes the query on idi, c finds l and performs as follows: if the list l contains (idi, sidi , pidi ), c checks whether pidi = ⊥. if pidi 6= ⊥, c returns pidi to aii. otherwise, c picks a random xi ∈ z∗p, and sets pidi = bppub, sidi = xi. c then returns pidi to aii and adds (sidi , pidi ) to l. if the list l does not contain (idi, sidi , pidi ), c picks a random xi ∈ z∗p, and sets pidi = bppub, sidi = xi. c then returns pidi to aii and adds (sidi , pidi ) to l. mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 403 • secret value extraction (idi) queries. when aii makes the query on idi, if idi = id ∗, then c aborts and halts the simulation. otherwise c finds l and performs as follows: if the list l contains (idi, sidi , pidi ), c checks whether pidi = ⊥. if pidi = ⊥, c makes public keyextractionqueries to obtain (sidi = xi, pidi = xippub). then c saves the value and adds user’s private keys sidi to the list l. if the list l does not contain (idi, sidi , pidi ), c executes public key extraction queries to obtain (sidi , pidi ). then c saves the value and adds user’s private keys sidi to the list l. • h2 queries. when aii makes the query on (m, r, pidi ), c first scans whether a list l2 = (m, r, pidi , h j) has been defined. if defined, return the list to aii. otherwise, c picks a random h j ∈ z∗p as the hash value of hand returns h j, and adds it to l2. • sign queries(idi, m j). when aii asks for a signature by user idi on message m j. c finds (idi, sidi , pidi ). if (pidi , sidi ) not found, c runs public key extraction queries. on receiving sign queries, c does the following: 1. choose random r j ∈ z∗p and look up the list l2 for h j, if not found, c runs h2 queries to get h j. 2. compute vj = ( sh j +bh j r j xi )p and s j = r jxiqi = r jxiap, r j = bp r j xi ; 3. return the signature σ = (vj, s j, r j). now, σ is returned to aii, which appears to be valid signature since e(vj − h jr, s j/h j) = e(( sh j +bh j r j xi p) − h j bpr j xi , r jxiap/h j) = e( sph j r j xi , r jxiap/h j) = e(sp, ap) = e(ppub, qid). finally, aii will output a valid forgery r = (id j, m j, r j, s j,vj). if id j 6= id∗, c outputs the fail and aborts the simulation. otherwise, we can compute r through r j = sh j +bh j xvj , since (ppub,vjp−h jr j, s j/h j, qi) is a valid diffie-hellman tuple. apply r j to s j, we have s j = sh j + bh j xivj xiqi s j = qish j + bh jap v abp = vjr j − qis jh j h j . so abp = vj r j−qis j h j h j is the answer to our cdhp instance. if the aii can break our scheme, then the attacker solves the cdh problem. 404 zhong xu, xue liu, guoqing zhang, wenbo he table 2: general parameters parameter value transmitter 250m bandwidth 2mb/s simulation time 600s environment 900m×900m traffic type cbr (constant bit rate) packet rate 4 packets/s packet size 512 bytes node maximum speed 0, 5,10,15,20 m/s pause time 0s attack nodes 1,2 and 4 redirection, 1,2 and 4 rushing queuing policy at routers first-in-first-out 6 evaluation and analysis in this section, an efficient mccls scheme named mcdv based on the ad hoc on-demand distance vector routing (aodv) is proposed. we start the simulations using qualnet [19] in order to compare the original aodv protocol without any security requirements with mcdv based on the cls with routing authentication extension. we also evaluate the performance of two schemes under 1, 2 and 4 nodes redirection attacks and 1, 2 and 4 nodes rushing attacks, as this is more realistic in the real emergency applications. our implementation retains most of the aodv mechanisms, such as route discovery, reverse path setup, forwarding path setup, route maintenance, and so on. in our experiments, 20 nodes move around in a rectangular area of 900×900m according to a mobility model, i.e., the random waypoint model. the nodes spread randomly over the network. each node starts its journey from a random location to a random destination. we vary the nodes speed from 0m/s to 20m/s, and set the nodes pause time as 0s. table 2 lists the values of the common parameters used in all experiment. other parameters will be given in the description of each specific experiment. the performance of mcdv is compared using the following performance metrics. • packet delivery ratio: ratio of the number of packets received by the destination over the number of packets sent by the source. • rreq ratio: ratio of sum number of rreq initiated, forwarded and retried over the sum of number of data packets sent as source and data packets forwarded. present the number of rreq packets transmitted through the network. • end-to-end delay: the average time experienced by each packet when traveling from the source to the destination. • throughput: ratio of the total bytes sent by all sources nodes over the total time. • packet drop ratio: ratio of the number of packets discarded by attacking nodes over the total number of packets sent by all sources. effects of variousmetrics on differentprotocols: experiments in this section are used to study the performance between mcdv and aodv. the results are shown in fig. 1. the packet delivery ratio and the rreq ratio are shown in fig. 1(a) and fig. 1(b), respectively. we can see that mcdv could work well in the experiment because the packet delivery ratio and rreq ratio in aodv are very similar to that of mcdv, without causing any substantial degradation of the network mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 405 !""#$% & !"'# !""()*+ ,-% ./012301 "4# !"'-5 (6% 7( "8# !"4 !"4#9 ,:; ( !"8 !"8# # $ $# < =>??@abc=d !"# !$ !$#% &'( ) ! # !" # " "# $ %%* + ,-../012,3 45678967 (a) comparison with aodv and mcdv, packet delivery ratio (b) comparison with aodv and mcdv, rreq ratio ! "# ! "$ ! %&'( )* " ! "" ! "+,. /0 & ! 1# ! 1$ ! ",2 34 , 56789 78 ! 1 ! 1" ! 1+4 , 9:78 ! 1 ; 1 1; " <=>>? @ab>? @ab?@a;b (c) comparison with aodv and mcdv, end-to-end delay(s) (d) comparison with aodv and mcdv, throughput(bit/s) figure 1: effects of various metrics on different protocols performance. as nodes speed increases, the number of data packets reaching the destination decreases and the number of rreq packets transmitting through the networks increases. end-to-end delay of mcdv scheme is shown in fig. 1(c). our scheme has a little bit higher delay than that of aodv due to the exchange of packets during authentication phase of the security process. result shows that mcdv has a similar end-to-end delay with aodv at a relatively low speed, however, when the maximum speed of nodes is higher than 15m/s, aodv outperforms mcdv scheme. more specifically, our scheme needs authentication operation, and those additional operations are computed in our scheme but not in aodv. we only measure delays for data packets that survived to reach their destination. throughput of mcdv works well as result shown in fig. 1(d) because the effect of throughput of the network is very small (around 0.16%). however, if this scheme in other real scenarios such as disaster scenarios, battlefield scenarios, or even very high-speed scenarios, the effect of throughput of the network may reduce more than this. effects of multiple attackers with redirection attacks: we simulated aodv and mcdv under redirection attacks by varying the nodes speed from 0m/s to 20m/s while setting the number of attack nodes to 1, 2 and 4 nodes, respectively. we first study the packet delivery ratio and packet dropped ratio. from the results of fig. 2(a), we can see that packet delivery ratio drops as the speed increases when we use aodv routing protocol under redirection attacks. meanwhile, we observe that given the same speed of nodes, the higher the number of attackers, the lower the packet delivery ratio in aodv. the packet delivery ratio in the case of 4 attackers declines dramatically to 43% as the speed of nodes 406 zhong xu, xue liu, guoqing zhang, wenbo he ! "!# $%& ' (")("*%+ ,-& .,/0 1234 567 8998:;<=> ?("!("@a $bc ,% 1234 567 8998:;<=> d ?1234 567 8998:;<=> d e1234 567 8998:;<=> dfg:34 567 8998:;<=> d ?g:34 567 8998:;<=> d e( ( h ( h !(g:34 567 8998:;<=> dfijkkl mnopq ! "#$% && ' ( )*+ )!, ./0 1 "#$% 234 5&&56'789 : ("#$% 234 5&&56'789 : ;"#$% 234 5&&56'789 :<=6$% 234 5&&56'789 : (=6$% 234 5&&56'789 : ; )>+ )*/? @1aab, =6$% 234 5&&56'789 ;=6$% 234 5&&56'789 :< ) + )>c .de b/ + > >+ * fghhi jklmn (a) packet delivery ratio under multiple redirection attacks (b) rreq ratio under multiple redirection attacks !" #" $ ! $ !"%&' () $ *" $ # $ #"+, -. / 01 % 2345 678 9::9;<=>? @ a $ " $ * $ *", -. b + 2345 678 9::9;<=>? @ c2345 678 9::9;<=>? @de;45 678 9::9;<=>? @ ae;45 678 9::9;<=>? @ c " * *" # e;45 678 9::9;<=>? @dfghhi jklmn !"""" """"" #"""" !""""$ %& '( )""""*"""" """""+,.+%/0 1234 567 8998:;<=> ? @1234 567 8998:;<=> ? a#""""!"""")""""bcd 1234 567 8998:;<=> ? a1234 567 8998:;<=> ?ef:34 567 8998:;<=> ? @f:34 567 8998:;<=> ? af:34 567 8998:;<=> ?e" " g " g #"f:34 567 8998:;<=> ?ehijjk lmnop (c) end-to-end delay under multiple redirection attacks (d) throughput under multiple redirection attacks figure 2: effects of multiple attackers with redirection attacks increases to 15m/s. in contrast, the packet delivery ratio of mcdv maintains from 94% to 98% even the number of attackers increases to 4 which is slightly lower than normally packet delivery ratio as we can see in fig. 1(a). all of these are brought by the fact that our routing scheme retains most of the aodv’s mechanisms and the extra operations of sign phase and verification phase are very low. as we would expect from fig. 2(b), mcdv is able to detect all redirection attacks and the packet dropped ratio is zero. on the contrary, as the attack nodes increase, the packet dropped ratio also rises at the same speed when using aodv. especially, the highest packet dropped ratio of aodv is almost 25% at speed of 15m/s. mcdv can detect all the attacks because the node will verify the signature when it receives the packet. only if this packet passes the verification, the receiving node updates its routing table entry according to the information carried in the packet. otherwise, the node will drop this packet. readers may note that in fig. 2(c), given the same speed of nodes, the end-to-end delay in the mcdv under redirection attacks are slightly higher than the end-to-end delay in the aodv under redirection attacks. this is simply due to our definition of the end-to-end delay, which is defined as the time a packet takes to travel from the source to the destination. given the same network size, the same number of senders and the same number of receivers, as attacker or more attackers are added to the network, the number of available nodes forwarding packet decreases, making the average end-to-end delay decrease. the result in fig. 2(d) shows the throughput in the network. we can see that the higher the attackers, the lower the throughput at the same speed in aodv. as the speed goes up in aodv, the throughput of network decreases. when the speed is 15m/s, the throughput of aodv drops to 76% comparing with that of original protocol. in contrast, our scheme has the similar trend as the original aodv protocol. as the speed is 15m/s and the network is under 4 redirection attackers, the most effect of throughput is mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 407 ! "!#$ %&' ( )"*)"+&, -.' /-0# 1234 567 8998:;<=> ? @)"!)"ab %cd -& 1234 567 8998:;<=> @1234 567 8998:;<=> ? e1234 567 8998:;<=> ?fg:34 567 8998:;<=> ? @g:34 567 8998:;<=> ? e) ) h ) h !)g:34 567 8998:;<=> ?fijkkl mnopq (a) packet delivery ratio under multiple rushing attacks (b) rreq ratio under multiple rushing attacks !" #" $ ! $ !"%&' () $ *" $ # $ #"+, -. / 01 % 2345 678 9::9;<=>? @ a $ " $ * $ *", -. b + 2345 678 9::9;<=>? @ c2345 678 9::9;<=>? @de;45 678 9::9;<=>? @ ae;45 678 9::9;<=>? @ c " * *" # e;45 678 9::9;<=>? @dfghhi jklmn !"""" """"" #"""" !""""$ %& '( )""""*"""" """""+,.+%/0 1234 567 8998:;<=> ? @#""""!"""")""""abc 1234 567 8998:;<=> @1234 567 8998:;<=> ? d1234 567 8998:;<=> ?ef:34 567 8998:;<=> ? @f:34 567 8998:;<=> ? d;" " g " g #"f:34 567 8998:;<=> ?ehijjk lmnop (c) end-to-end delay under multiple rushing attacks (d) throughput under multiple rushing attacks figure 3: effects of multiple attackers with rushing attacks around 0.9%. effectsofmultipleattackerswithrushingattacks: in this section, we compare the varying metrics of aodv and that of mcdv under 1, 2 and 4 rushing attacks, respectively. the graph in fig. 3(a) shows that, the higher the nodes speed, the lower the packet delivery ratio is when using aodv. however, the packer delivery ratio declines dramatically to 24% as the number of attackers increases to 4 nodes and at the speed of 20m/s. on the other hand, the lowest packet delivery ratio in mcdv still maintains 95% when the nodes are at the speed of 15m/s. the fig. 3(b) shows that, given the same speed, the higher the attacker node(s), the higher the packet dropped ratio is under aodv. in contrast, mcdv can detect all the rushing attacks, thus the packet dropped ratio is zero. these results indicate that the aodv protocol performs worse under the rushing attacks than under the redirection attacks. this is because we set the transmit distance as 740m to simulate the rushing attacks. in this situation, the malicious nodes may readily access to the forwarding group and discard all data packets. with the number of attackers increasing, the packet delivery ratio decreases and the packet dropped ratio rises. in contrast, mcdv maintains high packet delivery ratio and the packet dropped ratio is zero. this is due to its less computation overhead and efficient implementation of signature and verification. the fig. 3(c) shows that the end-to-end delay in rushing attacks. mcdv end-to-end delay is slightly higher than aodv end-to-end delay. the explanation for this is similar to the situation discussed in the case of redirection attacks. the difference is that when a node is converted to attacker, the probability of this attacker being selected into the forwarding group increases, and the average end-to-end delay decreases. 408 zhong xu, xue liu, guoqing zhang, wenbo he fig. 3(d) shows the throughput of two protocols under rushing attacks. although mechanisms of redirection attacks and rushing attacks are different, they have a similar way to affect the throughput. the throughput drops more severely under rushing attacks than under redirection attacks. in particular, the lowest throughput almost drops to 63% under 4 rushing attacks when nodes at the speed of 20m/s. in contrast to the aodv protocol under rushing attacks, our scheme has very similar throughput to the original protocol. 7 conclusion an efficient certificateless signature scheme named mccls is proposed in this paper. this scheme is based on the bilinear diffie-hellman assumption in the random oracle model for emergency mobile wireless cyber-physical systems. since mccls only requires one pairing operation in the verification phase, and none in the signing phase, theoretically it is more efficient than existing certificateless signature schemes. we also present simulation of mcdv which is based on mccls scheme and compare its performance under two most common attacks (i.e. redirection attack and rushing attack) with typical protocol-aodv providing no protection mechanism. these results show that mcdv can completely resist the two kinds of attacks without causing substantial degradation of network performance. in the future, we will further investigate security schemes in the wide physical environment. thereby we can find schemes which either prevent more comprehensive external attacks or resist internal attacks from the compromised nodes. 8 acknowledgment this work was supported in part by an nserc discovery grant 341823-07 and a national studyabroad scholarship of p.r.china under grant no. [2007] 3020. part of this work has been published in preliminary form in the proceedings of the first international workshop on cyber-physical systems, in conjunction with icdcs 2008, beijing, china. bibliography [1] s. s. al-riyami and k. g.paterson. certificateless public key cryptography. in asiacrypt: advances in cryptology – asiacrypt: international conference on the theory and application of cryptology. lncs, springer-verlag, 2003. [2] e. a.lee. cyber-physical systems are computing foundations adequate. technical report, uc berkeley, 2006. [3] m. anand, e. cronin, and m. sherr. security challenges in next generation cyber physical systems. technical report, university of pennsylvania, 2007. http://www.truststc.org/scada/papers/paper33.pdf. [4] m. bechler, h.-j. hof, d. kraft, f. pahlke, and l.wolf. a cluster-based security architecture for ad hoc networks. in infocom 2004. twenty-third annualjoint conference of the ieee computer and communications societies, volume 4, pages 2393–2403 vol.4, 7-11 march 2004. [5] m. bellare and p. rogaway. random oracles are practical: a paradigm for designing efficient protocols. in 1st acm conference on computer and communications security, pages 62–73, 1993. mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 409 [6] d. boneh and m. franklin. identity-based encryption from the weil pairing. in advances in cryptology crypto 2001: 21st annual international cryptology conference, volume 2139, pages 213–229. lncs, 2001. [7] v. daza, j. herranz, p. morillo, and carla. cryptographic techniques for mobile ad-hoc networks. comput. networks, 51(18):4938–4950, 2007. [8] h. deng, a. mukherjee, and d. p. agrawal. threshold and identity-based key management and authentication for wireless ad hoc networks. in international conference on information technology: coding and computing, 2004. proceedings. itcc 2004, pages 107– 111, april 2004. [9] b. d.noble and j. flinm. wireless,self-organizing cyber-physical systems. technical report, university of michigan, 2006. http://varma.ece.cmu.edu/cps/position-papers/noble-flinn.pdf. [10] w. he, y. huang, k. nahrstedt, and w. c. lee. smock: a self-contained public key management scheme for mission-critical wireless ad hoc networks. in percom ’07: proceedings of the fifth ieee international conference on pervasive computing and communications, pages 201–210, washington, dc, usa, 2007. ieee computer society. [11] y.-c. hu, a. perrig, and d. b. johnson. rushing attacks and defense in wireless ad hoc network routing protocols. in proc of the acm workshop on wireless security (wise 2003), pages 30–40, 2003. [12] x. huang, w. susilo, y. mu, and f. zhang. on the security of certificateless signature schemes from asiacrypt 2003. in international conference on cryptology and network security (cans), lncs, volume 4, 2005. [13] a. khalili, j. katz, and w. arbaugh. toward secure key distribution in truly ad hoc networks. in proc. ieee workshop security and assurance in ad hoc networks, pages 342– 346, jan 2003. [14] x. li, k. chen, and l. sun. certificateless signature and proxy signature schemes from bilinear pairings. lithuanian mathematical journal, 45(1), 2005. [15] h. luo, j. kong, p. zerfos, s. lu, and l. zhang. ursa: ubiquitous and robust access control for mobile ad hoc networks. ieee/acm transactions on networking, 12(6):1049–1063, 2004. [16] national science foundation. cyber-physical systems. technical report, nsf workshop on cyberphysical systems, 2006. http://varma.ece.cmu.edu/cps/. [17] national science foundation. computer systems research. technical report, nsf, 2007. http://www.nsf.gov/pubs/2007/nsf07504/nsf07504.htm. [18] k. sanzgiri, b. dahill, b. levine, c. shields, and e. belding-royer. a secure routing protocol for ad hoc networks. network protocols, 2002. proceedings. 10th ieee international conference on, pages 78–87, 12-15 nov. 2002. [19] scalable network technologies. qualnet simulator. http://www.scalable-networks.com/. [20] a. shamir. identity-based cryptosystems and signature schemes. in crypto: proceedings of crypto, 1984. [21] s. xu, y. mu, and w. susilo. online/offline signatures and multisignatures for aodv and dsr routing security. in 11th australasian conference on information security and privacy,acisp 2006. lncs, 2006. 410 zhong xu, xue liu, guoqing zhang, wenbo he [22] w.-s. yap, s.-h. heng, and b.-m. goi. an efficient certificateless signature scheme. in euc workshops, volume 4097 of lecture notes in computer science, pages 322–331, 2006. [23] s. yi and r. kravets. moca: mobile certificate authority for wireless ad hoc networks. in proc. second ann. pki research workshop (pki ’03), apr 2003. [24] h. yoon, j. h. cheon, and y. kim. batch verifications with id-based signatures. in icisc: international conference on information security and cryptology. lncs, 2004. [25] y. zhang, w. liu, w. lou, y. fang, and y. kwon. ac-pki: anonymous and certificateless publickey infrastructure for mobile ad hoc networks. in 2005 ieee international conference on communications, 2005. icc 2005, pages 3515–3519, may 2005. [26] z. zhang, d. s. wong, j. xu, and d. feng. certificateless public-key signature: security model and efficient construction. in applied cryptography and network security, 4th international conference, acns 2006, singapore, june 6-9, 2006, proceedings, volume 3989 of lecture notes in computer science, pages 293–308, 2006. [27] l. zhou and z. haas. securing ad hoc networks. network, ieee, 13(6):24–30, nov/dec 1999. zhong xu1,2, xue liu 1mcgill university school of computer science 3480 university street, montreal, quebec, canada, h3a 2a7 e-mail: {zhongxu,xueliu}@cs.mcgill.ca guoqing zhang 2northwestern polytechnical university college of automation xi’an, shaanxi, china e-mail: gqzhang@cs.mcgill.ca wenbo he university of illinois at urbana-champaign dept. of computer science urbana, il, usa. e-mail: wenbohe@uiuc.edu zhong xu received the b.e degree in automation from xi’an technological university in 2001 and the m.e degree in computer science from xidian university in 2005. currently, zhong is a joint ph.d student in mcgill university, montreal, canada and northwestern polytechnical university, xi’an, china. from august 2001 to august 2002, he was an assistant lecturer in xi’an technological university, china. his research interests include security of ad hoc networks, information security, embedded systems and cyber-physical systems. mccls: certificateless signature scheme for emergency mobile wireless cyber-physical systems 411 dr. xue (steve) liu is an assistant professor in the school of computer science at mcgill university. he is also affiliated to the centre for intelligent machines (cim). xue obtained his ph.d. in computer science from the university of illinois at urbana-champaign in 2006. he obtained his b.s. degree in mathematics and m.s. degree in automatic control both from tsinghua university, china. he worked briefly in the hewlettpackard labsibm t. j. watson research center. he received the ray ozzie fellowship, the saburo muroga fellowship, the mavis memorial fund award, and the c. w. gear outstanding graduate award, from the university of illinois at urbana-champaign. he has filed 5 patents, and published more than 50 research papers in international journals and major peer-reviewed conference proceedings. guoqingzhang received the b.e degree and m.e. degree in automation both from northwestern polytechnical university. currently, he is a ph.d student in northwestern polytechnical university, xi’an, china. his research interests include vehicular ad-hoc networks, information security and embedded systems. wenbo he is currently a ph.d student at department of computer science, in university of illinois at urbana-champaign, where she is advised by professor klara nahrstedt. she received the mavis memorial fund scholarship award from college of engineering of uiuc in 2006, and c. w. gear outstanding graduate award from department of computer science in 2007. she is also a recipient of vodafone fellowship in 2005-2008. wenbo received the m.s. degree in electrical and computer engineering from the university of illinois at urbana-champaign in 2000. she received the m.eng. degree in automatic control theory from tsinghua university, beijing, china, in 1998, and the b.e. degree in automatic control from the harbin engineering university, heilongjiang, china, in 1995. from august 2001 to january 2005, she was a software engineer with cisco systems inc., champaign, il. her research interests include pervasive and mobile computing, and network security and privacy. international journal of computers, communications & control vol. i (2006), no. 4, pp. 45-52 the fast fourier and hilbert-huang transforms: a comparison denis donnelly abstract: the conversion of time domain data via the fast fourier (fft) and hilbert-huang (hht) transforms is compared. the fft treats amplitude vs. time information globally as it transforms the data to an amplitude vs. frequency description. the hht is not constrained by the assumptions of stationarity and linearity, required for the fft, and generates both amplitude and frequency information as a function of time. the behavior and flexibility of these two transforms are examined for a number of different time domain signal types. keywords: fast fourier transform, hilbert-huang transform, data analysis 1 introduction a common approach in spectrum analysis for extracting frequency information from time series data is to use the fast fourier transform (fft) [don, 05]. a more recent method [hua, 98], [hua, 05], which generates amplitude and frequency vs. time spectra, is the hilbert-huang transform (hht). these two approaches are fundamentally different. the fft assumes stationarity and linearity of the data and relies on globally defined orthogonal basis states. the hht does not require the same assumptions of the data. in order to represent nonlinear and nonstationary data, global basis states must be replaced with adaptive, locally determined ones, a process the first stage of the hht does perform. the resulting basis states are, in general, not strictly orthogonal. after a very brief review of the fft, the hht is described. the comparative behavior of the two transforms is then explored. various data sets with different signal characteristics are examined. finally, the chirp of a bat is analyzed. 2 the fast fourier transform the fast fourier transform (fft) provides an efficient algorithm for converting data from the time domain into the frequency domain. typically, the data to be transformed consists of n uniformly spaced points x j = x(t j) where n = 2n with n an integer, and t j = j∆t where j ranges from 0 to n − 1. the discrete fourier transform can be expressed in several ways. a commonly used form is the following (with i = √ −1): xk = n−1 ∑ j=0 x jex p(−2π i j n k) (1) where k = −n/2, . . . ,−1, 0, 1, . . . n/2 − 1 and where x j represent the time domain data and xk their representation in the frequency domain. the algorithm for the fft conversion process (cooley-tukey or any of several other comparable algorithms) makes the fft widely applicable as it reduces the number of computations from something on the order of n2 to nlogn which obviously provides an enormous reduction in computation time. the frequency data are typically displayed in one of two ways: an amplitude spectrum or a power spectrum. the amplitude spectrum is typically expressed by the relation ak = 2 n |xk|. (2) copyright c© 2006 by ccc publications 46 denis donnelly whereas the power spectrum is typically expressed by the relation pk = 1 n ∣∣x 2k ∣∣ . (3) where k = 0, 1, . . . , n/2. 3 the hilbert-huang transform the hilbert-huang transform is carried out in two stages: 1) the empirical mode decomposition (emd) process, which deconstructs the signal into a set of intrinsic mode functions (imf) and 2) the extraction of frequency vs. time information from each of the imf’s in combination with its hilbert transform (ht). a brief summary of the process for discretely sampled signals follows. the emd process deconstructs the original signal into a set of imf’s. each imf, extracted from the signal by a series of siftings, has two fundamental properties: 1) the number of extrema and the number of zero crossings differ, at most, by one and 2) the mean value of the envelopes defined by the local maxima and local minima is zero. unlike the harmonic functions of a fourier series, these oscillatory functions may vary in both amplitude and frequency over time. in this decomposition process, the first imf contains the highest frequencies associated with the original signal; each subsequent imf contains lower-frequency components. amplitudes and frequencies are extracted from these imf’s in the second stage of the hht process. the instantaneous amplitude and angular frequency associated with each imf depend on the amplitude and phase of a complex number that the imf and its hilbert transform (ht) define. the real part of the complex number is the imf; the imaginary part of the number is the imf’s ht. the instantaneous amplitude is the amplitude of this complex number. the instantaneous angular frequency associated with that imf is the derivative of the unwrapped phase. the entire process is repeated for each imf to extract the complete frequency versus time information from the original data. the computation of the ht is essentially a convolution of an imf, x(t), with 1/t. the effect of this convolving is to emphasize the local properties of x(t). this locality preserves the time structure of the signal’s amplitude and frequency. the emd process is designed to deconstruct the complete signal into a set of imfs, each of which is extracted from a starting data set via a sifting process. this sifting process is repeated until the criteria listed above are satisfied and the difference between successive siftings is suitably small (there is some discussion as to what the terminating difference between siftings should be; it depends to some extent on the data set being examined). the process of extracting imf’s terminates when the residual contains no significant frequency information. this sifting process comprises several steps. given a discretely sampled signal y(t), 1. determine the location of all maxima, ymax(t), and minima ymin(t) y(t). 2. fit a cubic spline through the ymax(t) and another through the ymin(t). 3. calculate the mean of the spline curves at each point m(t) = (ymax(t) + ymin(t))/2 4. remove the trend, m(t). let d(t) = y(t)−m(t). 5. is d(t) an imf? if d(t) meets the criteria defining an imf, let ci(t) = d(t) and advance i by 1. extract the residual r(t) = y(t)−d(t). if d(t) doesn’t meet the criteria, further sifting is required. repeat steps 1 through 5, substituting d(t) for y(t). the fast fourier and hilbert-huang transforms: a comparison 47 6. repeat steps 1 through 5 until the residual no longer contains any useful frequency information. the original signal is, of course, equal to the sum of its parts. if we have n imfs and a final residual rn (t), y(t) = n ∑ i=1 ci(t) + rn (t) (4) the second stage of the hht process extracts the amplitude and frequency information from each imf. the steps for amplitude and frequency extraction from a given discrete imf are as follows: 1. compute the imf’s discrete fourier transform (dft) using the series expression (1) for the transform. 2. compute the ht. use the real and imaginary parts of step 1’s dft as coefficients (m = n/2): y j = 1 n m ∑ k1=0 ( re(xk1 sin(2π k1 j n + im(xk1 cos(2π k1 j n ) + (−1 n ) n−1 ∑ k2=m+1 ( re(xk2 sin(2π k2 j n + im(xk2 cos(2π k2 j n ) (5) 3. form the complex number z j = x j + iy j, extract the phase φ j = tan−1(y j/x j). 4. unwrap the phase so that it becomes a monotonically increasing function. 5. determine the frequency. take the derivative of the phase f j = 1 2π dφ j dt 6. determine the amplitude. a j = √ x2j + y 2 j 4 examples the first examples treat cases where the signal in the time domain has the properties of an imf and no sifting is required. the examples are chosen to demonstrate the responses of the fft and hht to changes in frequency and amplitude of the time domain signal. the first signal considered consists of two cycles of a sine wave with frequency equal to one followed after a brief pause by four cycles of a sine wave with a frequency equal to two. fig. 1 shows both the signal and its hht. the oscillations in the hht are typical and vary only slightly with the amplitude of the original signal. the low frequency end of the fft for this example is shown in fig. 2. while it does show the major peaks at frequencies equal to one and two, it has a rather rough appearance. the complex structure of the fft arises because, in effect, the fft has to create a fourier series to fit the signal comprising both the two frequencies as well as the portions where the signal is zero. the second signal has a fixed frequency sine wave with amplitude increasing with time. the hht, fig. 3, is not daunted by this amplitude variation. the fft on the other hand has an amplitude which is consistent with an average value of the peak amplitudes for the time domain data. the third signal, a chirp, has a constant amplitude and a variable frequency which increases over time by one order of magnitude. the hht provides an accurate representation of the frequency as long as the signal is sampled with sufficient frequency. if the number is too small the oscillations in the frequency curve grow and can have negative values. fig. 4 shows the frequency response; here n=2048 and there 48 denis donnelly are more than twenty computed sample points in the last (highest frequency) cycle. the fft (fig. 5.) is nearly constant for the frequency spanned but drops off near the ends. an example which clearly contrasts the behavior of the fft and hht and which demonstrates which process is more correct physically, is that of a sum of two sine waves with frequencies close enough to readily show a beat pattern (f1 = 1, f2 = 1.08). the fft of such a pattern is shown in fig. 6. the two original frequencies are clearly present in the amplitude spectrum. the hht on the other hand generates a single frequency of 1.04 which is an average of the two sine wave frequencies. (when dealing with signals that show a beat pattern, for example, artifacts are likely to appear in the frequency representation near the nodal points of the signal.) the hht amplitude function follows the beat pattern as an envelope. while the description of the beat signal as a sum of two individual frequency signals is mathematically equivalent to a single signal with a frequency equal to the average of the two frequencies used to construct the signal, times an amplitude modulating function with a frequency equal to the difference in frequency of the two signals, the two different representations are not equivalent physically. the hht provides the physically correct frequency description; the instantaneous frequency is the average frequency. this is an important notion that is worth emphasizing. we are used to talking about the harmonic content of signals, which is a mathematically correct description, but it may not be the best representation of what is actually taking place. it is interesting to observe what happens to the amplitude spectrum of the fft, as a smaller and smaller number of cycles of the pattern are subjected to analysis. if the number of cycles is small enough that the signal does not go beyond the first node of the envelope, then the fft shows only one peak at the average value of the two frequencies. the hht cannot treat functions such as a single cycle of a square wave as there are no maxima and minima to fit, while the fft can readily analyze such a signal. if a small amplitude sine wave is made to ride on top of a square wave, for example, the hht will recognize the sine wave away from the transition region. near the step transition, the frequency response shows a large spike. it is useful to know how differing frequencies are distributed during the emd process. an estimate can be obtained by taking the fft’s of the first and second imf’s as the difference between two frequencies is increased. from this, we can observe the behavior of the sorting process. for example, a factor of two or greater in the frequencies is needed to shift the lower frequency signal well into the next imf (see table 1). for example, if the emd process is applied to a signal comprising frequencies 1 and 0.5, the first imf yields an average frequency value of 1 with fluctuations ranging approximately from 0.96 to 1.05; the second imf yields an average value of 0.5 with the fluctuations ranging from 0.49 to 0.51. frequency 2 peak amplitude peak amplictude peak amplitude frequency 1 = 1 frequency 2 imf1 frequency 2 imf2 0.95 526 489 0.9 521 482 0.8 516 444 14 0.7 513 362 55 0.6 510 188 178 0,5 507 34 327 0.4 508 409 for a final application, we look at the chirp of a bat: 400 data points sampled at 7 intervals. the bat’s chirp does consist of frequencies decreasing over time, consequently, an fft of the entire signal would not yield useful information. instead, to use the fft, a sliding window approach is used [don, 06]. for example, look at 64 point subsets of the entire data set. in this time range, the inherent frequency structure is revealed. as this short window slides along, the changing frequencies can be tracked. the hht of the chirp, shows information of interest in the first and second imf’s. results are shown in fig. 7. the the fast fourier and hilbert-huang transforms: a comparison 49 second harmonic had too small an amplitude for the hht process to recognize it. both analysis forms would benefit from a shorter sampling interval. in the figure, the fit to the fundamental is proportional to ex p(−const √ t) . the fit to the first harmonic is simply two times that of the fundamental. because of the complexity of the signals in the figure, the fft results for the sliding window technique are not shown. but they approximate the fitted lines shown in the figure. there is a weak second harmonic which can be extracted from the data when using the fft process. however, that signal is too weak for the hht to recognize. 5 final comments the combination of sifting associated with the emd process, and then taking the ht, unwrapping the phase, and taking the derivative of each imf is computationally much more demanding than taking the fft. however, the hht not only provides instantaneous frequency and amplitude descriptions, it results in representations that are more meaningful physically. acknowledgments: i thank curtis condon, ken white and al feng of the beckman institute of the university of illinois for the bat chirp data and for permission to use it in this article. i thank edwin rogers for helpful comments. 0 2 4 6 8 2 0 2 time f re q u e n c y figure 1: hht frequency representation (solid line) of the time domain signal (dashed). 0 1 2 3 0 50 100 150 frequency a m p li tu d e figure 2: fft amplitude spectrum (solid line) of the (dotted) signal shown in fig. 1. only the lower frequencies are displayed for emphasis. 50 denis donnelly 0 2 4 6 8 5 0 5 time a m p li tu d e figure 3: hht amplitude spectrum (solid line) of the (dotted) signal. 0 2 4 6 8 10 0 5 10 time f re q u e n c y / a m p li tu d e figure 4: hht frequency representation of a chirp signal. the hht follows the increase in chirp frequency as it scales from one to ten. the amplitude one chirp signal is also shown. 0 10 20 0 100 200 frequency a m p li tu d e figure 5: fft of a chirp signal with a frequency ranging from one to ten. only the lower frequencies are displayed for emphasis. the fast fourier and hilbert-huang transforms: a comparison 51 0.8 1 1.2 0 500 1000 1500 frequency a m p li tu d e 1 1.08 figure 6: the fft of a signal consisting of the sum of two sine waves with frequencies 1 and 1.08. only a portion of the fft is shown for emphasis. 0 1 2 0 1 10 5 2 10 5 3 10 5 4 10 5 time f re q u e n c y figure 7: frequency vs. time of a bat chirp as determined via hht. the fluctuating curves represent the hht results. the solid curve corresponds to the fundamental. the dotted curve is the first harmonic. the two smooth curves are fits to the data. 52 denis donnelly references [1] denis donnelly and bert rust, "the fast fourier transform for experimentalists: part i concepts," computing in science & eng., vol. 7, no. 2, pp. 80-88, 2005. [2] denis donnelly, "the fast fourier transform for experimentalists: part vi chirp of a bat," computing in science & eng., vol. 8, no. 2, pp. 72-78, 2006. [3] norden e. huang et. al., "the empirical mode decomposition and the hilbert spectrum for nonlinear and non-stationary time series analysis," proc. r. soc. lond. a., vol. 454, pp. 903-995, 1998. [4] norden e. huang and samuel shen, eds. new jersey: world scientific, 2005. denis donnelly siena college department of physics loudonville, ny 12211 e-mail: donnelly@siena.edu received: november 8, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 642-653 tense θ-valued moisil propositional logic c. chiriţă carmen chiriţă university of bucharest faculty of mathematics and computer science romania, 010014 bucharest, 4 academiei e-mail: stama@funinf.cs.unibuc.ro abstract: in this paper we study the tense θ-valued moisil propositional calculus, a logical system obtained from the θ-valued moisil propositional logic by adding two tense operators. the main result is a completeness theorem for tense θ-valued moisil propositional logic. the proof of this theorem is based on the representation theorem of tense θ-valued łukasiewicz-moisil algebras, developed in a previous paper. keywords: łukasiewicz-moisil algebras, tense moisil logic. 1 introduction the first contribution to the algebraic logic of finite-valued łukasiewicz propositional calculus is moisil’s paper [18], where n-valued łukasiewicz algebras (named today łukasiewicz-moisil algebras) were introduced. according to an example given by a. rose (1957), for n ≥ 5 the łukasiewicz implication cannot be defined in an n-valued łukasiewicz-moisil algebra. hence, moisil discovered a new many-valued logical system (named today moisil logic), whose algebraic models are n-valued łukasiewicz-moisil algebras. in 1969, moisil defined the θ-valued łukasiewicz algebras, where θ is the order type of a bounded chain. these structures extend a part of the definition of n-valued łukasiewicz algebras, but they differ from these by accepting many negation operations ( [3], [10], [16], [23]). the logic corresponding to the θ-valued łukasiewicz-moisil algebras was developed by boicescu [1] and filipoiu [10] (see also [2]). this logical system is called the θ-valued moisil propositional logic. the chrysippian endomorphisms of θ-valued łukasiewicz-moisil algebras are reflected in the syntax of the θ-valued moisil propositional logic by chrysippian operations. this paper is devoted to the tense θ-valued moisil propositional calculus, a logical system obtained from the θ-valued moisil propositional calculus by adding the tense operators g and h. the algebraic basis of this logic consists of tense θ-valued łukasiewicz-moisil algebras (tense lmθ-algebras), algebraic structures studied in our paper [7]. we extend some of the results of [8], where a tense n-valued propositional logic was studied. the tense θ-valued moisil propositional calculus unifies two logical systems: the classical tense logic and the θ-valued moisil logic. the connection between these logics is realized by axioms that express the behaviour of the tense operators with respect to the chrysippian operations. the paper is organized as follows. in section 2 we recall some definitions and basic facts on θ-valued łukasiewicz-moisil algebras and θ-valued moisil logic, with emphasis on the connectives →k and ↔k and their algebraic counterparts. section 3 deals with tense θ-valued łukasiewicz-moisil algebras (tense lmθ-algebras), algebraic structures obtained from θ-valued łukasiewicz-moisil algebras by adding the two tense operators g and h. section 4 contains the syntactical construction of the tense θ-valued moisil propositional calculus. we establish some properties regarding the inferential structure of this logical system. copyright c⃝ 2006-2010 by ccc publications tense θ-valued moisil propositional logic 643 the lindenbaum-tarski algebra associated with the tense θ-valued moisil propositional calculus is studied in section 5. we obtain the structure of tense lmθ-algebra. the syntactical properties of the tense θ-valued moisil logic are reflected in this tense lmθ-algebra, thus we use the algebraic framework in order to obtain results for the logical system. in section 6 we define the interpretations of tense θ-valued moisil propositional calculus and the k-tautologies of this logic. our main result is the completeness theorem proved in this section (theorem 26). its proof uses the representation theorem of tense lmθ-algebras applied to the lindenbaum-tarski algebra constructed in the previous section. 2 θ-valued moisil logic and θ-valued łukasiewicz-moisil algebras let (i, ≤) be a totally ordered set, with first and last element, denoted by 0 and 1 respectively, and of order type θ, through this paper. we fix an element k ∈ i, through this paper. in this section, we recall the θ-valued moisil logic mθ described in [2]. the axiomatization of θ-valued moisil propositional calculus uses the system of axioms of θ-valued calculus introduced by boicescu [4] and filipoiu [10]. the basic results are taken from filipoiu [10](see also [2]). the alphabet of mθ has the following primitive symbols: an infinite set v of propositional variables; the logical connectives ∨, ∧, φi, φi for all i ∈ i and the parantheses (,). the set prop(v) of propositions of mθ is defined by canonical induction. for each i ∈ i, we shall use the following abbreviations: p →i q = φip ∨ φiq and p ↔i q = = (p →i q) ∧ (q →i p). the θ-valued propositional calculus has the following k-axioms: (2.1) p →k (q →k p), (2.2) (p →k (q →k r)) →k ((p →k q) →k (p →k r)), (2.3) p ∧ q →k p, (2.4) p ∧ q →k q, (2.5) (p →k q) →k ((p →k r) →k (p →k q ∧ r)), (2.6) p →k p ∨ q, (2.7) q →k p ∨ q, (2.8) (p →k q) →k ((r →k q) →k (p ∨ r →k q)), (2.9) φi(p ∧ q) ↔k φip ∧ φiq, for every i ∈ i, (2.10) φi(p ∨ q) ↔k φip ∧ φiq, for every i ∈ i, (2.11) φjp ↔k φiφjp, for every i, j ∈ i, (2.12) φjp ↔k φiφjp, for every i, j ∈ i, (2.13) φjp ↔k φiφjp, for every i, j ∈ i, (2.14) φjp ↔k φiφjp, for every i, j ∈ i, (2.15) φip →k φjp, for every i, j ∈ i, i ≤ j. 644 c. chiriţă the notion of formal proof in mθ is defined in terms of the above k-axioms and the k-modus ponens inference rule: p, p →k q q . for briefness, we will say "modus ponens" (m.p) instead of "k-modus ponens" from now on. we shall denote by ⊢k p that p is a k-theorem. we remind some k-theorems of mθ, which will be used in our proofs. proposition 1. ( [2], p. 491, example 3.12) the following propositions are k-theorems of mθ: (2.16) ⊢k p →k p, (2.17) ⊢k p ↔k φkp, (2.18) ⊢k (φip ∨ φip), for every i ∈ i, j ∈ i, (2.19) ⊢k (φj(p ∨ q) ↔k φjp ∨ φjq), j ∈ i, (2.20) ⊢k (φj(p ∧ q) ↔k φjp ∨ φjq), j ∈ i, (2.21) ⊢k ((p →k q) →k (φkq →k φkp)), (2.22) p φjp , j ≥ k, (2.23) φkp →k φkq p →k q . proposition 2. the following propositions are k-theorems of mθ: (2.24) ⊢k p →k (q →k (p ∧ q)), (2.25) ⊢k (p ∧ q →k r) →k (p →k (q →k r)), (2.26) ⊢k (p →k (q →k r)) →k ((p ∧ q) →k r), (2.27) ⊢k (p →k q) →k ((q →k r) →k (p →k r)), (2.28) ⊢k (p →k q) → ((r →k t) →k (p ∧ r →k q ∧ t)). proof: we shall establish only the k-theorems (2.24), (2.25) and (2.28). (2.24) we shall use (2.5), (2.16), (2.1), modus ponens and the deduction theorem (see [2], p. 495, proposition 3.17). {p, q} ⊢k (p →k p) →k ((p →k q) →k (p →k p ∧ q)) (2.5) {p, q} ⊢k p →k p (2.16) {p, q} ⊢k (p →k q) →k (p →k p ∧ q)) (m.p) {p, q} ⊢k q →k (p →k q) (2.1) {p, q} ⊢k q {p, q} ⊢k p →k q (m.p) {p, q} ⊢k p →k (p ∧ q) (m.p) {p, q} ⊢k p {p, q} ⊢k p ∧ q (m.p) {p} ⊢k q →k (p ∧ q) (deduction theorem) ⊢k p →k (q →k (p ∧ q)) (deduction theorem) tense θ-valued moisil propositional logic 645 (2.25) we shall apply (2.24), modus ponens and the deduction theorem. {p ∧ q →k r, p, q} ⊢k p →k (q →k (p ∧ q)) (2.24) {p ∧ q →k r, p, q} ⊢k p {p ∧ q →k r, p, q} ⊢k q →k (p ∧ q) (m.p) {p ∧ q →k r, p, q} ⊢k q {p ∧ q →k r, p, q} ⊢k p ∧ q (m.p) {p ∧ q →k r, p, q} ⊢k p ∧ q →k r {p ∧ q →k r, p, q} ⊢k r (m.p) {p ∧ q →k r, p} ⊢k q →k r (deduction theorem) {p ∧ q →k r} ⊢k p →k (q →k r) (deduction theorem) ⊢k (p ∧ q →k r) →k (p →k (q →k r)) (deduction theorem) (2.28) we shall use k-axioms (2.3), (2.4), modus ponens, k-theorem (2.24) and the deduction theorem. {p →k q, r →k t, p ∧ r} ⊢k p ∧ r {p →k q, r →k t, p ∧ r} ⊢k p ∧ r →k p (2.3) {p →k q, r →k t, p ∧ r} ⊢k p (m.p) {p →k q, r →k t, p ∧ r} ⊢k p →k q {p →k q, r →k t, p ∧ r} ⊢k q (m.p) {p →k q, r →k t, p ∧ r} ⊢k p ∧ r →k r (2.4) {p →k q, r →k t, p ∧ r} ⊢k r (m.p) {p →k q, r →k t, p ∧ r} ⊢k r →k t {p →k q, r →k t, p ∧ r} ⊢k t (m.p) {p →k q, r →k t, p ∧ r} ⊢k q →k (t →k (q ∧ t)) (2.24) {p →k q, r →k t, p ∧ r} ⊢k t →k (q ∧ t) (m.p) {p →k q, r →k t, p ∧ r} ⊢k q ∧ t (m.p) applying the deduction theorem three times we obtain that ⊢k (p →k q) → ((r →k t) →k (p ∧ r →k q ∧ t)). the rest of the proof is straightforward. 2 the θ-valued łukasiewicz-moisil algebras constitute the algebraic counterpart of the θ-valued moisil logic. the lindenbaum-tarski algebra of the θ-valued moisil propositional calculus is an θ-valued łukasiewicz-moisil algebra (see [2], p. 500, theorem 3.30). we shall recall the definition of θ-valued łukasiewicz-moisil algebras. definition 3. a θ-valued łukasiewicz-moisil algebra (lmθ-algebra) is an algebra l = (l, ∧, ∨, {φi}i∈i, {φi}i∈i, 0l, 1l) of type (2, 2, {1}i∈i, {1}i∈i, 0, 0) such that for all x, y ∈ l, (2.29) (l, ∧, ∨, 0l, 1l) is a bounded distributive lattice, (2.30) φi is a bounded distributive lattice endomorphism for all i ∈ i, (2.31) φix ∧ φix = 0l; φix ∨ φix = 1l for all i ∈ i, (2.32) φi ◦ φj = φj for all i, j ∈ i, (2.33) if i ≤ j then φi ≤ φj for all i, j ∈ i, (2.34) if φix = φiy for all i ∈ i, then x = y (this is known as moisil’s determination principle). 646 c. chiriţă let l = (l, ∧, ∨, {φi}i∈i, {φi}i∈i, 0l, 1l) be an lmθ-algebra. we say that l is complete if the lattice (l, ∧, ∨, 0l, 1l) is complete. l is completely chrysippian if for every {xk}k∈k (xk ∈ l for all k ∈ k) such that ∧ k∈k xk and ∨ k∈k xk exist, the following properties hold: φi( ∧ k∈k xk) = ∧ k∈k φixk, φi( ∨ k∈k xk) = ∨ k∈k φixk (∀i ∈ i). example 4. let b = (b, ∧, ∨,− , 0b, 1b) be a boolean algebra. the set d(b) = b[i] = {f|f : i → b, i ≤ j ⇒ f(i) ≤ f(j)} of all increasing functions from i to b can be made into a lmθ-algebra d(b) = (d(b), ∧, ∨, {φi}i∈i, {φi}i∈i, 0d(b), 1d(b)) where 0d(b), 1d(b) : i → b are defined by 0d(b)(i) = 0b and 1d(b)(i) = 1b for every i ∈ i, the operations of the lattice (d(b), ∧, ∨, 0d(b), 1d(b)) are defined pointwise (cf. [2], p.6, example 1.10) and (φif)(j) = f(i), (φif)(j) = (f(i))− (∀j ∈ i) (∀i ∈ i). let l = (l, ∧, ∨, {φi}i∈i, {φi}i∈i, 0l, 1l) be an lmθ-algebra. for each j ∈ i we consider the binary operation →j on l defined by (2.35) a →j b = φ̄ja∨φjb = (φja∧φ̄jb)− for all a, b ∈ l. this implication is associated to ∧ (like for boolean algebras), but like for boolean algebras also, there exists the following implication: a ;j b = φ̄ja ∧ φjb, associated to ∨. the notion of morphism of lmθ-algebras is defined as usual ( [2]). of course, a morphism of lmθ-algebras preserves the operation →j. 3 tense θ-valued łukasiewicz-moisil algebras in this section we shall recall some definitions and basic results on tense θ-valued łukasiewiczmoisil algebras from [7]. definition 5. a tense lmθ-algebra is a triple at = (a, g, h), where a = (a, ∧, ∨, {φi}i∈i, {φi}i∈i, 0a, 1a) is an lmθ-algebra and g, h : a → a are two unary operations on a such that for all x, y ∈ a, (3.1) g(1a) = 1a, h(1a) = 1a, (3.2) g(x ∧ y) = g(x) ∧ g(y), h(x ∧ y) = h(x) ∧ h(y), (3.3) g ◦ φi = φi ◦ g, h ◦ φi = φi ◦ h, for any i ∈ i, (3.4) g(x) ∨ y = 1a iff x ∨ h(y) = 1a. definition 6. let (a, g, h) be a tense lmθ-algebra. for any i ∈ i, let us consider the unary operations pi, fi defined by pix = φihφix and fix = φigφix, for any x ∈ a. proposition 7. let a = (a, ∧, ∨, {φi}i∈i, {φi}i∈i, 0a, 1a) be an lmθ-algebra and g, h be two unary operations on a that satisfy conditions (3.1), (3.2) and (3.3). then, the condition (3.4) is equivalent with (3.4′) φi ≤ g ◦ pi and φi ≤ h ◦ fi for all i ∈ i. thus, if we replace in definition 5 the axiom (3.4) with the condition (3.4′), we obtain an equivalent definition of tense lmθ-algebra. proposition 8. let a = (a, ∧, ∨, {φi}i∈i, {φi}i∈i, 0a, 1a) be an lmθ-algebra and g, h be two unary operations on a that satisfy conditions (3.1) and (3.3). then, the condition (3.2) is equivalent to (3.2′) g(a →k b) ≤ g(a) →k g(b); h(a →k b) ≤ h(a) →k h(b) for all k ∈ i where→k is defined by (2.35). tense θ-valued moisil propositional logic 647 thus, if in definition 5 we replace the axiom (3.2) by (3.2’), we obtain an equivalent definition for tense lmθ-algebra. definition 9. a frame is a pair (x, r), where x is a nonempty set and r is a binary relation on x. let (x, r) be a frame and l = (l, ∧, ∨, {φi}i∈i, {φ̄i}i∈i, 0l, 1l) be a complete and completely chrysippian lmθ-algebra. lx has a canonical structure of lmθ-algebra. let’s us define for all p ∈ lx and x ∈ x: g∗(p)(x) = ∧ {p(y)|y ∈ x, xry}, h∗(p)(x) = ∧ {p(y)|y ∈ x, yrx}. proposition 10. for any frame (x, r), (lx, g∗, h∗) is a tense lmθ-algebra. let (b, g, h) be a tense boolean algebra. we define on d(b) the unary operations d(g) and d(h) by: d(g)(f) = g ◦ f, d(h)(f) = h ◦ f for all f ∈ d(b). lemma 11. if (b, g, h) is a tense boolean algebra then (d(b), d(g), d(h)) is a tense lmθalgebra. theorem 12. (the representation theorem for tense lmθ-algebras) for every tense lmθ-algebra (a, g, h) there exist a frame (x, r) and an injective morphism of tense lmθ-algebras α : a → (d(l2))x, where l2 = {0, 1}, the standard boolean algebra. 4 tense θ-valued moisil logic (the syntax) in this section we introduce the tense θ-valued moisil propositional calculus tmθ, a logical system obtained from the θ-valued propositional calculus (see [2]) by adding the two tense operators g and h. we define the notion of k-theorem and k-deduction then we establish some syntactical properties of tmθ. the alphabet of tmθ has the following primitive symbols: an infinite set v of propositional variables; the logical connectives ∨, ∧, φi, φi for all i ∈ i; the tense operators g and h and parantheses (, ). the set e of propositions of tmθ is defined by canonical induction. definition 13. we shall use the following abbreviations: for all α, β ∈ e and i ∈ i, we define α →i β = φiα ∨ φiβ; α ↔i β = (α →i β) ∧ (β →i α); fiα = φigφiα; piα = φihφiα. definition 14. we call a k-axiom of tense θ-valued moisil propositional calculus a proposition of one of the following forms: (4.1) the k-axioms of θ-valued moisil propositional calculus ((2.1)-(2.15) in section 2); (4.2) g(α →k β) →k (gα →k gβ); h(α →k β) →k (hα →k hβ); (4.3) gφiα ↔k φigα; hφiα ↔k φihα, for all i ∈ i; (4.4) φiα →k gpiα; φiα →k hfiα, for all i ∈ i. the notion of formal k-proof in tmθ is defined in terms of the above axioms and the following inference rules: α, α →k β β (modus ponens); α gα α hα (temporal generalizations) definition 15. we say that a proposition α is a k-theorem of tmθ if there exists a k-proof of it. we will denote by ⊢k α the fact that α is a k-theorem of tmθ. definition 16. let γ ⊆ e and α ∈ e. we say that α is a k-deduction from γ and write γ ⊢k α if there exist n ∈ n = {0, 1, 2, ...} and α1, ..., αn ∈ γ such that ⊢k n∧ i=1 αi →k α. 648 c. chiriţă we remark that the logical structure of tmθ (k-theorems and k-deduction) combines the logical stuctures of two logical systems: the θ-valued moisil logic and tense classical logic. further we shall prove some syntactical properties. lemma 17. let γ ⊆ e and α ∈ e. then γ ⊢k α iff there exist n ∈ n and α1, ..., αn ∈ γ such that ⊢k α1 →k (α2 →k ...(αn →k α)...). proof: by definition 16 and k-theorems (2.25) and (2.26). 2 lemma 18. let γ ⊆ e and α ∈ e. then γ ⊢k α iff there exists γ ′ ⊆ γ, γ ′ finite, such that γ ′ ⊢k α. proof: by definition 16 and lemma 17. 2 proposition 19. let γ, σ ⊆ e and α, β ∈ e. the following properties hold: (i) if ⊢k α then γ ⊢k α; (ii) if γ ⊆ σ and γ ⊢k α then σ ⊢k α; (iii) if α ∈ γ then γ ⊢k α; (iv) {α} ⊢k β iff ⊢k α →k β; (v) if γ ⊢k α and {α} ⊢k β then γ ⊢k β; (vi) if γ ⊢k α and γ ⊢k α →k β then γ ⊢k β; (vii) γ ⊢k α ∧ β iff γ ⊢k α and γ ⊢k β. proof: (i) using definition 16 for n = 0. (ii) by applying definition 16. (iii) using k-theorem (2.16) and definition 16. (iv) we assume that ⊢k α →k β. then, by definition 16, we obtain that {α} ⊢k β. conversely, if {α} ⊢k β then there exists n ∈ n such that ⊢k (α ∧ ... ∧ α︸ ︷︷ ︸ n ) →k β. by using k-axioms (2.4) and (2.5), we get that ⊢k (α ∧ ... ∧ α︸ ︷︷ ︸ n ) ↔k α, so ⊢k α →k β. (v) we suppose that γ ⊢k α and {α} ⊢k β. then there exist n ∈ n and α1, .., αn ∈ γ such that ⊢k n∧ i=1 αi →k α. using (iv), it follows that ⊢k α →k β and by applying k-theorem (2.27) and modus ponens, we obtain that ⊢k n∧ i=1 αi →k β, so γ ⊢k β. (vi) let γ ⊢k α and γ ⊢k α →k β. by applying lemma 18, there exist γ1, γ2 ⊆ γ such that γ1 ⊢k α and γ2 ⊢k α →k β. by (ii), it follows that γ1 ∪ γ2 ⊢k α and γ1 ∪ γ2 ⊢k α →k β. if we consider γ1 ∪ γ2 = {γ1, ..., γn}, we obtain that ⊢k n∧ i=1 γi →k α and ⊢k n∧ i=1 γi →k (α →k →k β). by applying k-axiom (2.2) and modus ponens, we get that ⊢k n∧ i=1 γi →k β, so γ ⊢k β. (vii) we assume that γ ⊢k α ∧ β. by using k-axioms (2.3) and (2.4) and applying (i) and (vi), we obtain that γ ⊢k α and γ ⊢k β. conversely, we assume that γ ⊢k α and γ ⊢k β. by using k-theorem (2.24) and (i), we obtain that γ ⊢k α →k (β →k α ∧ β). by applying twice (vi), we get γ ⊢k α ∧ β. 2 theorem 20. (the deduction theorem) let γ ⊆ e and α, β ∈ e. then γ ∪ {α} ⊢k β iff γ ⊢k α →k β. proof: we assume that γ ∪ {α} ⊢k β. then there exist n ∈ n and α1, ..., αn ∈ γ such that ⊢k ( n∧ i=1 αi ∧ α) →k β. by applying k-theorem (2.25) and modus ponens, it follows that tense θ-valued moisil propositional logic 649 ⊢k n∧ i=1 αi →k (α →k β). using definition 16, we obtain that γ ⊢k α →k β. conversely, we suppose that γ ⊢k α →k β. thus, by proposition 4.1 (ii), we get γ ∪ {α} ⊢k α →k β. also, by proposition 4.1 (iii), we have that γ ∪ {α} ⊢k α, hence by applying proposition 4.1 (vi), it results that γ ∪ {α} ⊢k β. 2 proposition 21. in tmθ, the following properties hold: (4.5) if ⊢k α ↔k β, then ⊢k gα ↔k gβ, (4.6) ⊢k g(α ∧ β) ↔k (gα ∧ gβ). proof: (4.5) by using k-axioms (2.3), (2.4), k-theorem (2.24) and modus ponens, we obtain that: ⊢k α ↔k β iff ⊢k α →k β and ⊢k β →k α. applying the temporal generalization rule g, we get that ⊢k g(α →k β) and ⊢k g(β →k α). then, by k-axiom (4.2) and modus ponens, it follows that ⊢k gα →k gβ and ⊢k gβ →k gα, hence ⊢k gα ↔k gβ. (4.6) we shall prove that ⊢k g(α ∧ β) →k (gα ∧ gβ) and ⊢k (gα ∧ gβ) →k g(α ∧ β). by applying proposition 21 (4.5) for k-axioms (2.3), (2.4), we obtain that ⊢k g(α ∧ β) →k gα and ⊢k g(α ∧ β) →k gβ. using k-axiom (2.5) and modus ponens, it results that ⊢k g(α ∧ β) →k (gα ∧ gβ). by k-teorem (2.24) and the temporal generalization rule g, we obtain that ⊢k g(α →k (β →k α∧β)). applying k-axiom (4.2), modus ponens and k-theorem (2.27), it follows that ⊢k gα →k (gβ →k g(α∧β)). using k-theorem (2.26) and modus ponens, we get that ⊢k (gα ∧ gβ) →k g(α ∧ β). thus ⊢k g(α ∧ β) ↔k (gα ∧ gβ). 2 we remark that there exists a similar proposition concerning h. 5 the k-lindenbaum-tarski algebra of tense θ-valued moisil logic in this section we shall prove that the k-lindenbaum-tarski algebra of tmθ is a tense θvalued łukasiewicz-moisil algebra. therefore, the tense θ-valued łukasiewicz-moisil algebras constitute the algebraic structures of tmθ and the properties of tense lmθ-algebras reflect the syntactical properties of tmθ. we consider the binary relation ∼k on the set of all propositions e, defined by: α ∼k β iff ⊢k φiα ↔k φiβ for all i ∈ i. lemma 22. ∼k is an equivalence relation on e. for any proposition α ∈ e, we denote by [α]k the equivalence class of α. we can define the following operations on the set e/∼k : [α]k∨[β]k = [α∨β]k; [α]k∧[β]k = [α∧β]k; φi[α]k = [φiα]k; φi[α]k = [φiα]k for all i ∈ i; g([α]k) = [gα]k; h([α]k) = [hα]k; 0k = [φkα]k, 1k = [φkα]k, where α is a k-theorem of tmθ. proposition 23. (e/∼k, ∧, ∨, {φi}i∈i, {φi}i∈i, 0k, 1k, g, h), the k-lindenbaum-tarski algebra of tmθ, is a tense lmθ-algebra. proof: by ( [2], p.500, theorem 3.30), we have that (e/∼k, ∧, ∨, {φi}i∈i, {φi}i∈i, 0k, 1k) is an lmθ-algebra. what is left to prove is that the operations g and h are well defined and the conditions (3.1)-(3.4) are satisfied. due to the symmetrical position of g and h we shall only include the proofs for g. let α, β ∈ e such that α ∼k β. thus, ⊢k φiα ↔k φiβ for all i ∈ i. applying proposition 21 (4.5), we obtain that ⊢k gφiα ↔k gφiβ for all i ∈ i. using k-axiom (4.3), it follows that ⊢k φigα ↔k φigβ for all i ∈ i, so gα ∼k gβ. 650 c. chiriţă (3.1) we have to prove that g([φkα]k) = [φkα]k i.e. by definition of ∼k that ⊢k φigφkα ↔k φiφkα for every α such that ⊢k α and for all i ∈ i. let α ∈ e such that ⊢k α and i ∈ i. by k-theorem (2.22), we obtain that ⊢k φkα and by applying the temporal generalization rule g, we obtain that ⊢k gφkα. using k-axiom (2.1) and modus ponens, it results that ⊢k φkα →k gφkα and ⊢k gφkα →k φkα. thus, we get that (i) ⊢k φkα ↔k gφkα. using k-axiom (2.11), we have that (ii) ⊢k φiφkα ↔k φkα and by using proposition 21(4.5), we obtain that (iii) ⊢k gφiφkα ↔k gφkα. using k-axiom (4.3) and the conditions (i),(ii), (iii), it results that ⊢k φigφkα ↔k φiφkα. (3.2) let α, β ∈ e. we must prove that g([α]k ∧ [β]k) = g([α]k) ∧ g([β]k) i.e. g(α ∧ β) ∼k gα ∧ gβ which is equivalent with ⊢k φig(α ∧ β) ↔k φi(gα ∧ gβ) for all i ∈ i. let i ∈ i. by using proposition 21(4.6) for α = φiα and β = φiβ, we obtain that (i) ⊢k g(φiα ∧ ∧φiβ) ↔k (gφiα ∧ gφiβ). by using k-axiom (2.9) and proposition 21(4.5), we get that (ii) ⊢k gφi(α ∧ β) ↔k g(φiα ∧ φiβ). by conditions (i) and (ii), we obtain that (a) ⊢k gφi(α∧β) ↔k (gφiα∧gφiβ). by k-axiom (4.3), we have: ⊢k gφiα ↔k φigα and ⊢k gφiβ ↔k φigβ. applying k-theorem (2.28), it follows that (b) ⊢k (gφiα ∧ gφiβ) ↔k↔k (φigα∧φigβ). by conditions (a), (b) and k-axiom (4.3), we obtain that ⊢k φig(α∧ ∧β) ↔k φi(gα ∧ gβ). (3.3) we have to prove that ⊢k φjgφiα ↔k φjφigα for all i, j ∈ i. let i, j ∈ i. by kaxiom (2.11), we obtain that (a) ⊢k φjφigα ↔k φigα. using k-axiom (4.3), we have that (b) ⊢k φjgφiα ↔k gφjφiα. by k-axioms (2.11) and proposition 21(4.5), it follows that (c) ⊢k gφjφiα ↔k gφiα. by (a), (b), (c) and k-axiom (4.3), we get that ⊢k φjgφiα ↔k φjφigα. (3.4) since by proposition 7, the condition (3.4) is equivalent with (3.4’), we shall prove that [φiα]k ≤ [gpiα]k for all i ∈ i, i.e. ⊢k φjφiα →k φjgpiα for all i, j ∈ i. let i, j ∈ i. by k-axiom (2.13), we have that ⊢k piα ↔k φjpiα. applying proposition 21 (4.5), it follows that ⊢k gpiα ↔k gφjpiα. using k-axiom (4.3), it results that (1) ⊢k gpiα ↔k φjgpiα. also, by k-axiom (2.11), we have that (2) ⊢k φiα ↔k φjφiα. by (1), (2) and k-axiom (4.4), we get that ⊢k φjφiα →k φjgpiα. 2 6 semantics and completeness theorem of tense θ-valued moisil logic this section concernes with the semantics of tmθ, which combines the properties of kripke semantics for t and the algebraic semantics for mθ. we establish a completeness theorem for tmθ by using the representation theorem of tense θ-valued łukasiewicz-moisil algebras [7]. definition 24. let (x, r) be a frame. a valuation of tmθ is a function v : e × x → l[i]2 such that for all α, β ∈ e and x ∈ x, the following equalities hold: v(α →k β, x) = v(α, x) →k v(β, x); v(α ∧ β, x) = v(α, x) ∧ v(β, x); v(α ∨ β, x) = v(α, x) ∨ v(β, x); v(φiα, x) = φiv(α, x) for any i ∈ i; v(φiα, x) = φiv(α, x) for any i ∈ i; v(gp, x) = ∧ {v(p, y)|xry}; v(hp, x) = ∧ {v(p, y)|yrx}. the first five conditions of the previous definition reflect "the many-valued past" of tmθ (see [2], p.487) and the last two conditions correspond to "the tense past" of tmθ (see [5], p.93). definition 25. we say that a proposition α is a k-tautology and we write |=k α if for every frame (x, r), for any valuation v : e × x → l[i] 2 and for all x ∈ x, we have v(α, x)(k) = 1. tense θ-valued moisil propositional logic 651 the following result establishes the equivalence between the k-theorems and the k-tautologies of tmθ. the proof of the main implication is based on the representation theorem for tense θvalued łukasiewicz-moisil algebras (theorem 12). theorem 26. (completeness theorem). for any proposition α of tmθ, we have: ⊢k α iff |=k α. proof: (⇒). we shall prove by induction on the definition of ⊢k α that for every frame (x, r) and for any valuation v : e × x → l[i] 2 , we have v(α, x)(k) = 1, for all x ∈ x. let (x, r) be a frame, v : e × x → l[i] 2 be a valuation and x ∈ x. • we suppose that α is a k-axiom. (a) let α be g(p →k q) →k (gp →k gq) with p, q ∈ e. it is known that a →k (b →k c) = = (a ∧ b) →k c ( [7], p.6, proposition 2.1 (l)). we have: v(α, x)(k) = = v(g(p →k q) →k (gp →k gq), x)(k) = [v(g(p →k q), x) →k (v(gp, x) →k v(gq, x))](k) = = [(v(g(p →k q), x) ∧ v(gp, x)) →k v(gq, x)](k) = [∧ xry ((v(p, y) →k v(q, y)) ∧ v(p, y)) →k →k ∧ xry v(q, y)](k) = [φk ∧ xry ((v(p, y) →k v(q, y)) ∧ v(p, y)) ∨ φk ∧ xry v(q, y)](k) = = [( ∧ xry (v(p, y) →k v(q, y))∧v(p, y))(k)]−∨(∧ xry v(q, y))(k) = [ ∧ xry ((v(p, y)(k))−∨v(q, y)(k))∧ ∧v(p, y)(k)]− ∨ ( ∧ xry v(q, y)(k)) = [ ∧ xry (v(q, y)(k) ∧ v(p, y)(k))]− ∨ ( ∧ xry v(q, y)(k)). since v(q, y)(k), v(p, y)(k) ∈ l2 and v(q, y)(k) ∧ v(p, y)(k) ≤ v(q, y)(k), we obtain that∧ xry (v(q, y)(k) ∧ v(p, y)(k)) ≤ ∧ xry v(q, y)(k). since in a boolean algebra we have a ≤ b iff ā ∨ b = 1, we get that [ ∧ xry (v(q, y)(k) ∧ v(p, y)(k))]− ∨ ( ∧ xry v(q, y)(k)) = 1. (b) let α be gφip ↔k φigp with p ∈ e and i ∈ i. then v(α, x)(k) = = v(gφip ↔k φigp, x)(k) = v((gφip →k φigp) ∧ (φigp →k gφip), x)(k) = = [(v(gφip, x) →k v(φigp, x)) ∧ (v(φigp, x) →k v(gφip, x))](k). since l[i]2 is complete and completely chrysippian, it follows that v(gφip, x) = ∧ xry φiv(p, y) = φi( ∧ xry v(p, y)) = = v(φigp, x). we know that a →k a = 1 ( [7], p.6, proposition 2.1 (f)), hence v(α, x)(k) = 1. (c) let α be φip →k gpip with i ∈ i. we have: v(α, x)(k) = v(φip →k gpip, x)(k) = = (v(φip, x) →k v(gpip, x))(k) = (φiv(p, x) →k ∧ xry v(pip, y))(k) = = (φiv(p, x) →k ∧ xry ∨ zry φiv(p, z))(k) = φk(φiv(p, x))(k) ∨ φk( ∧ xry ∨ zry φiv(p, z))(k) = = [v(p, x)(i)]− ∨ ∧ xry ∨ zry v(p, z)(i). let y ∈ x such that xry. then v(p, x)(i) ≤ ∨ zry v(p, z)(i), hence v(p, x)(i) ≤ ∧ xry ∨ zry v(p, z)(i). we obtain that [v(p, x)(i)]− ∨ ∧ xry ∨ zry v(p, z)(i) = 1. • we assume that α was obtained by applying the modus ponens rule. we have that v(β, x)(k) = 1 and v(β →k α, x)(k) = 1. but v(β →k α, x)(k) = (v(β, x) →k v(α, x))(k) = = (φkv(β, x) ∨ φkv(α, x))(k) = φk(v(β, x))(k) ∨ φk(v(α, x))(k) = [v(β, x)(k)] − ∨ v(α, x)(k). we deduce that v(α, x)(k) = 1. 652 c. chiriţă • we suppose that α = gβ such that ⊢k β. we have that v(β, x)(k) = 1, for every x ∈ x. then v(gβ, x)(k) = ( ∧ xry v(β, y))(k) = ∧ xry v(β, y)(k) = 1. (⇐). we shall prove that if ̸⊢k α then ̸|=k α. assume that ̸⊢k α, so [α]k ̸= 1k. by using proposition 23, we have that the k-lindenbaum-tarski algebra (e/∼k, g, h) of tmθ is a tense lmθ-algebra. applying the representation theorem for tense lmθ-algebras (theorem 12), there exist a frame (x, r) and an injective morphism of tense lmθ-algebras d : (e/∼k, g, h) →→ (d(l2)x, g∗, h∗). let us consider the function v : e × x → l[i]2 defined by v(α, x) = d([α]k)(x), for all α ∈ e and x ∈ x. it is straightforward to prove that v is a valuation. since d is injective and [α]k ̸= 1k, we obtain that d([α]k) ̸= 1d(l2)x, hence there exists a ∈ x such that v(α, a) = d([α]k)(a) ̸= 1d(l2). thus α is not a k-tautology. 2 7 concluding remarks the tense θ-valued moisil propositional calculus tmθ can be viewed as a common generalization of the θ-valued moisil propositional logic mθ and the classical tense logic t. tmθ combines the logical structures of these logical systems and its semantic is inspired from the semantics of t and mθ. the main result of this paper is a completeness theorem for tmθ. its proof is derived from the representation theorem of tense θ-valued łukasiewicz-moisil algebras [7]. an open problem is to obtain a proof of the representation theorem for tense θ-valued łukasiewicz-moisil algebras by using theorem 26. the next step in the study of tense aspects of moisil logic is to define the tense θ-valued predicate logic (the syntax and the semantic) and the algebras corresponding of this logic (polyadic tense θ-valued łukasiewicz-moisil algebras). we hope to prove a completeness theorem for tense θ-valued moisil predicate logic and a representation theorem for the corresponding algebras. the tense logics corresponding to the lmθ-algebras with negations [16] will be the subject of another paper. bibliography [1] v. boicescu, sur les systèmes déductifs dans la logique θ-valente, publ. dép. math. lyon, 8, 123-133, 1971. [2] v. boicescu, a. filipoiu, g. georgescu and s. rudeanu, łukasiewicz-moisil algebras, northholland, 1991. [3] v. boicescu, contributions to the study of łukasiewicz-moisil algebras (romanian), ph.d. thesis, university of bucharest, 1984. [4] v. boicescu, sur une logique polyvalente, rev. roumaine sci. soc., sér. philos. et logique, 17, 393-405, 1973b. [5] j. p. burgess. basic tense logic. in: dov gabbay and f. guenthner, eds., handbook of philosophical logic, chapter ii.2, reidel, 89-134, 1984. [6] r. cignoli, i.m.l. d’ottaviano and d. mundici, algebraic foundations of many-valued reasoning, kluwer, 2000. [7] c. chiriţă, tense θ-valued łukasiewicz -moisil algebras, to appear in journal of multiplevalued logic and soft computing. tense θ-valued moisil propositional logic 653 [8] d. diaconescu, g. georgescu, tense operators on mv-algebras and łukasiewicz-moisil algebras, fundamenta informaticae xx: 1-30, 2007. [9] i. dziţac, l. andrei, 65 years from birth of prof. gheorghe s. nadiu (1941-1998), international journal of computers, communications & control vol. i, no. 3, pp. 93-98, 2006. [10] a. filipoiu, θ-valued łukasiewicz-moisil algebras and logics (romanian), ph.d.thesis, university of bucharest, 1981. [11] g. georgescu, a. iorgulescu, s. rudeanu, grigore c. moisil (1906-1973) and his school in algebraic logic, int. journal of computers, communications & control, vol. i, no. 1, pp. 81-99, 2006. [12] g. georgescu, a. iorgulescu, s. rudeanu, some romanian researches in algebra of logic, in: grigore c.moisil and his followers, editura academiei romane, 86-120, 2007. [13] g. georgescu, a. iorgulescu, i. leuştean, monadic and closure mv-algebras, multiplevalued logic, 3, 235-257, 1998. [14] r. goldblatt, logics of time and computation, csli lecture notes no. 7, 1992. [15] p. hájek, metamathematics of fuzzy logic, kluwer acad.publ., dordrecht, 1998 [16] a. iorgulescu, 1 + θ -valued łukasiewicz-moisil algebras with negation (romanian). ph.d. thesis, university of bucharest, 1984. [17] j. łukasiewicz, on three-valued logic, ruch filozoficzny (polish), 5, 60-171, 1920. [18] gr. c. moisil, recherches sur les logiques non-chrysippiennes, ann. sci. univ. jassy, 26, 431-466, 1940. [19] gr. c. moisil, notes sur les logiques non-chrysippiennes, ann. sci. univ. jassy, 27, 86-98, 1941. [20] gr. c. moisil, logique modale, disquis. math. phys, 2, 1942. [21] gr. c. moisil, łukasiewiczian algebras, computing center, university of bucharest (preprint), 311-324, 1968. [22] gr. c. moisil, essais sur les logiques non-chrysippiennes, ed. academiei, bucharest, 1972. [23] gh. s. nadiu, cercetări asupra logicilor necryssipiene/research about necryssipiene logics, 1972 (phd thesis, supervisor grigore c. moisil). [24] h. rasiowa, an algebraic approach to non-classical logics, north-holland publ., amsterdam, polish scientific publ., warszawa, 1974. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 150-157 intelligent management of the cryptographic keys g. moise, o. cangea gabriela moise, otilia cangea petroleum-gas university of ploiesti romania, 100680 ploiesti, 39 bvd. bucuresti e-mail: {gmoise,ocangea}@upg-ploiesti.ro abstract: with the continuous development of the computers networks, new problems have been posed in the process of keys management in the cryptographic systems. the main element in the cryptographic technologies is the keys management, as the cryptographic algorithms are known, while the keys have to be either secret (for unauthorized users that do not need them), or public (for users that need them). with an efficient cryptographic keys management system and the existing encryption techniques, there may be implemented a proper security system in the informational systems of the organizations. the process of cryptographic keys management consists in the following operations: keys generation, distribution, update, revocation, storage, backup/ recovery, import and export, usage control, expiration, and destruction. the cryptographic keys management techniques depend on the type of the keys, i.e. symmetric or public. nowadays, the efforts of the researches in the cryptographic keys management are focused on the standardization and interoperability of the keys management. in this paper, the authors analyze the existing keys management systems and standards available for the keys management techniques, emphasizing the advantages and disadvantages of different systems. they also propose a cryptographic keys management model based on the ideas and principles of the interrap architecture (a conceptual model developed by jőrg műller for intelligent agents). also, there are incorporated some intelligent techniques to manage emergency situations, such as keys losing or their improper usage. keywords: cryptographic key management, intelligent agents, key management model. 1 introduction the key management is the core of a cryptographic system. the processes related to the key management consist in generation, distribution, update, revocation, storage, backup/recovery, import and export, usage control, expiration, and destruction of the cryptographic keys. practically, the security of the information is assured by keeping secret the private cryptographic keys. key management consists in a set of protocols that enable to establish and maintain the keying relationships between the entities of a network [6]. the concept of “keying relationship”is defined in [6] as the state wherein parties of the cryptosystems share keying material. according to the type of cryptographic algorithm used in a cryptosystem, there are two situations: key management used in a symmetric cryptosystem and key management used in an asymmetric cryptosystem. in the former case, the sender and the receiver share the same secret key or two keys computationally feasible and in the latter case, there are involved two transformations: one to generate the public key and the other to generate the private key. [6] [11] the techniques used to distribute confidential keys are: key layering, key translation center, and symmetric copyright c⃝ 2006-2011 by ccc publications intelligent management of the cryptographic keys 151 key certificate techniques. key layering comprises the following techniques: master key, key encrypting keys and data keys. key translation center (ktc ) consists in a trusted server, which allows two entities to establish a secure communication using long-term keys. techniques used to distribute public keys are: point to point delivery over a trusted channel, direct access to a trusted public file (public-key registry), use of an online trusted server, use of an off-line server and certificates, and use of systems implicitly guaranteeing authenticity of public parameters [6]. the advantages of using the keys management in the situation of a public key are: use of a simple key management, on-line trusted server not-required and enhancing the functionality of the system. in this paper, there is studied the problem of the cryptographic key management in large distributed systems, more specifically, the problems of keys distribution and generation. the main concepts used in this paper are the security domain and the keys graph. the concept of security domain is defined in [7] as “a collection of systems (servers, devices, and so on) that share a common set of keys and are attached to an administered network”. in this paper the concept is used in the sense of a collection of entities (to allow an abstractive interpretation) which share a private key. the concept of key graph was introduced in [10] as an arrangement of the keys into a hierarchy and a key server manages all keys. a particular keys hierarchy is the keys tree, which enables to define key management scheme. in this paper it is proposed an intelligent key management model suited to the structure of the network. the new ideas introduced in this paper are: combining the behaviour agent architecture into the key distribution problem and distribution based on crt (chinese reminder theorem [13]). the paper is structured as follows: • formalism of the key management problem, that studies the existing key management systems and introduces the concept of security domain graph; • backgrounds of the intelligent key management model, referring to the chinese remainder theorem, as an important calculation algorithm used in order to generate the key management model; • intelligent key management, proposing a model of the cryptographic key management that may be used in a sdg type architecture, based on the principles of the interrap architecture, introducing intelligent agents responsible with the key management in the cryptographic system; • conclusions, that emphasize the importance of the key management and the advantages offered by the proposed model. 2 formalism of the key management problem to formalize the problem of keys management in a computers communication system, there are defined the security domain and a partially ordered relation between security domains. a security domain is a set of the entities (users, data, hardware devices, etc.) which share the same secret key. so, it can be established an equivalence relation between two entities e1, e2, according to the following statement: e1 ≡e2 if e1, e2 share the same secret key. the equivalence relation between two entities produces equivalence classes, called security domains. let us consider n security domains sd={sd1,sd2, ..., sdn}. the set sd contains all the entities of the computer communications system. on the set of the security domains, it can be defined 152 g. moise, o. cangea a binary partially-ordered relationship, using the operator ≺. the relation sdj≺sdi means that the entities of the security domain sdi have a security clearance higher or equal than that of the entities of the security domain sdj. for example, the entities from sdi can decrypt the message received from the entities that belong to sdj. also, it is used the expression that the security domain sdi dominates the security domain sdj. in this way, one may determine a partially ordered set (sd, ≺) , shortly called poset. messages (data, plain texts) from the security class sdi are encrypted with the cryptographic key ski and data from the security domain sdj are encrypted with the cryptographic key skj. if there is the relation sdj≺sdi , the entities of the security domain sdi have the right to decrypt the cipher text using the cryptographic key ski. in contrast, the entities which are parts of the security domains, sdj , cannot decrypt the messages received from the entities of the security domain sdi . also, if the following relations between three security domains sdk≺sdj and sdj≺sdi, are true, that means that the entities of sdj can decrypt the cipher texts received from the entities of sdk and the entities of sdi can decrypt the cipher texts received from the entities of sdj . consequently, the entities of sdi can decrypt the cipher texts received directly from the entities of sdk. in this manner, there are generated domains hierarchies. a hasse diagram can represent a poset. this diagram is called in [1] a security class privilege graph (scpg), in this paper it is used the term of security domain graph (sdg). an example of sdg is shown in figure 1 (a security domains tree (sdt), b a general security domain graph (gsdg)). figure 1: security domain graph where the following representations have the similar sense (figure 2) the most simple keys management model assumes the existence of a keys server and if an entity figure 2: graphical representation of a partially-ordered relationship between two security domains needs to decrypt a message, it has to ask the proper key over a secure channel, or each security domain has to store all successors secret keys. these models are not really feasible, because the tendencies of increasing the networks dimensions require large storage spaces and a lot of secure channels. in this way, there is quite a challenge to define a keys management model properly adjusted to the security domain graph. intelligent management of the cryptographic keys 153 3 backgrounds of the intelligent key management model there were proposed a lot of cryptographic keys management architecture. to implement data encryption standard, ibm proposed a key management scheme for des in the 70’ years. the cryptographic keys management architecture consists in cryptographic systems connected via a communications network. each cryptographic system has a cryptographic facility, a cryptographic key data set, a cryptographic facility access program and is using application programs. one solution based on control vector is proposed in [5]. the scheme uses a control vectors which facilities the implementation of owner key management policy and rules. this technique enables key distribution in different environments: peer-to-peer distribution, key distribution center, and key translation center. a list of keys management architecture can be found at [8]. akl and taylor proposed the first cryptographic keys assignment scheme to solve problems related to access control in hierarchies (at scheme). according to at scheme [1], each security class (the security class contains data and users with the same rights) has associated a secret key and a public parameter. for a relation sc j≺sc i , sc i use the public parameter t j and the secret key ki to derive the secret key k j. the secret key ki is computed according the formula ki = k ti 0 (modm), where k 0 is the secret key of the central authority and m is the product of two secret large prime numbers. t i is a public parameter with the following property: sc j≺sc i , if t j is a multiple of t i. in order to generate the public parameters, for t i it is used the formula ti = ∏ scinot≻sck pk, where pk are prime numbers related to each security class.the major inconvenient of the method is the fact that the value of t i increases and will become impractical (figure 3). another problem is represented by the question: is the arrangement of the security figure 3: the diagram of generating the t parameter in an at scheme domains according to the sdg? (that is, when a security domain has more than one parent). in order to generate a model for the key management, the authors studied the chinese remainder theorem that is an ancient, but important calculation algorithm in modular arithmetic. it enables one to solve simultaneous equations with respect to different moduli in a considerable generality. here is the statement of the problem that the chinese remainder theorem solves. theorem 1. chinese remainder theorem [12]. let m1, m2, ..., mk ∈z with gcd(mi, mj)=1,any i,j=1, k, i ̸=j . let m be the product m=m1×m2×...mk . let a1, a2, ...,ak ∈z . consider the system: x≡a1(mod m1) x≡a2(mod m2) ... x≡ak(mod mk) 154 g. moise, o. cangea then there exists exactly one x∈zmsolution of the system. the solution to the system above may be obtained using the following algorithm: step 1 for each to i=1 to k calculate z i=m1×m2×...×mi−1×mi+1×...mk step 2 for each to i=1 to k calculate yi=z −1 i (mod mi) step 3 calculate x=a1×y1×z 1+...+ak×yk×z k, return x. 4 intelligent key management in this paper it is proposed a model of cryptographic keys management that may be used in the architecture of sdg type. each entity of the security domains has associated an intelligent agent (sdkma) responsible with the cryptographic key management in the system (figure 4). where sdi=ei1uei2uei3..., where eij use k i and each sdi is organized according to the schema figure 4: security domains graph and intelligent key management agents shown in figure 5. figure 5: the entities relations in a security domain each sdkma is structured according the interrap intelligent agent architecture defined by műller [9]. interrap architecture is a layered bdi model (belief-desire-intention model) with three layers: behavior based layer, local planning layer, and cooperative planning layer. the behavior based layer contains the reactivity and procedural knowledge used in routine tasks, the local planning layer provides reasoning to realize the local tasks and to produce goal oriented behaviors, and the cooperative planning layer enables and facilities collaborative work with other agents. the structure of sdkma is presented in figure 6. behavior planning layer acts in the emergency situations (renewal keys, delete entity, add entity, destroy keys). local planning layer manages the cryptographic keys within the framework of the security domain. cooperative planning layer manages the cryptographic keys between security domains. world kb contains the procedures and functions used in the emergency situations (structure intelligent management of the cryptographic keys 155 figure 6: the structure of sdkma of the networks and security domains, new arrivals and leaving of the entities). planning kb contains procedures and functions responsible with the key management within the framework of the security domain and social kb contains procedures and functions used to key management between security domains. these knowledge bases are self-updated; therefore, the keys management model has the property of flexibility that is modifications in the structure of the network cause modifications in the key management model. keys management within the framework of security domains can be realized according to key server schema. for each security domains, it is selected, in a randomized way, an entity. its sdkma will play the role of key server. the server stores the key and the associated list of the entities from the security domain. entities request the key to the server. upon entity authentication, the server sends the keying material if the entity is authorized. key management between security domains can be realized according toat scheme if the node corresponding to the security domain has one parent. the arrangement in security domains offers the advantage of calculating not greater values of parameters t. there were provided solutions to optimize the at schema in order to compute smaller values of parameters t [4]. if the relations between security domains are according to the scheme presented in figure 7, then one has the following situation: a node has more than one parents and a node has more than two ancestors. figure 7: security domain sd3 with two parents and two ancestors if an entity of sd3 broadcasts a message m, than the entities of sd1 and sd2 can decrypt the 156 g. moise, o. cangea cipher text c. so, the entities have to know a single decryption key. the asymmetric keys generator has to send to each security domains a private key or each sdkma can compute (cooperative planning layer) the private key using the chinese remainder theorem. for each entity (sd1 and sd2) it will select a large secret prime number n1, respectively n2. the secret key is the solution (in the space zn1×n2 ) of the system: x≡a1(mod n1) x≡a2(mod n2), where a1 , a2 are public parameters. to calculate the solution of the system, it can be used the lagrange method: step 1 find cofactors u12, u21 using extended euclidian algorithm step 2 calculate l1=u21×m2 , l2=u12×m1 step 3 calculate the solution x=a1×l2+a2×l2 if one entity of sd4 and one entity of sd5 broadcast in the same time two encrypted messages c4 and c5, the sdkma (the cooperative planning layer) of each entity of sd3 manage a waiting queue and decrypt the messages using randomized priorities. the advantages offered by the proposed model are: more securely, because the intelligent property changes any time the parameters used in keys generation, and more efficiently, through the use of a security domain based structure of the network. the dynamism of the network can be easily implemented because the knowledge bases related to each layer of the sdkma are updated with actual information in any moment. also, in order to generate the keys, the procedures and functions may contain different algorithms and the sdkma can change any time the key distribution algorithms according to the dimensions of the networks or the necessary security level. 5 conclusions starting from the analysis of the existing key management systems and standards available for the keys management techniques, in this paper it is proposed an intelligent cryptographic key management model between security domains, sdkma type, based on the ideas and principles of the interrap architecture, emphasizing the advantages referring to security, efficiency and feasibility. as future directions, one may consider designing a fuzzy model of the cryptographic key management system, but only if this approach would bring important improvements for the model, regarding to the procedures and functions used to generate the keys. nevertheless, the most secure situation is to hold the keys in secure hardware and perform all processing there [3], being impossible to achieve this goal in large scale networks. bibliography [1] akl, s.g., taylor, p.d., cryptographic solution to a problem of access control in a hierarchy,acm transactions on computer system,3 (1), 1983. [2] hassen, r. h., bouabdallah a., bettahar, h., challal, y., key management for content access control in a hierarchy, computer networks, 51 3197-3219, 2007. [3] lin, j. c., huang, k. h., lai, l., lee, h. c., secure and efficient group key management with shared key derivation, it computer standards and interfaces, 31, 2009. [4] mackinnon, s. , taylor, p., meijer, h., akl, s., an optimal algorithm for assigning cryptographic keys to control access in a hierarchy, ieee transactions on computers, c-34 (9), 1985. intelligent management of the cryptographic keys 157 [5] matyas, s. m., le, a.v. abraham, d. g., a key-management scheme based on control vectors, ibm systems journal, vol. 2, issue 3, 1991. [6] menezes, a., van oorschot, p., vanstone, s., handbook of applied cryptography, crc press, 1996. [7] michener, j. r., acar, t., security domains: key management in large-scale systems,ieee software, 2000. [8] savard, j. j. g., a cryptographic compendium, http://www.quadibloc.com/crypto/ jscrypt.htm, accessed on the december 5th, 2009. [9] müller, j. p., the design of intelligent agents: a layered approach. lecture notes in computer science, lecture notes in artificial intelligence, 1177, springer-verlag, 1996. [10] wong, c.k., gouda, m., lam, s., secure groups communication using key graphs,proceedings of the acm sigcomm’98, 1998. [11] key management in cryptography, http://www.netlab.tkk.fi/opetus/s38153/ k2003/lectures/g33keymgmt.ppt, accessed on december 10, 2009. [12] chinese remainder theorem, http://www.math.tamu.edu/∼jon.pitts/courses/ 2005c/470/supplements/chinese.pdf, accessed on december 10, 2009. [13] zhou, j., ou, o. h., key tree and chinese remainder theorem based group key distribution scheme, proceedings of the 9th international conference on algorithms and architectures for parallel processing, isbn:978-3-642-03094-9, 2009. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 288-298 optimization of queries with conjunction of predicates nicoleta livia tudor abstract: a method to optimize the access at the objects of a relational database is through the optimization of the queries. this article presents an approach of the cost model used in optimization of select-project-join (spj) queries with conjunction of predicates and proposes a join optimization algorithm named system ro-h (system rank ordering heuristic). the system ro-h algorithm for optimizing spj queries with conjunction of predicates is a system r dynamic programming algorithm that extends optimal linear join subplans using a rank-ordering heuristic method as follows: choosing a predicate in ascending order according to the h-metric, where the h-metric depends on the selectivity and the cost per tuple of the predicate, using an expression with heuristic constants. the system rank-ordering heuristic algorithm finds an optimal plan in the space of linear left deep join trees. the system ro-h algorithm saves not a single plan, but multiple optimal plans for every subset, one for each distinct such order, termed interesting order. in order to build an optimal execution plan for a set s of i relations, the optimal plan for each subset of s, consisting of i-1 relations is extended, using the lemma based on a h-metric for predicates. optimal plans for subsets are stored and reused. the optimization algorithm chooses a plan of least cost from the execution space. keywords: optimal join subplans, cost function, query tree, join optimization algorithm, h-metric, heuristic method 1 introduction this article proposes a select-project-join query optimization algorithm, based on a heuristic function and suggests an approach of the cost model used in optimization of queries with conjunction of predicates. the paper is organized as follows: • the section prior work presents the improved alternatives of join optimization algorithms • the section system rank ordering heuristic algorithm: algorithm shows a different improved system r dynamic programming algorithm based on utilization of a heuristic function and the mathematical expression of the system rank ordering heuristic algorithm • the section performance evaluation presents the performance results and implementation details. 2 prior work there are known many improved alternatives for optimizing queries with user defined predicates: system r dynamic programming algorithm [1] illustrates the system r dynamic programming algorithm that finds an optimal plan in the space of linear (left-deep) join trees [2]. the algorithm proceeds by building optimal execution plans for increasingly larger subsets of the set of all relations in the join. in order to build an optimal plan for a set s of i+1 relations, the optimal plan for each subset of s, consisting of i relations is extended, and the cheapest of the extended plans is chosen. the system-r algorithm copyright © 2006-2007 by ccc publications optimization of queries with conjunction of predicates 289 saves not a single plan, but multiple optimal plans for every subset s, one for each distinct such order, termed interesting order. the enumeration complexity of the algorithm is o(n2n−1), where r1, r2,. . . , rn relations. the optimization algorithm for the space of bushy join trees is similar to the system-r algorithm, except that the both inputs of a join operator can be an intermediate result. the number of optimal subplans that must be stored for a join with n tables is 2n times the number of interesting orders. the complexity is o(3n). ldl algorithm was used in the ldl project at mcc [3] and subsequently at the papyrus project at hp laboratories [4]. the ldl algorithm treats expensive predicates and relations alike and may produce plans that are significantly worse than plans produced by the traditional optimization algorithm where all selections are evaluated as early as possible. ldl algorithm cannot consider all plans in the space of unconstrained linear execution trees. hellerstein [5] shows that the ldl algorithm fails to consider plans that evaluate expensive predicates on operands of a join prior to taking the join. in order to optimize a query that consists of a join of n relations and k expensive predicates, the dynamic programming algorithm will need to construct 2n+k optimal subplans. the predicate migration algorithm improves on the ldl approach. predicate migration approach, which given a linear join tree, chooses a way of interleaving the join and the user-defined predicates and is integrated with a system r style optimizer [5]. the algorithm places the user-defined predicates in their optimal position relative to the join nodes. this approach has serious drawbacks that limit its applicability [6]: it cannot guarantee an optimal plan because it uses a heuristic to estimate the rank of join predicates that influence the choice of the plan. the naive optimization algorithm for the space of unconstrained linear join trees behaves exactly like the system r algorithm. the total number of stored plans per each distinct set of relations increases to 2k, and the number of plans that need to be stored increases to 2k+n, where k is the number of user-defined predicates. the complexity of this algorithm is exponential in the number of user-defined predicates and in the number of relations in the query. optimization algorithms with complete rank-ordering [7] use the ability to order the execution of predicates (called ranks or rank-order), that were applied prior to application of any other operators. when the join methods are regular, the algorithm restricts the sequence in which the user-defined predicates may be applied and reduces the complexity of enumeration from exponential to polynomial in the number of user-defined predicates. optimization algorithm with pruning [7] compares and prunes plans that have different tags. the "udp-pushdown" rule provides a sufficient condition for a predicate to be pushed down and it can be used to pin the selections as soon as they are evaluable and helps avoid constructing plans where the predicates are pulled up. the "udp-pullover" rule allows avoid generating alternative plans that push down user-defined predicates and are suboptimal. the conservative local heuristic algorithm can choose among plans that result from application of a sequence of udp-pushdown and udp-pullover rules. the two plans picked by the conservative local heuristic complement each other, and the heuristic can guard against the choice of a plan resulting from greedily pushing down a predicate by the pull-rank algorithm. thus, conservative local heuristic can find optimal plans that pull-rank and other global heuristics fail to find due to their greedy approach, but incurs only low computational overhead. as the following lemma states, the conservative local heuristic algorithm produces an optimal plan in several important special cases [7]. in the next section, we present a different improved system r dynamic programming algorithm for optimizing select-project-join queries with conjunction of predicates, based on a heuristic method. we implement the optimization algorithm by extending a system r style optimizer. 290 nicoleta livia tudor 3 system rank ordering heuristic algorithm in this section, we discuss an approache proposed for optimizing select-project-join (spj) queries with conjunction of predicates, using an algorithm system ro-h (system rank ordering heuristic), based on a heuristic method. this algorithm extends optimal linear join subplans by choosing one predicate in ascending order according to the h-metric (heuristic metric). h-metric determines minimum value between the rank of the predicate and the ratio between selectivity minus 1 and cost per tuple. to define the heuristic method for extending optimal linear join subplans, the following shall be considered. 3.1 regular join methods let us consider a class of spj queries on relations r1, r2, . . . , rn, n ∈n* and an implementation of the join operator with conjunction of k predicates p1, . . ., pk, k∈n*. definition 1. a join method is called regular if the cost f(r1, r2) of joining two relations of sizes r1 and r2 depends on the sizes of the relations as follows: f (r1, r2) = a + br1 + cr2 + dr1r2 where the constants a, b, c, d are independent of the sizes of relations r1 and r2 [7]. if join operators follow the assumption of being regular joins, we can restrict enumeration to execution trees where all predicates are ordered by rank order heuristic. 3.2 tags for plan representation the following definition states formally how we associate a tag with a join tree [7]: definition 2. let t be an unconstrained linear join tree that consists of a join among a set r of relations and evaluation of a set u ⊆ s of user defined predicates where s is the set of all user defined predicates in the query that can be evaluated over the subexpression of the query that consists of the join among relations in r. then, the tag associated with the tree t is the ordered set of predicates s−u, sorted by rank order. figure 1 illustrates the execution plans that need to be considered when there are three relations r1, r2, r3 and two selection predicates p1, p2 on r1. t and t’ are possible plans for r1 ./ r2 ./ r3 (each with differing tags). the tags for t and t’ are < > and < p1> respectively. figure 1: the execution plans 3.3 predicate order in optimal plans let us consider a class of spj queries on relations r1, r2, . . . , rn and an implementation of the join operator with conjunction of k predicates p1, . . ., pk. the problem of join ordering, addressed in [8], [9], [10] and [11] utilizes the notion of a rank. the rank of a predicate pi, (i = 1, . . ., n), rank(pi) = costpertuple(pi) / (1 − selectivity(pi)). chaudhuri and shim refer to such execution trees as rank ordered [7], as defined below: optimization of queries with conjunction of predicates 291 definition 3. the user-defined predicates in an unconstrained execution tree t are rank ordered if for any two user-defined predicates p and p’ in t such that rank(p) < rank(p’), either p precedes p’ in the tree t, or p is not evaluable in the tree t’ obtained by exchanging the positions of p and p’ in t. hellerstein et al. [12] consider expensive predicates, i.e., where the computation needed for evaluating whether the predicate is true or false dominates the overall cost [12]. in that context, it is shown that predicates should be ranked in ascending order according to the metric (selectivity−1)/(cost pertuple). hellerstein et al. consider that the processor is perfect in its prediction, and it predicts the branch to the next iteration of the query will be taken when the selectivity ≤ 0.5, and will not be taken when selectivity > 0.5. in system rank ordering heuristic algorithm, we refer to such execution trees as rank ordered, according to the h-metric based on a heuristic method. definition 4. we call the h-metric (heuristic metric) of predicate pi, i = 1, . . . ,k having selectivity si, the pair ( si, c1 ∗si + c2 ∗(1−si) cost pertuple(pi) ) , where c1 and c2 are heuristic constants, defined as follows: c1 = 0, c2 = -1, if 0.5 < si ≤ 1 and c2 = 0, c1 = -1, if 0 ≤ si ≤ 0.5. observations: 1. the utility of the h-metric is that we avoid generating a large number of intermediate-quality plans, that improve on the currently computed best cost, without being optimal. 2. the heuristic method is not guaranteed to find the optimal solution, but we will demonstrate that it finds good solutions. lemma 5. let t be an unconstrained linear join tree that consists of a join among a set of n relations and let si and s j be the selectivities for pi and p j respectively. the plan of the execution tree t cannot be optimal if si ≥ s j and c1 ∗si + c2 ∗(1−si) cost pertuple(pi) > c1 ∗s j + c2 ∗(1−s j) cost pertuple(p j) , where c1 and c2 are heuristic constants, defined as follows: c1 = 0, c2 = -1, if 0.5 < si ≤ 1 and c2 = 0, c1 = -1, if 0 ≤ si ≤ 0.5. proof: let t be an unconstrained linear join tree that consists of a join among a set r of n relations, two predicates p1, p2 with s1 ≥ s2 and let τ be a subexpression among execution tree t and let us refer to this subexpression by τ (r), where the parameter r refers to the input relation of τ . then: τ(r) = τ(σp1(r1)) we can relate the execution trees in figure 2 and the following correspondence holds: t = σp2 (τ) the following parameters shall be defined: • cost(p1) = cost of predicate τ per tuple • |r1| = number of tuples in relation r1 292 nicoleta livia tudor figure 2: τ : subexpression of execution tree t • cost(τ ) = cost of execution tree τ • size(τ ) = size of the output of execution tree τ • si = selectivity of the predicate pi • τ0 = τ (r1) we now estimate the cost of the execution tree t as follows: cost(t ) = cost(p1)|r1|+ cost(τ) + cost(p2)size(τ), where size(τ ) = size(τ0) s1, then cost(t) = cost(p1) |r1| + cost(τ ) + cost(p2) size(τ0) s1 we can represent that the cost of an expression τ (r1) to be the sum of the following three components: 1. cost of evaluating predicates in the expression τ (r1): the sum of all such costs is ∑ i costisizei(r1) where costi is the cost of applying the predicate per tuple and sizei is the size of the relation preceding the i-th application of a predicate. 2. cost of evaluating join nodes in the expression τ (r1) that are ancestors of r1: the sum of all such costs is ∑ j cost(join) j(r1) 3. cost of evaluating all other operators that are not affected by the input relation r1: we denote this cost by cost0. then the cost of an expression τ (r1) can be computed as follows: cost(τ(r1)) = ∑ i costisizei(r1) + ∑ j cost(join) j(r1) + cost0 cost(t ) = cost(p1)|r1|+ ∑ i costisizei(r1) + ∑ j cost(join) j(r1) + cost0 + cost(p2)size(τ0)s1 if s1 ≥ s2 and cost(p1) = cost(p2), then c1 ∗s1 + c2 ∗(1−s1) cost pertuple(p1) > c1 ∗s2 + c2 ∗(1−s2) cost pertuple(p2) optimization of queries with conjunction of predicates 293 if we change p1 with p2, let t’ be a join tree that consists of a join among a set r of n relations, two predicates p1, p2 with s1 ≥ s2, then cost(t ′) = cost(p2)|r1|+ ∑ i costisizei(r1) + ∑ j cost(join) j(r1) + cost0 + cost(p1)size(τ0)s2 cost (t) > cost (t’) ⇒ the plan of the execution tree t cannot be optimal a corollary of this lemma is that whenever two consecutive terms appear anywhere as conjunctions in an optimal plan, then the one with lower selectivity must appear first if it has the same h-metric. we use lemma 5. in the system rank-ordering heuristic algorithm below. 3.4 system rank-ordering heuristic algorithm the system rank-ordering heuristic algorithm finds an optimal plan in the space of linear (leftdeep) join trees. the cost function assigns a real number to any given plan in the execution space and satisfies the principle of optimality [13]. an optimal plan for a set of relations must be an extension of an optimal plan for some subset of the set. the optimization algorithm chooses a plan of least cost from the execution space. definition 6. the system rank-ordering heuristic algorithm for optimizing spj queries with conjunction of predicates is a system r dynamic programming algorithm that extends optimal linear join subplans using a rank-ordering heuristic method as follows: • choosing a predicate in ascending order according to the h-metric • h-metric depends on the selectivity and the cost per tuple of the predicate, using an expression with heuristic constants. the system rank-ordering heuristic algorithm saves not a single plan, but multiple optimal plans for every subset, one for each distinct such order, termed interesting order [14]. in order to build an optimal execution plan for a set s of i relations, the optimal plan for each subset of s, consisting of i 1 relations is extended, using the lemma 1 based on a h-metric for k predicates. optimal plans for subsets are stored in the optplan() array and are reused. the system rank-ordering heuristic algorithm is presented as follows: procedure system rank-ordering heuristic for i = 2 to n do for all s from {r1, ..., rn} with | s | = i bestplan = a plan with infinite cost for all rj, sj, where s = union ({rj}, sj),intersect({rj},sj) = null for all p from optplan(sj, t) with all different tag t nr1 = |p|; nr2 = | rj | r1 = array with evaluable predicates on p r2 = array with evaluable predicates on rj euristicorder(r1); euristicorder(r2) // ascending ordering of predicates // in the p, rj according to the h-metric for i = 0 to nr1 for j = 0 to nr2 p’ = extendjoinplan( p, rj, r1[i], r2[j]) if cost (p’) < cost(bestplan[tag(p’)]) 294 nicoleta livia tudor bestplan[tag(p’)] = p’ endif repeat repeat repeat repeat optplan(s) = bestplan repeat repeat finalplan = a plan with infinite cost for all plan p from optplan({r1, ě, rn}) if complete_cost(p) < cost(finalplan) finalplan = completed plan of p endif repeat return(finalplan) end function extendjoinplan( p, rj, r1[i], r2[j]) let r1[i] be a predicate applied to the plan p for sj, t r2[j] = a predicate for the relation rj p’ = the join plan between sj, t and rj, for the subset of predicates (r1[i], r2[j]) extend optplan(sj, t) with the plan p’ return procedure euristicorder(r1) for i = 0 to nr1 1 for j = i + 1 to nr1 // si = selectivity for r1[i] // cost (pi) = cost of the predicate r1[i] if r1[i] > r1[j] and (c1*si + c2*(1-si)) / cost(pi) > (c1*sj + c2*(1-sj)) / cost(pj) change r1[i] with r1[j] endif repeat repeat return observation: arrays r1 and r2 are useful for ascending ordering of the predicates according to the h-metric. when the join methods are regular, the system rank-ordering heuristic algorithm enables us to further restrict the sequence in which the predicates may be applied and reduces the complexity of enumeration in the number of predicates. 4 performance evaluation in this section we present the results of performance evaluations on our implementation. optimization of queries with conjunction of predicates 295 4.1 experimental framework we used an experimental framework similar to that in [15] and [16] and [7]. we performed experiments using an amd athlon(tm)xp 1600+ machine with 256 mb of ram and running windows xp professional version 2002. the algorithms were run on queries consisting of equijoins. relation cardinalities ranged from a hundred to a thousand tuples, and the numbers of unique values in join columns varied from 25o/o to 100o/o of the corresponding relation cardinality. the selectivities of predicates were randomly chosen from 10−4 to 1.0 and the cost per tuple of predicates was represented by the number of i/o accesses and selected randomly from 1 to 1000. we considered nested-loop, merge-scan, and simple and hybrid hash joins as join methods [17]. in our experiments, only the cost for number of i/o accesses was accounted for. for our experiments, we generated 3 join (join among four relations) queries, 5 join queries, and 7 join queries. we performed two sets of experiments. in the first set, we varied the number of selection predicates that apply on one relation. in the second set, we varied the distribution of the selection predicates among multiple relations in the query, i.e., we kept the number of selection predicates fixed, but varied how these predicates are distributed among the relations in a query. 4.2 candidate algorithms for each query instance, we ran the following optimization algorithms: • system r dynamic programming algorithm: the system r style optimization algorithm that evaluates all predicates as early as possible • optimization algorithms with complete rank-ordering: it compares plans that have the same tag over the same set of relations • opt-rank-conservative algorithm: this algorithm uses conservative local heuristic with complete rank-ordering • system rank-ordering heuristic algorithm that extends optimal linear join subplans using a rankordering heuristic method. 4.3 effect of number of predicates in this set of experiments, the number of predicates was varied from 1 to 5 and the number of join queries was varied from 3 to 7 (7 joins for 8 relations). the results presented for each data point represents an average over 100 queries. these queries were generated by randomly choosing one relation on which all the predicates apply and then randomly picking the cost and selectivities of the predicates as well. table 1 shows the average number of enumerated plans for the algorithms: system r dynamic programming, optimization with complete rank-ordering, opt-rank-conservative and system rankordering heuristic algorithm. figures 3, 4 and 5 show a comparison of the performances (average number of enumerated plans) for the 4 algorithms (system r dynamic programming, optimization with complete rank-ordering, opt-rank-conservative and system rank-ordering heuristic algorithm). the results obtained for queries with 3, 5 or 7 joins show a similar trend: • the enumerations necessary in the system r dynamic programming algorithm is independent of the number of predicates 296 nicoleta livia tudor table 1. worst-case estimates for enumerated plans ( 3 join query) figure 3: 3 join query figure 4: 5 join query figure 5: performance on a varying number of predicates optimization of queries with conjunction of predicates 297 • the optimization algorithms with complete rank-ordering generated more plans than the optrank-conservative algorithm and system rank-ordering heuristic algorithm • the average number of enumerated plans for the system rank-ordering heuristic algorithm is approximately linear • the gap in the number of enumerated plans between the complete rank-ordering algorithm and system rank-ordering heuristic algorithm increases significantly as the number of predicates grows 5 conclusion this article presents an approach of the cost model used in optimization of select-project-join (spj) queries with conjunction of predicates and proposes a join optimization algorithm named system ro-h (system rank ordering heuristic). the system ro-h algorithm is a system r dynamic programming algorithm that extends optimal linear join subplans using a rank ordering heuristic method. the comparison of the performances of algorithms shows that our proposed system rank-ordering heuristic techniques are extremely effective and are guaranteed to generate optimal plans. bibliography [1] s. ganguly, w. hasan, r. krishnamurthy, query optimization for parallel execution, in proceedings of the acm sigmod international conference on management of data sigmod, ed. acm press, new york, pp. 9-18, 1992. [2] p. g. selinger, m. m. astrahan, r. a. lorie, t. g. price, access path selection in a relational database management system, in proceedings of acm sigmod international conference on management of data sigmod, boston, ma, acm press, new york, pp. 23-34, 1979. [3] d. chimenti, r. gamboa, r. krishnamurthy, towards an open architecture for ldl, in proceedings of the 15th international conference on very large data bases, vldb, netherlands, ed. morgan kaufmann publishers inc., san francisco, ca, pp. 195-203, 1989. [4] s. chaudhuri, k. shim, query optimization in the presence of foreign functions, in proceedings of the 19th international conference on very large data bases, ireland, morgan kaufmann publishers inc., san francisco, ca, pp. 526-541, 1993. [5] j. m. hellerstein, practical predicate placement, in proceedings of the acm sigmod international conference on management of data, minneapolis, acm press, new york, pp. 325-335, 1994. [6] j. m. hellerstein, m. stonebraker, predicate migration: optimizing queries with expensive predicates, in proceedings of the acm sigmod international conference on management of data, washington, acm press, new york, pp. 267-276, 1993. [7] s. chaudhuri, k. shim, optimization of queries with user-defined predicates, acm transactions on database systems, vol. 24, no. 2, pp. 177-228, 1999. [8] j. m. hellerstein, j. m., m. stonebraker, predicate migration: optimizing queries with expensive predicates, in proceedings of the acm sigmod international conference onmanagement of data, washington, dc, eds. acm press, new york, ny, pp. 267-276, 1993. 298 nicoleta livia tudor [9] r. krishnamurthy, h. boral, c. zaniolo, optimization of nonrecursive queries, in proceedings of the 12th international conference on very large data bases, kyoto, japan, vldb endowment, berkeley, ca, pp. 128-137, 1986. [10] c. l. monma, j. sidney, sequencing with series-parallel precedence constraints, math. oper. res. 4, pp. 215-224, 1979. [11] k. y. whang, r. krishnamurthy, query optimization in a memory-resident domain relational calculus database system, acm trans. database syst. 15, pp. 67-95, 1990. [12] j. m. hellerstein, m. stonebraker, predicate migration: optimizing queries with expensive predicates, in proceedings of the acm sigmod conference, 1993. [13] t. h. cormen, c. e. leiserson, r. l. rivest, introduction to algorithms, mit press, cambridge, ma, 1990. [14] p. g. selinger, m. m. astrahan, r. a. lorie, t. g. price, access path selection in a relational database management system, in proceedings of acm sigmod international conference on management of data, boston, ma, acm press, new york, pp. 23-34, 1979. [15] y. e. ioannidis, y. c. kang, randomized algorithms for optimizing large join queries, in proceedings of the 1990 acm sigmod international conference on management of data, ed. acm press, new york, ny, pp. 312-321, 1990. [16] s. chaudhuri, k. shim, including group-by in query optimization, in proceedings of the 20th international conference on very large data bases, vldb endowment, berkeley, ca, 1994. [17] l. d. shapiro, join processing in database systems with large main memories, acm trans. database syst. 11, pp. 239-264, 1986. tudor nicoleta liviana petroleum-gas university of ploiesti department of computer science 39 bucuresti avenue, 100680, ploiesti, romania e-mail: tudorl@upg-ploiesti.ro received: january 25, 2007 revised: june 13, 2007 nicoleta liviana tudor (born on july 15, 1968) graduated the faculty of mathematics of the bucharest university in 1992. she has 15 years experience of teaching in the field of computer science both in petroleum-gas university of ploiesti, and in other educational institutions of romania. since 2006 she is lecturer in the computer science department at petroleum-gas university of ploiesti, romania. she is a phd student at the petroleumgas university of ploiesti, control engineering and computers department. her main research fields are middle-tier business objects, xml web services, data processing, relational databases. she has authored 2 books and more than 14 research papers in the area of relational databases, data structure, and published in international journals, and in the proceedings of prestigious international conferences. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 209-216 60 years from birth of academician f.g. filip ioan dziţac, mişu-jan manolescu, horea oros, emma văleanu “to whom it may concern ... dr. filip has shown himself to be a very innovative and productive researcher whose papers are equivalent in quality and cutting-edge findings to those from the best research organizations of the world. witness his publications in automatica, computers in industry and other leading journals in the field. the establishment of dr. filip’s stature as an internationally recognized researcher in his field and the acceptance of his work are shown by the large number of international conferences where he has served as session chairman and/or program committee member and many invited seminars he has presented in other countries... 1” 1 introduction born in bucharest on the 25th of july 1947, the academician florin gheorghe filip, editor in chief of our journal (ijccc), turns 60, this is why the operative/executive editorial staff of ijccc wants to 1prof. theodore j. williams professor of engineering and director, purdue lab. for applied industrial control, purdue university; former president of instrument society of america; former president of the american federation of information processing societies; chairman of ifac/ifip task force on “architecture for enterprise integration” (august 1994) copyright © 2006-2007 by ccc publications 210 ioan dziţac, mişu-jan manolescu, horea oros, emma văleanu dedicate this short biographical-sketch in order to pay him homage. his life is under the sign of creation in science, of generosity in his relationship with his co-workers, of his innovative courage in the coordination of the projects he has worked on, of the stimulating energy in the community he has worked for a longer period of time or just collaborated occasionally, and under the sign of modesty in his relation with other people with whom he was in contact. most of the people who know him through their work acknowledge his good and stimulating effects on their work or career. in order to show him respect, lots of similar journals dedicated him special numbers in this period. not willing to be in competition with other journals, we would like to dedicate only this short biographical sketch, but in no 4/2007 of ijccc, we are going to publish some of the scientific articles of authors who expressed their wish to dedicate them to academician filip when he turns his 60. we will present in this paper a short digest of the biography and work of f.g. filip 2 opera omnia prof. f. g. filip is author/coauthor of 6 monographs published in ed. tehnica (http://www.edituratehnica.ro/) and he is editor/coordinator of 9 contribution volumes published in ed. tehnica, romanian academy editing house (www.ear.ro), ed. expert and elsevier. also, he publish more than 200 scientific papers in several international journals (computers in industry, ifac j. automatica, ifac j control engineering practice, large scale systems, j. of human systems management, systems analysis, modeling and simulation, studies in informatics and control etc.) and some contribution volumes printed in the publishing houses: pergamon press, north holland, chapmann and hall, springer, kluwer, ed. tehnica and ed. academiei române. more than 50 articles of f.g. filip are registered in thomson isi web of knowledge database and 22 in scopus and elsevier databases. 3 academic qualifications, scientific titles and professional positions f.g. filip graduated the faculty of automatics, university politehnica of bucharest, obtaining the engineer diploma in 1970 and received his ph. d (1982) in automatics (electrical processes automation field). later on, he participated at several courses of professional forming and improvement: “complex informatics systems, tele-processing systems” (sweden, at the universities from goeteborg, uppsala, malmoe, stockholm 1974); “research and technology management” (germany, fraunhofer iitb karlsruhe, 1995); “decisional systems” (germany, fraunhofer first, berlin, 1998) etc. f.g. filip is corresponding member of the romanian academy since 1991 and full member of the romanian academy since 1999. since 2000 acad. filip is vicepresident of the romanian academy. last professional titles obtained by f.g. filip are first degree researcher (1990) and university professor (1998). he jobs and positions held is following: engineer (1970-1976); scientific researcher (1976-1979); main researcher iii-(1979-1990); head of the research laboratory (1985-1991); main researcher i (1990); directorthrough contest at ici (1991-1997); scientific directorresponsible with the international cooperation (1997-2001); president of the scientific committee (1995-2003); vice-president of the romanian academy (2000-now). 4 awards, diplomas and distinctions f.g. filip received the following award, diplomas and distinctions: 60 years from birth of academician f.g. filip 211 1. “grigore moisil” award and the diploma “man of the year 1999” granted by inforec (the association of economical informatics). 2. doctor honoris causa of "lucian blaga" university, sibiu (2000). 3. the award “copy ro for informatics” for the year 2003 for the monograph “computer aided decision: base methods and techniques” (ed. tehnica, bucharest, 2002, in romanian). 4. honorary professor of “dunarea de jos” university, galati (from 2003). 5. excellency diploma “the most prominent romanian personality of the decade in it&c” granted by aries (romanian association for the electronically and software industry). 6. honorary member of the romanian technical sciences academy astr (www.astr.ro) (from 2006). 7. honorary member of moldavian academy of science (from 2006). 8. decorated with the national order “loyal service” in rank of “great cross” (granted by the romanian president on 30.11.2000) 9. honorary citizen of campeni city(2002). 5 research activities research projects coordination regarding: • the elaboration of the dimensioning methods for the equipments configurations; • participating on projects regarding the informatics systems in industry; • researches regarding the designing of discrete automate systems; research projects coordination regarding: • hierarchical leadership methods and hierarchical compute methods; • real time hierarchical informatics systems; applicative projects coordination regarding: • implementation and design of real time informatics systems and decision support systems (dss); • contribution to the design of the dispecer ssd (exported in 1996) researcher leadership in conceiving ssd with combined knowledge (numerical models and artificial intelligence elements) ici teams coordination participating to projects/networks of excellence (“network of excellence”noe) or international “working group”-wg: • for the ec-peco program: esatt + (“european science and technology transfer network+”), • for the inco program: a) noe ametmas (cp 96-26), b) inids (“information dissemination in european rtd”ic-1030) 212 ioan dziţac, mişu-jan manolescu, horea oros, emma văleanu • for the esprit program: orbit (“object-oriented decision assistance for continuous operations scheduling and coordination”-24487), noe icims (9251), si e (simulation europe) wg (cod: 8467) general coordination of the research activities from ici. coordination of the rnc (national computer network for research) project accomplishment, the first romanian network connected to the internet (1993). coordination of the projects for introducing the informatics in the cultural institutes (libraries, museums). founding (in 1989) and coordination of the international journal “studies in informatics and controlsic” (http://www.ici.ro/ici/revista/sic.html) (registered from 1995 the ieee inspec database, indexed in isi web of knowledge, the first romanian journal that had an on-line version from 1992). founding (in 2006) and coordination of the international journal “international journal of computers, communications and control-ijccc” (http://www.journal.univagora.ro). participating to some ici international projects: a) interbit (“interbalkan net of technology”ist 1999-14022), b) mobitech (“european sme challenge in mobile telecom technologies”-ips1999-50125), c) idealist 5fp, d) prolearn (as “associated partner”) coordination of the following romanian academy sections: • technical sciences • geological sciences • sociological, juridical and economical sciences • informatics science and technology managerial coordination of the romanian academy library (bar) supervision of the construction activities at the romanian academy library coordination of two fundamental projects of the romanian academy • informational society knowledge society (2001-2002) http://www.academiaromana.ro/pro_pri/pag_com01socinf_prpri.htm • inter-disciplinary program for preventing the major risks phenomenon at a national scale (2004-2005) http://www.icmpp.ro/institute/p_fundam_ar.htm coordination of four international projects of the romanian academy: • forsociety “laying the foundations for an era-net on foresight and society” (contract erasct-2003-003231) • rointera “romanian research community integration in the european research area” (contract inco-ct-2003-510469), (www.rointera.ro) • romob “romanian mobility center” (contract fp 6 513461) • forsociety “transnational foresight era net” (http://195.251.117.130/forsociety/partners/index.html) coordinator of projects: the programs ec-peco, esprit, copernicus, ist of ue the responsible of the romanian teams from ici at 10 projects/networks of excellence/workgroups (1993-2000: see the above no. 8) and at 2 projects of the romanian academy in fp6 (2003-): a) rointera (nco-ct-2003-510469), b) forsociety (eranet 011832) evaluator: 1992 (in the first team with invited experts from the central and east europe), 1996, 1999, 2004, 2005. member in : 60 years from birth of academician f.g. filip 213 • program committee of the ist (“information society technologies”) research program of ue (1999-) national representative named. • consultative committee of the european committee in the priority domain ist from fp6 (istaginformation society technologies advisory group) (invited directly by the european committee) (2003-2004) nato science for peace • associate member of the sub-committee computer networking (2000-2001) (selected by nato) cdi national program • member of the consultative board for research development innovation (1992-) and general secretary (1998-) member of the “informatica” 5th committee of the consultative board (from 1991), president of the “informatica” 5th committee (1993-1994) and vice-president (from 1995) romanian academy grants (gar) • vice-president of the gar committee (1995-2007) romanian academy priority and fundamental programs • coordinator of the project “informational society knowledge based society” http://www.academiaromana.ro/pro_pri/pag_com01socinf_prpri.htm (2001-2002) • leadership of the program “major risk phenomenon and processes at national scale” http://www.icmpp.ro/institute/contributii_stiintifice.htm (2004-2005) 6 didactical activities doctorate guidance at • upb (university politehnica of bucharest), faculty of automatics specialization “automatics” (from 1993) 8 finalized doctorates from which one is made in association with franche conte university) • romanian academy specialization “computer sciences” (from 2002) professor of “applied informatics” at “valahia” university, targoviste (1998-2001) courses of: • “artificial intelligence” • “computer aid decision” • “computer aid enterprise engineering” (master level) visiting professor at • university politehnica of bucharest, faculty of mechanics (mecatronica department). course: “expert systems” (1998) • hyperion university of bucharest (1999-2003). courses of: a) "computer aided decisions" and b) "artificial intelligence" • agora university (2006now) “decision support systems” 214 ioan dziţac, mişu-jan manolescu, horea oros, emma văleanu master courses at: • “lucian blaga” university sibiu. course: “industrial management” (1998) • upb-cpru: course: "enterprise re-engineering" (1998) and "computer aided decision"(2005, 2006) • university of bucharest, faculty of letter. course: “computer aided decision” (2004) • ase bucharest. the modules “computer aided decision” from the course “project management” (2000) • ecole centrale de lille (france, 2006) 7 member in the editorial staff of some scientific journals/conferences member in international program committees (ipc) at more than 50 international conferences and congresses from europe, sua, south america, asia and africa. member in the editorial board of the following journals: 1. sams (systems analysis, modeling and simulation) (taylor and francis) (1993-2004) 2. international j. of critical infrastructures (interscience publishers: www.interscience.com ) (2004) 3. computer journal of moldova , chisinau (1993), information technologies and control (issn 1312-2622), sofia (din 1998) 4. information technologies and control, sofia (2003) 5. romjist (romanian journal of information science and technology) of the romanian academy 6. studies in informatics and control -sic (founder and chief-editor, from 1989) 7. international journal of computers, communications and control (http://www.journal.univagora.ro/)chief-editor (from 2006) 8. control engineering and applied informatics (http://www.upg-ploiesti.ro/srait/publicatii.html) 9. romanian journal of informatics and automatics (http://www.ici.ro/ici/revista/ria.html): founder 10. romanian journal of automatics (http://www.ipa.ro/web3-8re.html) invited at conferences and seminars at universities and research institutes from: england (1984), austria (1996), brazil (1995), chile (2004), china (1983, 1988, 2006), france (1992, 2006), germany (1991), kuwait (1986), moldova republic (1995, 2006), sweden (1970), tunisia (1998). 8 member in professional organizations • ifac (“international federation of automatic control”): vice-president of the technical committee (tc) 5.4 “large-scale complex systems”, http://www.academiaromana.ro/ifac/ifac_tc54.htm), (1998-2002), president of tc 5.4 (20022005), confirmed for a new mandate (2005-2008) • founder member of sie (simulation europe) (1993-1997) 60 years from birth of academician f.g. filip 215 • honorary member of atic (association for communication and informatics technology, from 1996) (www.atic.ro) • romanian forum for the informational society committee of the romanian academy, executive president (from 1997) • http://www.academiaromana.ro/forum_info/fpsc.htm • srait (society of automatics and technical informatics), founder member (1992), vice-president (1992-2001), now member of the director committee (http://www.upg-ploiesti.ro/srait/comitet.html) • member of ifac ifip (“international federation of information processing”) task-force “architectures for entreprise integration” (from 1995) • honorary member of pitch (“association for the promotion of international technological cooperation for humanistic ends”-) (2000-2006) bibliography [1] corina pascu, f g filip (eds). (2005). visions on information society future in an enlarged europe, ed academiei, bucharest. [2] filip. f.g. (2004). decision support systems, ed tehnica, bucharest. [3] filip, f.g. (2002). computer aided decision. ed tehnica, bucharest [4] filip f.g., dumitrache i., iliescu, s.s. (eds) (2002). large scale systems: theory and applications 2001 (lss’01). elsevier science ltd. (pergamon), oxford. [5] filip f.g. (coordinator) (2001). informational society knowledge society. ed. expert, bucuresti. [6] filip f.g., boldur b. (1999). industrial informatics: new paradigms and applications, ed. tehnica. [7] filip f.g. (1998). optimization models with sparse matrices and relatively constant parameters. systems analysis modeling and simulation, 33, 407-430. [8] filip f.g., alexandru a. and socol i. (1997). technology management and international cooperation: several success stories. j. human systems management, 16, 223-229. [9] filip f.g., neagu g. and donciulescu d. (1996). dssfm: from technology to decision making. in proceedings 14th ifac world congress, san francisco vol b, 367-372. [10] filip f.g. (1995). it culture dissemination in romania: experiments and achievements. in a. inzelt and r. coenen (eds.) knowledge technology transfer and forecasting, kluwer academic, dordrecht, 149 160. [11] filip f.g. (1995). towards more humanized dss. in: l.m. camarinha matos and h. afsarmanesh (eds.) balanced automation systems: architectures and design methods. chapman & hall, london, 230 240. [12] filip f.g. (1994). evolutions in systems analysis, modeling and simulation in computer based industrial automation, systems analysis, modeling and simulation, 15, 135 149. [13] filip f.g. and neagu g. (1993). cim in continuous and discrete manufacturing: object-oriented generic modeling, ifac j.control eng. practice, 1(5), 815 825. 216 ioan dziţac, mişu-jan manolescu, horea oros, emma văleanu [14] filip f.g. (1992). system analysis and expert systems techniques for operative decision-making. in: a. sydow (ed.), computational systems analysis: topics and trends, elsevier, amsterdam, 285 304. [15] filip f.g. (1988), operative decision-making in the process industry. in: preprints, 12th imacs world congress, paris, vol.4, 523 525. [16] guran m. and filip f.g. (1986). hierarchical and real time systems with distributed data processing. ed tehnica, bucuresti. [17] filip f.g. and donciulescu d.a. (1983). on on-line direct dynamic coordination method in process industry, ifac j. automatica, 19(1), (pergamon press , oxford), 317 320. [18] filip f.g., neagu g. and donciulescu d. (1983). job shop scheduling optimization in real time production control. computers in industry, 4(4) (north holland, amsterdam), 395 403. [19] filip f.g., donciulescu d., muratcea m., oraseanu l. and predoiu d. (1980). hierarchical control of large-scale chemical and metallurgical systems. in a. titli and m. g. singh (eds.). large scale systems: theory and application. pergamon press, oxford, 563 575. [20] http://www.ici.ro/ici/revista/sic.html [21] http://www.journal.univagora.ro/ [22] http://www.ici.ro/ici/homepage/filipf.html [23] http://www.academiaromana.ro/cv2006/birou_vice02filip.htm [24] http://romania-on-line.net/whoswho/filipfloring.htm ioan dziţac executive editor of ijccc agora university piata tineretului 8, 410526 oradea romania idzitac@univagora.ro mişu-jan manolescu managing editor of ijccc agora university piata tineretului 8, 410526 oradea romania rectorat@univagora.ro horea oros technical editor and editorial secretary of ijccc university of oradea universitatii st. 1, 410087, oradea romania horos@uoradea.ro emma văleanu webmaster and editorial secretary of ijccc agora university piata tineretului 8, 410526 oradea romania evaleanu@univagora.ro int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 813-818 software solution for monitoring street traffic and generating optimum routes using graph theory algorithms m. moise, m. zingale, a.i. condea maria moise, marilena zingale, alexandru ioan condea romanian american university, romania e-mail: maria.moise@rau.ro, zingale@un.org, zander.aq@gmail.com abstract: nowadays, big cities are facing traffic jams, generated by the great number of automobiles in regard to the limited infrastructure capacity. drivers are being presented with these problems: increased time spent between areas of interest, a higher risk of having an accident and of course stress suffering. in order to solve the urban traffic-jam problem a number of solutions have been developed. one of these is tomtom , which offers, free of charge, the possibility to generate navigation indications for a route. unfortunately, the traffic monitoring service is limited to a few countries, but some countries are not on their coverage area. at this time there isn’t a complete method to calculate the optimum route from a destination to another, taking into account street traffic. the only way to get relevant information is represented by the drivers personal expetraffic jams a series of solutiontraffic jams a series of solutionrience and the news on tv/radio. thus, the choice for generating an optimum route is up to the driver/client and, as a consequence, this method is not a scientific one, being certified only empirically. in this context, the paper presents a software solution, which determines the optimum route, taking street traffic into regard, thus contributing to a substantial reduction of time spent in traffic by drivers. the information needed for the application regarding the state of the street traffic can be supplied by the agents that check all available information sources(news bulletins, radio, police announcements) and the mobile agents that patrol the streets. the aim of this paper is to present a solution for determining the optimum route choice for cars. the solution is composed of two applications: first is mapmaker, which designs a street map. second is bestroute which can add traffic coefficients to streets and calculate the optimum route. in order to choose the best route two criteria are used: the minimum distance and the street traffic coefficients. the data regarding the streets map and the traffic situation is taken from a mysql database; the optimum route from destination a to the destination b is calculated using a modified dijkstra algorithm. keywords: optimum routes, graph theory, dijkstra algorithm. 1 introduction today most big cities are facing traffic jams that are generated by the exponential increase of automobiles versus the original limited traffic flow design. in order to solve the urban traffic jams a series of solutions have been proposed and used worldwide. one of these is tomtom , which offers free of charge the possibility to generate a navigation path on their website. unfortunately, the traffic monitoring service is limited to a few countries, and romania is not on their supported list. copyright c⃝ 2006-2010 by ccc publications 814 m. moise, m. zingale, a.i. condea in romania such a solution has not been developed yet; existing solutions in bucharest are limited to the synchronization of the traffic lights and the existence of a reduced number of intelligent traffic lights. at this time a complete solution to calculate the optimum route from a destination to another, with the traffic taken into account, does not exist. the only information available represents the personal experience and/or the news on tv or radio. thus calculating the optimum route is up to the driver(client) and as a consequence it is certified only empirically. in this context, the paper presents a software solution, which determines the optimum route, taking street traffic into regard, thus contributing to a substantial reduction of time drivers spend in traffic. the information needed regarding the state of street traffic can be acquired either by agents that check all the available information sources or by agents that patrol the streets. 2 solutions description the solution for determining the optimum route is composed of two applications. first is mapmaker a map designer with the ability to use a background satellite image for easier plotting. for example, it could use a selection of satellite images from bucharest, covering the doamna ghica area and the adjacent neighborhoods. after the background image is selected the map is designed node by node with the use of the mouse. the streets are made by connecting the desired nodes. the resulting map can be saved both on the local hard-disk and on an external mysql database. the second application is bestroute, used to set traffic coefficients and calculate optimal routes. the necessary data is taken from a mysql database. the application has two modes of usage: • the client mode, which is used to calculate the optimal route based on the selection of two nodes. the result is shown both graphically and in text mode; • the admin mode, which is used for altering the traffic coefficients of a street. in this mode, you can add, modify and delete user accounts. this mode also provides a set of reports about customers or streets. the bestroute application uses elements and algorithms from the graph theory. a modified dijkstra algorithm has been used in order to calculate the minimum distance path between two nodes of the graph. the features of the algorithm’s dijkstra are the following: • there are established a list of distances, a list of previous nodes, a list of visited nodes and a current node; • the values from the list of distances are initialized with an infinite value, excluding the home node, which is set with value "0"; • all values in the list of visited nodes are set with value "false"; • all values in the list of previous nodes are initialized with the value "-1"; • the home node is set as the current node; • the current node is marked as visited; • the distances are updated based on nodes that can be viewed immediately from the current node; • the current node is updated to the unvisited node, which may be visited by means of the shortest path from the home node; • to be repeated (from point f) until all nodes are visited. formalization of the dijkstra algorithm consists of: step 1. initialization of the initial peak having a value of 0: w(x0) = 0; step 2. setting up the lot a comprised of the initial node: a = x1; step 3. analysis of nodes outside the lot a, namely: software solution for monitoring street traffic and generating optimum routes using graph theory algorithms 815 i. if the nodes can be reached by direct arcs from nodes in a, then for these nodes, we calculate: w(xi) = min(w(xj + v(xj, xi)) for problems of minim (2.1) xj ∈ a ∃(xj, xi) and it is added to the lot a only that node for which the minimum value is obtained, then step 4 is initialized. step 4. analysis of a multitude: i. if xn ∈ a, then its value represents the value of the optimum value path from x1 to xn; in order to find this path we start backwards from the final node xn and we find the node xk1, xk2, ..., xkr q which form the path searched for, where xk1 = xn, xkr = x1, and each other index ki+1 is the one for which: w( ) + v(xki+1, xki) = w(xki); stop. ii. ifxn /∈ a, the algorithm is resumed from step 3. w( ) + v(xki+1, xki) = w(xki); stop. iii. if xn /∈ a, the algorithm is resumed from step 3. the application bestroute uses data from public sources and its own agents. on its execution the program queries the mysql database and retrieves the map and its traffic coefficients, then it shows a color coded visual representation of the traffic map. upon requesting a route from address a to address b a modified dijkstra algorithm is used. it is also possible to select whether one wants the fastest route (traffic wise) or the shortest route (geographically). this application also has the possibility to generate reports on customers (useful for the administrator) and on the state of the streets. the reports generated by the application can be exported in excel worksheets and/or pdf document format. for generating reports microsoft report viewer component within the net framework was used and the reports were created using the report wizard plus a manual tweak for better presentation of data. 3 solution output presentation 3.1 mapmaker in fig. 1 we have the main screen. figure 1: main screen of module mapmaker. figure 2: the menu background image. by clicking on file we can: • create a new map new; 816 m. moise, m. zingale, a.i. condea • save the existing map save; • open a saved map open; • save the map to the database save to db; • open a saved map from the database open from db. selecting a background image from the hard-disk is done by clicking on background image (fig. 2). to design the nodes, we use the buttons from fig.3, which enable: • add a new node to the map nod nou; • show details about a selected street detalii muchie; • delete a selected node sterge; • clear the map scale clear scara. figure 3: buttons for creating, modifying and deleting nodes and clearing the maps scale. also mapmaker uses a system which automatically determines the scale for the map. it is necessary to introduce the distance between nodes only the first time. the calculation is done by the ratio between the initially introduced distance and the actual pixel distance between the two points. 3.2 bestroute the applications main screen is illustrated in fig. 4. figure 4: options of the file menu. figure 5: options of the reports menu. by clicking on file we can download map and user data from the server or quit. by clicking on clienti while in administrator mode one can add new users, modify old ones, delete them or set whether a specific user is restricted or not. by clicking on reports (fig.5) one can request reports on clients, restricted clients and street traffic. on opening the application, the system displays the map in img. 6, and selecting the start node is illustrated in fig. 7. generating a non-optimized route in fig.8; after selecting the destination node the application calculates the shortest path available. optimized route provided by the application is illustrated in fig.9. software solution for monitoring street traffic and generating optimum routes using graph theory algorithms 817 figure 6: initial state of the map on opening the application. figure 7: selecting the start node. figure 8: image (red one) of nonoptimized route. figure 9: image of optimized route, enabling avoiding crowded streets. if the optimize option is checked the application will generate an optimum route to avoid heavy traffic areas. also a time estimate is offered. for calculating the optimal route, the following distance modifiers based on traffic coefficients were used: 1, 1.25, 1.66, 2.50, 5 and 999 for closed streets. to calculate the estimated time, the following maximum speeds were assumed: for excellent traffic conditions a speed of 50kph, reducing speed by 10kph to the minimum of 10kph for very bad traffic. thus, a relatively accurate time can be calculated for the generated route. for the best estimation possible, a interval of plus/minus 20% is assumed. on both generating options a street by street text solution is also supplied. 4 conclusions using such an application by drivers leads to avoiding stress and fatigue generated by traffic jam, thus reducing car crash risks. also, the application provides information on routes unknown to drivers thus leading to a better awareness of the city. implementing the application for a taxi or currier company offers an edge on competitors, generating a shorter delivery or reply time. on the whole, large-scale use of the application in partnership with the town hall and police may lead to general fluidization of traffic, equally improving the environment. 818 m. moise, m. zingale, a.i. condea bibliography [1] moise, m., zingale, m., condea, a., informatics application which determines the optimum routes for the cars, in proc. of the e-comm-line 2009 conference, section v 35, pp. 5. [2] moise, m. data base informatics systems, prouniversitaria publishing house, 2008, bucharest [3] *** http://msdn.microsoft.com microsoft developer network [4] *** http://stackoverflow.com/ stackoverflow [5] *** http://dev.mysql.com/usingmysql/dotnet/ documentation mysql int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 727-734 towards low delay sub-stream scheduling w. guofu, d. qiang, w. jiqing, b. dongsong, d. wenhua wu guofu, dou qiang, wu jiqing, ban dongsong,wenhua dou national university of defense technology school of computer science changsha, hunan, p.r.china e-mail: {gfwu,qdou,jqwu,dsban,whdou}@nudt.edu.cn abstract: peer-to-peer streaming is an effectual and promising way to distribute media content. in a mesh-based system, pull method is the conventional scheduling way. but pull method often suffers from long transmission delay. in this paper, we present a novel sub-stream-oriented low delay scheduling strategy under the push-pull hybrid framework. first the sub-stream scheduling problem is transformed into the matching problem of the weighted bipartite graph. then we present a minimum delay, maximum matching algorithm. not only the maximum matching is maintained, but also the transmission delay of each sub-stream is as low as possible. simulation result shows that our method can greatly reduce the transmission delay. keywords: p2p streaming, scheduling, sub-stream, weighted bipartite graph, matching 1 introduction the emerging peer-to-peer (p2p) systems have appeared to be the most promising driving force for video streaming over the internet. by distributing the workload to a large number of low-cost computing hosts such as pcs and workstations, one can eliminate the need for a costly centralized server and at the same time improve the system’s scalability. there are already commercial products emerging, e.g., pplive [1], coolstreaming [3]. any p2p streaming system consists of two distinct but related components: (i) an overlay construction mechanism, and (ii) a content scheduling mechanism. to improve the performance of p2p streaming systems, many studies focus on the overlay construction. however, the content scheduling mechanism also has greatly impaction on the performance. carefully designed scheduling mechanism could have a better tradeoff among maximum streaming rate, minimum transmitting delay and control overhead. the overlay construction falls into two categories: tree(s) and mesh. in the mesh overlay, the pull method which is very similar to that of bit-torrent protocol [2]is widely used. recent result [5]shows that the protocol of unstructured mesh overlay outperforms the traditional multi-tree approaches much in many aspects. several media content scheduling mechanisms for mesh-based system have been proposed. coolstreaming/donet [3] and chainsaw [4] proposes pull-based scheduling framework. jm li [6] designs a scheduling algorithm to manipulate the order of data blocks to improve the transmission efficiency in p2p streaming system. m zhang [7] defines priorities for different blocks according to their rarity property and their emergency property, and tries to maximize the average priority sum of each node. based on the traffic from each neighbor, a node in gridmedia [8] subscribes the pushing packets from its neighbors at the end of each time interval. pulsar [9] combines push-based operations along a structured overlay with flexibility of pull operations. lstreaming [10] uses sub-streams in the push-pull streaming system. copyright c⃝ 2006-2010 by ccc publications 728 w. guofu, d. qiang, w. jiqing, b. dongsong, d. wenhua this paper presents an effectual content scheduling strategy which can largely reduce the content transmission delay meanwhile remaining the main advantage of the pure pull method. first, the original stream is divided into k sub-streams, and each sub-stream has the same rate. a node requests one sub-stream instead of one content block from its neighbors. then the sub-stream scheduling problem is transformed into the matching problem of weighted bipartite graph. the well known hungarian algorithm which solves the maximum matching problem is ameliorated. not only maximum matching is reserved by the new improved algorithm, but also the transmission delay of each sub-stream is as low as possible. the main difference between our scheme and lstreaming is the choice of available neighbors. the following paper is organized as follows: section 2 describes our motivation. in section 3, we present our algorithm for the sub-stream scheduling problem. simulation result shows in section 4. finally, we conclude our work in section 5. 2 motivation 2.1 delay analysis of the pull-based scheduling strategy the main drawback of pull-based scheduling strategy is that content blocks suffer from long delay. now we give a quantitative analysis showing why this strategy resulting in long transmission delay. in such system, the media content is divided into equal size blocks, each of which has a unique sequence number. every node (including the source node) periodically broadcasts all of its neighbors a bit vector called buffer map (bm) which represents the availability of useful blocks in its buffer pool. according to the announcement, each node decides from which neighbor to ask for which blocks, and periodically sends requests to its neighbors for the desired blocks. when a neighbor receives the request, it puts the desired blocks into its output queue, waiting to send out. for the efficiency of information exchange, bm and requests will only be sent periodically so that dozens of packets can be mapped into a single packet. we denote the interval between two buffer map packets or two request packets as t. figure 1 shows a typical process that a content block goes from one node to a neighbor. at the time t1, a fresh block arrives in node a. because the bm packets will only be sent at the beginning of each time slot, the useful information will wait until the time t2, when a new time slot begins. after a period of time td1, at the time t3, the bm packet reaches at node b. time td1 contains two components: propagation latency and transmit latency. the propagation latency lies on the length of links between node a and node b, while the transmit latency lies on the length of packet and the available bandwidth. the width of the shadow represents the transmit latency. because the length of bm and request packets is small, we ignore the latency. at the time t3, node b would make a design whether or not to request the fresh block from node a. as the same reason, node b sends the request packet at the time t4. at the time t5, node a receives the request packet, and then it puts the fresh block to the output queue. after a queue delay tw, the fresh block is sent out. because the length of content block is large, we can’t ignore the transmit latency of the packet. at the time t7, the fresh block is received by node b. now we can compute the one hop delay, which is the interval between the time t1 and t7. apparently, tp and tr are uniform random variable on the length t of time slot, and they are independent. their average values are both t/2. we suppose the packet with largest waiting time will be sent first, the blocks before the time t1 reached at node a at the same time slot will be sent before the fresh block, so the queue delay tw is t −tp. thus, the average latency t1−delay for one packet in one hop can be computed as t1−delay = e[tp + td1 + tr + td2 + tw + td3] = 3t 2 + 3td + l u (1) towards low delay sub-stream scheduling 729 where td is the average end-to-end delay, and l is the length of content block, and u is the average upload bandwidth of nodes. figure 1: one hop latency 2.2 using sub-stream to reduce the one hop latency t1−delay we can reduce the latency by adopting a shorter cycle t ′, but this will bring in more information packets. meanwhile the three end-to-end delays can’t be avoidable. a naive solution is that when node a receives the fresh content block, it directly sends it to node b. in this case, the one hop latency is only td + lu . but node b may receive repeated blocks from different neighbors under blind packets scheduling. an efficient way is that node a sends specifically sub-stream(s) to node b, while other neighbors send another sub-stream(s) to node b. different sub-streams are not intersected. node b decides to subscribe which sub-stream from which neighbor, and requests for sub-stream(s) instead of content block(s). theoretically, node b requests for substream(s) only once, and then just waits to receive media content. figure 2 shows the creation figure 2: content blocks in different sub-streams figure 3: the information peerp collects of sub-streams. the original media content is divided into blocks with equal size, and each block has a unique sequence number, counting from number 1. suppose we divide the original stream into k sub-streams, then what content blocks each sub-stream has is expressly described in figure 2. which sub-stream a content block with sequence number m belonging to is determined by the following function f(m). f(m) = { m mod k if x mod k ̸= 0 k else (2) 3 sub-stream scheduling in our framework, participating peers adopt gossip protocol to self-organize into unstructured mesh overlay. in this section, we study the problem of sub-stream scheduling, that is to say a 730 w. guofu, d. qiang, w. jiqing, b. dongsong, d. wenhua node subscribe which sub-stream from which neighbor. we suppose in the initial period, the node uses pull-based method to get the content blocks. after that, push-based method works. 3.1 exchanging information peers periodically broadcast sub-stream information and available upload bandwidth to neighbors. the period can be long, because other cases may trigger a node to broadcast the information or send the information to chosen neighbors. when a node joins the system, all of its neighbors send information packets to it actively. the information includes the sub-streams the neighbor can provide {sij}, latency of each sub-stream from the source to the neighbor {hij} and the available upload bandwidth of the neighbor {ci}. sij =1 presents neighbori can provide sub − streamj, else sij = 0. hij presents the number of hops of sub − streamj from the source to neighbori. if sij = 0 then hij = +∞. ci is not the real bandwidth, but it presents the multiples of one sub-stream rate. for example, neighbori’s available upload bandwidth can support transmitting two sub-streams to local node, then ci = 2. after a short period, the local node gets information from all of its neighbors. suppose the original stream is divided into 4 sub-streams. figure 3 shows the information that peerp collects from all of its neighbors. the information on the left side of every connection presents the sub-streams neighbors can provide and their latency starting from the stream source node, while the number on the right side presents how many sub-streams the neighbor’s available upload bandwidth can support. for example, in figure 3, neighbor p1 can provide sub-stream 1, 2, 3 respectively, and the corresponding latency is 3, 4, 4 hops respectively. meanwhile the available bandwidth between p1 and p can support 2 sub-streams. 3.2 constructing weighted bipartite graph more than one neighbors can provide the same sub-stream, so we should make a decision which neighbor is more suitable as a provider for one sub-stream. here we transform the substream scheduling problem into the matching problem of weighted bipartite graph. first, we construct the weighted bipartite graph, according to the information collecting from neighbors. the weighted bipartite graph can be expressed by a quadruple group g = (x, y, e, w), where x presents the set of sub-stream providers, y presents the set of sub-streams, e presents the set of connections between x and y, and w presents set of weight on each connection. there is at most one connection between any two elements in x and y respectively. so if a neighbor’s upload bandwidth can support several sub-streams, we should characterize this situation in our bipartite graph. here, we allow same elements to coexist in set x to deal with this situation. if neighbori’s available upload bandwidth can support c sub-streams, then we copy c same elements of neighbori into set x. when all neighbors are put into set x, we complete the construction of set x. next we build the connections between x and y. if any element x∈ x can provide sub-stream y∈ y, then a connection element e = (x, y) is added into connection set e. the corresponding weight of connection e is the hops of sub-stream y from stream source to provider x. we use the example in figure 3 to illustrate the construction of weighted bipartite graph. neighbor p1’s available upload bandwidth can support 2 sub-streams, so there are 2 p1 elements in the set x, as shown in figure 4. neighbor p1 can provide sub-stream 1, 2, 3 respectively, and the corresponding latency is 3, 4, 4 hops respectively. accordingly, in the weighted bipartite graph, both of the two provider p1 have connections with sub-stream 1, 2, 3 respectively, and the weight on each connection is 3, 4, 4 respectively. the whole weighted bipartite graph transformed from figure 3 is shown in figure 4. the number on each edge presents the weight of each edge. towards low delay sub-stream scheduling 731 3.3 minimum delay, maximum matching algorithm (mdmma) after the weighted bipartite graph has been constructed, we try to find the best matching. here we mainly consider two targets: first, more sub-streams should be transmitted in parallel, because this can make use of peers’ upload bandwidth as much as possible, speeding up the transmission of the media content; second, hops of each sub-stream from source to the node should be as little as possible, because this can lead to lower delay. existent matching algorithms of bipartite graph only care one of the two targets. in this paper, we enhance the hungarian algorithm which is the well known algorithm to solve the maximum matching of bipartite graph. the ameliorated hungarian algorithm first insures that the matching is the maximum matching, and then it tries to find the lowest latency matching. the algorithm in detail is described in table 1. the main changes occur in step 1.2 and step 1.4. in step 1.2, when there are several candidate "uncheck" providers, we choose the provider whose connected edge has the minimum weight. in step 1.4, to find the augment chain, we start from the vertex whose connected edge has the minimum weight, making sure that the edge with the lowest weight is put into the matching. although the running time of the algorithm is o(n3), n is usually is less than 30, so the peer can find the appropriate neighbors quickly. table 1 min delay max matching algorithm min delay max matching input g = (x, y, e, w) output m 0 set m = ϕ , and set all vertexes in g with no label. 1.1 let s = {x/x ∈ x, and exist y ∈ y, (x, y) ∈ m}. if x/s = ϕ , then finish; else label every elements x ∈ x/s with "-1" and "uncheck". 1.2 if all x ∈ x is checked, finish; else choose the "uncheck" xi whose connected edge has the minimum weight. 1.3 if all y ∈ {y/y ∈ y, and (xi, y) ∈ e} have been labeled, then label xi with "checked", goto step 1.2. 1.4 let p = {y/y ∈ y, and (xi, y) ∈ e, and y is not labeled}, label all y ∈ p with "i". let q = {y/y ∈ y, and exist x ∈ x, (x, y) ∈ m}. if p/q ̸= ϕ, then choose yj ∈ p/q whose connected edge has the minimum weight, goto step 2; else for every yj ∈ p, label xp((xp, yj) ∈ m) with "j" and "unchecke", label xi with "checked", goto step 1.2. 2 find the augment chain c starting from yj until found x(∈ s) with label "-1", m = m ⊕ c, cancel labels of all vertex in g, goto step 1.1. figure 4: weighted bipartite graph figure 5: min delay, max matching the ameliorated hungarian algorithm is heuristic. it can insure that the matching is the maximum matching, but it can’t insure that the matching is minimum delay matching theoretically. applying the min delay max matching algorithm to the weighted bipartite graph in figure 4, we get the following matching as shown in figure 5. according to the result, neighbor p1 provide sub-stream 1, 2 to peer p, and neighbor p3 provides sub-stream 3, 4 to peer p 732 w. guofu, d. qiang, w. jiqing, b. dongsong, d. wenhua respectively. 3.4 broadcasting new sub-stream information when a node decides to subscribe which sub-stream from which neighbor, it sends sub-stream request to the appointed neighbor. if the neighbor rejects the request, it cuts the matching connections in the weighted bipartite graph, and finds another provider with lowest latency. it requests again until it subscribe the sub-stream successfully or there is no useful connection. then it broadcasts the subscribed sub-streams to its neighbors. the hop of each sub-stream in the information packets is adding the accepted hops by 1. when a neighbor accepts the request, it sends out the content blocks belonging to the desired sub-stream in the push window. if there is sub-stream(s) which can’t find proper provider, the node should find more new neighbors. 3.5 other discussion monitor neighbor’s available upload bandwidth. we measure the interval of consecutive packets of the same sub-stream monitor neighbor’s upload bandwidth. if the interval remains changeless (or change slightly), we suppose the bandwidth of the neighbor is affluent. if the interval changes greatly, we suppose the bandwidth of the neighbor is deficient. the rational reason behind this conclusion is that: if the bandwidth is affluent, there will no queue in the neighbors, little burst will happen, so the interval is changeless; if the bandwidth is deficient, burst will often happen, which leading to changing intervals. request missing blocks from neighbors with affluent bandwidth. packets in transmission may be lost. when the missing content blocks enter into the pull widow, we request the block explicitly from the neighbor with affluent available upload bandwidth. sub-stream re-scheduling. due to network dynamics, neighbors’ upload capacity may fluctuate. when a neighbor is not competent as a sub-stream provider, a new provider should be chosen. also we choose the appropriate provider from the neighbors with affluent. the neighbor who can provide sub-stream with fewer hops has higher priority. 4 performance evaluation 4.1 simulation settings we use the random model of gt-itm [11] to generate the underlying topology with 5000 routers. each link transmitting delay is set with a uniform random variable within [10ms, 100ms]. we randomly choose 2000 routers and connect one peer with one router. a peer randomly selects 10 to 15 other nodes as its neighbors to construct the mesh overlay. we set the playback rate of the original stream is 512kbps, and divide the stream into 32 sub-streams, each sub-stream with rate of 16kbps. the size of each content block is 1k bytes. the upload capacity of video source is 5 mbps. all peers are assumed to be dsl users with three type of available upload bandwidth of 1 mbps, 512 kbps and 256 kbps. these three types of peer represent 15%, 60% and 35% of the total peers. we suppose peer’s download capacity is infinite. we run the simulation in the environment of matlab7.0. 4.2 simulation result here we compare our algorithm mdmma with the pure pull-based method. we mainly care about the transmission delay of the stream. figure 6 shows the cumulative distribution function of the content block transmission delay of the two methods in steady state. we can see that our towards low delay sub-stream scheduling 733 figure 6: content block transmission delay cdf algorithm mdmma reduce the transmission delay greatly. for example, when 90% of the nodes get the content blocks, it only costs less than 50 seconds in our method, while in the push-based method, it costs more than 80 seconds. we can conclude that our proposed method is much better than pure pull-based method in the delay performance. 5 conclusion p2p streaming system consists of two components: (i) overlay construction mechanism, and (ii) content scheduling mechanism. studies show that mesh-based system is better than tree-based system especially in high churn rate of node. in this paper, we present new scheduling mechanism to improve the performance of mesh-based p2p streaming systems. our contribution includes two folds: first, we transform the sub-stream scheduling problem into the matching problem of the weighted bipartite graph; second, we present a minimum delay, maximum matching algorithm. not only the maximum matching is maintained, but also the transmission delay of each sub-stream is as low as possible. simulation shows that our method can reduce the transmission delay greatly. bibliography [1] pplive, http://www.pplive.com/. [2] bittorrent, http://bitconjuer.com/. [3] x.zhang, j.liu, and et al. "coolstreaming/donet: a data-driven overlay network for efficent media streaming". in proc. of infocom 2005, us, pp.2102-2111, mar.2005. [4] v.pai, k.kumar, and et al. "chainsaw: eliminating trees from overlay multicast". peer-topeer system ˘ô, pp.127-140, nov.2005. [5] n.magharei, r.rejaie, and y.guo. "mesh or multiple-tree: a comparative study of p2p live streaming services". in proc. of infocom 2007, usa, pp.1424-1432, may.2007. [6] jm.li, c.k.yeo, and b.s.lee. "peer-to-peer streaming scheduling to improve real-time latency". in proc. of multimedia and expo, china, pp.36-39, jul.2007. [7] m.zhang, y.q.xiong, and et al. "optimizing the throughput of data-driven peer-to-peer streaming". ieee transactions on parallel and distributed systems, vol.20, no.1,pp.97110, may.2008 734 w. guofu, d. qiang, w. jiqing, b. dongsong, d. wenhua [8] m.zhang, j.g.luo, and et al. "a peer-to-peer network for live media streaming using a push-pull approach". in proc. of the 13th annual acm internatioan conference on multimedia, singapore, pp.287-290, 2005. [9] t.locher, r.meier, and et al. "push-to-pull peer-to-peer live streaming". in proc. of disc 07, germany, pp.388-402, 2007. [10] z.j.li, y.yu, and et al. "towards low redundancy push-pull p2p live streaming". in proc. of of acm sigcomm 2008 demo, usa, aug. 2008. [11] k.c.ellen, w.zegura and s.bhattacharjee. "how to model an internetwork". in proc. of infocom 1996, usa, pp.594-602, 1996. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 149-160 a neural approach of multimodel representation of complex processes nesrine elfelly, jean-yves dieulot, pierre borne abstract: the multimodel approach was recently developed to deal with the issues of complex processes modeling and control. despite its success in different fields, it still faced with some design problems, and in particular the determination of the models and of the adequate method of validities computation. in this paper, we propose a neural approach to derive different models describing the process in different operating conditions. the implementation of this approach requires two main steps. the first step consists in exciting the system with a rich (e.g. pseudo random) signal and collecting measurements. these measurements are classified by using an adequate kohonen self-organizing neural network. the second step is a parametric identification of the base-models by using the classification results for order and parameters estimation. the suggested approach is implemented and tested with two processes and compared to the classical modeling approach. the obtained results turn out to be satisfactory and show a good precision. these also allow to draw some interpretations about the adequate validities’ calculation method based on classification results. keywords: complex processes, modeling, multimodel approach, kohonen map 1 introduction nowadays, technological developments increase the complexity of systems. this complexity can be caused by non linearity, non stability, wide operating domain, variations of system parameters or external perturbations. as a result, it is often difficult or even impossible to propose a simple model which could reckon with the whole process complexity by using physical laws. consequently, it is very useful to focus on advanced and practical approaches in order to handle this complexity. the multimodel approach has recently been developed and applied in several science and engineering domains. it was proposed as an efficient and powerful method to cope with modeling and control difficulties when complex non linear and/or uncertain processes are concerned. the multimodel approach supposes the definition of a set of models. then, it becomes possible to replace the unique model by a set of simpler models thus making a so-called models’ base. each model of this base describes the behavior of the considered process at a specific operating point. the multimodel approach objective is to decrease the process complexity by its study under certain specific conditions. several researchers have been interested in multimodel analysis and control approaches [7, 8, 19] and many applications have been proposed in different contexts. in spite of its success in many fields (academic, biomedical, . . . ), the multimodel approach remains confronted with several difficulties such as the calculation of models’ validities, the adequate technique of fusion or switching between models as well as the determination of the models’ base. indeed, in 1985, takagi and sugeno [21] suggested a fuzzy process representation by the contribution of local models. this approach has been applied in many fields of activities but often faced problems related to the lack of information about the system structure or the incertitude of its parameters. besides, it can sometimes lead to a large number of models which generates a high computational burden when designing the control algorithm. this has led several researchers to develop other approaches in order to cope with these difficulties. for uncertain complex systems with bounded parameters, some approaches were developed for the determination of the models’ base [9, 11]. an extension for uncertain discrete systems has been proposed by mezghani [13]. the case of multivariable systems was addressed by raissi [16]. the approaches, copyright © 2006-2008 by ccc publications 150 nesrine elfelly, jean-yves dieulot, pierre borne previously named, require the knowledge of parameters’ variations limits, which is generally not possible, in particular in case of uncertain systems for which parameters variations domains are unknown or ill-known. other related studies [12, 19] suggest the system be described by a set of local models often defined by using a reference model and some linearization methods. in another context, both fuzzy logic and neural networks were carried out for the multimodel control [1, 18]. an idea was to use neural approaches for complex systems modeling. these methods have the advantage of requiring very little information about the considered process and are useful for uncertain systems. within this context, very few studies [2, 3, 15, 17, 20, 22] were proposed but they don’t address strongly non-linear systems. in this paper, a neural approach for the determination of the models’ base for uncertain complex systems is proposed, in particular those which exhibit strong non-linearities. the proposed approach requires a priori little knowledge about the considered system; only input/output information can be sufficient. in the following section, the different steps of the proposed modeling approach are detailed. two simulation examples and some interpretations are then presented. the evaluation of the suggested modeling strategy is the topic of the last section. we finish the present paper by a conclusion. 2 complex systems’ modeling: neural approach in this section, a models’ base-determination approach for uncertain complex systems is described. this approach requires neither a global model definition nor the knowledge of parameters variations domains; only input/output information are needed. the suggested approach allows the generation of the base-models’ structure and parameters. the application of this approach requires first to classify the numerical data by exploiting a kohonen map and to determine the number of models. secondly, a structural and parametric identification of different base-models is carried out by using classification results. then, the validity index of each model is computed. finally, the multimodel output is obtained by the fusion of the models’ outputs weighted by their validity indexes. 2.1 classification of the numerical data by using a kohonen map as a first step, the output or input/output measurements collected from the considered process have to be classified in order to identify operating clusters from which the models’ base will be deduced. this classification is carried out by using a self-organizing kohonen map. self-organizing kohonen map methodology the self-organizing map (som) represents a specific kind of neural networks. in its original form, the som was invented by the founder of the neural networks research center, professor teuvo kohonen in 1981-82. the special property of the som is that it effectively creates spatially organized internal representations of various features of input signals and their abstractions [10]. the schematic representation of this network is given in figure 1. neurons in the target layer are ordered and correspond to cells of a bi-dimensional map. every neuron of the input layer is connected to every neuron of the output layer. the classification strategy consists in applying the kohonen rule. this rule is characterized by an unsupervised competitive learning where a competition takes place before the modification of the network-weights. only the neurons which win the competition have the right to change their weights. the kohonen rule works as follows: a neural approach of multimodel representation of complex processes 151 figure 1: kohonen map weights are initialized to random values; an input vector is presented to the network; the distance between the input vector and weights connecting inputs to each output neuron is computed; the neuron corresponding to the smallest distance, i.e. the nearest to the input vector, wins the competition, weights connecting inputs to this neuron are modified accordingly [5]. this procedure is repeated several times until weights stabilize. at the end of the learning stage, the representative vectors of different clusters and their centers are obtained. determination of the operating-system clusters the determination of the operating-system clusters requires firstly that the considered system be excited. secondly, the number of clusters has to be determined. the third step consists in classifying data by using a kohonen neural network. the first step consists in applying an input signal and then collecting (output or input/output) measurements that will be used for classification. the excitation signal must be rich enough and persistently exciting with well-chosen parameters in order to allow a full excitation of the operating dynamics, and to take in consideration the non-linear aspect of the considered process. for the second step, the method proposed by talmoudi has been adopted for the determination of the adequate number of clusters which corresponds to the number of models [22]. within this scope, a kohonen network, with an important number n of neurons in the output layer, has been considered. at the end of the learning procedure, if the repartition of classes is not good, the clusters i having a number of elements nci verifying the relation (1), will have to be removed [22]. nci ≤ 1 2 nh n , (1) where nh represents the number of the considered measures. else, the number of neurons in the output layer is increased and training is restarted. the same procedure is repeated over and over until the satisfactory number of clusters is obtained. afterwards, the data classification is tackled by using a kohonen network for which the number of neurons in the input layer equals the number of system-variables to be considered and the number of neurons in the output layer equals the number of clusters determined with the help of the method previously described. the classification results will then be exploited for the identification of the different base-models. 2.2 parametric identification of the base-models in this section, the orders of the models are estimated in a first step. the chosen method is the socalled instrumental determinants’ ratio-test. this method is mainly based on the conditions concerning 152 nesrine elfelly, jean-yves dieulot, pierre borne a matrix called "information matrix" which contains the input/output measurements [4]. this matrix is described as follows: qm = 1 nh nh ∑ k=1   u(k) u(k + 1) u(k −1) ... u(k −m + 1) u(k + m)   [ y(k + 1) u(k + 1) ··· y(k + m) u(k + m) ] , (2) where nh is the number of observations. the instrumental determinants’ ratio (rdi) is given by: rdi(m) = ∣∣∣∣ det(qm) det(qm+1) ∣∣∣∣ . (3) for every value of m, the determination procedure of the order consists in building the matrices qm and qm+1 and in evaluating the ratio rdi(m), the retained order m is the value for which the ratio rdi(m) quickly increases for the first time. as a second step, the parametric identification issue consists in calculating the values of the parameters of the corresponding model-equation, given several experimental measures which describe the dynamic behavior of the system. as previously mentioned, the data classification gives a certain repartition of clusters. for each cluster, input/output measurements are collected. these measurements allow the identification of the corresponding model. for this, the recursive least-squares method (rls) [4] was applied to achieve the parameters estimation. 2.3 computation of validities the validity coefficient is a number belonging to the interval [0 1]. it represents the relevance degree of each base-model calculated at each instant. in literature, several methods have been proposed to deal with the validity issue. in our study, the residues’ approach was adopted for the calculation of validities. this method is based on the distance measurement between the process and the considered model. for example, the residue can be given by the following expression: ri = |y−yi| i = 1, . . . , n (4) where: n: number of base-models; y: process output; yi: output of the model mi. if this residue value is equal to zero, the corresponding model mi perfectly represents the process at that time. on the contrary, a non null value translates the fact that the model mi represents the system partially. the normalized residues are given by: r′i = ri ∑nj=1 r j . (5) within the context of the residues’ approach, several methods have been proposed for the calculation of validities [6, 13, 14]. only two methods will be considered: the simple and the reinforced validities. the validities are given by: vi = 1−r′i . (6) the simple and reinforced validities are defined by using the following formulas. a neural approach of multimodel representation of complex processes 153 simple validities: the normalized simple validities are defined so that their sum must be equal to 1 at each time: vsimpi = vi n −1 . (7) reinforced validities: for this type of validities, the reinforcement expression is introduced as: v ′ren f i = vi n ∏ j =1, j 6=i (1−v j) . (8) the normalized reinforced validities could be written as follows: vren fi = v ′ren f i ∑nj=1 v ′ren f j . (9) 2.4 computation of the multimodel output the multimodel output is calculated by a fusion of the models’ outputs weighted by their respective validity indexes, as illustrated by the following expression: ymm(k) = n ∑ i=1 yi(k) vi(k) . (10) vi(k) could be a simple or a reinforced validity for which ∑ni=1 vi(k) = 1. 3 simulation examples in order to underline the interest and the performance of the proposed approach, some simulation examples are carried out. 3.1 example 1: second order discrete system the considered system is a complex discrete system whose evolution is described by the following equation: y(k) = −a1(k) y(k −1)−a2(k) y(k −2) + b1(k) u(k −1) + b2(k) u(k −2) . (11) the variation laws of different parameters of the process are given by: a1(k) = 0.04 sin (0.035k)−0.8 , a2(k) = 0.005 sin (0.03k) + 0.1 , (12) b1(k) = 0.02 sin (0.03k) + 0.5 , b2(k) = 0.01 sin (0.035k) + 0.2 . (13) first, the system is excited by a uniform random signal u(k ). then, the measurements y(k ) and y(k−1) are collected at different instants. the adequate number of clusters determined by using the method described in paragraph 3.1.2, is equal to three. the numerical data are fed into a kohonen network which presents an input layer with two neurons and three neurons in the output layer. the classification results are given in figure 2. from each of the three data sets relative to the various clusters, the orders and the parameters of the transfer functions relative to the three base-models are estimated. figure 3 shows the evolutions of the rdii(m) for the three models. 154 nesrine elfelly, jean-yves dieulot, pierre borne 2.5 3 3.5 4 4.5 2 2.5 3 3.5 4 4.5 y(k−1) y (k ) clusters’ centers figure 2: classification results 1 2 3 4 0 0.5 1 1.5 2 2.5 x 10 5 rdi 1 (m) 1 2 3 4 0 2 4 6 8 x 10 4 rdi 2 (m) 1 2 3 4 0 1 2 3 4 x 10 4 rdi 3 (m) m 1 =2 m 2 =2 m 3 =2 figure 3: evolutions of the rdi for the three base-models it appears clearly that the estimated orders of the three models are equal to two. this result is predictable since the considered system is a second order one. the application of the recursive leastsquares method allows us to write the following transfer functions: f1(z −1) = 0.33549 z−1 −0.047793 z−2 1−0.83697 z−1 −0.039754 z−2 , (14) f2(z −1) = 0.41086 z−1 −0.021659 z−2 1−0.8633 z−1 −0.055068 z−2 , (15) f3(z −1) = 0.36985 z−1 −0.0079934 z−2 1−0.9234 z−1 −0.060727 z−2 . (16) in order to evaluate the obtained global model, a validation step is worked out where other inputs which are different from those used for classification are fed into the system. then, the real and the multimodel outputs are compared. let us consider the following input sequence: u(k) = 1 + sin (0.08k) . (17) the validation results are given in figures 4 and 5. y: real output of the system. ymmr, ymms: multimodel outputs obtained by using respectively the methods of reinforced and simple validities. ymmr (k) = n ∑ i=1 yi(k) v ren f i (k) , ymms (k) = n ∑ i=1 yi(k) v simp i (k) . (18) er, es: relative errors between the real and the multimodel outputs. er(k) = ∣∣∣∣ y(k)−ymmr (k) y(k) ∣∣∣∣ , es(k) = ∣∣∣∣ y(k)−ymms (k) y(k) ∣∣∣∣ . (19) a neural approach of multimodel representation of complex processes 155 0 100 200 300 400 500 0 1 2 3 4 5 6 time y (t ), y m m r( t) , y m m s (t ) ymm s (t) y mm r (t) y(t) figure 4: real and multimodel outputs 0 100 200 300 400 500 0 5 10 time e r( t) , e s (t ) e s (t) e r (t) figure 5: evolutions of the relative errors it can be seen that the multimodel output, obtained by the fusion of the base-models’ outputs weighted by the reinforced validities, follows the real output with a negligible error (er(t)). this error is more important when applying the simple validities method (es(t)). this allows to conclude that, for this kind of system, the reinforced validities method is more appropriate than the simple validities one. 3.2 example 2: second order continuous system with input/output-dependent parameters as a second simulation example, we consider the system whose evolution is described by the following equations: a0y + a1ẏ + ÿ = u + bu̇ , (20) a0(y) = 0.3 + sigm(y−2) , a1(y) = sat(y2) , b(u) = sat(u) , (21) sigm is the sigmoid function; sat is the saturation function. the considered system is complex and strongly non-linear with parameters being functions of both the input and the output, which makes the modeling task difficult. the chosen excitation signal (figure 6) is a sine curve distorted by a random uniform signal since this input is richer than a simple random signal and allows considering the complex and non-linear aspects of the system. it is worthy to note that signal parameters (frequency, amplitude) need to be adjusted in order to obtain good results. 0 2 4 6 8 10 −2 −1 0 1 2 time u (t ) figure 6: evolution of the excitation signal moreover, in order to describe the system dynamics, the number of variables used for classification is increased. in fact, not only the output data y(k ) and y(k − 1) are considered but also the input data 156 nesrine elfelly, jean-yves dieulot, pierre borne u(k − 1). after generating the output, a sampling of the input and output signals followed, with an adequate sampling period, in order to collect the different measurements: y(k ), y(k−1), and u(k−1). once the number of clusters determined, the numerical data are presented to a kohonen network owning three neurons in both input and output layers. at the end of the learning procedure, three data sets (figure 7) are obtained, each of which being used for the identification of the corresponding model. −0.5 0 0.5 1 1.5 2 −1 0 1 2 −2 −1 0 1 2 y(k−1)y(k) u (k − 1 ) clusters’ centers figure 7: three data sets relative to the different clusters the application of the instrumental determinants’ ratio-test method allows us to determine the three models’ orders which are respectively: two, three and two. the corresponding transfer functions are given by the following expressions: f1(z −1) = 0.058303 z−1 + 0.052302 z−2 1−0.43246 z−1 −0.45748 z−2 , (22) f2(z −1) = −0.023815 z−1 + 0.0013593 z−2 + 0.031481 z−3 1−0.68802 z−1 −0.24025 z−2 −0.072128 z−3 , (23) f3(z −1) = 0.12995 z−1 −0.014359 z−2 1−0.64023 z−1 −0.37958 z−2 . (24) the application of the following input sequence is the purpose of the validation step: u(k) = 1 + sin (k) . (25) the validation results are illustrated by the figures 8 and 9. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 time y (t ), y m m r( t) , y m m s (t ) ymm s (t) y(t) ymm r (t) figure 8: real and multimodel outputs 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 time e r (t ), e s( t) e s (t) e r (t) figure 9: evolutions of the relative errors contrary to the first example, the results obtained by the application of the simple validities’ method are much better than those given by the reinforced validities’ method. in fact, the figures 8 and 9 show that the multimodel output ymms (t), deducted by fusion of the base-models’ outputs weighted by the simple validities, follows almost perfectly the real output with an error es(t) nearly null compared to the a neural approach of multimodel representation of complex processes 157 error er(t) which is relatively important. in order to give prominence to the capacity of the identified models to reproduce the operating system in different domains, let us consider another input sequence given by: u(k) = 1.2 + 1.5 sin (2k) . (26) the multimodel output is generated by application of the simple validities’ method. the result is given in figure 10. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 time y( t), y m m s(t ) y mm s (t) y(t) figure 10: real and multimodel outputs (second validation) 3.3 interpretations referring to the obtained simulation results, it can be noticed that the application of the suggested approach allows a good modeling of the considered systems. we can also make an important interpretation about the use of the validities’ calculation methods. as remarked before, in some cases simple validities give better results and in other cases it is preferable to use reinforced validities. so, more simulations and observations were worked out to conclude that the choice of the validities’ calculation method depends on the classification results i.e. the clusters structure and repartition. thus, it can be noted that when there are several variations in the same cluster and when an overlapping between clusters occurs, which is the case in the second simulation example (figure 7), it is worth to use the simple validities’ method since it takes account of different models’ outputs refering to the expression (7). in this case, no model could represent ideally the process at any time. but when the clusters present very few variations and are well separated (figure 2), the reinforced validities’ method is better-adapted. the application of this method, thanks to the reinforcement expression (8), promotes the contribution of the most dominant model which represents at best the process behavior. 4 evaluation of the suggested modeling strategy in order to highlight the interest and the performance of the proposed modeling strategy, the classical modeling approach involving the identification of a global model was carried out. then, the results given by the suggested approach were compared to those given by classical modeling strategy. let us consider the second simulation example described by the equations (20) and (21) and the excitation signal given by figure 6. by using the instrumental determinants’ ratio-test method for the estimation of the order and the recursive least-squares method for the parametric identification, the transfer function f(z−1) of the global model is given by the following expression: f(z−1) = 0.03601 z−1 + 0.0035236 z−2 1−0.55726 z−1 −0.42595 z−2 . (27) by using the same numerical data, the classification and the identification steps give the three models described by equations (22), (23) and (24). the input sequence given by the equation (25) was applied 158 nesrine elfelly, jean-yves dieulot, pierre borne again. figure 11 represents the evolutions of the real, the multimodel and the global model outputs. the multimodel output is obtained by fusion of the models’ outputs weighted by their simple validities degrees calculated at each instant. 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 3 time y( t), y m m s(t ), y g (t) y g (t): global model output y(t): real output y mm s (t): multimodel output figure 11: evolutions of the real, multimodel and global model outputs the adopted multimodel approach offers a very satisfactory precision compared to the case of the classical modeling approach based on the unique global model. 5 conclusion in this paper, a neural approach of multimodel representation is proposed. this approach is applicable when dealing with complex, strongly non-linear and uncertain processes. it allows the determination of the models’ base by using a kohonen network and two methods of structural and parametric identification. the different steps were detailed. the multimodel output is obtained by using the technique of fusion and the adequate validities’ computation method. the suggested approach has been implemented and tested for different complex systems. simulation results, two of which were described in this paper, prove the efficiency and the precision of the proposed modeling strategy and show that the method works well with various processes even when highly complex. some interpretations have been made about the choice of the adequate validities’ calculation method to be applied. furthermore, in order to demonstrate the performance and the relevance of the suggested approach, a comparison with the classical modeling approach has been made. bibliography [1] m. a. al-akhras, g. m. aly, r. j. green, neural network learning approach of intelligent multimodel controller, iee proceedings on control theory and applications, vol. 143, pp. 395-400, 1996. [2] i. s. baruch, r. l. beltran, j-l. olivares, r. m. garrido, a fuzzy-neural multi-model for mechanical systems identification and control, mexican international conference on artificial intelligence n. 3, vol. 2972, pp. 774-783, 2004. [3] i. s. baruch, f. thomas, j-m. flores, e. gortcheva, a multimodel recurrent neural network for systems identification and control, ieee international joint conference on neural networks, vol. 2, pp. 1291-1296, 2001. [4] r. ben abdennour, p. borne, m. ksouri, f. m’sahli, identification et commande numérique des procédés industriels, editions technip, paris, france, 2001. a neural approach of multimodel representation of complex processes 159 [5] p. borne, m. benrejeb, j. haggège, les réseaux de neurones, editions technip, paris, france, 2007. [6] f. delmotte, l. dubois, p. borne, a general scheme for multi-model controller using trust, mathematics and computers in simulation, vol. 41, pp. 173-186, 1996. [7] a. el kamel, m. ksouri-lahmari, p. borne, contribution to multimodel analysis and control, studies in informatics and control, vol. 9, pp. 29-38, 2000. [8] t. a. johansen, b. a. foss, editorial: multiple model approaches to modelling and control, international journal of control, vol. 72, pp. 575, 1999. [9] z. kardous, a. el kamel, n. ben hadj braiek, p. borne, on the quadratic stabilization in discrete multimodel control, ieee conference on control applications, vol. 2, pp. 1398-1403, 2003. [10] t. kohonen, the self-organizing map, ieee proceedings, vol. 78, pp. 1464 1480, 1990. [11] m. ksouri-lahmari, p. borne, m. benrejeb, multimodel: the construction of model bases, studies in informatics and control, vol. 3, pp. 199-210, 2004. [12] d. j. leith, w. e. leithead, analytic framework for blended multiple model systems using linear local models, international journal of control, vol. 72, pp. 605-619, 1999. [13] s. mezghani, a. el kamel, p. borne, multimodel control of discrete systems with uncertainties, international journal of studies in informatics and control, 2000. [14] k. s. narendra, j. balakrishman, adaptative control using multiple models, ieee transactions on automatic control, vol. 42, pp. 171-187, 1997. [15] j. c. principe, l. wang, m. a. motter, local dynamic modeling with self-organizing maps and application to nonlinear system identification and control, ieee proceedings, vol. 86, pp. 22402258, 1998. [16] t. raissi, a. el kamel, w. byrski, p. borne, multimodel analysis and control of multivariable systems, ieee international conference on systems man and cybernetics, vol. 1, pp. 640-645, 2001. [17] m. ronen, y. shabtai, h. guterman, hybrid model building methodology using unsupervised fuzzy clustering and supervised neural networks, biotechnology and bioengineering, vol. 77, n. 4, pp. 420-429, 2002. [18] n. sadati, a. talasaz, robust fuzzy multimodel control using variable structure system, ieee conference on cybernetics and intelligent systems, vol. 1, pp. 497-502, 2004. [19] r. schorten, r. marry-smith, r. bjorgan, h. gollee, on the interpretation of local models in blended multiple model structures, international journal of control, vol. 72, pp. 620-628, 1999. [20] r. r. selmic, f. l. lewis, multimodel neural networks identification and failure detection of nonlinear systems, ieee conference on decision and control, vol. 4, pp. 3128-3133, 2001. [21] t. takagi, m. sugeno, fuzzy identification of systems and its applications to modelling and control, ieee transactions on systems man and cybernetics, vol. 15, pp. 116-132, 1985. [22] s. talmoudi, r. ben abdennour, a. kamel, p. borne, a systematic determination approach of a models base for uncertain systems: experimental validation, ieee international conference on systems man and cybernetics, vol. 6, pp. 73-81, 2002. 160 nesrine elfelly, jean-yves dieulot, pierre borne nesrine elfelly1, jeans-yves dieulot2, pierre borne3 1université des sciences et technologies de lille (ustl), 2ecole polytechnique de lille, 3ecole centrale de lille (ec lille) laboratoire d’automatique, génie informatique et signal ecole centrale de lille, cité scientifique bp 48 59651 villeneuve d’ascq cedex, france e-mail:nesrine.elfelly@ed.univ-lille1.fr,jean-yves.dieulot@polytech-lille.fr,pierre.borne@ec-lille.fr received: december 4, 2007 nesrine elfelly was born in monastir, tunisia in 1982. she received the engineer diploma degree in computer engineering from the "ecole nationale d’ingénieur de tunis" (tunisia) in 2006. she obtained the master of automatic control, computer engineering and image processing from the "ecole centrale de lille" (france) in 2007 and the master of automatic control and signal processing from the "ecole nationale d’ingénieur de tunis" in the same year. she is currently a phd student in automatic control and applied computing within the framework of lagisustl and lara-enit cooperation. her current research interests are the applications of neural approaches for complex systems analysis and control. jean-yves dieulot graduated from french ecole d’ingénieurs institut industriel du nord in 1990, and obtained a phd from the university of lille in 1993. he is currently associate professor at ecole polytechnique universitaire de lille, france, and with lagis (laboratory of automatic control). his main interests are in fuzzy, nonlinear and robot control. pierre borne was born in corbeil, france in 1944, he received the master degree of physics in 1967, the masters of electronics, of mechanics and of applied mathematics in 1968. the same year he obtained the diploma of "ingénieur idn" (french "grande ecole"). he obtained the phd in automatic control of the university of lille in 1970 and the dsc in physics of the same university in 1976. he became doctor honoris causa of the moscow institute of electronics and mathematics (russia) in 1999, of the university of waterloo (canada) in 2006 and the polytechnic university of bucharest (romania) in 2007. he is author or coauthor of about 200 journal articles and book chapters, of 35 plenary lectures and of about 250 communications in international conferences. he has been the supervisor of 69 phd thesis and is author of 20 books. he is fellow of ieee and has been president of the ieee/smc society in 2000 and 2001. he is presently professor "de classe exceptionnelle" at the ecole centrale de lille and director of the french "plan pluriformation" of research in automatic control. international journal of computers, communications & control vol. ii (2007), no. 4, pp. 388-402 a toolbox for input-output system inversion antonio visioli, aurelio piazzi abstract: in this paper a matlab-based toolbox for the input-output system inversion of linear systems is presented. different methods, based either on analytical or numerical approaches, are implemented. the toolbox can be exploited in the design of a feedforward action for control systems in different contexts in order to improve performances in the set-point regulation. the use of a pre-actuation and a post-actuation time can be easily analyzed as well as the role played by the choice of the desired output function. keywords: cacsd, input-output inversion, feedforward, set-point regulation, optimization. 1 introduction it is well-known that a (properly designed) feedback controller provides robustness to a control system with respect to parameter variations and allows to compensate for external disturbances. on the other side, a high performance in the set-point following task can be achieved by adopting a suitable feedforward action. indeed, the proper design of a control system consists of suitably combining feedback and feedforward control. different techniques have been developed for the synthesis of a feedforward controller for a linear system (see e.g. [1, 2, 3]). when the set-point regulation is of concern, a (noncausal) system inversion approach has been proven to be effective in this context [4]-[13]. basically, the approach consists of selecting a desired output function in order to achieve a transition from a current output value y0 to a new one y1 and then to determine the corresponding input function by applying a stable inversion procedure. then, the calculated input function is adopted as a reference command input to the (closed-loop) system, instead of the typical step signal. actually, while many software packages are available for the synthesis of feedback controllers (for example, via root locus techniques or bode plots), they are not available for the synthesis of a system inversion based feedforward action. indeed, the presence of a computer aided control systems design tool makes the applicability of these (somewhat complex) techniques much easier and it can be exploited to understand deeply the role of the command function in the context of set-point regulation. in this paper a matlab-based toolbox for the input-output system inversion of a linear system is presented. different techniques in this context are considered, related both to a noncausal and a causal approach. the toolbox allows to evaluate the role of the use of a pre-actuation and a post-actuation time as well as the role of the choice of the desired output function. it can be adopted as a useful tool in different fields, such as robust control, process control and control of mechatronic systems. the paper is organized as follows. in section 2 the input-output system inversion approach is briefly reviewed and the different methodologies implemented in the toolbox are presented. the functions implemented in the toolbox are described in section 3 and application examples are shown in section 4. conclusions are drawn in section 5. notation. ci denotes the set of scalar real functions that are continuous till the ith derivative and bci denotes the subset of ci of the scalar real functions that are bounded. the ith order differential operator is di. copyright © 2006-2007 by ccc publications a toolbox for input-output system inversion 389 2 input-output system inversion consider a general asimptotically stable nonminimum-phase linear system σ described by the following rational transfer function (note that this might represent the transfer function of a feedback control system): h(s) = k1 b(s) a(s) = k1 sm + bm−1sm−1 +···+ b0 sn + an−1sn−1 +···+ a0 , k1 6= 0 (1) where it is assumed that polynomials a(s) and b(s) are coprime (no pole-zero cancellations occur) and that σ has not purely imaginary zeros. the input and output of σ are u ∈ r and y ∈ r respectively and the relative order (or relative degree) of σ is ρ := n−m. the set of all cause/effect pairs associated with σ is denoted by b := {(u(·), y(·)) ∈ pc ×pc : dny + an−1dn−1y +···+ a0y = k1(dmu + bm−1dm−1u +···+ b0u)} (2) where pc denotes the set of piecewise continuous functions defined over (−∞, +∞), i.e. the real field r. in the framework of the behavioral approach, b is the behavior set of σ that can be rigorously introduced by means of the so-called weak solutions of the differential equation associated to σ [14]. the following proposition [14] is useful in the development of the subsequent analysis. proposition 1. consider any pair (u(·), y(·)) ∈ b. then, u(·) ∈ cl (r) if and only if y(·) ∈ cρ+l (r) with l being a nonnegative integer. the considered regulation problem consists of obtaining an output transition from a previous value y0 to a new value y1. without loss of generality, in the following we will consider y0 = 0. define yd (·) ∈ bck with yd (t) = 0 for t < 0 as the desired output function to obtain the transition. from a practical point of view, a transition time τ has to be defined, i.e. the desired output function is defined as yd (t) :=    0 for t < 0 y01(t) for 0 ≤ t ≤ τ y1 for t > τ. (3) then, the following stable input-output inversion (sioi) problem can be formulated. sioi problem. determine an input function ud (·) ∈ bck−ρ such that (ud (·), yd (·)) ∈ b. (4) the general solution to the sioi problem can be derived as follows [15]. first, express the inverse of the transfer function (1) as h−1(s) = 1 k1 a(s) b(s) = ξρ sρ + ξρ−1sρ−1 +···+ ξ0 + h0(s) (5) where h0(s) is a strictly proper rational transfer function representing the zero dynamics of σ. by using the fraction expansion, h0(s) can be decomposed as h0(s) = h − 0 (s) + h + 0 (s) = d(s) b−(s) + e(s) b+(s) (6) where b−(s) and b+(s) are the monic polynomials containing the roots of b(s) with negative and positive real parts, respectively. define η−0 (t) and η + 0 (t) as the analytic extensions of l −1[h−0 (s)] and l−1[h+0 (s)] over the space of the bohl functions for which η − 0 (t)1(t) = l −1[h−0 (s)] and η + 0 (t)1(t) = 390 antonio visioli, aurelio piazzi l−1[h+0 (s)] respectively. then, the solution of the sioi problem is derived as: ud (t) = ξρ dρ yd (t) +···+ ξ1dyd (t) + ξ0yd (t) + ∫ t 0 η−(t −v)yd (v)dv− ∫ +∞ t η +(t −v)yd (v)dv. (7) it is worth noting that, in general, ud (t) is defined over the time interval (−∞, +∞) and therefore, in order to practically use it, it is necessary to truncate it. thus, the input function exhibits a pre-actuation (associated with the unstable zeros) and a post-actuation (associated with the stable zeros) time intervals (see for example [16]), denoted as tp and t f respectively. they can be calculated with arbitrary precision by selecting two arbitrary small parameters ε0 and ε1 and by subsequently determining t0 := max{t′ ∈r : |ud (t)| ≤ ε0 ∀t ∈ (−∞,t′]} (8) and t1 := min { t′ ∈r : ∣∣∣∣ud (t)− 1 h(0) ∣∣∣∣ ≤ ε1 ∀t ∈ [t′, ∞) } . (9) then, it has to be fixed tp = min{0,t0} t f = max{τ,t1}. (10) hence, the actual input function to be applied to the system is given by ũd (t) :=    0 for t < tp ud (t) for tp ≤ t ≤ t f 1 y1 for t > t f . (11) alternatively, the pre-actuation and post-actuation time intervals can be calculated as [4] tp = − 10 drhp t f = 10 dlhp (12) where drhp and dlhp are the minimum distance of the right and left half plane zeros respectively from the imaginary axis of the complex plane. it is worth noting that the pre-actuation time is zero when there are no unstable zeros and the postactuation time is zero when there are no stable zeros. in general, the integrals in expression (7) can not be solved analytically and therefore a numerical solution has to be determined (in this context the cavalieri-simpson’s rule can be conveniently exploited to found an accurate solution with a small computational time [15]). a notable exception occurs when the selected desired output function is a polynomial function [17], i.e. yd (t; τ) =    0 for t < 0 y1 (2k+1)! k!τ 2k+1 ∑ k i=0 (−1)k−i i!(k−i)!(2k−i+1) τ it 2k−i+1 for 0 ≤ t ≤ τ y1 for t > τ (13) note that function yd (t; τ), parameterized by the transition time τ is a ck-function over (−∞, +∞) and is strictly increasing in the interval [0, τ] so that neither overshooting nor undershooting appear in this output planning for set-point regulation. in this case an analytical solution can be found [18] and this fact can be exploited in speeding up the computational time and most of all in avoiding numerical problems. a very interesting application of the analytical stable inversion procedure is for the improvement of the set-point following performance of proportional-integral-derivative (pid) controllers. specifically, if a pid controller is employed for a first-order plus dead-time (fopdt) process, described by the following transfer function, p(s) = k t s + 1 e−ls, (14) a toolbox for input-output system inversion 391 or for an integrator plus dead-time (ipdt) process, described by the transfer function p(s) = k s e−ls, (15) then a closed-form solution of the stable input-output inversion applied to the closed-loop system can be exploited (a rational closed-loop transfer function is obtained by adopting a padè approximation) [13]. indeed, the actual command signal to be applied for a given process and a given pid controller is determined by substituting the actual value of the process and pid parameters into the resulting closedform expression. in this context the pid transfer function is expressed as c(s) = kp ( 1 + 1 tis + td s ) 1 tf s + 1 , (16) where kp is the proportional gain, ti is the integral time constant, td is the derivative time constant and tf is the time constant of the filter that is adopted to render the system proper. a polynomial output function can be also usefully exploited in determining a causal input-output inversion despite the presence of unstable zeros [9]. in particular, the order of the polynomial function is selected in order to satisfy boundary conditions so that yd (·) ∈ bck with k ≥ ρ and at the same time to have a number of free coefficients equal to the number of the unstable zeros of the system σ. then, the free parameters are determined in order to annihilate the unstable modes in the input function determined by the inversion procedure. in this way there is no need of a pre-actuation time interval and the resulting inversion is causal. it can be therefore employed when a preview time is not available in a given application. however, this is paid by the possible presence of undershoots and overshoots in the resulting output function. note that the approach can be easily extended in order to avoid also the presence of a post-actuation time interval. 3 toolbox description the designed matlab-based toolbox implements the methods described in section 2. it requires the control system toolbox and the symbolic math toolbox of matlab. the following main functions are available. [time,command,preaction,postaction]=numdyninvcs(sys,yd,tau,st) this function determines the input command function of a system that causes a desired output function by means of an input-output inversion scheme based on the use of the cavalieri-simpson’s rule for the determination of the integrals in (7) [15]. in particular, the meaning of the parameters is the following one: • sys is the transfer function of the system expressed in symbolic form (with s as a symbolic variable); • yd is the desired output function (for t ∈ [0, τ]) expressed as an array of numerical values from 0 to τ corresponding to the time instant equally spaced by the sampling time; • tau is the transition time; • st is the sampling time; • time is the output time vector; it starts from the preaction time tp but for convenience the zero time is shifted to tp; 392 antonio visioli, aurelio piazzi • command is the determined input function expressed as a numerical array corresponding to the time array time; • preaction is the pre-actuation time calculated with formula (12); • postaction is the post-actuation time calculated with formula (12). [time,command,preaction,postaction]=outdyninvcs(sys,yd,tau,st) this function operates basically as numdyninvcs with the difference that the desired output function yd is expressed as a symbolic expression with symbolic variable t. [time,command,preaction,postaction]=numdyninv(sys,yd,tau,st) this function is very similar to numdyninvcs but it performs the numerical integration by applying a rectangular rule. in order to obtain an accurate result, a small value of the sampling time has to be selected. this might result in a high computational time. [time,command,preaction,postaction]=outdyninv(sys,yd,tau,st) this function is very similar to outdyninvcs but it performs the numerical integration by applying a rectangular rule. also in this case, in order to obtain an accurate result, a small value of the sampling time has to be selected. this might result in a high computational time. [time,command,preaction,¯postaction]=dyninv(sys,y1,tau,threshold0, threshold1,st) this function solves the input-output inversion problem when the desired output function is a polynomial function (13). the order of the polynomial is automatically selected, according to proposition 1, in order to obtain a continuous input function, i.e. such as ud (·) ∈ bc0. since the input function is determined analytically, the pre-actuation and post-actuation time intervals are conveniently determined by adopting formulae (10). the function parameters that are different from those that have been already described have the following meaning: • y1 is the desired new output steady-state value (it is assumed, without loss of generality, that the current input and output steady-state values are zero); • threshold0 is the parameter ε0 in formula (8), which is adopted to calculate the pre-actuation time; • threshold1 is the parameter ε1 in formula (9), which is adopted to calculate the post-actuation time. [time,command,taunum,preaction,postaction]= optdyninv(sys,y1,constraints,threshold0,threshold1,tc) this function solves the minimum-time inversion problem that consists of finding the minimum output transition time subject to constraints posed on the input function and its derivatives until an arbitrary order l. formally, the optimisation problem is posed as follows [18]: min τ∈r+ τ (17) such that, i = 0, 1, . . . , l, |diud (t; τ)| ≤ u(i)m ∀t ∈ (−∞, +∞) (18) a toolbox for input-output system inversion 393 where the positive values u(i)m , i = 0, 1, . . . , l, are given bounds of the problem. note that the problem admits a solution if u(0)m > 1/|h(0)| and u (i) m > 0, i = 1, . . . , l. the optimisation problem is solved by applying a simple bisection algorithm in conjunction with a gridding of the time axis [17]. with respect to the function dyninv there are the following different parameters: • constraints is the array (of l + 1 elements) of the constraints for the input derivatives until the lth order; note that the user-chosen dimension of the array automatically determines the order of the constrained derivatives and therefore the order of the output polynomial function (which is determined as l −1 + ρ so that ud (·) ∈ bcl−1); • taunum is the resulting optimal transition time. it is worth noting that, if a rigorous determination of the transition time is sought, the posed optimisation problem should be approached with the tools of global optimisation. in this context the presented inputoutput inversion toolbox can be easily integrated with the b4m toolbox that allows to handle interval arithmetic, which is a well-known effective tool for global optimisation [19]. [time,command,out,postaction]=causaldyninv(sys,y1,tau,st,hbc,pa) this function implements the causal approach proposed in [9]. the resulting pre-actuation time is always zero despite the possible presence of unstable zeros. in particular, the function deals with the following parameters: • hbc is the order h of the boundary conditions to be satisfied for the polynomial output function at time t = 0 and t = τ , so that yd (·) ∈ bc2h+1. note that it has to be h ≥ ρ in order to ensure that the input function is at least continuous, i.e. ud (·) ∈ bc0; • pa is a string that, if set to ‘nopostaction’, avoid also the use of a post-actuation time even if the system has stable zeros. in other words, in this case the system attains an equilibrium point at t = τ . if the parameter is not adopted or if it is set to another value, then a post-actuation time is present and it is determined by means of formula (12). [time,command,preaction,¯postaction]=piddyninvfopdt(k,t,l,kp,ti,td, tf,tau,st) this function determines the input command function to unitary feedback closed-loop system in which a process described by a fopdt transfer function is controlled by a pid controller. the following parameters are adopted: • k, t, l are the process gain, time constant and dead time respectively (see (14)); • kp, ti, td, tf are the pid parameters (see (16), where the meaning of the different parameters is obvious). [time,command,preaction,postaction]=piddyninvipdt(k,t,l,kp,ti,td,tf, tau,st) this function determines the input command function to unitary feedback closed-loop system in which a process described by a ipdt transfer function is controlled by a pid controller. the meaning of the parameters can be straightforwardly derived by considering those of the previous function together with expression (15). 394 antonio visioli, aurelio piazzi 4 application examples in order to better understand the usage of the input-output inversion toolbox, a few examples are given. consider the system h(s) = 4 (1−s)(s + 1) (s + 2)(s2 + 2s + 2) . (19) to insert the system in symbolic form in the matlab workspace, the following two commands can be applied: syms s h=4*(1-s)*(s+1)/(s+2)/(s^2+2*s+2) then, suppose that an output transition from 0 to y1 = 1 is required to be performed in τ = 3 by means of the following output function: y(t) = 4796646617206209 562949953421312 t 63 25 − 4658008624178539 562949953421312 t 127 50 + (20) 6313836048447483 5316911983139663491615228241121378304 t 39. the output function can be inserted in the matlab workspace (denote the variable as yt) either in symbolic form or as an array whose elements are the values of y(t) for t = 0, ts, 2ts, . . . , τ , where ts is the sampling time (in this case it has been selected ts = 0.001). in the first case the command to be adopted is: [time,command,preaction,postaction]=outdyninvcs(h,yt,3,0.001) while in the second case it has to be [time,command,preaction,postaction]=numdyninvcs(h,yt,3,0.001) in both cases the pre-actuation time results to be tp = −10 s and the postaction time is t f = 10 s (according to expressions (12)). the resulting input function and the output function obtained by applying it to the actual system are reported in figure 1 (note that the result is the same in both cases). select now a polynomial output function (13) to perform again an output transition from 0 to y1 = 1 and select the parameters ε0 = ε1 = 10−3. in this case the matlab command to be adopted is [time,command,preaction,postaction]=dyninv(h,1,3,0.001,0.001,0.001) the resulting pre-actuation and post-actuation times preaction and postaction (determined by means of formula (10)) are respectively tp = −6.256 s and t f = 3.547 s. the determined input and the corresponding system output are plotted in figure 2. note that the resulting output function is a cubic polynomial, i.e. yd (t; τ) = y1 ( − 2 τ 3 t 3 + 3 τ 2 t 2 ) t ∈ [0, τ] as it is k = ρ = 1 in formula (13). consider now the minimum time problem (17)-(18) and set the limits on the input derivatives as u(0)m = 2, u(1)m = 10 and u (2) m = 20. this means that the following matlab command has to be executed: limits=[2 10 20] then, the following function has to be employed (note that the sampling time is 0.001 s as before and again it is ε0 = ε1 = 10−3): [time,command,taunum,pre,post]=optdyninv(h,1,limits,0.001,0.001,0.001) the resulting optimal transition time taunum is equal to 0.875 s, while the pre-actuation and postactuation times are tp = −7.111 s and t f = 4.402 s. the determined command input and the corresponding system output are shown in figure 3, while the first and second derivatives of the command input are plotted in figure 4. it can be deduced that the active constraint is the one related to the second time derivative of the input. if the causal approach is desired, i.e. the pre-actuation time is to be avoided, then the function a toolbox for input-output system inversion 395 causaldyninv has to be adopted. in particular, we select the order of the boundary conditions as h = ρ = 1 and the desired transition time as τ = 3. then, if a post-actuation time interval is allowed, the matlab command to be adopted is: [time,command,out,postaction]=causaldyninv(h,1,3,0.001,1) in this case the resulting command input and the corresponding output are plotted in figure 5. note that the post-actuation time interval is t f = 10 s. conversely, if a post-actuation is not allowed, the matlab function to be employed is [time,command,out,postaction]=causaldyninv(h,1,3,0.001,1,‘nopostaction’) the resulting command input and the corresponding output function are shown in figure 6. it can be seen that in both cases the output function is not monotonic. indeed, the possible overshoots and undershoots are more and more significant when the selected transition time decreases. in order to verify the effectiveness of the inversion approach for pid control, consider first the system p(s) = 2 10s + 1 e−5s, (21) controlled by a pid controller (see (16)) with kp = 1.2, ti = 10, td = 2.5, tf = 0.01. the transition time is fixed to 15 s and the sampling time to 0.01 s. then, the following matlab command is adopted: [time,command,pre,post]=piddyninvfopdt(2,10,5,1.2,10,2.5,0.01,15,0.01) the resulting command input (applied to the closed-loop system) and output functions are plotted in figure 7. the pre-actuation and post-actuation time intervals are tp = −16.67 s and t f = 50.01 s. note that the output function is slightly different from the desired one because of the padè approximation. then, a ipdt transfer function is considered: p(s) = 0.1 s e−5s. (22) in this case the tuning of the pid parameters is kp = 0.12, ti = 10, td = 2.5, tf = 0.01. the transition time and the sampling time are the same as before, so that the following function is employed: [time,command,pre,post]=piddyninvipdt(0.1,10,5,0.12,10,2.5,0.01,15,0.01) figure 8 reports the determined closed-loop command input and the resulting system output. also in this case the pre-actuation and post-actuation time intervals are tp = −16.67 s and t f = 50.01 s. 5 conclusions a matlab-based toolbox for the input-output inversion of linear scalar systems has been described in this paper. the toolbox is very useful to understand and to verify the effectiveness of a feedforward action in a control scheme and, in general, of a combined feedback/feedforward synthesis. in this context, the role played by the planned output function can be easily evaluated as well as the influence of the noncausal approach with respect to a causal one. indeed, all the aspects related to the use of an inputoutput inversion-based control design can be thoroughly investigated and analyzed. the toolbox can be exploited in different fields such as motion control, robust control, and process control. it can be downloaded from the website http://www.ing.unibs.it/∼visioli/ioitoolbox.htm 396 antonio visioli, aurelio piazzi 0 2 4 6 8 10 12 14 16 18 20 0 0.2 0.4 0.6 0.8 1 time [s] command input resulting output figure 1: command input and resulting system output with system (19) and desired output function (20) 0 2 4 6 8 10 12 14 0 0.2 0.4 0.6 0.8 1 time [s] command input resulting output figure 2: command input and resulting system output with system (19) and a polynomial desired output function (13) a toolbox for input-output system inversion 397 0 2 4 6 8 10 12 0 0.2 0.4 0.6 0.8 1 1.2 time [s] command input resulting output figure 3: optimal command input and resulting minimum-time system output with system (19) and a polynomial desired output function (13) 0 2 4 6 8 10 12 −20 −15 −10 −5 0 5 10 15 20 time [s] first derivative second derivative figure 4: first and second derivative of the optimal command input with system (19) and a polynomial desired output function (13) 398 antonio visioli, aurelio piazzi 0 1 2 3 4 5 6 −0.2 0 0.2 0.4 0.6 0.8 1 time [s] command input resulting output figure 5: command input and resulting system output with system (19) and a causal approach with post-actuation 0 0.5 1 1.5 2 2.5 3 3.5 4 −1 −0.5 0 0.5 1 1.5 2 time [s] command input resulting output figure 6: command input and resulting system output with system (19) and a causal approach without post-actuation a toolbox for input-output system inversion 399 0 10 20 30 40 50 60 70 0 0.2 0.4 0.6 0.8 1 time [s] command input resulting output figure 7: command input and resulting system output with system (21) with a pid controller 0 10 20 30 40 50 60 70 −3 −2 −1 0 1 2 3 4 5 6 time [s] command input resulting output figure 8: command input and resulting system output with system (22) with a pid controller 400 antonio visioli, aurelio piazzi bibliography [1] b. c. kuo, automatic control systems, prentice hall, englewood cliffs (nj), 1995. [2] a. wallen, k. j. åström, pulse-step control, preprints of the 15th ifac world congress on automatic control, barcelona (spain), 2002. [3] a. visioli, a new design for a pid plus feedforward controller, journal of process control, vol. 14, no. 4, pp. 455-461, 2004. [4] h. perez, s. devasia, optimal output transitions for linear systems, automatica, vol. 39, pp. 181-192, 2003. [5] q. zou, s. devasia, preview-based optimal inversion for output tracking: application to scanning tunneling microscopy, proceedings ieee international conference on decision and control, las vegas (usa), pp. 79-85, 2002. [6] d. iamratanakul, h. perez, s. devasia, feedforward trajectory design for output transitions in discrete-time systems: disk-drive example, proceedings of the american control conference, denver (usa), pp. 3142-3147, 2003. [7] a. piazzi, a. visioli, minimum-time system-inversion-based motion planning for residual vibration reduction, ieee/asme transactions on mechatronics, vol. 5, no. 1, pp. 12-22, 2000. [8] a. piazzi, a.visioli, optimal inversion-based control fo the set-point regulation of nonminimumphase uncertain scalar systems, ieee transactions on automatic control, vol. 46, no. 10, pp. 16541659, 2001. [9] m. benosman, g. le vey, stable inversion of siso nonminimum phase linear systems through output planning: an experimental application to the one-link flexible manipulator, ieee transactions on control systems technology, vol. 11, no. 4, pp. 588-597, 2003. [10] c. guarino lo bianco, a. piazzi, a servo control system design using dynamic inversion, control engineering practice, vol. 10, no, 8, pp. 847-855, 2002. [11] a. piazzi, a. visioli, optimal dynamic inversion based control of an overhead crane, iee proceedings control theory and applications, vol. 149, no. 5, pp. 405-411, 2002. [12] a. visioli, a. piazzi, improving set-point following performance of industrial controllers with a fast dynamic inversion algorithm, industrial engineering and chemistry research, vol. 42, pp. 13571362, 2003. [13] a. piazzi, a. visioli, a noncausal approach for pid control, journal of process control, vol. 16, pp. 831-843, 2006. [14] j. w. polderman, j. c. willems, introduction to mathematical systems theory, springer-verlag, new york, 1998. [15] d. pallastrelli, a. piazzi, stable dynamic inversion of nonminimum-phase scalar linear systems, preprints of the 16th ifac world congress on automatic control, prague (cz), 2005. [16] q. zou, s. devasia, preview-based inversion of nonlinear nonminimum-phase systems: vtol example, proceedings of the ieee international conference on decision and control, paradise island (the bahamas), pp. 4350-4356, 2004. a toolbox for input-output system inversion 401 [17] a. piazzi, a. visioli, optimal noncausal set-point regulation of scalar systems, automatica, vol. 37, no. 1, pp. 121-127, 2001. [18] a. piazzi, a. visioli, using stable input-output inversion for minimum-time feedforward constrained regulation of scalar systems, automatica, vol. 41, no. 2, pp. 305-313, 2005. [19] e. hansen, g. w. walster, global optimization using interval analysis 2nd edition, marcel dekker, 2003. antonio visioli university of brescia dipartimento di elettronica per l’automazione via branze 38, i-25123 brescia, italy e-mail: antonio.visioli@ing.unibs.it aurelio piazzi university of parma dipartimento di ingegneria dell’informazione parco area delle scienze 181a, i-43100 parma, italy received: january 2, 2007 402 antonio visioli, aurelio piazzi antonio visioli received the laurea degree in electronic engineering from the university of parma, parma, italy, and the ph.d. degree in applied mechanics from the university of brescia, brescia, italy, in 1995 and 1999 respectively. his ph.d. dissertation was on control strategies for industrial robot manipulators. he is currently an associate professor of automatic control, department of electronics for automation, university of brescia, italy. his research interests include industrial robot control and trajectory planning, dynamic-inversion-based control and process control. he is the author or co-author of more than 100 papers in international journals and refereed conference proceedings and he is the author of the book practical pid control published by springer. dr. visioli is a senior member of ieee and a member of ifac and anipla (italian association for the automation). aurelio piazzi received the laurea degree in nuclear engineering in 1982 and the ph.d. degree in system engineering in 1987, both from the university of bologna, italy. from 1990 to 1992, he was research associate in system theory, deis, university of bologna. since 1992 he has been at the university of parma where he is currently full professor of automatic control at the department of informatics engineering. his main research interests are in system and control theory and related engineering applications. his recent research activities have focused on optimization and dynamic inversion techniques for autonomous vehicle guidance and for the design of high-performance control systems. scientific coordinator of bilateral research programs in collaboration with various industries (among them cnr, enel, rfi -ferrovie dello stato), in 2002 and 2003 he has directed the european project cookies within the eu cluster eutist-imv (integrated machine vision) in collaboration with gruppo colussi (perugia) for the artificial vision-based control of food industrial ovens. he is a member of ieee and siam and has published over 90 scientific papers in international journals and conference proceedings. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 892-899 information sharing in vehicular adhoc network a. rahim, z.s. khan, f.b. muhaya, m. sher, m.k. khan aneel rahim, zeeshan shafi khan 1. prince muqrin chair for it security, king saud university, saudi arabia 2. international islamic university, pakistan e-mail: aneelrahim,zeeshanshafi@ksu.edu.sa fahad bin muhaya prince muqrin chair for it security, king saud university, saudi arabia e-mail: fmuhaya@ksu.edu.sa muhammad sher international islamic university, pakistan e-mail: m.sher@iiu.edu.pk muhammad khurram khan center of excellence in information assurance, king saud university, saudi arabia e-mail: mkhurram@ksu.edu.sa abstract: relevance technique broadcast the useful information and removes the redundant data. 802.11e protocol implementation has certain flaws and is not suitable for vanets scenarios. main issue in 802.11e protocol is internal sorting of packets, no priority mechanism within the queues and often lower priority traffic get more medium than high priority traffic. in this paper, the mathematical model of relevance scheme is enhanced so that it can consider the network control in real scenario by considering the impact of malicious node in network. problems of 802.11e protocol can be resolved by making virtual queue at application level. we analyze the comparison of simple virtual queue with the over all impact of virtual queue and mathematical model. similarly we compare the mathematical model with over all impact of virtual queue and modified mathematical model using ns-2 simulator. keywords: vanets, broadcast, 802.11e, malicious 1 introduction vehicle to vehicle (v2v) communication enhances the safety of passenger and driver [1]. v2v communications is unreliable because of shadowing, doppler shifts and multi-path fading. [2] security is an important concern in mobile adhoc network [3] [4] [5]. attacks are easily launched on vanets [6] because of high speed [7], no infrastructure and topology changes frequently [8] [9]. several security attacks are possible on safety application, which includes denial of service [10], masquerade [11], fake information, false position information and id disclosure [12]. vehicular communication vulnerabilities are explained in [13] which include jamming, forgery, in-transit traffic tampering, impersonation, privacy violation and on-board tampering. malicious data in vanet is because of distributed environment and unreliable components of data generation. [14] we in this paper resolve the problems of 802.11e protocol by making virtual queue at application and enhance the mathematical model of message benefit to consider copyright c⃝ 2006-2010 by ccc publications information sharing in vehicular adhoc network 893 the network traffic. we measure the global benefit in real scenario by considering the impact of malicious node. we also show the comparison of simple virtual queue with the over all impact of virtual queue and mathematical model. similarly we compare simple mathematical model with over all impact of virtual queue and mathematical model. this paper is organized as follows: in section 2, we discuss relevance based approach, its characteristics and its implementation using cross layer, 802.11e and 802.11e with virtual queue. in section 3, proposed study and results are presented using ns-2. lastly in section 4 conclusions is given. 2 related work relevance technique disseminates the useful information and removes the redundant data [16]. vehicle contains huge information that can’t be shared to due the high speed of vehicles. technique which gives high priority traffic more medium as compare to low priority traffic is a suitable approach for vanets. so relevance technique is the only option as it forward data according to its relevance. relevance techniques based upon the calculation of relevance value of message and its distribution according to its priority [15, 16]. altruism, application-oriented information differentiation, controlled unfairness is the basic characteristics of relevance based approach [15, 17, 18]. 2.1 cross layer and 802.11 e implementation relevance technique can be implemented through cross layer design or by 802.11e protocol. in cross layer design, relevance value of every packet is measured at application layer and pass to link layer through packet header. modified medium access control and interface queue broadcast the high priority traffic with help of application layer information. [15, 17]. 802.11e protocol implementation has certain flaws and is suitable for vanets scenarios [18]. main issue in 802.11e protocol is that it does not provide internal sorting of packets, no priority mechanism within the queues and performance of the network degrades as lower traffic some times get more medium than high priority traffic [15]. 2.2 802.11e implementation with virtual queue 802.11e protocol problems are overcome by adding four virtual queues at application level. packets are sorted according to their priority and most importance messages are near the head of queues. sorting is done by getting the current information from application layer and length of 802.11e is set to be one. when 802.11e is empty, one high priority packet is moved from virtual queue to 802.11e queue. packet in 802.11e queue does not mean that it always broadcast. if get a packet in virtual queue that has higher relevance than packet in 802.11e queue than we swap both the packets in order to achieve higher global benefit [19]. 2.3 mathematically model for relevance based approach the mathematical model for relevance based approach is given below. message benefit = 1∑n i=0 αi ∗ n∑ i=0 αi ∗ bi(m, v, i) − − − − − − − − − [18]. to determine the relevance value of message, message (m), vehicle (v), and information (i) context parameters are used. the n parameters are computed with the help of application dependent function bi. the n parameters are then weighted with application dependent factors ai. in the end, all parameters are sum up and divided by the sum of all ai. 894 a. rahim, z.s. khan, f.b. muhaya, m. sher, m.k. khan 2.4 enhanced mathematically model for relevance based approach as the existing model does not have the support for network control traffic. so network performance can improve by adding the network control in the mathematical model [20]. enhanced message benefit = 1∑n i=0 αi ∗ n∑ i=0 αi ∗ bi(m, v, i) + n∑ i=0 pi a) n∑ i=0 pi = 0 if it is user traffic where as n∑ i=0 pi = 1 for operational level network problem, n∑ i=0 pi = 2 for administrative level, n∑ i=0 pi = 3 for maintenance level b) message benefit = n∑ i=0 pi (for network traffic only) if 0 n∑ i=0 pi � 3 then 1∑n i=0 αi ∗ n∑ i=0 αi ∗ bi(m, v, i) = 0 user and network traffic is assigned a value between zero and three, in order to handle them easily with four queues (q0, q1, q2, and q3) of 802.11e. high priority traffic is assigned q0 so that it can be forward before the packets in q1, q2 and q3. queues are assigned to user and network control traffic according to there relevance value. but in the existing approach there is no mechanism for priority for network control traffic. so the global benefit is enhanced by considering network traffic. 3 proposed study and results in this study we simulate the relevance based approach and calculate global benefit in ideal scenario that all nodes are doing their properly and there is no malicious node in the network. in the second scenario we consider the impact of malicious node and measure how much global benefit is decreased. the malicious nodes forward the relevant messages first but also inject some surplus information. in last scenario malicious node forward the surplus message first and ignore the relevant message. in order to validate the proposed study, we compare the performance of relevance based approach in real and ideal scenario with 802.11e protocol. ns2, a network simulator [21], is used to simulate the behavior for relevance based approach in vanets scenarios. we use manhattan mobility model and traffic is generated by generic mobility simulation framework [22]. vehicles are moving at a speed of 72km/hr to 108 km/hr within an area of 3000m x 3000m with transmission range of 300m. performance of relevance based approach is measured by calculating the global benefit. information sharing in vehicular adhoc network 895 table 1: simulation parameters parameters settings channel wireless vehicles 50,100,150 mac protocol 802.11e time 50s routing protocol dsdv network simulator is used for the simulation and different parameter used in the following study is given in table 1. 3.1 improvement due to mathematical model in this study we simulate enhanced mathematically model of message benefit shown above with existing relevance based approach. figure 1(a) shows that 50 vehicles are moving at high speed and share safety and comfort information with each other. relevance based approach consider only user traffic and ignore network traffic. so its global benefit can be improved by improving the mathematical model. we now evaluate the performance of relevance based approach by adding the network control parameter in the existing formula. figure 1(a) shows the global benefit with enhanced relevance based approach. it is clear from figure 1(a) that global benefit is low by using existing relevance based approach because network control traffic set lower priority and get less bandwidth than user traffic. so lower priority traffic can get more bandwidth than higher priority traffic. that’s why the global benefit is improved by adding the network parameter in relevance based approach. figure 1: (a) improvement due to mathematically (b) improvement due to virtual queue 3.2 improvement due to virtual queue figure 1(b) shows simple 802.11e and virtual queue with 802.11e, safety messages and route messages are forwarded by vehicles. in this study 150 vehicles exchanging information with each other. in simple 802.11 e, there is no mechanism of priority assignment. this problem is resolved by virtual queue. so its global benefit is greater than simple 802.11 e because it does not allow lower priority traffic to get more medium than higher priority traffic. 3.3 improvement due to virtual queue and mathematically model first we check the improvement due mathematical model and virtual queue separately but now we consider the impact of both on the global benefit of network. figure 2 shows that global benefit of existing and enhance relevance based approach due to virtual queue and mathematically 896 a. rahim, z.s. khan, f.b. muhaya, m. sher, m.k. khan model. enhanced relevance based approach has higher global benefit because it resolves the problem of priority mechanism and ignorance of network control traffic. figure 2: improvement due to virtual queue and mathematically model 3.4 comparison this study shows the comparison of simple virtual queue with the over all impact of virtual queue and mathematical model. similarly we compare simple mathematical model with over all impact of virtual queue and mathematical model. fig 3(a) shows the global benefit due to message benefit (mb), enhance message benefit (emb) and virtual queue + emb. it is clear from figure that global benefit by using virtual queue + emb is greater than simple emb because within a queue a there is no priority mechanism available. fig 3(b) shows the global benefit due to 802.11e, virtual queue and emb + virtual queue. it is clear from figure that global benefit by using emb + virtual queue is greater than 802.11e and simple queue because in simple queue we don’t have discriminate between user traffic and network traffic. figure 3: (a)comparison of mathematically model with both virtual queue and mathematical model (b) comparison of virtual queue with both mathematical models 3.5 impact of malicious node in this study we consider the impact of malicious node on emb, virtual queue and both (emb + virtual queue).figure 4(a) shows that 50 vehicles are moving at high speed and share safety and comfort information with each other. first we simulate the mb and emb in ideal information sharing in vehicular adhoc network 897 scenario that no malicious node exists and all nodes try to improve the benefit of network rather than their own benefit. after that we simulate emb in real scenario that malicious exist and damage the performance of the network. figure 4(a) shows that global benefit of emb in real scenario lies between the emb mb in ideal scenario. figure 4(b) shows that 150 vehicles exchanging information with each other. first we simulate the 802.11e and virtual queue in ideal scenario that no malicious node exists and all nodes try to improve the benefit of network rather than their own benefit. after that we simulate virtual queue in real scenario that malicious exist and damage the performance of the network. figure 4(b) shows that global benefit of emb in real scenario lies below than 802.11e and virtual queue in ideal scenario. figure 5 shows that 150 vehicles are moving at high speed and share safety and comfort information with each other. first we simulate the mb and vq + emb in ideal scenario that no malicious node exists and all nodes try to improve the benefit of network rather than their own benefit. after that we simulate vq+ emb in real scenario that malicious exist and damage the performance of the network. figure 5 shows that global benefit emb + vq in real scenario lies between the emb +vq and mb in ideal scenario. figure 4: (a) impact of malicious node on emb (b)impact of malicious node on virtual queue (vq) figure 5: impact of malicious node on enhanced message benefit and virtual queue 4 conclusion relevance scheme rely on intermediate node for communication so it consider there is no selfish node exist in network. however it is not possible in real scenario. we in this paper simulate 898 a. rahim, z.s. khan, f.b. muhaya, m. sher, m.k. khan the relevance based approach using 802.11e, virtual queue with 802.11e and enhance message benefit in real and ideal scenario. simulation results shows that global benefit is improved by using virtual queue with enhance mathematical model. 5 acknowledgments this research is supported by the prince muqrin chair (pmc) for it security at king saud university, riyadh, saudi arabia. bibliography [1] y. wu, l. yang, g. wu, j. guo, an improved coded repetition scheme for safety messaging in vanets, ieee, 2009. [2] r. k. shrestha, s. moh, i. chung, d. choi, vertex-based multihop vehicle-to-infrastructure routing for vehicular ad hoc networks, ieee, proceedings of the 43rd hawaii international conference on system sciences 2010. [3] h. kumar, , r.k singla,., s. malhotra„ issues and trends in autoconfiguration of ip address in manet, international journal of computers communications and control, volume:3, supplement: suppl. s, pp. 353-357, 2008. [4] m. a rajan, m. g chandra, l. c. reddy, p. hiremath, concepts of graph theory relevant to ad-hoc networks, international journal of computers communications and control, volume:3, supplement: suppl. s, pp. 465-469, 2008. [5] j. sun, c. zhang, y. zhang, y. fang, an identity-based security system for user privacy in vehicular ad hoc networks, ieee transactions on parallel and distributed systems, 2010 [6] s. dietzel, e. schoch, b. konings, m. weber, resilient secure aggregation for vehicular networks, ieee network, vol 24 pp 26-31,2010 [7] i. jang, w. choi, h. lim, a forwarding protocol with relay acknowledgement for vehicular ad-hoc networks, ieee 2008. [8] h. l. nguyen, u. t. nguyen, study of different types of attacks on multicast in mobile ad hoc networks, international conference on mobile communications and learning technologies, ieee , 2006. [9] s. mao, s. lin, s. s. panwar, y. wang, e. celebi, video transport over ad hoc networks: multistream coding with multipath transport, ieee journal on selected areas in communications, vol. 21, no. 10, december 2003 [10] b. r. moyers, j. p. dunning, r. c. marchany, j. g. tront, effects of wi-fi and bluetooth battery exhaustion attacks on mobile devices, proceedings of the 43rd hawaii international conference on system sciences , 2010. [11] k.a. bakar, b. s. doherty, evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts, international journal of computers communications and control, vol.3, no.1, pp. 60-68, 2008 [12] m. raya, j-p. hubaux. the security of vehicular ad hoc networks. in workshop on security in ad hoc and sensor networks (sasn), 2005. information sharing in vehicular adhoc network 899 [13] m. raya, p. papadimitratos,j.-p. hubaux, securing vehicular communications, in ieee wireless communications magazine, special issue on inter-vehicular communications, october 2006. [14] k. sha„ s. wang, w. shi, rd4: role-differentiated cooperative deceptive data detection and filtering in vanets, ieee transactions on vehicular technology, vol. 59, no. 3, march 2010. [15] t. kosch, c. j. adler, s. eichler, c. schroth, m. strassberger, the scalability problem of vehicular ad hoc networks and how to solve it, ieee wireless communications , october 2006. [16] c. adler, s. eichler, t. kosch, c. schroth, m. strassberger, self-organized and contextadaptive information diffusion in vehicular ad hoc networks, 3rd international symposium on wireless communication systems, 2006. [17] s. eichler, c. schroth, t. kosch, m. strassberger, strategies for context-adaptive message dissemination in vehicular ad hoc networks, second international workshop on vehicle-tovehicle communications, july 2006. [18] c. schroth, r. eigner, s. eichler, m. strassberger, a framework for network utility maximization in vanets, acm international conference on mobile computing and networking, usa september 29, 2006. [19] a. rahim, m. yasin, i. ahmad, z. s. khan, m. sher, relevance based approach with virtual queue using 802.11e protocol for vehicular adhoc networks , 2nd international conference on computer, control and communication, karachi, 14 feb 2009. [20] a. rahim, f. b. muhaya, z. s. khan, m.a. ansari, m. sher, enhance relevance based approach for network control relevance, accepted in infomatica journal issn: 0350-5596. [21] network simulator, ns2 http://www.isi.edu/nsnam /ns [22] r. baumann, f. legendre, p. sommer, generic mobility simulation framework (gmsf), acm mobilitymodels’08, hong kong sar, china, may 26, 2008 http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 324-335 on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier abstract: the threat of dpa attacks is of crucial importance when designing cryptographic hardware. this contribution discusses the dpa-resistant implementation of two estream finalists using sabl logic styles. particularly, two feedback shift register (fsr) based stream ciphers, grain v.1 and trivium are designed in both bsim3 130nm and typical 350nm technologies and simulated by hspice software. circuit simulations and statistical power analysis show that dpa resistivity of sabl implementation of both stream ciphers has a major improvement. the paper presents the tradeoffs involved in the circuit design and the design for performance issues. keywords: dpa attack, stream cipher, grain v.1, trivium, sabl, standard cmos. 1 introduction the term of security for a cryptographic primitive can be considered from two points of view: mathematical security (resistance against classical cryptanalysis) and the second one is physical security. physical attacks on cryptographic devices take advantage of implementation-specific characteristics to recover the secret parameters. they are therefore much less general since they are specific to a given implementation but often much more powerful than classical cryptanalysis, and are considered very seriously by cryptographic devices implementors. a side-channel attack occurs when an attacker is able to use some additional information leaked from the implementation of a cryptographic function to cryptanalyze the function. clearly, given enough side-channel information, it is trivial to break a cipher. one side channel attack in particular, namely the differential power analysis (dpa) is of great concern. it was first reported by kocher et al. in 1998 that the power consumption of a smart card could reveal the secret key of the cryptographic algorithm [1]. dpa is a well-known and thoroughly studied threat for implementations of block ciphers (des and aes), public key algorithms (rsa) and recently stream ciphers (grain and trivium [4]). stream ciphers as part of the symmetric key cryptography family, have always had the reputation of efficiency in hardware and speed. they have attracted much attention since the beginning of the estream project in 2004. although there is vast literature about dpa on implementations of block ciphers and public key algorithms, only few publications can be found about dpa attacks on stream ciphers ([2], [3], [4], [8], [13], [14]). in power analysis attacks, it is assumed that the power consumption of a circuit is correlated to the data handled. an attacker can therefore recover secret information by simply monitoring the power signals of a running device. stream ciphers require frequent synchronization to prevent synchronization loss between sender and receiver. normally the initialization will be done with the same secret key and with a different initial value iv. so an attacker can disrupt the synchronization and apply a new known iv and measure the power traces in the initialization phase to apply a dpa on the embedded system of the stream cipher. so far, there is only one report on a practical dpa targeting hardware implementations of stream ciphers [4]. in that paper, a chosen iv dpa attack on grain and trivium stream ciphers has been described and executed. protecting implementations against dpa attacks is usually difficult and expensive. the goal of countermeasures against dpa attacks is to make the power consumption independent of intermediate values of the stream cipher. in general, there are three basic groups into which these countermeasures can be copyright © 2006-2008 by ccc publications on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 325 characterized: protocol countermeasures, algorithmic countermeasures, and hardware countermeasures [11]. the principles of the countermeasures can be implemented at different levels in a cryptographic device. in general, these techniques are theoretical countermeasures and only reduce the side channel leakage and do not fundamentally prevent a dpa. but the advantage of these countermeasures is to make the attack significantly harder. in this article, we provide a brief overview of hiding and masking logic styles (hardware countermeasures) and particularly we will use sense amplifier base logic (sabl) for secure implementation of stream ciphers. sabl is a logic style that uses a fixed amount of charge for every transition, including the degenerated events in which a gate does not change state. in every cycle, a sabl gate charges a total capacitance with a constant value. so far, there has not been a unified architecture which can be used as a test bench for applicability of logic styles on stream ciphers. regarding this, two fsr-based stream ciphers grain v.1 and trivium stream ciphers are implemented in cell level to find out the tradeoffs involved in designing the architecture and performance issues. power traces of the resulting circuits exhibit that sabl significantly reduces signal to noise ratio (snr). the rest of the paper is structured as follows: a general model of power analysis attack on stream ciphers is given in section 2. section 3 describes an overview of dpa countermeasures on cell level. in sections 4 and 5 the descriptions of grain v.1 and trivium are explained. design and simulation issues are described in section 6 and finally, conclusions are drawn in section 7. 2 differential power analysis of stream ciphers dpa is based on the fact that cmos logic and application specific details cause logic operations to have power characteristics that depend on the input data. it relies further on statistical analysis and error correction to extract the information from the power consumption that is correlated to the secret key [1]. in a dpa a hypothetical model of the device under attack is used to predict the power consumption. the classical setup for a dpa on stream ciphers is illustrated in fig. 1. output power traces are determined by the input data, iv, private key, output of the device and by many other parameters. an attacker to some extent has the potential knowledge of some of them (e.g. iv, input data and output data) while others are unknown. regarding a dpa attack, multiple measurements of the power consumption of a cryptographic device are made. for each measurement, different chosen iv’s are sent to the device. since the cryptographic algorithm is known, a hypothesis on intermediate values can be used to calculate the targeted data values based on the random input values. if the correct hypothesis is used, the targeted data values are calculated correctly for all measurements. according to (1), the total power consumption of an embedded device depends on 3 factors: ptotal = pcons. + pnoise + pdd. (1) with the help of statistical methods (calculation of correlations, mean values, etc.), the randomness of the data values that are not targeted (pconst. : leakage currents and data independent power consumption and pnoise: which comes from electrical noise) is exploited to reduce their effects on the power consumption traces. pdd is the data dependent power consumption and is targeted in statistical analysis. after all, the result of the statistical operation indicates which key hypothesis is correct. normally, a hamming distance power model is used to map the transitions that occur at the outputs of cells of a netlist to power consumption values. in cmos gates, it is reasonable to assume that the main component of the data dependent power consumption is the dynamic power consumption which is the power dissipation of charging and discharging of output capacitance nodes (p0→1 or p1→0). in a cmos gate, we can express dynamic power consumption by: pdynamic = n ·cl · f ·v 2dd (2) 326 reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier where cl is the gate load capacitance and n is the probability of a 0 → 1 or 1 → 0 output transition and f is the clock frequency. this equation shows that the power consumption of cmos circuits is data dependent. note that n is the most important factor in the hypothetical model. there are different techniques for calculation of it. for example, a variable gate delay model can be used for measuring the number of transitions and glitches of a circuit [7]. this technique can be easily applied to circuits by using a vhdl simulator in register transfer level. figure 1: differential power analysis model of stream ciphers. 3 dpa countermeasures on cell level so far, several methods in different ways have been proposed to counteract dpa attacks. in this section different known dpa countermeasures on cell level (hiding and masking techniques) are briefly presented and then their merits and disadvantages will be discussed. the first structured approach to counteract dpa attacks at the cell level was the use of hiding logic styles. these styles try to break the correlation between an algorithm’s intermediate results and the power consumption of the cryptographic device that executes this algorithm by making the instantaneous power consumption of the cells either random or the same in each clock cycle. the three major types of hiding logic styles are: dual-rail precharge (drp), asynchronous, and current mode logic (cml). drp logic styles are the most popular types. for instance, sabl [10] and wave dynamic differential logic (wddl) [15] are dual rail precharge logic styles whose logic gates are driven by a precharge signal to prevent glitches, and each logic signal is represented by two complementary wires. other examples of drp logic styles are dual spacer dual rail logic (dsdr), three-phase dual-rail precharge logic (tdpl) [16], and three state dynamic logic (3sdl). data dependent time of evaluation of the wddl and its memory effect made it vulnerable to dpa attacks. one of the major drawbacks of hiding logic styles is the balancing of the cells and interconnect layouts to achieve constant power consumption. since the charge and discharge of output nodes of dynamic and differential styles follow simple rc charge and discharge, cells and wires must mainly be balanced in a capacitive and resistive manner. but due to process variations, complex cross-coupling effects, and area limitations it is a hard task. besides hiding, masking at the cell level has become popular during the past few years. using a masked logic style, designers also break the correlation between an algorithm’s intermediate values and the power consumption of the cryptographic device that executes this algorithm. all intermediate values are masked by a random value. the cells then process only the masked intermediate values and their corresponding mask. because the unmasked values and the masked value are uncorrelated, power consumption of the cell also remains uncorrelated to intermediate values. generally there are two types of masking operation: boolean masking or arithmetic masking. if the masked cells are not activated in a data or operation dependent manner, masked logic styles counteract dpa attacks. there are two different on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 327 possible masking schemes: one mask per circuit (single masking) or one mask per signal. these masked bits are normally prepared by some random number/sequence generators. before, masking was mainly used at the architecture level. as a result, only a few practical results are available for this type of cell level countermeasure. for examples masked dual rail precharge logic (mdpl) [17] and dual rail random switching logic (drsl) [18] were introduced by combining the masking scheme and dual rail precharge logic in order to use semi custom design tools without routing constrains. designers can implement mdpl cells using commonly available conventional single rail standard cells. only sequential cells are connected to the clock signal, and combinational cells precharge their outputs when their inputs have been set to the precharge value. the memory effect can reduce the dpa resistance of masked logic styles. practical evaluations of the manufactured chips have also shown that early propagation is also a major threat to the dpa resistancy of masked logic styles. although all these efforts, it has been shown ([19], [20], [21]) that mdpl leaks information. for example in [19], it has been shown that mdpl is susceptible to the early propagation effect. in order to combat the early propagation issues, the designers of mdpl introduced a so called improved mdpl (imdpl). in each imdpl gate there is an evaluation precharge detection unit, which consists of three (cmos) and gates and two (cmos) or gates. hence it is not surprising that the area requirements for imdpl gates increased significantly compared to mdpl gates. another threat to masked circuits is the detection of the mask value, which lets attackers completely cancel out the effect of masking in a dpa attack. in particular, such an attack is dangerous for single masked circuits, where only one mask value is used for all signals in the circuit. increasing the number of mask values per circuit is an option but it is impractical regarding its high complexity and area utilization. 4 sense amplifier based logic in this paper we will concentrate on sabl [10] for dpa resistive implementation of stream ciphers. sabl is part of the drp logic styles. fig. 2 shows the transistor schematic of standard sabl gate library used for implementation of ciphers. equation (3) illustrates the power consumption of a sabl gate, p = cl · f ·v 2dd +cclk · f ·v 2dd (3) where cl represents the total output capacitance of the gate and cclk is the clock propagation circuitry capacitance. as can be seen in the fig.2, sabl gates can be designed using differential pull down networks (dpdn) or differential pull up networks (dpun), controlled respectively by clk and clk. this allows two modes for cascading sabl gates: domino connection (by connecting the outputs of the gate to the inputs of the next gate through inverters) or np-connection (n-gates followed by p-gates like in np-logic). in sabl, the concepts of dual rail and precharge logic are combined to achieve constant power consumption. precharging breaks a signal’s sequence of values by splitting each clock cycle into precharge and evaluation phases. in the precharge phase, the complementary wires encoding a signal are set to a predefined precharge value, such as 1. in the subsequent evaluation phase, one of the two complementary wires is set to 1 according to the actual value that is processed. as a result, for each signal in a circuit, exactly one 0 → 1 transition and one 1 → 0 transition occur in a clock cycle. by ensuring a balance between the complementary wires between cells on the one hand and a balance of the internal structure of the cells on the other hand, designers can achieve constant power consumption. the price is high power consumption and high current spikes of these gates which appear at the beginning of the precharge phase. by the use of delayed clock mechanism introduced in [13] and [14] we can reduce the peak of these spikes. but in practice the throughput is highly dependent on layout design of the chip to have balanced complementary wires. since the charge and discharge of output nodes of differential styles follow simple 328 reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier figure 2: (i) sabl d-flip flop (ii) sabl nand2 gate (iii) sabl xor2 gate rc charge and discharge, cells and wires must mainly be balanced in a capacitive and resistive manner. but due to process variations, complex cross-coupling effects, and area limitations this is hard to achieve. avoiding these effects often requires custom cell design, which involves considerably more design effort than using available standard cells. 5 grain stream cipher grain v.1 [5] is a stream cipher introduced in 2005 as a candidate for the hardware profile of estream project. grain v.1 is a binary additive synchronous stream cipher with an internal state of 160 bits si, si+1,. . . , si+79 and bi, bi+1,. . . , bi+79 residing in a linear feedback shift register (lfsr) and a nonlinear feedback shift register (nlfsr), respectively. the design of the algorithm mainly targets hardware environments where gate count, power consumption and memory is very limited. the key size of grain is 80 bits (ki, 0 ≤ i ≤ 79). additionally, an initial value of 64 bits (ivi, 0 ≤ i ≤ 63) is required. in initialization phase, all 80 nlfsr elements are loaded with the key bits, (bi = ki, 0 ≤ i ≤ 79), then the first 64 lfsr elements are loaded with the iv bits, (si = ivi, 0 ≤ i ≤ 63). the last 16 bits of the lfsr are filled with ones. f (x) and g(x) are two polynomials used as feedback function for the lfsr and nlfsr. f : si+80 = si+62 ⊕ si+51 ⊕ si+38 ⊕ si+23 ⊕ si+13 ⊕ si (4) g : bi+80 = si ⊕ bi ⊕ bi+9 ⊕ bi+14 ⊕ bi+21 ⊕ bi+28 ⊕ bi+33 ⊕ bi+37 ⊕ bi+45 ⊕ bi+52 ⊕ bi+60 ⊕ bi+62 ⊕ bi+63 · bi+60 ⊕ bi+37 · bi+33 ⊕ bi+15 · bi+9 ⊕ bi+60 · bi+52 · bi+45 ⊕ bi+33 · bi+28 · bi+21 ⊕ bi+63 · bi+45 · bi+28 · bi+9 ⊕ bi+60 · bi+52 · bi+37 · bi+33 ⊕ bi+63 · bi+60 · bi+21 · bi+15 ⊕ bi+63 · bi+60 · bi+52 · bi+45 · bi+37 ⊕ (5) bi+33 · bi+28 · bi+21 · bi+15 · bi+9 ⊕ bi+52 · bi+45 · bi+37 · bi+33 · bi+28 · bi+21 the output function h(x) uses as input selected bits from both feedback shift registers: h(x) = x1 ⊕ x4 ⊕ x0 · x3 ⊕ x2 · x3 ⊕ x3 · x4 ⊕ x0 · x1 · x2 ⊕ + x0 · x2 · x3 ⊕ x0 · x2 · x4 ⊕ x1 · x2 · x4 ⊕ x2 · x3 · x4 (6) on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 329 where the variables x0, x1, x2, x3, and x4 corresponds to the tap positions si+3, si+25, si+46, si+64 and bi+63 respectively. the output of the filter function is masked with the some state bits from the nfsr to produce the keystream zi: zi = bi+1 ⊕ bi+2 ⊕ bi+4 ⊕ bi+10 ⊕ bi+31 ⊕ bi+43 ⊕ bi+56 ⊕ h(si+3, si+25, si+46, si+64, bi+63) this output is used during the initialization phase as additional feedback to lfsr and nlfsr. during normal operation this value is used as key stream output. the generated output bits per clock cycle is called radix. by implementing the small feedback functions, f (x) and g(x), and the output function several times the speed of grain can easily reach up to radix-32. 6 trivium stream cipher trivium [6] is a stream cipher introduced in 2005 as a candidate for the hardware profile of the estream project. trivium has an internal state of 288 bits ai, ai+1, . . . , ai+92, bi, bi+1, . . . , bi+83 and ci, ci+1, . . . , ci+110 residing in three coupled nlfsrs a, b, and c of 93, 84, and 111 bits respectively. trivium has a key k = (k0, . . . , k79) of 80 bits as well as an initial value iv = (iv0, ..., iv79) of 80 bits. the initialization of the key and iv is done as follows:    (a0, . . . , a92) = (0, . . . ,0, k79, . . . , k0) (b0, . . . , b83) = (0,0,0,0, iv79, . . . , iv0) (c0, . . . , c110) = (1,1,1,0,0, . . . ,0,0) (7) then, the state is updated over 4 full cycles, according to (3), but without generating key stream bits. after 1152 clocking it outputs a key stream bit zi.    ai+93 = ai+24 ⊕ ci ⊕ (ci+1 · ci+2) ⊕ ci+45 bi+84 = bi+6 ⊕ ai ⊕ (ai+1 · ai+2) ⊕ ai+27 ci+111 = ci+24 ⊕ bi ⊕ (bi+1 · bi+2) ⊕ bi+15 (8) zi = ai ⊕ bi ⊕ ci ⊕ ai+27 ⊕ bi+15 ⊕ ci+45 (9) trivium has a very simple structure that is well suited for different radix implementations from radix-1 to radix-64 without noticeable hardware penalties. the basic structure of the grain v.1 and trivium stream ciphers are shown in fig. 3. in april 15, 2008, the estream competition was finished and according to the final report [12] both ciphers were selected among the four finalists of the h/w profile. 7 design and simulation results both estream candidates are modeled at transistor level using a spice netlist. circuit design of grain v.1 and trivium are mainly based on the techniques presented in [13] and [14]. in order to specify the impact of minimum feature size on the design, ciphers are designed using two technologies: typical bsim3 0.13µ m cmos soi technology and typical 0.35µ m cmos soi technology. spice simulations were run to test the circuits by test vectors provided by the inventors of the ciphers using hspice circuit simulator and c compiler. domino cascading scheme is used for all sabl gate connections to make sure having a 0 → 1 transition in the input of all cascaded gates to prevent possible glitches. first a new standard gate library based on sabl logic is designed. minimum possible sized transistors are used to lower the total capacitance to get lower dynamic power in (2). this will also minimize the charging time 330 reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier figure 3: (i) grain stream cipher (ii) trivium stream cipher. during precharge phase. besides, this will help to cut the current spikes in the beginning of the precharge phase of each cycle. in order to get rid of the spikes, a delayed clocking mechanism is used [13], [14]. in order to increase security and speed of the initialization phase, a parallel data loading scheme is used, since in case of serial bit loading a straight forward simple power analysis attack is very likely to be successful in recovering all key bits. in parallel loading, key and iv will be loaded in the state bits after the first rising edge of the clk signal. the gate level architecture of the parallel data loading scheme for standard cmos is shown in fig. 4. note that in case of sabl all the wires and gates are dual rail. the area overhead is three nand2 gates for each flipflop of the fsrs in the ciphers. since all the components in the architecture need a clk signal for switching from precharge phase into evaluation and vice versa, a chained buffer clock signal is needed. for the standard cmos implementation of a the stream ciphers, standard two input nand gates (4 transistors), 8 transistor two input xor gates, and the former 24 transistor, edge triggered d-flipflops (using eight nand2), are used. in order to monitor all current variations, one sample has been taken every 50ps. both simulations were run for four different 80-bit keys and iv’s (64 bit iv for grain v.1) in both sabl and standard cmos designs. all power simulations are observed by 5mhz clock signal. the average power consumption per cycle was extracted by averaging the power consumption on 100 consecutive clock cycles. then, the mean power consumption (mpc), the power consumption standard deviation (pcsd), the normalized energy deviation (ned) and normalized standard deviation (nsd) were extracted for each simulated logic style (10). for example supply current traces for standard cmos design of grain v.1 for the choice of k2, iv3 (in table 1) in initialization phase is shown in fig. 5. ned = max(energy/cycle) − min(energy/cycle) max(energy/cycle) , nsd = pcsd mpc (10) in terms of transistor cost, the complete trivium (including parallel data loading and clock buffering circuitary) required ≈ 23000 transistors for the sabl and ≈ 8500 transistors for the standard cmos. in case of grain v.1, ≈ 13500 transistors for the sabl and ≈ 6000 transistors for the standard cmos are needed, confirming more than two times higher hardware cost for sabl styles. table 1 shows the summary of final statistical power analysis results. for example in 0.13µ m technology, and for k1, iv1, for grain v.1, pcsdsabl pcsdscmos = 0.016 which shows that the power consumption fluctuations of sabl implementation is nearly 1.6% of standard cmos (power = current ×costant supply voltage). this is a on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 331 figure 4: parallel data loading scheme in fsrs (standard cmos) figure 5: supply current variation of standard cmos design of grain v.1 in 350nm technology 332 reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier table 1: statistical power analysis of trivium and grain v.1 for different 80 bit hexadecimal key and iv’s (k1 = aa . . . a, k2 = 80. . .0, iv1 = 55. . .5, iv2 = f f . . . f, iv3 = 00. . .0, iv4 = 11. . .1). [note that in case of grain v.1 the iv’s are 64 bits] stream cipher trivium grain trivium mpc [µw ] pcsd [µw ] ned nsd mpc [µw ] pcsd [µw ] ned nsd sabl 0.35µ m,vdd = 3.3v,vt n = 0.6v,vt p = −0.85v k1, iv1 949 1.2632 0.0091 0.00133 616 0.9497 0.0136 0.00154 k1, iv2 940 1.2469 0.0106 0.00132 605 0.9375 0.0111 0.00155 k2, iv3 938 1.2403 0.0089 0.00131 601 0.9318 0.0122 0.00155 k2, iv4 943 1.2531 0.0117 0.00133 611 0.9393 0.0120 0.00153 s-cmos 0.35µ m,vdd = 3.3v,vt n = 0.6v,vt p = −0.85v k1, iv1 641 49.1 0.3292 0.0766 421 26.8 0.2784 0.0636 k1, iv2 637 19.3 0.2351 0.0303 402 18.5 0.1905 0.0460 k2, iv3 629 23.5 0.3139 0.0374 397 17.1 0.2187 0.0430 k2, iv4 635 41.7 0.2842 0.0657 415 29.6 0.3882 0.0713 sabl 0.13µ m,vdd = 1.2v,vt n = 0.4v,vt p = −0.39v k1, iv1 545 0.8435 0.0061 0.0015 378 0.7610 0.0124 0.0020 k1, iv2 537 0.7927 0.0054 0.0014 371 0.7424 0.0082 0.0020 k2, iv3 536 0.7831 0.0050 0.0014 369 0.7291 0.0079 0.0019 k2, iv4 541 0.8237 0.0059 0.0015 374 0.7482 0.0101 0.0020 s-cmos 0.13µ m,vdd = 1.2v,vt n = 0.4v,vt p = −0.39v k1, iv1 337 31.20 0.8945 0.0926 258 22.50 0.7889 0.0872 k1, iv2 321 16.12 0.8191 0.0190 246 14.14 0.8026 0.0545 k2, iv3 319 17.14 0.8614 0.0537 242 12.31 0.8402 0.0509 k2, iv4 326 29.94 0.9218 0.0918 252 21.72 0.7924 0.0862 major improvement but still pcsdsabl 6= 0 and very small current variations are detectable. the overall comparison between sabl and standard cmos design for 4 different key and iv choices (table 1) is shown in table 2. dpa resistivity factor is calculated in (11): dpa resistivity ∝ 1 pcsd (11) one of the fundamental parameters of a cryptographic algorithm is the amount of data it can process within a given period. the total throughput of the algorithm is expressed as mbits/s and can be calculated from t = f × radix where f is the clock frequency of the design (e.g. 5mhz). since trivium throughput rate for sabl and s-cmos designs are equal, in order to make a fair comparison, a new normalized table 2: overall comparison for sabl and s-cmos design of trivium (all data are normalized) cipher trivium grain logic style sabl s-cmos sabl s-cmos sabl s-cmos sabl s-cmos technology 0.13µ m 0.35µ m 0.13µ m 0.35µ m transistor cost (a) 1 0.37 1 0.37 1 0.44 1 0.44 power consumption (p) 1 0.60 1 0.67 1 0.66 1 0.67 dpa resistancy (dr) 1 0.0374 1 0.0435 1 0.045 1 0.043 qualifying factor (qf) 1 0.062 1 0.065 1 0.068 1 0.064 on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 333 qualifying factor (qf) is defined in (12): qf = dr × t p × a (12) where, a, p, and dr corresponds to transistor cost, power consumption, and dpa resistancy respectively. at the end of the simulations and data analysis we exhibited that sabl logic styles allow to significantly decrease the supply current variations of both estream circuits. but still in both designs very small current variations are detectable. as a disadvantage this could be a start of a dpa attack since the predictability of the energy variations is more critical than their amplitude. it is clear that decreasing the power consumption variations will affect all the stream cipher design components in exactly the same way, and therefore not affect the snr. since dpa efficiency depends on the possibility to predict the power consumption of a device in function of its input data and the value of the correlation coefficient, the attack is still theoretically feasible against sabl circuits. but these current differences are due to the presence of parasitic capacitances in the design and therefore, they cannot be predicted without a precise transistor level knowledge of the circuit. as a consequence, an attacker can only target one specific implementation and preliminarily needs to build a table containing the power consumption differences in function of the circuit input data. these informations are not usually made available to the users in full custom design. moreover, under the assumption that we can perfectly predict and measure the power consumption, a circuit resistance is equal for any logic style. nevertheless, in practice, measurements are not perfect and induce noise, independently of the logic style considered. this will cause a reduction of the correlation values, depending on the power consumption variances, although it is hard to evaluate and highly depends on the attacker measurement setup. as can be seen in the table 1 and table 2 the dpa resistancy is improved for smaller minimum feature sized designs. although, current variations do not follow the scaling rules. this is mainly because of clock feedthrough effect and also the former subthreshhold leakages which play a big roll in deep submicron designs. stream ciphers always had the reputation of efficiency in hardware. their smaller architecture helps to use full custom design flow in order to have balanced routing of component wires. so simpler stream cipher designs would have lower design costs. regarding design flow, trivium has lower hardware complexity and circuit design is easier. although trivium has bigger architecture, timing constraints and clock distribution of trivium are the same as grain. comparing resistance against dpa attacks of the two estream candidates, simulations show grain has lower current spikes and smaller current variations. this is thanks to the higher circuit complexity of grain which combines different current variation of gates to achieve a semi random supply current variation. current spikes in trivium are due to the higher number of flip flops. another disadvantage of trivium is its large number of iterations in initialization phase (1152 rounds) which let attackers to have more power traces. 8 summary and conclusions this paper investigated the use of sabl logic to counteract power analysis attacks. in particular, an efficient dpa resistive circuit for grain v.1 and trivium stream ciphers have been designed and compared with their standard cmos implementations. first we exhibited that sabl allow to significantly decrease the circuit energy variations. this is due to equal amounts of power consumption in each clock cycle of sabl gates. all implementations have been done on transistor level but in practice the cipher itself is part of a system on chip with lots of other circuits which can increase pcons. +pnoise in (1) to achieve lower snr. although sabl cannot be completely tamper resistant, this logic probably presents acceptable security margins for general applications of stream ciphers. for future work interested researchers can investigate some circuit changes in sabl styles to counteract other side channel attacks such as fault attacks to obtain more security. 334 reza ebrahimi atani, sattar mirzakuchaki, shahabaddin ebrahimi atani, willi meier acknowledgment reza ebrahimi atani wishes to thank the iran telecommunication research center (itrc) for their financial support (www.itrc.ac.ir). bibliography [1] p. c. kocher, j. jaffe, and b. jun, “differential power analysis,” advances in cryptology crypto’99, springer-verlag, lncs vol. 1666, pp. 388–397, 1999. [2] ch. rechberger and e. oswald, “stream ciphers and side-channel analysis” in sasc 2004 the state of the art of stream ciphers, brugge, belgium, workshop record, pp. 320–326, oct. 14-15, 2004. [3] j. lano, n. mentens, b preneel, and i. verbauwhede, “power analysis of synchronous stream ciphers with resynchronization mechanism” in sasc 2004 the state of the art of stream ciphers, brugge, belgium, workshop record, pp. 327–333, oct. 14-15, 2004. [4] w. fischer, b. m. gammel, o. kniffler, j. velton, “differential power analysis of stream ciphers,” topics in cryptology ct-rsa 2007, springer-verlag, lncs, vol. 4377, pp. 257–270, 2007. [5] m. hell, th. johansson, a. maximov, and w. meier, “grain a stream cipher for constrained environments,” 2006, estream project website. [6] c. de canniere, and b. preneel, “trivium specifications,” 2005, estream project website. [7] t. seko, a. nakamura, and t. kikuno, “measurement of glitches based on variable gate delay model using vhdl simulator,” asia-pacific conference on circuits and systems, nov. 1998, pp. 767 – 770. [8] b. gierlichs et. al., “susceptibility of estream candidates towards side channel analysis,” sasc 2008, switzerland, feb. 13-14, 2008, workshop record, pp. 320 – 326. [9] k. tiri, and i. verbauwhede, “charge recycling sense amplifier based logic: securing low power security ics against dpa” 30th european conference on solid-state circuits, 21-23 sept. 2004, pp. 179 – 182. [10] k. tiri, m. akmal, and i. verbauwhede, “a dynamic and differential cmos logic with signal independent power consumption to withstand differential power analysis on smart cards,” 28th european solid state circuits conference, ieee press, pp. 403 – 406, , 24-26 sep. 2002. [11] s. mangard, e. oswald, and t. popp, power analysis attacks: revealing the secrets of smart cards, springer, 2007. [12] s. babbage et. al., the estream portfolio, april 2008, estream project website. [13] r.e. atani, w. meier, s. mirzakuchaki, and s.e.atani, “design and implementation of dpa resistive grain128 stream cipher based on sabl logic”, international journal of computers, communications & control, vol. iii (supl. issue), pp. 293 – 298, 2008. [14] r.e. atani, w. meier, s. mirzakuchaki, and s.e.atani, “design and simulation of a dpa resistive circuit for trivium stream cipher based on sabl styles” mixdes 2008, 19-21 june. 2008, pp. 203 – 208. [15] k. tiri, and i. verbauwhede, “a logic level design methodology for a secure dpa resistant asic or fpga implementation” date 2004, 2004, pp. 246–251. [16] m. bucci, l. giancane, r.o luzzi, and a. trifiletti, “three-phase dual-rail precharge logic” in cryptographic hardware and embedded systems ches 2006, vol. 4249 of lncs, springer-verlag, 2006, pp. 232–241. on dpa-resistive implementation of fsr-based stream ciphers using sabl logic styles 335 [17] t. popp, and s. mangard, “masked dual-rail pre-charge logic: dpa-resistance without routing constraints” in cryptographic hardware and embedded systems ches 2005, vol. 3659 of lncs, springer, 2005, pp. 172–186. [18] z. chen, and y. zhou, “dual-rail random switching logic: a countermeasure to reduce side channel leakage,” in cryptographic hardware and embedded systems ches 2006, vol. 4249 of lncs, springerverlag, 2006, pp. 242–254. [19] d. suzuki, and m. saeki, “security evaluation of dpa countermeasures using dual-rail pre-charge logic style” in cryptographic hardware and embedded systems ches 2006, vol. 4249 of lncs, springer-verlag, 2006, pp. 255–269. [20] p. schaumont, and k. tiri, “masking and dual-rail logic dont add up,” in cryptographic hardware and embedded systems ches 2006, vol. 4249 of lncs, springer-verlag, 2006, pp. 95–106. [21] b. gierlichs, “dpa-resistance without routing constraints?” in cryptographic hardware and embedded systems ches 2006, vol. 4249 of lncs, springer-verlag, 2006, pp. 107–120. reza ebrahimi atani electrical engineering department iran university of science and technology (iust), narmak,16846, tehran, iran. e-mail: rebrahimi@iust.ac.ir sattar mirzakuchaki electrical engineering department iran university of science and technology (iust), narmak,16846, tehran, iran. e-mail: m-kuchaki@iust.ac.ir shahabaddin ebrahimi atani mathematics department university of guilan p.o.box 1914, rasht, iran. e-mail: ebrahimi@guilan.ac.ir willi meier iast institute fhnw ch 5210, windisch, switzerland. e-mail: willi.meier@fhnw.ch int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 161-171 antenna arrays principle and solutions: robust control approach florin hutu, sebastien cauet, patrick coirault abstract: this paper treats solutions on the ability of a chain of non identical oscillators to drive antenna arrays. frequency approaches were studied in order to solve the problem of synchronization of the oscillators. however, in this article, a new structure of chain of oscillators is introduced. secondly, lyapunov theory of stability is used to design a dynamical controller guarantying the oscillators synchronization. the problem of synchronization is transformed into a problem of asymptotic stabilization for a nonlinear system. it is formulated as a system of linear matrix inequalities where the parameter variations of the two oscillators and their differences are modeled by polytopic matrices. the theoretical result is successfully applied to an array of transistor-based oscillators used in "smart antenna" systems. keyword : nonlinear systems, control applications, antenna arrays 1 introduction the demand of mobile communication services is in a continuous growth, moreover, it is estimated that the rate will be maintained in the next years. this continuous development has stimulated the research of new hardware and software solutions in order to increase the volume of exchanged data and a better management of the emitted or received electromagnetic field. smart antenna arrays comprise a number of antennas that work in conjunction with an intelligent system that processes the received and transmitted data. the processing can be realized in a hardware or in a software way and allows smart antenna arrays to focus beams into particular directions. this problem can be partially solved by using several directional antennas. this solution divides the 360-degree coverage area into sectors. however, smart antenna arrays provide a much more effective solution by focusing the transmitted power toward user and only looking in the direction of the user for the up link signal. this ensures that the user receives the optimum quality of service and the maximum coverage from a base station. the new technologies development increases the antenna array performances and minimizes the costs of production and the occupied space. it makes them implementable in domains like wireless or satellite communications, radar systems, missile defense systems, automobile industry, etc. smart antennas or antenna arrays are a part of communication systems that can improve their global performances. this technique can increase the spectral efficiency and reduce the multi path fading, bit error rate (ber), the co-channel interferences (cci) and the system complexity [1]. this is possible by electronically adjusting the beam pattern of the antenna array in order to provide important gain for the desired signals and small gain for interference signals. at emission, the purpose of smart antennas is to minimize the interference between the different transmitters who works on the same communication channel and, thus to more efficiently use the emitted power. for this reason, the beam shape must be controlled in order to minimize the amplitude of the side lobes and to maximize the energy in the main lobe. moreover, the direction of the main lobe must be controlled. the focused application is inter-vehicle communication. the bandwidth will be, first of all, in the area of 24ghz and finally around 79ghz. at these frequencies, technique like "software defined radio" can not be used. one of the main objectives that is pointed out is to develop a structure which will extend in both space and time the safety information available to drivers by using the infrastructure and vehicles as sources. copyright © 2006-2008 by ccc publications 162 florin hutu, sebastien cauet, patrick coirault when the smart antennas are used in reception systems, the signals coming from interference directions must be rejected and those which comes from the desired directions must be privileged. for this reason, different phases and amplitudes must be assured by the carrier signals locally generated [2, 3, 4]. the work that has been done in the field of dynamics of coupled nonlinear systems using the frequency approach [5][6, 7][8] shows that they offer methods of phase control among array elements and beam scanning capabilities but also implies problems of stabilization. the proposed structure of the array of antennas is based on unidirectional coupled oscillators. in details, this paper treats the synchronization of a system made by two oscillators with an unidirectional coupling and this problem of synchronization is transformed in a problem of stabilization for a nonlinear system. the strategy chosen is to find an output feedback dynamic controller using lyapunov functions that assures a robust synchronization despite parameters variations of the oscillators. the problem of computing dynamic output feedbacks on lti (linear time-invariant) systems in term of matrix inequalities is difficult to solve. there are two known techniques: the iterative algorithms and the cancellation of variable products by using the matrix separation lemma. the reader can found some papers on treatment of this problem by lmi (linear matrix inequality)-s who can be numerically solved [9, 10, 11, 12, 13]. the variations of the parameters of the oscillators are taken into account by considering the state matrix as a polytopic one. the polytopic structure is easily tractable by linear matrix inequalities. once the stability of the vertices, defined for the polytope is proved, the stability and the synchronization of the two oscillators is assured for all systems inside the polytope. the nonlinear character of the oscillators allows the synchronization (if their free running frequencies are in a certain domain [6]) but also makes them dependent of initial conditions. the main objective is to cancel the nonlinear effect and to maintain the synchronization when the physical parameters of the oscillators and external conditions are modified. the originality of the method comes from the inclusion of the non-linear term and the undesired variations in a perturbation. this problem is transformed in a h∞ optimization. in section 2 is presented an overview of the antenna array theory. in section 3 a model of master and slave oscillators and the controller synthesis are introduced. section 4 presents the numerical results in the case of an array of coupled nonlinear oscillators. 2 antenna array theory overview 2.1 theoretical background a smart antenna is composed by an array of individual radiative elements (elementary antennas), which are placed in a particular configuration (linear, circular or matrix). by gathering these elementary antennas in such arrays and by changing the characteristics of the signals associated to each element, the array can present different gains according to the direction. let us consider an uniform linear array of n identical patch antennas placed at the same distance d between them as in fig. 1. for the theoretical study of this configuration, it is assumed that in the elementary antennas, harmonic signals of the same frequency but different amplitudes and phases are injected. the mathematical expression of the total electromagnetic field generated by the array in far-field regions (fraunhofer regions) can be written as the product of the electromagnetic field of the reference antenna (which is considered the first antenna in the array) and a term which depends on the amplitudes and phases of the injected signals etotal = ere f ∗ f (θ). (1) thereafter, the gain of the antenna array will be considered, knowing that it is a normalization of the antenna arrays principle and solutions: robust control approach 163 wm sin 2π f0tw1 sin 2π f0t w2 sin 2π f0t wn sin 2π f0t θ z0 d figure 1: an uniform antenna array amplitude of the electromagnetic field. the array factor can be written as f (θ) = n ∑ m=1 wme− j(m−1)k0d cos θ, (2) where wm = ame jϕm . in the easiest emission case, the amplitudes have the same value, the mathematical expression of the radiation pattern is f (θ ) = 1 n sin nγ2 sin γ2 , (3) where γ = ϕ − k0d cos(θ ), n the number of antennas, d the distance between them. it can be seen that a quantity of the radiated energy is lost in the side lobes which implies a certain weakening of the antenna array gain. it is obvious that in the emission case, both variations of the amplitudes and the phases of the carrier signals are in a large interval. this paper proposes a new technique to generate such signals, which have the same frequency and different phases and amplitudes. it can be concluded that both variations of the amplitudes and phases are in a large interval. 3 problem formulation 3.1 problem statement if the amplitude variation can be easily solved by using variable gain amplifiers, the problem of the phase variation is more constraining. there are several techniques which permits solving this problem. the main technical problem with beamforming for transmit is realizing the phase and amplitude of the signals in each antenna channel. the first step will be generating the reference signal with the selected or required frequency. it has to be modulated with the information to be transmitted (e.g. radar, communication). then it has to be amplified and distributed to all transmit channels. then the individual signals have to be weighted for beamforming, that means amplified or attenuated, according to the desired weighting amplitude. the desired phase has to be realized by a suitable steerable phase shifter or delay line. digital devices are now available, under the headline "software defined radio". this technique is not usable on frequencies over 400 mhz. here, techniques, which are pointed out, are designed for applications over 2ghz. techniques can be divided into both main approaches. the first approach uses the signal generated by one oscillator and the second which uses signals generated by array of coupled oscillators. signals with the same frequency but different phases and amplitudes can be built by delaying the signal generated with one master oscillator using high-frequency power dividers and variable delay lines or butler couplers. this approach is very useful when discrete-time systems are built. another approach 164 florin hutu, sebastien cauet, patrick coirault is to use polyphasic oscillators and a multiplexing system [5]. but in these techniques, it can not be obtained continuous phase variations. the second approach is based on the synchronization of arrays of oscillators having their free running frequencies with a weak dispersion. in [6, 8] it was demonstrated that arrays of coupled nonlinear oscillators can synchronize. moreover, according to the coupling strength and to free-running frequencies, phase variations can be made. recent works [14] shows how the phase variation can be guaranty by changing only the free-running frequencies of all coupled oscillators in the array. in order to generate these carrier signals, the following general schematic fig. 2 is proposed. ( f0 , an , ϕn ) + + + slave3slave2master slaven σcτn−1σcτ2σcτ1 gain1 gain2 gain3 gainn σσς ( f0 , a1 , ϕ1 ) ( f0 , a2 , ϕ2 ) ( f0 , a3 , ϕ3 ) figure 2: unidirectional coupling of a chain of oscillators this schematic is a variation of the york’s approach shown in [15]. because of the unidirectional coupling, each slave oscillator is driven only by its left neighbor. hence, the study of this configuration is reduced to the study of a pair of two non-linear systems (master-salve synchronization). the purpose is to design the parameters of the controller system σc in order to make the output ye(t) tends toward zero. when this objective is fulfilled, the delayed output of the master oscillator and the output of the slave oscillator become identical, so both oscillators are synchronized. generally, because of the technological realization, the oscillators don’t have the same free running frequencies. this is the reason why the feedback loop was introduced to guarantee the robust synchronization between both oscillators. the delay element and the variable gain amplifier will guaranty different phases and amplitudes for the output signals. the difference between the oscillators will be modeled as a variation of the slave oscillator parameters around those of the master oscillator parameters, which is considered as the reference. the variations due to the temperature or at the ageing of the components are modeled by a polytopic uncertainty of the master oscillator parameters around the nominal values. the oscillators are built using a double differential pair structure. in order to determine the parameters of the dynamical controller, the nonlinear oscillators is modeled using the van der pol model. in this article, we consider that the system is a perturbed van der pol model as: { ẋ = a(θ1)x + g(x,t, θ1) + bu y = cx , (4) where x = [ il v0 ] a(θ1) =   0 1 l0 − 1 c0 0   u = iin j c0 g(x,t, θ1) =   0 α c0 x2 − β c0 x2 3   b = [ 0 1 ] c = [ 0 1 ] , (5) with the uncertain parameters θ1 = [α, l0,c0]. antenna arrays principle and solutions: robust control approach 165 3.2 master-slave synchronization the structure is made up by two different systems which belong to the class previously described. the master system is considered independent (u = 0) and the dynamical controller σc drives the slave system using the error signal as reference. the error signal is constituted by the difference between a delayed version of the master output and the slave output. the state-space representation of the master system can be written as follows σm : { ˙xm = am(θ1)xm + gm(xm,t, θ1) ym = cxm . (6) for the slave system, the state-space representation can be written as σs : { ẋs = as(θ1)xs + gs(xs,t, θ1) + b2u ys = cxs . (7) between the parameters of the master and the slave oscillators, it is considered that there is the same difference δ    ls = lm (1 + δ ) cs = cm (1 + δ ) αs = αm (1 + δ ) βs = βm (1 + δ ) . (8) in that case, this notation can be introduced am(θ1) = as(θ1) + b1(θ2). (9) this difference is transformed into the difference between the state matrix of the master and the slave. with the assumptions in (8), b1(θ2) can be written as follows b1(θ2) =   0 − δ lm (1 + δ ) δ cm (1 + δ ) 0   . (10) if an error state is defined as e(t) = xm(t −τ)−xs(t), (11) a state-space representation can be written σe : { ė = am(θ1)e−b1(θ2)xs + eg(xm, xs,t, θ1)−b2u ye = ce , (12) where eg(xm, xs,t, θ1) = gm(xm,t, θ1)−gs(xs,t, θ1). (13) 3.3 nonlinear bound determination in order to determine the bounds of the nonlinearities difference, the scalar function f : d1 7→ d2 f (x) = −α x + β x3 is used. the bounds can be considered as the slopes of the tangents passing through x = xm and x = 0 of f (x). −α(x2 −x1) ≤ ( f (x2)− f (x1)) ≤ (−α + 3β xm2)(x2 −x1) ∀x1, x2 ∈ d1 (14) 166 florin hutu, sebastien cauet, patrick coirault consider both nonlinear oscillators and the domain d1 = [−1.35v, 1.35v ], then the bound of the nonlinearities difference (13) can be written as follows   0 − 1 c0 ( α + 3β−0.22 )   ≤ eg(xm, xs,t, θ ) ≤   0 α c0   . (15) 3.4 controller synthesis assume that am(θ1) resp. b1(θ2) are two matrices that belong to a polytope of matrices and it is represented by a convex combination of the extreme matrices ai resp. b1i with i = 1 . . . 2m . am = { am(θ1)| am(θ1) = 2m ∑ i=1 ξiai; ξi ∈ ∆1 } (16) and consider that the matrix eg(xm, xs,t, θ1) can be bounded with nb(θ1) being its upper bound eg(xm, xs,t, θ1) ≤ nb(θ1)e. (17) the worst case for our system is the superior limit, then the matrix an (θ ) = am(θ1) + nb(θ1). assume that the dynamical output controller of the system (12) is described by the following statespace representation and its dimension is nc. σc : { ẋc = acxc + bcye u = ccxc + dcye (18) the purpose of this controller is to make the slave system follow the delayed output of the master system. this condition is performed when the error signal defined in (11) tends toward zero. the term b1(θ2)xs, representing the difference between both systems, acts as a perturbation on the error state e. the synthesis of this controller has been made with a technique similar to [9, 10] the following theorem solves the problem of variable matrices product in the synthesis problem by introducing extra unknown variable matrices. theorem 1. if there exists a set of matrices pi > 0, a state feedback controller k0, an unknown variable square and nonsingular matrix g ∈ rnu+nc , an unknown variable matrix h ∈ r(nu+nc)×(nu+nc) and four unknown variables matrices f1, f4 ∈ r(nx+nc)×(nx+nc), f2 ∈ rnx×(nx+nc) and f3 ∈ r(n∞+nc)×(nx+nc) such that the inequality (19) is verified, then the dynamical controller k = g−1l makes the error system (12) asymptotically stable for all matrices an (θ1) and b1(θ2) described as a polytope. φ2 + 1sym      f1 f2 f3 f4 o   [ o o o o b̃2 ]    + sym      o o o o i   l [ c̃ o o o o ]    +sym      o o o o i   g [ −k0 o o o −i ]    < o; (19) antenna arrays principle and solutions: robust control approach 167 the matrix φ2 is defined as follows φ2 =   o o ccl t pi o o −γi o o o ccl o −γi o o pi o o o o o o o o o   + sym      f1 f2 f3 f4 o   [ ã0i b̃1 j o −i o ]    ∀i ∈ {1 . . . 2m} and ∀ j ∈ {1 . . . 2p} , (20) where ã0i = ãni + b̃k0 and k = [ dc cc bc ac ] . (21) the expression (16) can be numerically solved using matlab’s© "lmi toolbox". 4 numerical results in order to check the theoretical result, a transistor-based simulation has been done using agilent’s ads© software and mosfet transistors in 0.35µ m silicon technology. it was considered that all the parameters of an (θ ) have ±5% variation around their nominal values. this variation can be seen as the variation depending on the temperature of the oscillators that are built on the same integrated circuit substrate. this is mathematically transformed into the variation of the state matrix an (θ1) inside the polytope. using the matlab’s ”lmi toolbox” applied to the 8 vertices of the polytope, the following output-feedback controller was found k = [ dc cc bc ac ] = [ 2.66588·1011 22.3994 7.51499·109 −1.1885 ] . (22) it assures the synchronization of oscillators having δ = ±5% difference between parameters. this difference is represented by variation of the perturbation matrix b1(θ2) inside the polytope. variations between lm , cm and ls, cs parameters, corresponds to a possible difference between the free-running frequencies of both oscillators f0s ∈ [ f0m (1−|δ|)2 f0m (1 +|δ|)2 ] . (23) the difference between αm , βm and αs, βs stands for a possible difference between the transistor operating points of both nonlinear oscillators. this controller was applied to a pair of both non-linear oscillators. their free running frequencies are f0m = 2ghz and f0s = 2.2ghz. it has been chosen those frequencies in order to build a discrete component platform. in fig. 4 are presented both output voltages for master and slave oscillators and is divided into three sequences. a first sequence in which, the controller σc is not activated, both oscillators oscillates from their free-running frequencies. the second step at t = 55ns, the controller σc is activated. the obtained delay is closed to the imposed value (τ = t /4 = 1.25·10−10s). this delay will correspond to a orientation of the main lobe in θ = 120◦. finally, at t = 60ns, in order to verify the robustness of the dynamical controller, the free running frequency of the master oscillator was changed to fm = 2ghz. in fig. 3 the error between both output signals is presented. it can be seen that the error tends toward zero after a short period of time when the controller is started. 1sym{x} = x t + x ; ∀x ∈rn 168 florin hutu, sebastien cauet, patrick coirault figure 3: output voltages of both oscillators figure 4: the error between both signals provided by the oscillators 4.1 array of oscillators consider the situation where the θp = 60◦ direction must be privileged and θi1 = 90◦ and θi2 = 120◦ must be rejected. in table 4.1, the necessary and final values of the amplitudes and phases are shown for n = 8 antennas. figure fig.5 depicts the corresponding radiation pattern. the orientation of the main lobe is closed to the desired value θp = 58.14 and both interference directions θi1 = 90◦ and θi2 = 120◦ are rejected. 5 conclusion this paper presents a novel method to drive antenna arrays. it is based on unidirectionally coupled oscillators. an output feedback controller has been designed to assure synchronization with advanced control theory using lmi (linear matrix inequalities) tools. the result was successfully extended to a chain of eight unidirectionally coupled oscillators. additional research will be made to constrain the dynamical controller to realize the desired delay in order to eliminate the delay element. antenna arrays principle and solutions: robust control approach 169 amplitudes [v ] phases [◦] necessary simulated necessary simulated 0.269 0.21 0 0 0.21 0.2 143 138 0.14 0.14 180 179 0.4 0.4 -162 160 0.08 0.08 0 -2 0.14 0.13 63.1 57 0 0 0 7 0.3 0.29 -24.4 -30 table 1: computed and final values for the amplitudes and phases figure 5: the radiation pattern in the particular case of θp = 60◦ 170 florin hutu, sebastien cauet, patrick coirault bibliography [1] l. c. godara (ed.), applications of antenna arrays to mobile communications, part i: performance improvement, feasability and system consideration, vol. 85, proceedings of the ieee, 1997. [2] s. chandran, adaptative antenna arrays trends and applications, springer-verlag, 2004. [3] s. j. orfanidis, electromagnetic waves and antennas (2004). http://www.ece.rutgers.edu/ orfanidi/ewa/ [4] r. c. hansen, phased array antennas, wiley-interscience, 2001. [5] x. guan, h. hashemi, a. hajimiri, a fully integrated 24 ghz eight-element phased-array receiver in silicon, ieee journal of solid-state circuits 39 (12) (2004) 2311–2320. [6] p. liao, r. a. york, a six-element beam scanning array, ieee microwave and guided wave letters 4 (1) (1994) 20–22. [7] a. tombak, a. mortazawi, a novel low-cost beam-steering technique based on the extended resonance power dividing method, ieee transactions on microwave theory and techniques (2003) 1–7. [8] r. a. york, t. itoh, injection and phase-locking techniques for beam control, ieee transactions on microwave theory and techniques 46 (11) (1998) 1920–1929. [9] d. arzellier, d. peaucelle, s. salhi, robust static output feedback stabilization for polytopic uncertain systems: improving the guaranteed performance bound, in: rocond milan-italy, 2003. [10] d. mehdi, e. boukas, o. bachelier, static output feedback design for uncertain linear discrete time system, ima journal of mathematical control and information. [11] t. iwasaki, r. e. skelton, k. grigoriadis., a unified algebraic approach to linear control design, taylor and francis, 1998. [12] d. peaucelle, d. azellier, an efficient numerical solution for h2 static output feedback synthesis, europeen control conference. [13] s. boyd, l. e. ghaoui, e. feron, v. balakrishnan, linear matrix inequalities in system and control theory, vol. 15, studies in applied mathematics, usa, 1994. [14] t. heath, simultaneous beam steering and null formation with coupled, nonlinear oscillator arrays, ieee transactions on antennas and propagation 53 (6) (2005) 2031–2035. [15] r. a. york, nonlinear analysis of phase relationshiops in quasi-optical oscillator arrays, ieee transactions on microwave theory and techniques 41 (10) (1993) 1799–1809. florin hutu university of poitiers department : laii-esip 40 avenue du recteur pineau e-mail: florin.hutu@etu.univ-poitiers.fr received: november 28, 2007 antenna arrays principle and solutions: robust control approach 171 florin hutu was born in romania in 1977 and received the ph.d. degree in automatic control in 2007. he is currently a post doc at the university of poitiers where his interests are currently involved with the design of microwave antenna array. sébastien cauet was born in france in 1971 and received the ph.d. degree in automatic control in 1999. he is currently an associated professor of electrical and computer engineering at the university of poitiers where his interests are currently involved with the control of electrical power rotating motors, the design of microwave antenna array and application of control to chaos transmission. patrick coirault was born in poitiers, france, in 1965. he received the ph.d. degree from the university of poitiers in 1991. he was an assistant professor at the institute of technology of poitiers from 1992 to 1997. he is now professor at the institute of technology of chatellerault. his current research interests are in nonlinear identification and control, with applications to chaotic systems. ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 92-98 a note on the generative power of axon p systems xingyi zhang, jun wang, linqiang pan huazhong university of science and technology, department of control science and engineering key laboratory of image processing and intelligent control wuhan 430074, hubei, people’s republic of china e-mail: xyzhanghust@gmail.com, junwangjf@gmail.com, lqpan@mail.hust.edu.cn abstract: axon p systems are a class of spiking neural p systems. in this paper, the axon p systems are used as number generators and language generators. as a language generator, the relationships of the families of languages generated by axon p systems with finite and context-free languages are considered. as a number generator, a characterization of the family of finite sets can be obtained by axon p systems with only one node. the relationships of sets of numbers generated by axon p systems with semilinear sets of numbers are also investigated. this paper partially answers some open problems formulated by h. chen, t.-o. ishdorj and gh. păun. keywords: membrane computing, sn p systems, axon p systems 1 introduction the spiking neural p systems (in short, sn p systems) are a class of bio-inspired computing devices introduced in [6], which attempts to incorporate the idea of spiking neurons into the area of membrane computing. the resulting models are a variant of tissue-like and neural-like p systems, with specific ingredients and way of functioning inspired from spiking neurons. in sn p systems, the main “informationprocessor" is the neuron, while the axon is only a channel of communication without any other role – which is not exactly the case in neurobiology. so, recently, a special form of spiking neural p systems, called axon p systems, is introduced in [3], which corresponds to the activity of ranvier nodes of neuron axon. actually, axon p systems are a sort of linear sn p systems. spikes are transmitted along the axon, to the left and to the right, from one node to another node, and an output is provided by the rightmost node. a symbol bi is associated with a step when i spikes exit the system, in this way a string is associated with a computation. in [3], the language generating power of axon p systems under the above definition was investigated, and many open problems and research topics were formulated. in this paper, we continue the study of axon p systems, specifically, the number generative power and the language generative power are investigated, and in this context we answer some open problems formulated in [3]. sn p systems can be used as number generators (e.g., [2, 4, 6, 7]) or language generators (e.g., [1, 2, 5, 10, 12]). as a variant of sn p systems, axon p systems can also be used as number generators and language generators. as a number generator, we do not care whether or not the computation halts, but we only request that the output node spikes exactly twice during the computation, and the result of a computation is the number of steps elapsed between the two moments when the output node spikes. in this case, a characterization of the family of finite sets is given by axon p systems with one node. also, the relationships of sets of numbers generated by axon p systems with semilinear sets of numbers are also investigated. as a language generator, each configuration is described by a corresponding string, and the result of a halting computation is defined as the strings associated with configurations where the system emits a spike. in this case, the relationships of the families of languages generated by axon p systems with finite and context-free languages are considered. the paper is organized as follows. in section 2, formal language theory prerequisites useful in the following sections are recalled. in section 3, the definition of axon p systems and the problems considered in this paper are given. axon p systems as number generators and language generators are investigated respectively in section 4 and section 5. conclusions and remarks are drawn in section 6. 2 formal language theory prerequisites we assume the reader to be familiar with basic language and automata theory, as well as basic membrane computing [8] (for more updated information about membrane computing, please refer to [11]), so that we specify here only a few notations and basic definitions. copyright © 2006-2009 by ccc publications a note on the generative power of axon p systems 93 let us start by mentioning the following convention: when comparing two generative or accepting devices, number zero is ignored (this corresponds to the usual convention in language theory of ignoring the empty string). for an alphabet v , v ∗ denotes the set of all finite strings over v , with the empty string denoted by λ . the set of all nonempty strings over v is denoted by v +. when v = {a} is a singleton, then we write simply a∗ and a+ instead of {a}∗, {a}+. the length of a string x ∈ v ∗ is denoted by |x|. for a language l ⊆ v ∗, the set length(l) = {|x| | x ∈ l} is called the length set of l. the families of finite, regular, linear and context-free languages are denoted by fin, reg, lin, cf, respectively. the families of length sets of languages in fin, reg, lin and cf are denoted by nfin, nreg, nlin, ncf, respectively. the family of languages generated by l systems is denoted by l, and we add the letter e in front of l if extended l systems are used. we also denote by slin the family of semilinear sets of numbers (the subscript indicates that we work with one-dimensional vectors, not with semilinear sets of vectors in general). it is known that the following equalities hold true: nreg = nlin = ncf = slin (see, e.g., [8]). a regular expression over an alphabet v is defined as follows: (i) λ and each a ∈ v is a regular expression, (ii) if e,e are regular expressions over v , then (e)(e), (e)∪(e), and (e)+ are regular expressions over v , and (iii) nothing else is a regular expression over v . with each expression e we associate a language l(e), defined in the following way: (i) l(λ ) = {λ } and l(a) = {a}, for all a ∈ v , (ii) l((e) ∪ (e)) = l(e) ∪l(e), l((e)(e)) = l(e)l(e), and l((e)+) = l(e)+, for all regular expressions e,e over v . non-necessary parentheses are omitted when writing a regular expression, and also (e)+ ∪ {λ } can be written as e∗. a chomsky grammar is given in the form g = (n,t,s,p), with n being the nonterminal alphabet, t the terminal alphabet, s ∈ n the axiom, and p is the finite set of productions. for regular grammars, the productions are of the form u → v, for some u ∈ n,v ∈ t ∪ tn (in regular grammars, we also allow productions of the form u → λ , but only when this is useful for simplifying the grammar: because of the convention that the empty string is not counted when comparing the languages generated by two grammars, such productions are not necessary in regular grammars). 3 axon p systems we now introduce the axon p systems. an axon p system of degree m ≥  is a construct of the form π = (o, ρ, . . . , ρm), where: 1. o = {a} is the singleton alphabet (a is called spike); 2. ρ, . . . , ρm are (ranvier) nodes, of the form ρi = (ni,ri),  ≤ i ≤ m, where: a) ni ≥  is the initial number of spikes contained in ρi; b) ri is a finite set of rules of the form e/a c → (al,ar), where e is a regular expression over a, c ≥ , and l,r ≥ , with the restriction that r contains only rules with l = . the nodes are arranged along an axon in the order ρ, . . . , ρm, with ρm at the end of the axon; this means that node ρm is the output node of the system. a rule e/ac → (al,ar) ∈ ri is used as follows. if the node ρi contains k spikes, and ak ∈ l(e),k ≥ c, then the rule can be applied, and this means consuming (removing) c spikes from ρi (thus only k − c spikes remain in ρi), and it sends l spikes to its left hand neighbor and r spikes to its right hand neighbor; the first node, ρ does not send spikes to the left, while in the case of the rightmost node, ρm, the spikes sent to the right are “lost” in the environment. a global clock is assumed, marking the time for the whole system, hence the functioning of the system is synchronized. if a rule e/ac → (al,ar) has e = ac, then we will write it in the simplified form ac → (al,ar). if several rules can be used at the same time, then the one to be applied is chosen non-deterministically. 94 xingyi zhang, jun wang, linqiang pan during the computation, a configuration of the system is described by the number of spikes present in each node; thus, the initial configuration is 〈n, . . . ,nm〉. using the rules as described above, one can define transitions among configurations. a transition between two configurations c,c is denoted by c ⇒ c. if c = 〈k,k, . . . ,km〉, then c = 〈k′,k′, . . . ,k′m〉, where k′i = (ki − ci) + ri− + li+, i is the current node, ci is number of spikes consumed in this node, and ri−, li+ are the numbers of spikes sent to this node by the neighboring nodes,  ≤ i ≤ m − . in the case of i =  or i = m, there is only one neighbor. any sequence of transitions starting in the initial configuration is called a computation. a computation halts if it reaches a configuration where no rule can be used. in this paper, we consider the following two ways of defining the result of a computation for axon p systems. (i) similar to [6] and [10], we do not care whether or not the computation halts, but we only request that the output node spikes exactly twice during the computation. then, the number of steps elapsed between the two spikes is the number computed by the axon p system along that computation. we denote by n(π ) the set of numbers computed in this way by the axon p system π , and by spikapm(rulek,consp) the family of sets n(π ) generated by axon p systems with at most m nodes, at most k rules in each node, each rule consuming at most p spikes. as usual, any of these parameters is replaced by ∗ if it is not bounded. (ii) as formulated in [3], a language is associated with a computation of axon p systems in the following way: for each node ρi we consider a symbol ci and a configuration 〈k, . . . ,km〉 is described by the string ck . . .c km m ; then, the result of a halting computation is defined as the strings associated with configurations where the system emits a spike. all these strings form the language generated by the system. we denote by l(π ) the language generated in this way by the axon p system π , and by lapm(rulek,consp) the family of languages l(π ) with m,k, p having the same meaning as above. 4 axon p systems as number generators in this section, we investigate the number generative power of axon p systems. 4.1 a characterization of nfin in [6], it has been proved that sn p systems can characterize nfin by using only one neuron. for axon p systems, we have a similar result. theorem 1. nfin = spikap(rule∗,cons∗). proof. the inclusion spikap(rule∗,cons∗) ⊆ nfin can be easily proved: in each step, the number of spikes in an axon p system with only one node decreases by at least one, hence any computation lasts at most as many steps as the number of spikes present in the system at the beginning. thus, axon p systems with only one node can only compute finite sets of numbers. to prove the opposite inclusion nfin ⊆ spikap(rule∗,cons∗), let us take a finite set of numbers, f = {n, . . . ,nk}, and we assume that we have n < n < . . . < nk. an axon p system that generates f is shown in figure 1. initially, the node contains nk +  spikes, hence, only the rule a nk+/a → (λ ,a) can be used in the first step. it consumes one spike and immediately sends a spike to the environment. in the next step, we have to continue with rules ank+−t/a → (λ , λ ), for t = , and then for the respective t = , . . . ,n. but for t = n (in step n + ), there is another rule a nk+−t → (λ ,a) which can be used, non-deterministically chosen. if we choose the second rule, the system will send a spike to the environment again and then the computation halts. therefore, the number n will be generated. if we choose the first rule, the process will continue, and in a similar way the numbers n, . . . ,nk− can be generated in turn. in step nk +  (the last step) only the rule ank+−t → (λ ,a) with t = nk can be used, therefore, the number nk can be generated and this concludes the computation. consequently, all the numbers in f can be generated by the above axon p system, which concludes the proof. a note on the generative power of axon p systems 95 ank+ ank+/a → (λ ,a) ank+−t/a → (λ , λ ) t = , , . . . ,nk −  ank+−t → (λ ,a) t = ni,  ≤ i ≤ k figure 1: an axon p system generating a finite set of numbers 4.2 relationships with semilinear sets of numbers as mentioned in section 4.1, sn p systems with one neuron generate exactly the family of finite sets of numbers. actually, sn p systems with two neurons also characterize the family of finite sets. so, the following results on axon p systems are unexpected: such systems with two nodes generate all semilinear sets of numbers. theorem 2. slin ⊆ spikap(rule∗,cons∗). proof. consider a regular grammar g = (n,t,s,p) with n = {a,a, . . . ,an},n ≥ , s = an, t = {b,b, . . . ,bs}, and the productions in p are of the forms ai → bka j, ai → bk,  ≤ i, j ≤ n,  ≤ k ≤ s. then length(l(g)) can be generated by an axon p system as shown in figure 2. in the initial configuration we have n +  spikes in node ρ and n +  spikes in node ρ, therefore, in the first step, only the rule an+/a → (λ ,a) can be used in node ρ, and the rule an+/a → (λ , λ ) is used in node ρ. thus, a spike is sent to the environment and n spikes remain in node ρ and n spikes in node ρ. in the next step, node ρ fires by a rule a n+i/an+i− j → (an, λ ) or an+i → (λ ,a) associated with a production an → bka j or an → bk from p, for i = n. if the second rule is used, another spike is sent to the environment and the computation halts. in this way, the generated number is . if the first rule is used, n − j spikes are consumed from node ρ. in this step node ρ also fires and sends n spikes to node ρ. it will send n spikes back to node ρ as long as it receives n spikes from node ρ. assume that in some step t, the rule an+i/an+i− j → (an, λ ), for ai → bka j, or an+i → (λ ,a), for ai → bk, is used, for some  ≤ i ≤ n, and n spikes are received from node ρ. if the first rule is used, then n spikes are sent to node ρ, n + i − j spikes are consumed, and j spikes remain in node ρ. then in step t + , we have n + j spikes in node ρ, and a rule for ai → bka j or ai → bk can be used. in step t +  node ρ also receives n spikes. in this way, the computation continues. if the second rule is used, then no spike is sent to node ρ, all spikes in node ρ are consumed, and n spikes are received from node ρ, which will remain in node ρ forever. moreover, in this step another spike is sent to the environment again. then the computation halts. we know that, if we use a production ai → bka j or ai → bk one time, then the length of a string generated by the grammar g increases by one, and this corresponds to the number of steps increasing by one by using the associated rule an+i/an+i− j → (an, λ ) or an+i → (λ ,a) one time in the axon p system. moreover, the second spike is sent to the environment and the computation halts whenever a rule an+i → (λ ,a) is used, which corresponds to a production ai → bk being used in g. therefore, the length set of all the strings in l(g) can be generated, and the proof is complete. the inclusion in the previous theorem is proper. theorem 3. spikap(rule,cons) − slin 6= /0. proof. let us consider the axon p system from figure 3. in the initial configuration, only node ρ contains  spikes, hence it fires in the first step by the rule a(a)+/a → (λ ,a) and sends  spikes to node ρ. in the next step, the rule a → (a, λ ) or a → (λ ,a) can be used in node ρ, non-deterministically chosen. if we use the rule a → (a, λ ), then we get a number of spikes of the form k +  in the second node, hence the first rule a(a)+/a → (a, λ ) in node ρ is applied as many times as possible, thus returning 96 xingyi zhang, jun wang, linqiang pan -¾ 1 2 an+ an+/a → (λ , λ ) an → (λ ,an) an+ an+/a → (λ ,a) an+i/an+i− j → (an, λ ) for ai → bka j ∈ p an+i → (λ ,a) for ai → bk ∈ p figure 2: an axon p system generating a semilinear set the spikes to node ρ. to end this returning, we have to use the rule a → (a, λ ) in node ρ, which makes again the number of spikes from node ρ be of the form k +  (note that no rule can be applied in any node when the number of spikes is multiple of 4). this process can be iterated any number of times, thus multiplying by  the number of spikes present in node ρ. assume that we have a configuration 〈n + , 〉 in step t, for some n ≥ ; initially, this is the case, with n = . in node ρ, the rule a(a )+/a → (λ ,a) can be used as many times as possible until the node remains with only one spike. it moves all spikes to the second node, multiplied by . therefore, in step t + n− + , we have a configuration 〈, n+〉. in the next step, node ρ can also use the rule a → (λ ,a) instead of a → (a, λ ). then the number of spikes from node ρ is of the form k +  (n+ +  spikes), hence the rule a(a)+/a → (λ ,a) should be applied in step t + n− +  and a spike is sent to the environment. at the same time, the number of spikes decreases by one and will be of the form k +  (n+ +  spikes). therefore, the rule a(a)+/a → (λ , λ ) should be applied in step t + n− + . this rule does not change the form of the number of spikes and it remains in the form of k + , hence it is used as many times as possible. in this way, no spike is sent to the environment until the number of spikes from ρ becomes  and this process needs  n −  steps. then, in the step t + n− + n + , the rule a → (λ ,a) should be used and the second spike is sent to the environment. therefore, the number of steps elapsed between the two spikes which were sent to the environment is n and the computation halts. consequently, the set {n | n ≥ } can be generated by this system, which, obviously, is not a semilinear set. -¾ 1 2 a a(a)+/a → (λ ,a) a → (λ ,a) a → (λ ,a) a(a)+/a → (a, λ ) a → (a, λ ) a(a)+/a → (λ ,a) a(a)+/a → (λ , λ ) a → (λ ,a) figure 3: an axon p system generating a non-semilinear set {n|n ≥ } in [6], it has been shown that semilinear sets of numbers can be characterized by sn p systems with a bound on the number of spikes present in any neuron, but the number of neurons is not bounded. the following theorem also gives a characterization of semilinear sets of numbers, but here only two nodes are used in the axon p systems. theorem 4. slin = spikap(rule∗,cons∗,bound∗), where bound∗ indicates that axon p systems have a bound on the number of spikes present in any node, but this bound is not specified. proof. from theorem 2, it is enough to prove the inclusion spikap(rule∗,cons∗,bound∗) ⊆ slin. the proof is similar to the one of lemma 9.1 in [6], so we do not recall it here. a note on the generative power of axon p systems 97 5 axon p systems as language generators we now pass to considering the language generative power of axon p systems. all strings generated by an axon p system in the way mentioned in section 3 are of the form ck c k  . . .c km m , where 〈k,k, . . . ,km〉 is a configuration of the system. therefore, if there is a bound on the number of spikes in any node of axon p systems, we can directly have the following result. remark 5. lapn(rule∗,cons∗,bound∗) ⊆ fin, for n ≥ . moreover, as a direct consequence of this restrictive way of defining the languages associated with axon p systems, we cannot find a characterization of finite languages for the general axon p systems. for instance, it is not difficult to find that the string ccc cannot be generated by any axon p system. 5.1 beyond cf theorem 6. there exists at least a language l ∈ el −cf, which can be generated by axon p systems. proof. let us consider the language l = {cn c n  c n  | n ≥ }; it is obvious that l ∈ el −cf. we construct the axon p system whose initial configuration is shown in figure 4. 1 2 3 a (a)+/a → (λ ,a) a (a)+/a → (a,a) a (a)+/a → (a, λ ) (a)+/a → (a,a) -¾-¾ figure 4: an axon p system generating the language {cn c n  c n  | n ≥ } initially, each node of the system contains two spikes. hence, each node can be activated, and in node ρ both the rule (a )+/a → (a, λ ) and the rule (a)+/a → (a,a) can be applied, non-deterministically chosen. if the first rule is applied, then the two spikes in each node are consumed and no spike is sent to the environment. at the same time, each node accumulates 4 spikes (the 4 spikes in nodes ρ and ρ are received from node ρ; the 4 spikes in node ρ are received from both node ρ and node ρ, two from node ρ and two from node ρ). in this way, all the nodes can be activated in the next step. if in node ρ we continue using the rule (a)+/a → (a, λ ), then in a similar way each node obtains 6 spikes. this process can be iterated until the second rule is applied. in this case, the number of spikes in each node increases by two in each step. therefore, each node of the system accumulates n spikes in step n, for n ≥ . at any moment, we can also apply the second rule in node ρ. assume that it is applied in step n + , then node ρ sends a spike to the environment, which means that the string c n  c n  c n  is generated by this system. at the same time, node ρ accumulates n +  spikes, node ρ accumulates n +  spikes, and node ρ accumulates n +  spikes. in the next step, only node ρ can be activated. thus, it consumes two spikes and sends two spikes to node ρ. this process can be iterated until all the spikes in node ρ are moved to node ρ, and then the computation halts. therefore, the language {cn c n  c n  | n ≥ } can be generated by the axon p system and this concludes the proof. 6 conclusions and remarks in this paper, the number generative power and the language generative power of axon p systems are investigated. as a variant of sn p systems, there remain many open problems and research topics about axon p systems to be considered. one important aspect is suggested by the research about sn p systems. for instance, as usual in sn p systems, an arbitrary delay can be considered in axon p systems. what about considering the spike trains (finite or infinite) themselves as the result of a computation in axon p systems, as investigated in [10]. the various applications for axon p systems also deserve to be considered. as suggested by gheorghe păun in [9], a more general and probably more interesting problem is combining neurons and axons in a global model; maybe also astrocytes can be added, thus obtaining a 98 xingyi zhang, jun wang, linqiang pan more complex model, closer to reality. please refer to [3, 9] for more open problems and research topics related to axon p systems. acknowledgements comments and suggestions from gheorghe păun are greatly acknowledged. the project was supported by national natural science foundation of china (grant nos. 60674106, 30870826, 60703047, 60503002, and 60533010), 863 program of china (2006aa01z104), program for new century excellent talents in university (ncet-05-0612), ph.d. programs foundation of ministry of education of china (20060487014), chenguang program of wuhan (200750731262), and hust-srf (2007z015a). bibliography [1] h.m. chen, m. ionescu, m. j. pérez-jiménez, r. freund, and gh. păun, on string languages generated by spiking neural p systems, fundamenta informaticae, vol. 75(1–4), pp. 141–162, 2007. [2] h. m. chen, m. ionescu, t.-o. ishdorj, a. păun, gh. păun and m. j. pérez-jiménez, spiking neural p systems with extended rules, in: m. a. gutiérrez-naranjo, gh. păun, a. riscos-núñez, f. j. romero-campero, eds., fourth brainstorming week on membrane computing, vol. i, rgnc report 02/2006, research group on natural computing, sevilla university, fénix editora, pp. 241–266, 2006. [3] h. m. chen, t.-o. ishdorj and gh. păun, computing along the axon, progress in natual science, vol. 17(4), pp. 417–423, 2007. [4] o. h. ibarra, s. woodworth, f. yu and a. păun, on spiking neural p systems and partially blind counter machines, natural computing, vol. 7(1), pp. 3–19, 2008. [5] o. h. ibarra and s. woodworth, characterizing regular languages by spiking neural p systems, international journal of foundations of computer science, vol. 18(6), pp. 1247–1256, 2007. [6] m. ionescu, gh. păun and t. yokomori, spiking neural p systems, fundamenta informaticae, vol. 71(2–3), pp. 279–308, 2006. [7] m. ionescu, gh. păun and t. yokomori, spiking neural p systems with exhaustive use of rules, international journal of unconventional computing, vol. 3(2), pp. 135–154, 2007. [8] gh. păun, membrane computing – an introduction, springer-verlag, berlin, 2002. [9] gh. păun, twenty six research topics about spiking neural p systems, in: m. a. gutiérreznaranjo, gh. păun, a. romero-jiménez, a. riscos-núñez, eds., fifth brainstorming week on membrane computing, rgnc report 01/2007, research group on natural computing, sevilla university, fénix editora, pp. 263–280, 2007. [10] gh. păun, m. j. pérez-jiménez and g. rozenberg, spike trains in spiking neural p systems, international journal of foundations of computer science, vol. 17(4), 975–1002, 2006. [11] the p system web page: http://ppage.psystems.eu [12] x. y. zhang, x. x. zeng and l. q. pan, on string languages generated by spiking neural p systems with exhaustive use of rules, natural computing, to appear. xingyi zhang was born in china on june 6, 1982. he received his master degree in applied mathematics from huazhong university of science and technology in 2006. currently, his main research fields are formal language theory and its applications, unconventional models of computation, especially, membrane computing. he has published several scientific papers in international journals. linqiang pan was born in zhejiang, china on november 22, 1972. he got phd at nanjing university in 2000. since 2004, he is a professor at huazhong university of science and technology, china. his main research fields are graph theory and membrane computing. international journal of computers communications & control issn 1841-9836, 11(2):209-223, april 2016. influence model of user behavior characteristics on information dissemination s.c. han, y. liu, h.l. chen, z.j. zhang shaochun han beijing jiao tong university beijing, 100044, china 15620009060@126.com yun liu beijing jiao tong university beijing, 100044, china liuyun@bjtu.edu.cn huiling chen* 1. school of pharmaceutical science and technology tianjin university 2. tianjin university of traditional chinese medicine *corresponding author: 15022613010@163.com zhenjiang zhang beijing jiao tong university beijing, 100044, china zhjzhang1@bjtu.edu.cn abstract: quantitative analysis on human behavior, especially mining and modeling temporal and spatial regularities, is a common focus of statistical physics and complexity sciences. the in-depth understanding of human behavior helps in explaining many complex socioeconomic phenomena, and in finding applications in public opinion monitoring, disease control, transportation system design, calling center services, information recommendation. in this paper,we study the impact of human activity patterns on information diffusion. using sir propagation model and empirical data, conduct quantitative research on the impact of user behavior on information dissemination. it is found that when the exponent is small, user behavioral characteristics have features of many new dissemination nodes, fast information dissemination, but information continued propagation time is short, with limited influence; when the exponent is big, there are fewer new dissemination nodes, but will expand the scope of information dissemination and extend information dissemination duration; it is also found that for group behaviors, the power-law characteristic a greater impact on the speed of information dissemination than individual behaviors. this study provides a reference to better understand influence of social networking user behavior characteristics on information dissemination and kinetic effect. keywords: sir, behavior dynamics, scaling laws, information dissemination. 1 introduction the analysis target of user behavior time characteristics is the statistical regularities manifested when humans repeatedly engaged in certain things, which was firstly proposed by poisson introduced the concept of probability in his work of case judgment management, namely poisson distribution. when human data collection capabilities are limited, the poisson distribution is widely used as a classic means to depict human activity patterns. in recent years, with the emergence of high-performance processors and constant enhancement of computer parallel computing power, making the massive social network data processing copyright © 2006-2016 by ccc publications 210 s.c. han, y. liu, h.l. chen, z.j. zhang become possible. at present, through empirical analysis, research and mining user behavior characteristics of large data and use simulation technology [1][8], a large number of scholars make analysis of network relationships and identify potential objective law. by analyzing massive data of various networks, more and more facts have proven that, user behavior corresponded time interval distribution has obvious heavy-tailed effect, which can be well fitted by power function [16][18]. at the same time, scholars use massive data of social networks, from many fields, multi-angle and multi-dimensional human behavior characteristics were studied. for example, x.song et al. [9] analyzed the geographical distribution of twitter users, user’s neighbor nodes and the degree of correlation coefficient, and twitter users were grouped. h.kwak et al. [10] studied the average shortest interval and length of twitter micro blog, posts survival time, maximum repost depth and user grouping sorting features, the text sorted twitter users according to the number of fans and page-rank value, the final results of the two sorting methods are substantially the same, which is obviously different from the final sorting result obtained by users information forwarding number, indicating that there is not tight dependencies between users information forwarding number and their owned neighbor node. m.cha et al. [11] by comparing correlation coefficient of twitter users posts forwarded number, post reply number and the number of neighbor nodes, studied the effect of core users on information dissemination. the article [12] conducted further analysis of twitter posts forwarded relevant factors. the article [13] also conducted data analysis of scholarly articles downloads from an economy physics web site, and found that download rate of different papers show exponential decrease per unit time,and the average download rate f and its variance approximately satisfy f ∝ oα, of which, α is located between 0.6 to 0.9. the paper [14] extracted sina blog user’s interaction data, through network degree distribution analysis, it can be found that in the sina blog, the in-degree and out-degree obeys power-law distribution, but the exponent of out-degree is larger than in-degree, which explains that part of the blog user do not add more friends, and even of users do not have friends, and studies have found that the correlation coefficient of blog network in-link and out-link degree distribution is positive; while the correlation coefficient of out-link and in-link degree distribution is negative. in this paper, firstly carry out mathematical statistical analysis of users publish information and information reply time intervals in qq space data set, and by means of sir [15] model to investigate influence of time characteristics of user behavior on information dissemination process in the social network, and make comparative analysis of even stepping model. 2 data in this paper, the author utilized qq spatial data set. this data set is obtained by the use of crawling program wrote by python language. the program logins qq space by the way of simulated browser, automatically go to access to interaction information between user and his friends, and write into the corresponding xml file, then read xml into the database by using python parsing, remove user hidden qq number and other abnormal data, to get the final data set of qq space. topological statistics characteristics of the data set is shown: v denotes the number of nodes(4800), e denotes border coefficient(66475), d is the network diameter(5), c is network clustering coefficient(0.423), kmax is the maximum node degree(854), k is average node degree(30.882). influence model of user behavior characteristics on information dissemination 211 2.1 all nodes interval features all nodes features refers to the overall behavior features of all nodes in data set. figure 1 is analysis of group posting behavior characteristic in each board; figure 2 is analysis of group reply behavior characteristics in each board. it can be found from the figures that, all group behaviors are consistent with power-law distribution, and power exponent can be obtained through simulation fitting. in posting behavioral characteristics analysis,the exponent of message board is the largest, reaching 1.1223, while the exponent of talk board is only 0.816, with exponent of group posting and log board is at the average;however, in analysis of reply behavioral characteristics, the exponent of talk board is the largest, is 1.1041, and the smallest is exponent of log board; so even posting and replying behavioral characteristics are different in the same board. figure 1: analysis of group posting behavior characteristic in each board 2.2 individual node interval features the paper also analyzes the features of individual behavior, firstly the data sets are sorted in accordance with the number of nodes posting and the number of reply’s in descending order, and then select the first rank (denoted by a), three-quarters (denoted as b ), intermediate (denoted as c) and fourth (denoted as d) four-node data respectively, post and reply node behavior characteristics were analyzed. as shown in figure 3 and 4, the actual post and reply number are at a high level at data set node a and b, so the power index of posting and reply are relatively close, which shows that for active nodes, dealing with things usually by a specific behavior pattern, which is consistent with the literature conclusions; while at data set node c and node d, the actual post number is few but reply of a larger number, so causing power exponent of its post behavior is small, while power exponent of reply behavior is large. to explain this phenomenon, author of this paper used nc algorithm to calculate network binding targets of these four nodes, found that nodes a and b have greater binding, while the binding of node c and d are small, seen from the above exponential distribution of post and reply two types of nodes and the calculation result of nc index value, for node a and b such very active nodes, because of its dominant position in 212 s.c. han, y. liu, h.l. chen, z.j. zhang figure 2: analysis of group reply behavior characteristics in each board the message, the posting content has high credibility and timeliness, resulting in follow-up reply interaction increases, while for nodes c and d, as a result of information disadvantage, it can only attract other nodes to forward information by replying behavior. therefore, the posting and replying behaviors of active nodes are positively related, while posting and replying behaviors of non-active nodes are negatively related. 2.3 cluster interval features according to the above sort results, data sets are divided into 20 equal portions in this paper, which generate 20 clusters (the higher ranking clusters have higher degree of activity), distribution exponent of each cluster posting and reply behavior interval age calculated. in figure 5 and figure 6, from left to right are the eighth cluster, the tenth cluster and twelfth cluster posting and reply behavior time interval distribution. it can be found that with the lower degree of cluster activity, power index of the three cluster posting and reply behaviors also decreased, figure 7 is exponential distribution figure of 20 cluster posting behavior, from curve trend of the figure, we can draw a conclusion that cluster activity degree is positively correlated with power exponent,which is consistent with analysis results of the literature. 2.4 bm phase diagram analysis when the time interval between incidents follows power-law distribution, means that many events will concentrated occur in a relatively short period of time, followed by a long idle period, this situation is called event paroxysmal feature. from incident time interval distribution, for system with strong paroxysmal feature, most of the time interval will be less than the average event interval, but relatively large time interval may also occur, this phenomenon means that the standard deviation of its time distribution is relatively large. event paroxysmal feature can be measured by variation coefficient b of time interval, as shown in formula 1: b ≡ στ mτ −1 στ mτ + 1 = στ −mτ στ −mτ (1) influence model of user behavior characteristics on information dissemination 213 figure 3: characteristics of individuals posting behavior figure 4: characteristics of individual reply behavior figure 5: analysis of three cluster post behavior characteristics 214 s.c. han, y. liu, h.l. chen, z.j. zhang figure 6: analysis of three cluster reply behavior characteristics figure 7: relation diagram of 20 cluster exponential distribution and degree of activity of which στ and mτ represent standard deviation and average value of pτ , the value range of b is (-1 to 1), with respect to the poisson distribution, the average value and standard deviation are equal, the paroxysmal is 0 therefore, can be seen as an equilibrium point set between goh and barabasi; for recurring events, the time interval distribution is actually a δ function,the standard deviation is 0, b value is -1. for the power-law distribution, the standard deviation is much larger than average value, b is close to 1, that is, the closer to 1 indicates the stronger paroxysmal, close to 0 indicates a neutral, belonging to random events series, close to -1 indicates no paroxysmal, is cyclical periodic events. in addition to paroxysmal feature of events, events characteristics may also be depicted by memory description: time sequence of events has a certain memory, a long interval is also followed by a longer time interval, and a short interval is also followed by a shorter time interval, then all of the time intervals form a sequence according to occurring time sequence (time interval sequence of two successive behaviors), assume that this sequence has nτ elements, i.e., nτ +1 events occurred,define the previous nτ -1 elements constitute sequence 1, and define latter nτ -1 elements constitute sequence two, as shown in formula 2, pearson correlation of the two sequences can be used to measure the sequence memory. m ≡ 1 nτ −1 nτ −1∑ i=1 (τi −m1)(τi −m2) σ1σ2 (2) m1 and m2 are the mean of sequence 1 and sequence2 respectively, σ1 and σ2 are standard deviation of sequence 1 and sequence 2. obviously, the value range of m is also between (-1 to 1): m > 0 represents memory effect, m < 0 represents anti-memory effect. when m is close to 1, indicates a long (short) time interval is more inclined to corresponding long (short) time interval after another; when closes to 0 indicates a neutral; when closes to -1 indicates a long (short) time interval is more inclined to corresponding short (long) time interval after another. figure 8 is influence model of user behavior characteristics on information dissemination 215 figure 8: bm phase diagram of posting behavior bm phase diagram of posting amount exceed 10, 30, 50, 100, 200, 400, 600, 800 and 1000 posts respectively in data set. it can be found from the figure that, although there are great variance in number of posts, their average point location in bm phase diagram are stable between at the horizontal coordinates (0.244-0.26) and vertical coordinates (0.416-0.464), indicating that in qq space, user posting behavior has obvious paroxysmal and memory features. 3 model building in this paper, the information dissemination model involved utilized sir model of infectious disease dynamics to complete. define users of social network as nodes, friends relationship between nodes is defined as side, and nodes are divided into three categories: stifler,ignorant and spreaders. stiflers indicates that the node receives and knows contents of the information, but it does not take the initiative to disseminate this information; ignorant indicates that the node has not received the information sent by the neighboring nodes, so it will not conduct information dissemination, but it will receive this information at a certain probability; spreaders indicates that the node has received information from one of its neighboring nodes, at the next timestepping, the node will take the initiative to disseminate information to its neighboring nodes. for spreaders, in information dissemination process, if the neighbor node receiving information belongs to ignorant, then the neighboring node may become spreaders, and the node will conduct information dissemination at next time; if neighbor node receiving information belongs to spreaders or stiflers, i.e.the receiver has received the information, then the information receiving party will abandon to continue to spread this information, and if the neighbor node is spreaders, it will change its own state into stiflers. it can thus be seen that for social network node, its transfer between stiflers, ignorant and spreaders states depends not only on the node’s state at 216 s.c. han, y. liu, h.l. chen, z.j. zhang the current time-stepping step, also relates to state of its neighbor nodes for information interaction. at the same time this model assumes: social network structure is relatively static, that is number of nodes, sides relationship and weight between nodes do not change with time; in the social network, node send messages to its neighbor nodes at certain time-stepping,and after neighbor node receiving the information, it will be forwarded at a certain degree of probability;information will only spread among neighbors. to sum up, let the state transition rules as follows: 1. infection probability λ : after spreaders sending message to its neighbor nodes, ignorant will become spreaders at λ probability, and this information will be disseminated at the next time-stepping; 2. stiflers probability µ: spreaders will become stiflers at µ probability, if and only if spreaders contact with other neighbors spreaders or stiflers; 3. attenuation probability υ: with time attenuation, spreaders will no longer take the initiative to disseminate information, so define attenuation probability υ, namely, when spreaders has no interaction with any neighbor nodes, it will automatically become stiflers at υ probability. the probability λ of ignorant i to believe and actively disseminate information is associated with its neighbor node spread influence, so the spread probability of node i is: λ = 1− ∏ j∈ϕi (1− ωij∑ki m=1 ωij) (3) where in ϕi, is defined as the set of spread nodes of neighbor nodes to node i, ωij is defined as the connection weight between node i and node j. according to sir propagation model, it shows the entire information dissemination process: spreaders(j) + ignorant(i) λ−→ spreaders(j) + spreaders(i) spreaders(m) + spreaders(n) µ −→ stiflers(m) + spreaders(n) spreaders(m) + stiflers(k) µ −→ stiflers(m) + stiflers(k) spreaders(p) υ−→ stiflers(p) (4) 3.1 propagation model according to the evolution rule of formula 3, build mean-field differential evolution equations of information dissemination model. define s, i and r to represents spreaders, ignorant and stiflers states; for nodes of k degree, define the total number of nodes in spreaders, ignorant and stiflers states asmk,s,mk,i and mk,r, the total number of all nodes k degree is mk, and define: mk = mk,s + mk,i + mk,r (5) assuming in social network, the node i is in ignorant state at t time, in [t,t+△t] period of time, define piii as the probability of i will remain in ignorant state, definep i is as the probability of i to change from ignorant state to spreaders state, andpiis = 1 −p i ii.if j remains in ignorant state in △t period of time, indicating that the neighbor node of j in the spreaders state fail to disseminate information to j. so piiican be expressed as: piii = g∏ m=0 (1−△tλi) (6) influence model of user behavior characteristics on information dissemination 217 where in g=g(t) is defined as the total number of nodes neighboring i at t time, specifically as follows: ∏ g,t = ϕ(k,t)g(1−ϕ(k,t))k−g (7) where in, ϕ(k,t) is defined as probability of ignorant of k degree has adjacency relationship with certain spreaders at t time: ∏ (g,t) = ∑ k′ p(k′ | k)p(sk′ | ik) ≈ ∑ k′ p(k′ | k)ρs(k′, t) (8) in formula 8, p(k′ | k)is the correlation function of degree, that is conditional probability of node of k degree and node of k′ degree have adjacency relationship; p(sk′ | ik) is defined when node of k′ degree has connection relationship with uninfected node of k degree, the node belongs probability of propagation state; ρs(k′, t)is defined as spreaders density at t time and k′ degree. by traversing all possible g and i, the mean of piii can be calculated, i.e. pii(k,t), which is used to describe the mean field dynamics equation of the model: pii(k,t) = 1 mk ∑ i k∑ g=0 g∏ m=0 (1−△tλmi)ϕ(k,t)g[1−ϕ(k,t)]k−g (9) where in, mk is the total number of all nodes of k degree in the network. in [t,t+△t] period of time, piss is defined as the probability of spreaders to maintain spread state, traverse all possible g, the average probability pii(k,t) for node to maintain spread state: pii(k,t) = k∑ g=0 (1−µ△ t)gϕ(k,t)g(1−ϕ(k,t))k−g(1−υ △ t) = k∑ g=0 (1−µ△ t)ϕ(k,t)g(1−ϕ(k,t))k−g(1−υ △ t) = (1−µ△ t)ϕ(k,t) + 1−ϕ(k,t)k(1−υ △ t) = (1−µ△ tϕ(k,t)k)(1−υ △ t) = (1−µ△ t ∑ k′ p(k′ | k)[ρs(k′, t) + ρrs(k′, t)])k(1−υ △ t) (10) the probability for spreaders to become stiflers (contact) can be expressed as psr(k,t) = 1−pss(k,t). on the basis of average state transition probability, according to node change rules of formula 5, changing situation of nodes of k degree in three states in[t,t+△t]time period can be obtained, as shown in equation 11, 12 and equation 13: mk,i(t +△t) = mk,i(t)−mk,i(t)(1−pii(k,t)) = mk,i(t)−mk,i(t)[1− 1 mk ∑ i k∑ g=0 g∏ m=0 (1−△tλmi)ϕ(k,t)g[1−ϕ(k,t)]k−g] (11) 218 s.c. han, y. liu, h.l. chen, z.j. zhang mk,i(t +△t) = mk,s(t) + mk,i(t)(1−pii(k,t))−mk,s(t)(1−pss(k,t)) = mk,s(t) + mk,i(t)[1− 1 nk ∑ i k∑ g=0 g∏ m=0 (1−△tλmi) ϕ(k,t)g[1−ϕ(k,t)]k−g]−mk,s(t)[1− (1−µ△ t ∑ k′ p(k′ | k) [ρs(k′, t) + ρrs(k′, t)])k(1−υ △ t)] (12) mk,r(t +△t) = mk,r(t) + mk,s(t)(1−pss(k,t)) = mk,r(t) + mk,s(t)[1− (1−µ△ t ∑ k′ p(k′ | k) [ρs(k′, t) + ρrs(k′, t)])k(1−υ △ t)] (13) to simplify the calculations, denoteφ(k,g,t) = ϕ(k,t)g(1 −ϕ(k,t))k−g, for formula 11, the following variants can be realized: mk,i(t +△t)−mk,r(t) mk = mk,i(t) mk [1− 1 mk ∑ i k∑ g=0 g∏ m=0 (1−△tλmi)φ(g,k,t)] (14) denote ρi(k,t) = mk,i(t) mk . both ends of formula(14)take△t →0. since lim△t→0 ∏g m=0(1−△tλ mi) = ∑g m=0(−λ mi), so formula (14) can be defined as: φρi(k,t) φ(t) = ρi(k,t) mk ∑ j g∑ m=1 k∑ g=1 φ(g,k,t)λmi (15) similarly, it can be derived from formula (13) mk,r(t +△t)−mk,r(k,t) nk = mk,s(k,t) nk (1−pss(k,t)) = mk,s(k,t) mk [1− (1−µ△ t ∑ k′ p(k′ | k) [ρs(k′, t) + ρrs(k′, t)])k(1−υ △ t)] (16) at right end of formula(16) (1−µ△ t ∑ k′ p(k′ | k)[ρs(k′, t) + ρrs(k′, t)])k = ∑ k=0 nc(k,n)(−µ△ t ∑ k′ p(k′ | k[ρs(k′, t) + ρrs(k′, t)])n = ck0 + c k 1 (−µ△ t ∑ k′ p(k′ | k[ρs(k′, t) + ρrs(k′, t)]) = 1−kµ△ t ∑ k′ p(k′ | k[ρs(k′, t) + ρrs(k′, t)] (17) therefore, formula(16) is varied: influence model of user behavior characteristics on information dissemination 219 mk,r(t +△t)−mk,r(k,t) nk = ρs(k,t)[1− (1−kµ△ t ∑ k′ p(k′ | k)[ρs(k′, t) + ρrs(k′, t)])(1−υ △ t)] = ρs(k,t)(kµ△ t ∑ k′ p(k′ | k) + υ △ t + kµ△ t2 ∑ k′ p(k′ | k))[ρs(k′, t) + ρr(k′, t)] (18) both ends of formula (18) divide △t and take the limit △t → 0. φρr(k,t) φ(t) = kµρs(k,t) ∑ k′ [ρs(k′, t) + ρr(k′, t)]p(k′ | k) + υρs(k,t) (19) since φρ i(α,k,t) φ(t) + φρs(α,k,t) φ(t) + φρr(α,k,t) φ(t) = 0,so it is easy to obtain: φρs(k,t) φ(t) = ρi(k,t) mk ∑ j g∑ m=1 k∑ g=1 φ(g,k,t)λmi −kµρs(k,t) ∑ k′ [ρs(k′, t) + ρr(k′, t)]p(k′ | k)−υρs(k,t) (20) by formula (15), (19) and (20) simultaneous,obtain the dynamical evolution equations of information dissemination in social network for depicting changes in the relationship between spreaders,ignorant and stiflers density over time. 4 simulation analysis figure 9 is the propagation and evolution diagram of stiflers, ignorant and spreaders density under different power exponent α and even time-stepping( α = 0), and from left to right are spreads density evolution diagram, ignorant evolution diagram and stiflers evolution diagram. it can be seen from spreads density evolution diagram that, with the decrease of power exponent α, peak of wave of spreads density continues to decline, but the final information dissemination duration has been prolonged, indicating that the smaller heterogeneity of temporal characteristics of user behaviors, breadth of information dissemination may be affected, but the final information dissemination duration will be extended. it can be seen from ignorant evolution diagram and stiflers evolution diagram that, for the former, with the decrease of power exponent α, the greater proportion of ignorant; while for the latter, with the decrease of power exponent α, the smaller proportion of stiflers. figure 10 is respectively represent evolution diagram of the proportion of new spreaders number per time step and proportion of cumulative spreaders number, which also confirmed from edgewise that the power-law characteristic of user activity time distribution will have a huge impact on information dissemination. when the power exponent is small, although there are many new spreaders, the information dissemination comes and goes fast, which may not have a greater impact; but when the power exponent is large, although the number of people implementing information dissemination is small, it lasts longer, it will produce more lasting influence, which explains the phenomenon why some information gets spread again after a long silence. relaxation time refers to the time required for model to start from evolution to tended to be 220 s.c. han, y. liu, h.l. chen, z.j. zhang figure 9: influence of time-order character on propagation figure 10: left:evolution diagram of proportion of new spreaders number per time step. right: evolution diagram of proportion of cumulative spreaders number stable, figure 11 are the relationship between power exponent and the relaxation time and respectively represent when the number of spreads goes over half of time t, it can be seen from the figure that, as the power exponent increases, the relaxation time shows obvious linear downward trend. since the power-law distribution of user behavior can be expressed in group and individual nodes, so the paper conducted simulation analysis of impact of power-law characteristic at groups and individual-level on information dissemination process. the so-called power-law distribution at group level refers to the behavior time distribution sequence of each node is regular, namely the time interval of node behavior remains unchanged,but the degree of activity between nodes varies greatly, and meets power-law distribution. power-law distribution at individual-level refers to the time interval distribution of individual’s own behavior meets the power-law characteristic, but the degree of activity and time intervals satisfied different distribution between individuals are the same. the center and right respectively represent when the number of spreads goes over half of time t, impact of power-law distribution characteristics group and individual level on speed of information dissemination relationship diagram. it can be seen from the above figures that, at the group level, the power-law distribution has greater impact on the dissemination of information, while power-law distribution at individual level has less effect on the dissemination of information. figure 12 respectively represent relation diagram between the maximum propagation range of information dissemination cmax and the maximum node propagation density smax and power exponent, as it can be seen from the figure,with continued exponential increases, the maximum propagation range of information dissemination cmax and smax the maximum node propagation density simultaneously increase, but when the power index α > 1.5, the maximum propagation range of information dissemination has been stabilized, while it will still have some impact on the maximum node propagation density smax. influence model of user behavior characteristics on information dissemination 221 figure 11: left:relationship between power exponent α and relaxation time. center:impactof power-law distribution characteristics group-level on speed of information dissemination. right: impact of power-law distribution characteristics individual-level on speed of information dissemination figure 12: left:relation diagram between the maximum propagation range of information dissemination and power exponent. right: relation diagram between the maximum node propagation density and power exponent 5 conclusion with empirical data of social networks, here conduct quantitative analysis of user behavior time interval characteristics, which is conducive to explain many complex networks information propagation phenomena, and can generate social benefits and application value in the public opinion monitoring, disease prevention, information recommendation and other aspects. firstly, the paper makes use of real social network user behavior data, to analyze information posting and reply behaviors of networking groups, network individuals and network groups respectively, then use the bm phase diagram to analyze paroxysmal and memory characteristics of user’s information posting and reply behaviors. by means of sir propagation model and empirical data, implement quantitative study of impact of user behavior time interval characteristic on information dissemination process, and found that user behavior time interval meets the characteristics of power-law distribution, although it will slow speed of information dissemination to a great extent, it will also extend the duration of the information dissemination and can increase the ultimate scale of information dissemination, and thus more likely to have a greater impact on the society; it also found that at the group level, power-law characteristic has a greater impact on speed of information dissemination, while at individual level, the speed of information dissemination is less affected by power-law characteristic. acknowledgment this research is supported by: 1. national natural science foundation of china (no.61271308); 2. beijing natural science foundation (no.4112045); 222 s.c. han, y. liu, h.l. chen, z.j. zhang 3. beijing city science and technology project (no.z121100000312024); 4. specialized research fund for the doctoral program of higher education of china (no. w11c100030). bibliography [1] zhou, t.; han, x.p.et al(2013); statistical mechanics on temporal and spatial activities of human, journal of university of electronic science and technology of china, issn 1674862x, 4(4):481-540. [2] zhang, h.p.(2015); an agent-based simulation model for supply chain collaborative technological innovation diffusion, international journal of simulation modelling, issn 1726-4529, 14(2):313-324. [3] liu, s.; gong,d.(2014); modelling and simulation on recycling of electric vehicle batteriesusing agent approach, international journal of simulation modelling, issn 1726-4529, 13(1):79-92. [4] pasztor, a.(2014); gathering simulation of real robot swarm, technical gazette, issn 18486339, 21(5):1073-1080. [5] shang, y.l.(2013); measuring degree-dependent failure in scale-free networks of bipartite structure, international journal of simulation & process modelling, issn 1740-2131, 8(1):7478. [6] lerher, t.; ekren, y.b.; sari,z.;rosi,b.(2015); simulation analysis of shuttle based storage and retrieval systems, international journal of simulation modelling, issn 1726-4529, 14(1):48-59. [7] cho, y.c.(2015); a novel approach of adaptive socially aware routing algorithm in delay tolerant networks, technical gazette, issn 1848-6339, 22(1):61-70. [8] xue, y.g.et al(2014); determination of statistical homogeneity by comprehensively considering the discontinuity information, technical gazette, issn 1848-6339, 21(5),971-977. [9] java, a.; song, x.; finin, t.; tseng,b.(2007); webkdd/snakdd 2007:web mining and social network analysis post-workshop report, acm sigkdd explorations newsletter, 9(2):8792. [10] kwak, h.; lee, c.; park, h.(2010); what is twitter,a social network or a news media,international conference on world wide web,591-600. [11] cha, m.; haddadi, h.et al(2010); measuring user influence in twitter: the million follower fallacy, proceedings of the fourth international aaai conference on weblogs and social media, 23-26. [12] suh, b.; hong, l.; pirolli, p.; chi, e.h.(2010); want to be retweeted? large scale analytics on factors impacting retweet in twitter network, 2010 ieee second international conference on social computing, 177-184. [13] han, d.d.et al(2008); fluctuation of the download network, chinese physics letters, issn 0256-307x, 25(2):765-768. influence model of user behavior characteristics on information dissemination 223 [14] fu, f.; liu, l.h.; wang, l.(2008); empirical analysis of online social networks in the age of web 2.0, physica a, issn 0378-4371, 387(2):675-684. [15] wang, z. et al(2015); coupled disease-behavior dynamics on complex networks: a review, physics of life reviews, issn 1571-0645, 15(1):30-31. [16] alessandro, a.; laura, b.; george, l.(2015); privacy and human behavior in the age of information, science, 347(6221):509-14. [17] freitas, c.r.d.(2015); weather and place-based human behavior: recreational preferences and sensitivity, international journal of biometeorology, issn 0020-7128, 59(1):55-63. [18] medina, j.r.; lorenz,t.; hirche, s.(2015); synthesizing anticipatory haptic assistance considering human behavior uncertainty, robotics ieee transactions on, 31(1):180-190. ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 244-252 first steps towards a cpu made of spiking neural p systems miguel a. gutiérrez-naranjo, alberto leporati miguel a. gutiérrez-naranjo university of sevilla, department of computer science and artificial intelligence avda. reina mercedes s/n, 41012, sevilla, spain e-mail: magutier@us.es alberto leporati università degli studi di milano – bicocca, dipartimento di informatica, sistemistica e comunicazione viale sarca 336/14, 20126 milano, italy e-mail: alberto.leporati@unimib.it received: april 5, 2009 accepted: may 30, 2009 abstract: we consider spiking neural p systems as devices which can be used to perform some basic arithmetic operations, namely addition, subtraction, comparison and multiplication by a fixed factor. the input to these systems are natural numbers expressed in binary form, encoded as appropriate sequences of spikes. a single system accepts as inputs numbers of any size. the present work may be considered as a first step towards the design of a cpu based on the working of spiking neural p systems. keywords: spiking neural p systems, arithmetic operations, membrane computing 1 introduction spiking neural p systems (sn p systems, for short) have been introduced in [3] as a new class of distributed and parallel computing devices. they were inspired by membrane systems (also known as p systems) [12, 13, 7] and are based on the neurophysiological behavior of neurons sending electrical impulses to other neurons. in sn p systems the processing elements are called neurons and are placed in the nodes of a directed graph, called the synapse graph. the contents of each neuron consist of a number of copies of a single object type, namely the spike. each neuron may also contain rules which allow to remove a given number of spikes from it, or to send spikes (possibly with a delay) to other neurons. the application of every rule is determined by checking the contents of the neuron against a regular set associated with the rule. formally, an sn p system of degree m ≥ , as defined in [4], is a construct of the form π = (o, σ, σ, . . . , σm, syn, in, out), where o = {a} is the singleton alphabet (a is called spike); σ, σ, . . . , σm are neurons, of the form σi = (ni, ri), with  ≤ i ≤ m, where: ni ≥  is the initial number of spikes contained in σi; ri is a finite set of rules of the following two forms: (1) e/ac → a; d, where e is a regular expression over a, and c ≥ , d ≥  are integer numbers. if e = ac, then it is usually written in the simplified form ac → a; d; similarly, if a rule e/ac → a; d has d = , then we can simply write it as e/ac → a. hence, if a rule e/ac → a; d has e = ac and d = , then we can write ac → a; (2) as → λ , for s ≥ , with the restriction that for each rule e/ac → a; d of type (1) from ri, we have as 6∈ l(e) (where l(e) denotes the regular language defined by e); syn ⊆ {, , . . . , m}×{, , . . . , m}, with (i, i) 6∈ syn for  ≤ i ≤ m, is the directed graph of synapses between neurons; in, out ∈ {, , . . . , m} indicate the input and output neurons of π . the rules of type (1) are called firing (also spiking) rules, and are applied as follows. if the neuron σi contains k ≥ c spikes, and ak ∈ l(e), then the rule e/ac → a; d ∈ ri can be applied. the execution of this rule removes c spikes from σi (thus leaving k − c spikes), and prepares one spike to be delivered to all the neurons σ j such that (i, j) ∈ syn. if d = , then the spike is immediately emitted, otherwise it is emitted after d computation steps of the system. (observe that, as usually happens in membrane computing, a global clock is assumed, marking the time for the whole system, hence the functioning of the system is synchronized.) if the rule is used in step t and d ≥ , then in steps t,t + ,t + , . . . ,t + d −  the neuron is closed, so that it cannot receive new spikes (if a neuron has a copyright c© 2006-2009 by ccc publications first steps towards a cpu made of spiking neural p systems 245 synapse to a closed neuron and tries to send a spike along it, then that particular spike is lost), and cannot fire new rules. in the step t + d, the neuron spikes and becomes open again, so that it can receive spikes (which can be used starting with the step t + d + ) and select rules to be fired. rules of type (2) are called forgetting rules, and are applied as follows: if the neuron σi contains exactly s spikes, then the rule as → λ from ri can be used, meaning that all s spikes are removed from σi. in what follows we will use an extended version of forgetting rules, written in the form e/as → λ ; d. the application of these rules is analogous to that of firing rules. with respect to their basic version, extended forgetting rules are controlled by a regular expression, and may compete against firing rules for their application. it is possible to prove that the use of extended forgetting rules does not modify the computational power of sn p systems. in each time unit, if a neuron σi can use one of its rules, then a rule from ri must be used. in case two or more rules can be applied in a neuron at a given computation step, only one of them is nondeterministically chosen. thus, the rules are used in the sequential manner in each neuron, but neurons function in parallel with each other. the initial configuration of the system is described by the numbers n, n, . . ., nm of spikes present in each neuron, with all neurons being open. during the computation, a configuration is described by both the number of spikes present in each neuron and by the number of steps to wait until it becomes open (this number is zero if the neuron is already open). a computation in a system as above starts in the initial configuration. a positive integer number is given as input to a specified input neuron. usually, the number is specified as the time elapsed between the arrival of two spikes. however, as discussed in [4], other possibilities exist: for example, we can consider the number of spikes initially contained in the input neuron, or the number of spikes read in a given interval of time. all these possibilities are equivalent from the point of view of computational power. to pass from a configuration to another one, for each neuron a rule is chosen among the set of applicable rules, and is executed. generally, a computation may not halt. however, in any case the output of the system is usually considered to be the time elapsed between the arrival of two spikes in a designated output cell. defined in this way, sn p systems compute (partial) functions of the kind f : n → n; they can also indirectly compute functions of the kind f : nk → n by using a bijection from nk to n. it is not difficult to show that sn p systems can simulate register machines [4], and hence are universal. if we do not specify an input neuron (hence no input is taken from the environment) then we use sn p systems in the generative mode; we start from the initial configuration, and we look at the output produced by the system. note that generative sn p systems are inherently nondeterministic, otherwise they would always reproduce the same sequence of computation steps, and hence the same output. dually, we can neglect the output neuron and use sn p systems in the accepting mode; for k ≥ , the natural numbers n, n, . . . , nk are read in input and, if the computation halts, then the numbers are accepted. also in these cases, sn p systems are universal computation devices [3, 4]. in this paper we consider sn p systems in a different way. we will use them to build the components of a restricted arithmetic logic unit in which one or several natural numbers are provided in binary form, some arithmetic operation is performed and the result is sent out also in binary form. the arithmetic operations we will consider are addition, subtraction and multiplication among natural numbers. each number will be provided to the system as a sequence of spikes: at each time step, zero or one spikes will be supplied to an input neuron, depending upon whether the corresponding bit of the number is  or . also the output neuron will emit the computed number to the environment in binary form, encoded as a spike train. the paper is organised as follows. in section 2 we present an sn p system which can be used to add two natural numbers expressed in binary form, of any length (that is, composed of any number of bits). in section 3 we present an analogous sn p system, that computes the difference (subtraction) among two natural numbers. section 4 contains the description of a very simple system that can be used to compare two natural numbers. section 5 first extends the system presented in section 2 to perform the addition of any given set of natural numbers, and then describes a spiking neural p system that performs the multiplication of any natural number, given as input, by a fixed factor embedded into the system. finally, section 6 concludes the paper and suggests some possible directions for future research. 2 addition in this section we describe a simple sn p system that performs the addition of two natural numbers. we call such a system the sn p system for 2-addition. it is composed of three neurons (see figure 1): two input neurons and an addition neuron, which is also the output neuron. both input neurons have a synapse to the addition neuron. each input neuron receives one of the numbers to be added as a sequence of spikes, that encodes the number in 246 miguel a. gutiérrez-naranjo, alberto leporati time step input input add output t =  0 0 0 0 t =  0 1 0 0 t =  0 0 1 0 t =  1 1 0 1 t =  1 0 2 0 t =  1 1 2 0 t =  0 0 3 0 t =  0 0 1 1 t =  0 0 0 1 table 1: number of spikes in each neuron of πadd , and number of spikes sent to the environment, at each time step during the computation of the addition  +  =  binary form. as explained above, no spike in the sequence at a given time instant means  in the corresponding position of the binary expression, whereas one spike means . note that the numbers provided as input to the system may be arbitrarily long. the input neurons have only one rule, a → a, which is used to forward the spikes to the addition neuron as soon as they arrive. the addition neuron has three rules: a → a, a/a → λ and a/a → a, which are used to compute the result. figure 1: an sn p system that performs the addition among two natural numbers theorem 1. the sn p system for 2-addition outputs the addition in binary form of two non-negative integers, provided to the neurons σinput and σinput in binary form. proof. at the beginning of the computation, the system does not contain any spike. during the computation, neuron σadd may contain , ,  or  spikes. we can thus divide the behavior of σadd in three cases: • if there are no spikes, no rules are activated and in the next step 0 spikes are sent to the environment. this encodes the operation  +  = . • if there is 1 spike, then the rule a → a is triggered. the spike is consumed and one spike is sent out. this encodes  +  =  +  = . • if there are 2 spikes, then the rule a/a → λ is triggered. no spike is sent out and one spike (the carry) remains in the neuron for the next step. • if there are 3 spikes, then the rule a/a → a is applied. one spike is sent to the environment, two of them are consumed and one remains for the next step. from this behavior, it is easily seen that the output is computed correctly. at the third computation step, the first of the spikes in the spike train that encodes the output in binary form is emitted by σadd . as an example, let us consider the addition  +  = , that in binary form can be written as  +  = . table 1 reports the number of spikes contained in each neuron of πadd , as well as the number of spikes sent to the environment, at each time step during the computation. the input and the output sequences are written in bold. 3 subtraction the subtraction sn p system, illustrated in figure 2, consists of ten neurons. the first input number, the minuend, is provided to neuron σinput in binary form, encoded as a spike train as described above. similarly, the first steps towards a cpu made of spiking neural p systems 247 figure 2: an sn p system that performs the subtraction among two natural numbers time step input input aux aux aux aux aux sub output t =  0 0 0 0 0 0 0 0 0 t =  0 1 0 0 0 0 1 0 0 t =  0 1 0 0 0 1 1 1 0 t =  1 0 0 0 0 1 1 2 0 t =  1 0 1 1 1 0 1 3 1 t =  0 1 1 1 1 0 1 5 0 t =  1 1 0 0 0 1 1 4 0 t =  1 0 1 1 1 1 1 2 1 t =  0 0 1 1 1 0 1 6 1 t =  0 0 0 0 0 0 1 5 1 t =  0 0 0 0 0 0 1 1 0 table 2: number of spikes in each neuron of πsub, and number of spikes sent to the environment, at each time step during the computation of the subtraction  −  =  second input number (the subtrahend) is supplied in binary form to neuron σinput . the set of neurons σaux , σaux and σaux act as a multiplier of the minuend: they multiply by 3 the number of spikes provided by neuron σin put . the system contains also a subsystem composed of neurons σgen, σaux_ f low and σaux , whose target is to provide a constant flow of spikes to σsub. all the neurons mentioned up to now have only one rule: a → a. the neurons σauxi , for  ≤ i ≤ , are connected with neuron σsub; this is both the output neuron and the neuron in which the result of the subtraction is computed, by means of six rules: a → λ , a/a → a, a/a → λ , a → a, a → λ and a/a → a. at the beginning of the computation all neurons are empty except σgen, which contains one spike. theorem 2. the subtraction sn p system outputs the subtraction, in binary form, of two non-negative integer numbers, provided in binary form to neurons σinput (the minuend) and σinput (the subtrahend). the result can be easily checked by direct inspection of all possible cases. a detailed proof of this theorem — not given here, due to the lack of space — can be found in [2]. as an example let us calculate  −  = , that in binary form can be written as  −  = . table 2 reports the number of spikes that occur in each neuron of πsub, at each time step during the computation. note that at each step only one rule is active in the subtraction neuron, and thus the computation is deterministic. the first time step in which the output starts to be emitted by the system is t = . 248 miguel a. gutiérrez-naranjo, alberto leporati figure 3: an sn p system that compares two natural numbers of any length, expressed in binary form 4 checking equality checking the equality of two numbers is a different task with respect to computing addition or subtraction. when comparing two numbers the output should be a binary mark, which indicates whether they are equal or not. since an sn p system produces a spike train, we will encode the output as follows: starting from an appropriate instant of time, at each computation step the system will emit a spike if and only if the two corresponding input bits (that were inserted into the system some time steps before) are different. so doing, the system will emit no spike to the environment if the input numbers are equal, and at least one spike if they are different. stated otherwise, if we compare two n-bit numbers then the output will also be an n-bit number: if such an output number is 0, then the input numbers are equal, otherwise they are different. bearing in mind these marks for equality and inequality, the design of the sn p system is trivial. it consists of three neurons: two input neurons, having a → a as the single rule, linked to a third neuron, the checking neuron. this checking neuron is also the output neuron, and it has only two rules: a → λ and a → a. the system is illustrated in figure 3. 5 multiplication in this section we present a first approach to the problem of computing the multiplication of two binary numbers by means of sn p systems. the main difference between multiplication and the addition or subtraction operations presented in the previous sections is that in addition and subtraction the n-th digit in the binary representation of the inputs is used exactly once, to compute the n-th digit of the output, and then it can be discarded. on the contrary, in the usual algorithm for multiplication the different digits of the inputs are reused several times; hence the design of a device that executes this algorithm needs some kind of memory. other algorithms for multiplication, such as booth’s algorithm (see, for example, [1]) also need some kind of memory, to store the intermediate results. we propose a family of sn p systems for performing the multiplication of two non-negative integer numbers. in these systems only one number, the multiplicand, is provided as input; the other number, the multiplier, is instead encoded in the structure of the system. the family thus contains one sn p system for each possible multiplier. in the design of our systems, we exploit the following basic fact concerning multiplication by one binary digit: any number remains the same if multiplied by 1, whereas it produces a 0 if multiplied by zero. bearing this fact in mind, an sn p system associated to a fixed multiplier only needs to add different copies of the multiplicand, by feeding such copies to an addition device with the appropriate delay. before presenting this design, we extend the 2-addition sn p system from section 2 to an n-addition sn p system. 5.1 adding n numbers in this section we present a family {πadd (n)}n∈n of sn p systems which allows to add numbers expressed in binary form. precisely, for any integer n ≥  the system πadd (n) computes the sum of n natural numbers. in what follows we will call πadd (n) the sn p system for n-addition. for n =  we will obtain the sn p system for 2-addition that we have described in section 2. the system πadd (n) consists of n +  neurons: n input neurons and one addition neuron, which is also the output neuron. each input neuron has only one rule, a → a, and is linked to the addition neuron. this latter neuron computes the result of the computation by means of n rules ri, i ∈ {, . . . , n}, which are defined as follows: ri ≡ a i/ak+ → a if i is odd and i = k + , whereas ri ≡ ai/ak → λ if i is even and i = k. as an example, figure 4 shows πadd (), the sn p system for 5-addition. first steps towards a cpu made of spiking neural p systems 249 figure 4: an sn p system that performs the addition among five natural numbers theorem 3. the sn p system for n-addition outputs the addition in binary form of n non-negative integer numbers, provided to the neurons σinput , . . . , σinputn in binary form. proof. let a, . . . , an be the n numbers to be added, and let a p i a p− i . . . a  i be the binary expression of ai,  ≤ i ≤ n, padded with zeros on the left to obtain (p + )-digit numbers (where p +  is the maximum number of digits among the binary representations of a, . . . , an). hence we can write ai = ∑p k= a k i  k for all i ∈ {, , . . . , n}. for each i ∈ {, . . . , n}, let a′i be the number with binary expression a p i . . . a  i , i.e., a ′ i = ∑p k= a k i  k−. moreover, let u = ∑n i= a  i and let k ∈ n and α ∈ {, } such that u = k + α (α =  if u is odd and α =  if u is even). the addition of a, . . . , an can be written as: n∑ i= ai = n∑ i= p∑ k= a k i  k = ( n∑ i= p∑ k= a k i  k ) + n∑ i= a  i =  ( n∑ i= a ′ i + k ) + α according to this formula, if br . . . b is the binary expression of ∑n i= ai, then b = α and br . . . b is the binary expression of ∑n i= a ′ i + k. let us assume now that at the time instant t there are i spikes in neuron σadd . these spikes can come from the input neurons, or they may have remained from the previous computation step. let us compute bt , the t-th digit of the output, dividing the problem in the following cases. • let us assume that i is odd and i = k + . then, according to the previous formula, bt =  and k units should be added to the computation of the next digit. this operation is performed by the rule ai/ak+ → a. by applying this rule, one spike is sent to the environment (bt = ) and k +  spikes are consumed, so that i − (k + ) = k +  − (k + ) = k spikes remain. • let us assume that i is even and i = k. then, according to the previous formula, bt =  and k units should be added to the computation of the next digit. this operation is performed by the rule ai/ak → λ . by applying this rule, no spike is sent to the environment (bt = ) and k spikes are consumed, so that i − k = k − k = k spikes remain for the next step. as an example, let us consider the addition of the numbers 3, 4, 2, 7 and 1, whose binary representations are , , ,  and , respectively. table 3 shows the evolution of the number of spikes in the neurons of the sn p system πadd () (illustrated in figure 4), as well as the number of spikes sent to the environment at each computation step, when performing such an addition. the input and the output sequences are written in bold. according with the computation, the result of the addition is  = . 5.2 multiplication by a fixed multiplier we now describe a family {πmult (n)}n∈n of sn p systems, one for each natural number n, that operate as multiplier devices. precisely, the system πmult (n) takes as input a number in binary form, and outputs the input multiplied by n. the output is also expressed in binary form. given a natural number n, the sn p system πmult (n) is defined as follows. it consists of one input neuron, σinput , linked to k neurons σaux , . . . , σauxk , where k is the number of occurrences of the digit 1 in the binary 250 miguel a. gutiérrez-naranjo, alberto leporati time step input input input input input add output t =  1 0 0 1 1 0 0 t =  1 0 1 1 0 3 0 t =  0 1 0 1 0 4 1 t =  0 0 0 0 0 4 0 t =  0 0 0 0 0 2 0 t =  0 0 0 0 0 1 0 t =  0 0 0 0 0 0 1 table 3: number of spikes in each neuron of πadd () (the system illustrated in figure 4) and number of spikes sent to the environment, at each time step during the computation of the addition  +  +  +  +  =  representation of n. for each i ∈ {, . . . , k}, neuron σauxi is connected with a new neuron σauxi , which is connected with σauxi , etc. this sequence of neurons is a path of linked neurons that extends until reaching σauxi j i , where ji is the number of order of the corresponding digit in the binary representation of n, where the first digit corresponds to , the second one corresponds to , and so on. all the last neurons of the k sequences are connected with a final neuron σadd , which is the same as the output neuron of the k-addition sn p system πadd (k) described above. this neuron has the rules for the addition of k natural numbers. all the other neurons have only the rule a → a. for example, let us consider n = , whose binary representation is . such a representation has three digits equal to 1, at the positions 2, 4 and 5. the system πmult (), illustrated in figure 5, has 13 neurons: σinput , σadd , and three sequences of neurons associated with the three digits equal to 1: σaux and σaux , corresponding to the 1 in the second position (corresponding to the power ); σaux , σaux , σaux and σaux , corresponding to the 1 in the fourth position (corresponding to the power ); σaux , σaux , σaux , σaux and σaux , corresponding to the 1 in the fifth position (corresponding to the power ). the last neurons of these sequences, namely σaux , σaux and σaux , are linked to neuron σadd , which is also the output neuron. the rules of this neuron are a → a, a/a → λ and a/a → a, which are the same as in the addition neuron of the 3-addition sn p system πadd () described in the previous section. figure 5: an sn p system that computes the product among the natural number given as input (in binary form) and the fixed multiplier  = , encoded in the structure of the system theorem 4. the sn p system πmult (n) built as above takes as input a number m in binary form and outputs the result of the multiplication m · n in binary form. proof. since we already proved that the neuron σadd performs the addition of several numbers in binary form, it only remains to transform the multiplication m · n (where n is a fixed parameter) into an appropriate addition. to this aim, let n = ∑q j= n j j . then we can write m · n = m ·   q∑ j= n j j   = q∑ j= ( m ·  j ) n j = ∑ ≤ j≤q ∧ n j = ( m ·  j ) according to this expression, m · n can be calculated as the addition of as many copies of m as the number of digits n j equal to  that appear in the binary representation of n. such copies have to be padded with j zeros first steps towards a cpu made of spiking neural p systems 251 time step input aux aux aux add out t =  1 0 0 0 0 0 t =  0 0 0 0 0 0 t =  1 1 0 0 0 0 t =  1 0 0 0 1 0 t =  1 1 1 0 0 1 t =  0 1 0 1 2 0 t =  0 1 1 0 3 0 t =  0 0 1 1 3 1 t =  0 0 1 1 3 1 t =  0 0 0 1 3 1 t =  0 0 0 0 2 1 t =  0 0 0 0 1 0 t =  0 0 0 0 0 1 table 4: number of spikes in neurons σaux , σaux , σaux and σadd of πmult () (the system illustrated in figure 5) and number of spikes sent to the environment, at each time step during the computation of the multiplication  ·  =  on the right (that is, they have to be multiplied by  j ), to take into account the correct weight of n j . hence, if k = ∑q j= n j then to compute m · n it suffices to provide k copies of m — each shifted in time of a number of steps that corresponds to the weight of a bit n j equal to  — to a neuron that computes the addition of k natural numbers. 6 conclusion and future work in this paper we have presented some simple sn p systems that perform the following operations: addition, multiple addition, comparison, and multiplication by a fixed factor. all the numbers given as inputs to these systems are expressed in binary form, encoded as a spike train in which at each time instant the presence of a spike denotes 1, and the absence of a spike denotes 0. the outputs of the computations are also expelled to the environment in the same form. the motivation for this work lies in the fact that we would like to implement a cpu using only spiking neural p systems. to this aim, the first step is to design the arithmetic logic unit of the cpu, and hence to study a compact way to perform arithmetical and logical operations by means of spiking neural p systems. ours is certainly not the unique possible way to approach the problem; other two possibilities are: (1) implementing the cpu as a network composed of and/or/not boolean gates, and (2) simulating the cpu by means of register machines. in both cases, using techniques widely known in the literature, one could design an sn p system that simulates the boolean network (resp., the register machine), thus implementing the cpu. in any case, an interesting extension to the present work is to try to design an sn p system for the multiplication, where both the numbers m and n to be multiplied are supplied as inputs. and, of course, we would also need a system to compute the integer division between two natural numbers; probably, this last system is the most difficult to design. acknowledgement the first author wishes to acknowledge the support of the project tin2006–13425 of ministerio de educación y ciencia of spain, cofinanced by feder funds and the support of the project of excellence with investigador de reconocida valía of the junta de andalucía, grant p08-tic-04200. the second author was partially supported by the miur project “mathematical aspects and emerging applications of automata and formal languages" (2007). 252 miguel a. gutiérrez-naranjo, alberto leporati bibliography [1] m.j. flynn. advanced computer arithmetic design. john wiley publisher, 2001. [2] m.a. gutiérrez-naranjo and a. leporati. performing arithmetic operations with spiking neural p systems. in proc. of the seventh brainstorming week on membrane computing, vol. i, fénix editora, seville, spain, 2009, 181–198. availble at http://www.gcn.us.es. [3] m. ionescu, gh. păun and t. yokomori: spiking neural p systems. fundamenta informaticae, 71(2-3):279– 308, 2006. [4] m. ionescu, a. păun, gh. păun, m.j. pérez-jiménez. computing with spiking neural p systems: traces and small universal systems. in dna computing, th international meeting on dna computing (dna12), revised selected papers, lncs 4287, springer, 2006, 1–16. [5] gh. păun. computing with membranes. journal of computer and system sciences, 61:108–143, 2000. see also turku centre for computer science — tucs report no. 208, 1998. [6] gh. păun. membrane computing. an introduction. springer–verlag, 2002. [7] the p systems web page: http://ppage.psystems.eu/ miguel a. gutiérrez-naranjo is an associate professor at the department of computer science and artificial intelligence of the university of seville in spain. he obtained his doctoral degree in mathematics in 2002. his main research area is natural computing, with a special interest in membrane computing. alberto leporati obtained a ph.d. in computer science from the university of milano (italy) in 2002. since 2004, he is assistant professor at the university of milano – bicocca. his research interests are in membrane computing, theoretical computer science and computational complexity. international journal of computers, communications & control vol. iii (2008), no. 1, pp. 80-89 adaptive compensation of friction forces with differential filter kouichi mitsunaga, takami matsuo abstract: in this paper, we design an adaptive controller to compensate the nonlinear friction model when the output is the position. first, we present an adaptive differential filter to estimate the velocity. secondly, the dynamic friction force is compensated by a fuzzy adaptive controller with position measurements. finally, a simulation result for the proposed controller is demonstrated. keywords: nonlinear friction, adaptive controller, fuzzy basis function expansion, adaptive differential filter. 1 introduction friction is one of the greatest obstacles in high precision positioning systems. since it can cause steady state and tracking errors, its influence on the response of the systems must be considered seriously ([10]). many friction models have been proposed that differ on the friction effects that are modeled in a lubricated contact. these models are divided into two categories: the kinetic and dynamic friction models. the kinetic friction models take into account the friction effects such as the viscous friction, the coulomb friction, and the stribeck effect. another category of friction model includes dynamic friction model that embody the natural mechanism of friction generation such as the lugre model ([2]). the coefficients of the various friction-related effects are usually very difficult to measure. a number of methods for friction estimation and compensation have been proposed for these models: adaptive control, joint torque control, learning control, variable structure control, and so on. friedland et al.[5] proposed a reduced-order nonlinear observer to estimate the velocity-dependent coefficient of the classical nonlinear friction model with velocity measurements. huang et al.[9] presented an adaptive radial basis function observer to compensate for the effects of the dynamic friction model full-states measurements. tomei[15] considered the tracking problem for robot manipulators with unknown parameters and dynamic lugre model using full-states information. ge et al.[6] presented adaptive controllers by combining neural network parameterization, dual observer for state estimation/stability and adaptive control techniques based on the dynamic lugre friction model. sato et al.[14] proposed an adaptive friction compensation method with an h∞ performance using the neural network approximation that is equivalent to the radial basis function approximation or fuzzy basis function approximation. they used the neural network approximation to parameterize the nonlinear characteristics of the dynamic lugre model. a sliding-mode type error function is introduced that requires full-states measurements. canudas de wit et al.[3] designed an observer-based adaptive friction compensation scheme for systems with generalized position/velocity static characteristics based on full stats measurement. the proposed controller guarantees the global asymptotic stability of the tracking error while preserving boundedness of all the internal signals. the nonlinear friction is approximated either by a linear span of set of continuous known function, or by a neural network of bounded basis function. putra et al.[12] proposed an observer-based friction compensation for a class of the kinetic friction models with known system parameters based on the strictly positive real condition. in the case of partial-states measurements, an adaptive estimator that does not require the strictly positive realness of the plants is needed. ray et al.[13] presented a non-model-based friction estimation method using extended kalman-bucy filtering. the filter is used to estimate a friction force with the full-states measurements. for the classical nonlinear friction model without velocity measurements, xia et al.[17] employed a velocity observer based on state space nonlinear friction model and designed an adaptive controller that achieved a semi-global asymptotically stability. the velocity observer is a model-based estimator that requires plant parameters to estimate the velocity. park et al.[11] proposed a non-model-based differential filter of a nonlinear function based on copyright © 2006-2008 by ccc publications adaptive compensation of friction forces with differential filter 81 the adaptive control theory. the proposed differential filter is applied to estimate the time-derivative of a nonlinear function of the intensity for each pixel to detect moving objects within a scene acquired by a stationary camera. in estimating the friction forces, the differential filter is applicable to estimate the velocity with the position measurements. in this paper, we design a friction compensator with the position measurement. to begin with, an adaptive differential filter that is a non-model based adaptive algorithm to estimate the derivative of a signal, is designed to estimate the velocity signal. next, the velocity signal in friction compensator proposed by canudas de wit et al.[3] is replaced by the estimate of the adaptive differential filter. finally, a simulation result of the proposed compensator is presented. from the simulation result, it is shown that the proposed compensator is robust against additive noises. 2 adaptive differential filter the velocity information is the most important data to estimate and compensate the friction forces. most of the conventional papers assume that the velocity is measurable. if the velocity information is not available, we have to estimate the velocity signal. park et al.[11] proposed the adaptive estimator of the time-derivative of an output that is called the adaptive differential filter. their estimator causes the estimation error in the case of fast time-varying signals. in this paper, we present another adaptive differential filter applicable to fast time-varying signals. let y(t) be a measurement signal at a time t and f (y(t)) be its nonlinear function. we define θt (t) as the derivative with respect to time of the nonlinear function f (y(t)), i.e. θt (t) = d f (y(t)) dt = d f (y) dy dy(t) dt . (1) if d f (x)dx has the inverse ( d f (x) dx )−1 , we have ẏ(t) = θt (t)ξ (t), (2) ξ (t) = ( d f (y) dy )−1 . (3) the problem is defined as follows: problem 1. design a differential filter to estimate the derivative, θt (t), of the nonlinear function f (y(t)) with available signal y(t) and without any knowledge of its dynamics. if the signal ξ (t) is available, problem 1 is equivalent to the estimation problem of the time-varying parameter θt in eq.(2) with the available signals y(t) and ξ (t). it is assumed that the time-varying parameter in (2) is satisfied the following inequality: |θt (t)−θt 0| ≤ εt 0 where θ0 is an unknown constant, and ε0 is a known constant. eq.(2) can be rewritten as ẏ = θt 0ξ (t) + εt (t)ξ (t) (4) where εt (t) = θt (t)−θt 0. we give an adaptive observer as ˙̂yt = −k(ŷt −y) + θ̂t (t)ξ (t)− ε̂t (t)sgn(ŷt −y)|ξ (t)| (5) where k > 0. defining the observer error as et (t) = ŷt (t)−y(t), we obtain the error system as ėt = −ket + θ̃t (t)ξ (t)− ε̂t (t)sgn(et )|ξ (t)|−εt (t)ξ (t) (6) 82 kouichi mitsunaga, takami matsuo where θ̃t (t) = θ̂t (t)−θt 0. the parameter update laws are selected as ˙̃θt (t) = ˙̂θt (t) = −γ et (t)ξ (t) (7) ˙̂εt (t) = |et (t)||ξ (t)| (8) where γ > 0. we can prove the following lemma: lemma 1. consider the error system (6). the parameter update laws guarantee the stability of the origin of the error system as follows: et (t) → 0 (t → ∞). moreover, if limt→∞ėt (t) = 0, then limt→∞θ̃t ε (t) = 0, where θ̃t ε (t) = θ̂t (t)−θt (t). proof: the whole system can be written by ėt = −ket + θ̃t (t)ξ (t)− ε̂t (t)sgn(et )|ξ (t)|−εt (t)ξ (t) ˙̃θt = −γ et ξ (t) ˙̂εt = |et ||ξ (t)|. define a lyapunov-like function as v1 = 1 2 ( e2t (t) + 1 γ θ̃ 2t (t) + ε̃ 2 t (t) ) where ε̃t (t) = ε̂t (t)−εt 0. its time derivative is given by v̇1 = et ėt + 1 γ θ̃t ˙̃θt + ε̃t ˙̂εt = et (−ket + θ̃t (t)ξ (t)− ε̂t (t)sgn(et )|ξ (t)| −εt (t)ξ (t)) + 1 γ θ̃t ˙̃θt + ε̃t ˙̂εt = −ke2t + θ̃t ( et ξ (t) + 1 γ ˙̃θt ) −et ε̂t sgn(et )|ξ (t)| −et εt ξ (t) + ε̂t ˙̂εt −εt 0 ˙̂εt = −ke2t −(et εt ξ (t) + et εt 0sgn(et )|ξ (t)|) = −ke2t −(et εt ξ (t) + εt 0|et ||ξ (t)|) ≤ −ke2t +|et ||εt ||ξ|−εt 0|et ||ξ (t)| ≤ −ke2t ≤ 0. hence, we have et ∈ l2 ∩ l∞, θ̃t ∈ l∞, ε̃t ∈ l∞. since et ∈ l∞, θ̃t ∈ l∞, ε̃t ∈ l∞, we have ėt ∈ l∞. from barbalat’s lemma, we conclude that limt→∞ et (t) = 0. moreover, setting u as ut = θ̃t (t)ξ (t)− ε̂t (t)sgn(et )|ξ (t)|−εt (t)ξ (t), the error dynamics can be expressed in a first-order system: ėt (t) = −ket (t) + ut (t). adaptive compensation of friction forces with differential filter 83 if limt→∞ėt (t) = 0, then lim t→∞ (θ̂t (t)−θt 0 −εt (t)) = lim t→∞ (θ̂t (t)−θt (t)) = 0. we obtain the estimator for the differential of the signal y(t) by selecting the nonlinear function f (y(t)) as the linear function f (y(t)) = y(t). in this case, the regressor signal ξ (t) is equal to 1. the adaptive observer and the update laws are given by ˙̂yt = −k(ŷt −y) + θ̂t (t)− ε̂t (t)sgn(ŷt −y) (9) ˙̂θt (t) = −γ et (t), ˙̂εt (t) = |et (t)| (10) where et (t) = ŷt (t)−y(t). thus, we get the estimate of the differential of the signal y(t) as ˆ̇y = θ̂t = − ∫ t 0 γ et (τ)dτ. (11) we call this estimator (11) the adaptive differential filter. 3 nonlinear friction model canudas de wit et al. present a new dynamic friction model that captures dynamic friction effects (the gahl effect, frictional memory, stick-slip motion) as well as steady state friction effects, including the stribeck effect ([2, 8]). the interface between two surfaces is modeled by contact between sets of bristles. if z represents the average bristle deflection, ẏ the velocity between two surfaces, the friction force ff can be expressed as ff = σ0z + σ1ż + σ2ẏ ż = −α(ẏ)|ẏ|z + ẏ α(ẏ) = σ0 fc + ( fs − fc) exp{−(ẏ/ẏs)2} where σ0 is the stiffness for deflection angle, σ1 the damping coefficient for slip, σ2 the viscous friction coefficient, fc the coulomb friction level, fs the level of the stiction force, and ẏs the stribeck velocity. the system under discussion is the following equation: mÿ(t) + ff (t) = u(t) (12) where m is known and ff is unknown. as in canudas de wit et al.[3], the nonlinear function α(ẏ) is approximated by fbfe as α(ẏ) = kt ζ (ẏ) + ε f (13) k = [ k1, ··· , km ]t (14) ζ (ẏ) = [ ζ 1(ẏ), ··· , ζ m(ẏ) ]t (15) where ε is the approximation error and ζ j is defined as ζ j(ẏ) = µa j (ẏ(t)) ∑mj=1 µa j (ẏ(t)) . where the membership functions are selected as the gaussian functions: µa j (v) = exp(− (v− v̄ j)2 2σ 2j ) σ j = σ , j = 1,··· , m. the approximation error is assumed to be bounded and sufficiently small. 84 kouichi mitsunaga, takami matsuo 4 controller design consider the tracking control problem of system (12) under the assumption that (i) the parameters m, σ0, σ1, σ2 are known and the nonlinear function α(ẏ) in unknown. the desired trajectory yd is smooth enough and bounded. the tracking error and its derivatives are defined as e = yd −y, ė = ẏd − ẏ, ë = ÿd − ÿ. 4.1 adaptive controller with full-states measurements we review the adaptive controller proposed by canudas de wit et al.[3] with full-states measurements. they presented the internal state observer for the average bristle deflection as: ˙̂z = ẏ− k̂t ζ (ẏ)|ẏ|ẑ + k0z̃ + k1e (16) z̃ = m σ1 ė + kd −mρ σ1 e + e f (17) ė f = −ρ e f + cρ e (18) where ẑ is the estimate of the average bristle deflection and k0 > 0, k1 > 0, c = kp−ρ kd +mρ 2 σ0 . defining the estimation error of the average bristle deflection as z̃ = z− ẑ, (19) we have the following estimation error equation: ˙̃z = −α(ẏ)|ẏ|z̃− k̃t ζ (ẏ)|ẏ|ẑ−k0z̃−k1e (20) where k̃ = k − k̂. the controller is given as follows[3] u = mÿd + h(p)e + f̂f (21) f̂f = σ0ẑ + σ1 ˙̂z + σ2ẏ (22) where h(p) is the following differentiator: h(p) = kd p + kp, p = d dt . (23) moreover, we obtain the tracking error equation as më + kd ė + kpe = σ1 ˙̃z + σ0z̃. (24) we give the same adaptive update law as in [3]: ˙̂k = −γ 1 k1 ζ (ẏ)|ẏ|z̃ẑ. (25) 4.2 adaptive controller with position measurements in the position measurement case, we use the estimate ˆ̇y of the adaptive differential filter instead of the velocity signal ẏ. they presented the internal state observer for the average bristle deflection as: ˙̂z = ˆ̇y− k̂t ζ ( ˆ̇y)| ˆ̇y|ẑ + k0z̃ + k1e (26) z̃ = m σ1 ˆ̇e + kd −mρ σ1 e + e f (27) ė f = −ρ e f + cρ e (28) adaptive compensation of friction forces with differential filter 85 where ˆ̇y is the estimate of the velocity by the adaptive differential filter and ˆ̇e = ẏd − ˆ̇y. defining the estimation error of the adaptive differential filter ε as ε = ˆ̇y− ẏ, we have ˆ̇e = ė−ε. we have the following estimation error equation: ˙̃z = −α(ẏ)|ẏ|z̃− k̃t ζ ( ˆ̇y)| ˆ̇y|ẑ−k0z̃−k1e−kt ε 0ẑ−ε (29) where k̃ = k − k̂ and ε 0 is caused by estimation error of the adaptive differential filter. moreover, we obtain the tracking error equation as më + kd ė + kpe = σ1 ˙̃z + σ0z̃ + (kd −σ2)ε. (30) the controller is given as follows: u = mÿd + kd ˆ̇e + kpe + f̂f (31) f̂f = σ0ẑ + σ1 ˙̂z + σ2 ˆ̇y. (32) replacing the velocity signal by its estimate of the adaptive differential filter, the adaptive update law is given by: ˙̂k = −γ 1 k1 ζ ( ˆ̇y)| ˆ̇y|z̃ẑ. (33) 4.3 simulation example next example is the following lugre model: m = 10, σ0 = 5, σ1 = 2 √ 5, σ2 = 0.01, fc = 1, fs = 1.5, vs = 0.1. the initial conditions are selected as y(0) = 0, ẏ(0) = 0.2, z(0) = 1. the desired reference signals yd , ẏd , ÿd are given by yd = 3 sin 0.02πt, ẏd = 0.06π cos 0.02πt, ÿd = −0.0012π sin 0.02πt. the parameters of the fuzzy basis function are selected as follows: σ j = 0.5( j = 1,··· , 5), v̄1 = −1, v̄2 = −0.5, v̄3 = 0.0, v̄4 = 0.5, v̄5 = 1. the parameters of the adaptive differential filter is given by k = 1, γ = 0.5. the simulation parameters of the compensator are selected as follows: kd = kp = 1, k0 = 1, k1 = 0.1, γ = 50   1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1   . 86 kouichi mitsunaga, takami matsuo 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 time[sec] o u t p u t a n d i t s r e f e r e n c e [ m ] 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 time[sec] o u t p u t a n d i t s r e f e r e n c e [ m ] figure 1: the output y(solid line) and its desired reference yd (dotted line) in the time range [0, 300]. left: noise free ,right: additive noise n(0, 10−4). 0 20 40 60 80 100 −3 −2 −1 0 1 2 3 time[sec] o u t p u t a n d i t s r e f e r e n c e [ m ] 0 20 40 60 80 100 −3 −2 −1 0 1 2 3 time[sec] o u t p u t a n d i t s r e f e r e n c e [ m ] figure 2: the output y(solid line) and its desired reference yd (dotted line) in the time range [0, 100]. left: noise free ,right: additive noise n(0, 10−4). the simulation is carried out in the noise free case and in the case where the output yd with the additive noise n(0, 10−4). figure 1 shows the outputs y(solid line) and its desired references yd (dotted line) in the time range [0, 300] in both cases. figure 2 shows the outputs y(solid line) and its desired references yd (dotted line) in the time range [0, 100] in both cases. figure 3 shows the velocities ẏ(solid line) and its estimates ŷ by the adaptive differential filter (dotted line) in both cases. figure 4 shows the inputs u in both cases. figure 5 shows the friction force(solid line) and its estimate(dotted line). from these figures, the proposed friction compensator is robust against the additive noise. 5 conclusion we proposed the adaptive differential filter and its application to friction compensation. specifically, the velocity information in the friction compensator proposed by canudas de wit et al.[3] is replaced by the estimate with the adaptive differential filter. from the simulation results, the proposed friction compensator is robust against the additive noise. adaptive compensation of friction forces with differential filter 87 0 50 100 150 200 250 300 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time[sec] v e l o c i t y a n d i t s e s t i m a t e [ m / s e c ] 0 50 100 150 200 250 300 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time[sec] v e l o c i t y a n d i t s e s t i m a t e [ m / s e c ] figure 3: the velocity ẏ(solid line) and its estimate ˆ̇y(dotted line). left: noise free ,right: additive noise n(0, 10−4). 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 4 time[sec] i n p u t [ n ] 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 4 time[sec] i n p u t [ n ] figure 4: the input signal. left: noise free ,right: additive noise n(0, 10−4). 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 4 5 time[sec] f r i c t i o n f o r c e a n d i t s e s t i m a t e [ n ] 0 50 100 150 200 250 300 −3 −2 −1 0 1 2 3 4 5 time[sec] f r i c t i o n f o r c e a n d i t s e s t i m a t e [ n ] figure 5: the friction(solid line) and its estimate(dotted line). left: noise free ,right: additive noise n(0, 10−4). 88 kouichi mitsunaga, takami matsuo bibliography [1] b. armstrong-helouvry, p. dupont, c. canudas de wit, “ a survey of models, analysis tools and compensation methods for the control of machines with friction”. automatica, vol.30, pp.1083– 1138, 1994. [2] c. canudas de wit, h. olsson, k.j. astrom, and p. lischinsky, “ a new model for control of systems with friction”. ieee transaction on automatic control, vol.40-3, pp.419–425, 1995. [3] c. canudas de wit and s.s. ge, “ adaptive friction compensation for systems with generalized velocity/position friction dependency”. proc. of the 36th ieee conference on decision and control, pp.2465–2470, 1997. [4] d. v.-díaz and y. tang, “ adaptive robust control of nonlinear systems”. ieee trans. on systems, man, and cybernetics, part b, vol.34-3, pp.1596–1601, 2004. [5] b. friedland and y.-j. park, “ on adaptive friction compensation”. ieee transaction on automatic control, vol.37-10, pp.1609–1612, 1992. [6] s.s. ge, t.h. lee, and j. wang, “ adaptive nn control of dynamic systems with unknown dynamic friction”. proc. of the 39th ieee ieee conference on decision and control, pp.1760–1765, 2000. [7] h. han and c.-y. su, “ robust fuzzy control of nonlinear systems using shape-adaptive radial basis functions”. fuzzy sets and systems, vol.125, pp.23–38, 2002. [8] r.m. hirschorn and g. miller, “ control of nonlinear systems with friction”. ieee trans. on control systems technology, vol.7-5, 588–595, 1999. [9] s.n. huang, k.k. tan, t.h. lee, “ adaptive motion control using neural network approximations”. automatica, vol.38, pp.227–233, 2002. [10] e. papadopoulos and g. chasparis, “ analysis and model-based control of servomechanisms with friction”. asme j. dynamic systems, measurement and control, vol.126-4, pp.911–915, 2004. [11] s.-h. park and t. matsuo, “ time-derivative estimation of noisy movie data using adaptive control theory”. international journal of signal processing, vol.2-3, pp.170–177, 2005. [12] d. putra, l.p.m. moreau, and h. nijmeijer, “ observer-based compensation of discontinuous friction”. proc. of the 43rd ieee conference on decision and control, pp.4940–4945, 2004. [13] l. r. ray, a. ramasubramanian, and j. townsend, “ adaptive friction compensation using extended kalman-bucy filter friction estimation”. control engineering practice, vol.9, pp.169–179, 2001. [14] k. sato, y. mishima, k. tsuruta, and k. murata, “ adaptive positioning control for linear slider with friction compensation”. trans. of society of the instrument and control engineers,japan, vol.40-2, pp.275–277, 2004 (in japanese). [15] p. tomei, “ robust adaptive friction compensation for tracking control of robot manipulators”. ieee transaction on automatic control, vol.45-6, pp.2164–2169, 2000. [16] j. wang, s.s. ge and t.h. lee, “ adaptive friction compensation for servo mechanism”. in: adaptive control of nonsmooth dynamic systems g. tao and f.l. lewis (eds.), springer, pp.211– 248, 2001. adaptive compensation of friction forces with differential filter 89 [17] q.h. xia, s.y. lin, m.h. ang jr. and t.m. lim, “ adaptive joint friction compensation using a model-based operational space velocity observer”. proc. of ieee international conf. on robotics and automation, pp.3081–3086, 2004. kouichi mitsunaga oita institute of technology control engineering department 407-27 higashihama, nakatsu, oita, japan 871-0006 e-mail: mitu@oita-it.ac.jp takami matsuo oita university department of architecture and mechatronics 700 dannoharu, oita, japan 870-1192 e-mail: matsuo@cc.oita-u.ac.jp received: august 4, 2007 kouichi mitsunaga was born in japan on july 19,1963. he received the b.s. degree in electrical engineering from oita university, oita, japan, in 1986. he is currently an assistant professor in the control engineering department, oita institute of technology, japan. he has worked in control system engineering. takami matsuo was born in japan on march 24,1958. he received the doctoral degree in engineering from kyushu university, fukuoka, japan, in 1985. he is currently a professor in the department of architecture and mechatronics, oita university, japan. he has worked in control system theory and its applications. matsuo is a member of ieee, and siam. international journal of computers, communications & control vol. i (2006), no. 2, pp. 95-101 improvement and extension of virtual reality for flexible systems of manufacture flavio véliz vasconcelo, gastón lefranc hernández abstract: in this work it presents the improvement and extension of the virtual reality software created by the robotics, artificial intelligence and automatization outpost laboratory in the school of electrical engineering of the pontificia universidad católica de valparaíso. keywords:software, virtual reality, java, fms. 1 introduction the development of this program has as it bases the version 1,0 on which a virtual model is created prototype of a cartesian manipulator pertaining to a cell of storage as/rs of a flexible system of manufacture. version 2,0, version created in this project bases its modifications on three aspects: • the 3d model, is made using support tools that facilitate the work and allow a better design, in this one case 3dstudio. • extends software adding to the virtual reality new objects from the flexible system of complete manufacture that is in the laboratory • settles down a control of the scara manipulator and the virtual reality of the work imagines that is made in an assembled flexible cell of, constituted by a robotic manipulator, a vision system and a automated transport system. the reason for this one project is to maintain the control of a process and also to make modifications in the cell doing the simulation in the virtual reality to optimize the work of the flexible system reducing to the died time of the cell produced by the halting of the process when making modifications and tests of the same ones. can be tested in the virtual reality then this account with all the factors that affect a process, for example, gravity and restriction of movement of the objects. 2 state of the art the generation of interactive tridimensional graphs has advanced immensely in the last years, now we can simulate real worlds with a good degree of reality in real time. but the techniques of interface man-machineare still in investigation. the first virtual reality (vr) systems appeared at the end of 80’ and beginnings of 90’, but the investigation in this field begun at end of the 60’ decade, especially in the aerospace military industry, and in investigation center as the massachusetts institute of technology, and de university of north of carolina. between the 90’ decade ant the beginning of the xxi century, the vr has experimented a big development united to the advances in communications, computers and all the digital technology. now the virtual reality is considered as a work tool for the industry, like the automotive industry, robotic, etc., in universities like universidad autónoma de méxico (unam), pontificia universidad católica de valparaíso and universidad politécnica de cataluña. even in the art universities like pompeu fabra and museum like the gugenheim museum from new york. copyright c© 2006 by ccc publications 96 flavio véliz vasconcelo, gastón lefranc hernández in the pucv the virtual reality began in 2001 with a prototype of this type of software. this was the representation of a manipulator in the space. this manipulator is part of a flexible manufacturer system (fms) made in the robotic, automation and artificial intelligence laboratory of the engineering electrical school. the first idea was represent a cell from the fms, the software must be flexible and must work in any operative system so was made completely with java. in the v2.0 of this software, is represent all the system that exist in the laboratory, using 3d development tools. this version can control both manipulators in the fms, the cartesian manipulator, part of the as/rs cell, and the scara manipulator that work with artificial stereo vision and the assembled cell. at this moment, the laboratory is working in the creation of the environment in real time, using the 3d vision, and the final idea is add this application to the virtual reality v2.0 software to make this more flexible. 3 structure of the system the represented cell is a manufacture cell of storage that is made up of three stages, the first in charge one of the administration of information (base it of data), the second interface for the administrator and third, the mechanism that will execute the indicated tasks. the storage system is conformed by a warehouse in rectangular form that denominated matrix and a cartesian manipulator of 4 degrees of freedom. with respect to the design of the virtual world a virtual universe was structured so that it was possible to be added other devices of a sfm, integrating of this form in which are different cells from a flexible production system as it is in figure 1. figure 1: 4 representation and control of the graphical devices the established movements of the manipulator in the classes of cartesian manipulator settle down by means of the incorporation of the inverse kinematics of the manipulator, defined as a general characteristic of the manipulating class, which will inherit each manipulator i specify. for the cartesian manipulator simulated, the inverse kinematics the position given by the system of data base is applied directly, since or a user, will be carried out on the base of several final positions. since the manipulator is cartesian, the final position and the position of each one of their joints are referred a single system of coordinates, unlike another type of manipulators. improvement and extension of virtual reality for flexible systems of manufacture 97 the information that gives the data base working in automatic way, with respect to the task to make is the following one: • move manipulator to one position (x1,y1, z1) • storage the "pallet" • take out the "pallet" • take the "pallet" from the transport system (x ,y, z) • put the "pallet" on the transport system (x ,y, z) the information entered by the user when working in manual way updates the data base so that this one issues the action order to the manipulator. the orders that can be sent are the same ones that gives the data base to him when working in automatic way, that is to say, to keep "pallet", to remove "pallet", etc. the real manipulator is implemented with sensors that confirm their position when executing a movement and this one information is realimentada to the program of virtual reality so that it makes sure that what it is happening in the virtual reality is just like it is happening in the true manipulator. 5 interface with the reality an interface with the data base must exist, whose the objective is to receive information of this one or to send information towards this to modify it. this interface is implemented by means of the program net8, which allows to the connection between the program of virtual reality and the data base to be able to extract the information stored by means of order tables or position. the program must be able to execute the control of a new cell of manufacture, corresponding to the cell of assembled and vision stere. the cell is composed by a manipulator of the type scara 7547, the work table, the conveyor belts, "pallets" that are used for the transport of products and the system of vision by computer. this flexible system of production imagines in a virtual reality of with the intention of having the total control on the same one, being able to represent everything what it is happening in the reality, in a virtual reality, thus is possible to be detected any fault in the real system while the behavior of the virtual reality is being observed. the system of virtual reality has communication with the assembled system of through the port of com1 communications of interface rs-232, through which the coordinates are transmitted towards which the manipulator is due to move when he is commanded from the assembled station of or to order a manual control of the scara manipulator when controlling the interface of virtual reality. 6 tools of programming and design the described program previously was developed programming in java language using the api of design 3d, java3d. the programming language was chosen by the following reasons: 1. the possibility must exist of creating an interface between the graphical generator and the source program. because java3d is a api of java, this one function already is built-in. 2. the availability and facility of manual and tutorial obtaining about java of these programs. 3. the advantage to create a program multiplatform, since java works on a virtual machine. 4. as version 1,0 of the program of virtual reality exists, created with the tools of java, it will use its code of source to reuse it in new versions. the great advantage of java is that it is a programming language oo and of neutral architecture, and the advantage of the programming oriented to objetos (poo) is the capacity to reuse code. another one of the great advantages of java is that not they must creates applications different to use the application 98 flavio véliz vasconcelo, gastón lefranc hernández in different platforms. with java we can to develop an application that automatically can be used in diverse platforms, like windows, unix or macintosh systems. using jbuilder, of the borland company, it is possible to be made an express and easy joint of the elements of a graphical interface for java applications. to construct user interfaces is not of great complexity because it is counted on several blocks of components, which are selected from a trowel that contains components such as: text bellboys, areas, lists, pictures of dialogues, etc. soon the values of the properties of these components are selected and al is enclosed component event del the code that will treat this event, saying al program how to respond to an event in the user interface. in order to obtain a better design of virtual reality that resembles more the real fms it uses the design program 3dstudio max5 version in spanish supported by the tool of autocad design 2002 version in spanish. to the support of these tools and using the class "loader" of j3d it is possible to be related the archives of objects 3d of 3dstudio and java. the design is begun creating the objects in the autocad program thus to be able to handle the measures of the objects and to give with greater facility the different forms from the objects, soon the archives of autocad are exported towards 3dstudio and here the design is completed giving colors and textures to these. 7 3d model the great improvement that incorporates version 2,0 of the program of virtual reality bases on the generation of objects since in version 1,0 the manipulator was created in his totality having used the api of java 3d, which implies to have to write great amount of lines of code for a simple object and without great definition. although using j3d a scene can be created, also it is possible to be done generating the objects of the scene in a program of design like for example autocad or 3dstudio max. this is a powerful form to bring objects towards the virtual world being concerned the information from a file. to load the data from a file allows to accede to the data created in another application. the program 3dstudio max5 provides the tools necessary to be able to create the objects that will compose the flexible system of manufacture. the simulation of a universe is generated using a modelador. the development of a modelador in 3-d includes three main phases, as it is in figure 2. figure 2: generation of primitive: the simple geometric objects are created, as it bases of any geometric model. the simple objects are created by primitive parametric of generation, or linear or radial sweeping. composition: the compound objects are created assembling simple objects. the composition generates more complex objects with rigid or articulated behavior. animation: the animation consists of equipping with movement to the objects within the environment. this can be improvement and extension of virtual reality for flexible systems of manufacture 99 applied to the objects composed in its totality or one of its joints. the animation includes movements of camera (point of view of the observer) and manipulation of the lights. through different techniques from design the images of figures 3 and 4 were obtained: figure 3: simple object figure 4: compound object in order to be able to obtain these one better quality in the design the support for the design looks for using the programs corel draw and their application with scanner to make ocr of vectorization. the data from measures of the manipulator are taken, that are in the manual of this one, where are two views that are sufficient to be able to make a design 3d of the manipulator. similarly all the components are being created that comprise of the flexible system which they were mentioned in the previous points, arriving at a final design of the version 2,0 that can be seen in figure 5. 8 inverse kinematics when we select a position in the cartesian plane inside of the work space, the scara is instruct to move to the selected position. with this information we can calculate the inverse kinematics to generate the animation of the 3d manipulator, moving the articulations or joints to the set point. figure 5: virtual sfm in every joint, the z axis is selected as rotation axis, as x axis the junction of the joints, and the y axis the third perpendicular axis. 100 flavio véliz vasconcelo, gastón lefranc hernández to describe the position of the joints from the angles of joints we can describe a transformation matrix that it relates the frame assigned to a joint with the frame of the previous joint. to the scara manipulator, the transformation matrix between the ended frame and the base frame is: t =   cosθ12 −sinθ12 0 l1cosθ1 sinθ12 cosθ12 0 l1sinθ1 0 0 1 0 0 0 0 1   (1) where: θ12 = θ1 + θ2 the problem of the inverse kinematic is obtain the angle from the position in the cartesian coordinates (x,y) of the greeper. this angles can be obtain in algebraic way or geometrically. in this case we chose the geometrical method, because is more simple. in this way, we obtain: cosθ2 = (r2 −l21 + l22)/(2l1l2) (2) θ1 −β + δ , i f θ2 < 0 (3) θ1 = β −δ , i f θ2 > 0 (4) where, r2 = x 2 + y 2 (5) tan β = y /x (6) cosδ = (r2 + l21 −l22)/(2l1r) (7) l1 and l2 are know values, because are the length of the two part of the arm of the scara manipulator, so is necessary to know the value of r to could calculate δ . like the point of destiny of the greeper is know too, and know in cartesian coordinates, the x and y values are replaced in the equation number 5, then we can obtain the r value. x and y value are data entered by the user, using the virtual reality software interface, or trough the database that command all the flexible manufacturer system. like we have the values of l1, l2, and r, we can obtain the β value working with equation 7. with the x and y values replaced in equation 6 we can obtain the value of β . with equation 2 we obtain the θ2, that indicate the rotation angle of l2 and that define the equation of rotation of the extremity l1, equations 3 and 4 depending of the case. this information is passed to the animation class, class that have the capacity to move the 3d design using the behavior class of j3d. 9 conclusions the use of the virtual reality in the industrial area allows to increase the production and to keep us to the moved away personnel of the accomplishment of dangerous tasks. with the simulation of the flexible system tests in a simulated system are reduced to the production costs when doing that it counts on all the factors that affect to the real system, in such a way that the best option can be selected to make a task without having to stop the system for a long time, but so single the necessary thing to make the modification. the advantage to make the virtual reality in java is to allow to implement the application in independent platforms without no problem then this runs on a virtual machine, and as java were born oriented to the internet, also it allows us to adapt software so that service to the production can be used in the web rendering and allowing the control of the flexible system, from any part of the world. improvement and extension of virtual reality for flexible systems of manufacture 101 figure 6: virtual scara, joints and rotation axis virtual reality can join two communities very different as artist and scientist, because this projects need informatics and engineering experts and designers and expert in visual arts. references [1] zepeda, roberto (lefranc, gastón, p.g.), modelación en redes de petry y simulación en realidad virtual de sistemas flexibles de manufactura, informe final de proyecto de titulación, pontificia universidad católica de valparaíso. agosto, 2001. [2] flores, javier (lefranc, gastón, p.g.), realidad virtual a sistemas flexibles de manufactura, informe final de proyecto de titulación, pontificia universidad católica de valparaíso. mayo, 2004. [3] aaron e. walsh, doug gehringer, java 3d, api jump start. [4] selman, daniel, java 3d programming. [5] burgos, daniel, 3dstudio max práctico. guía de aprendizaje. [6] lemay cadenhead, aprendiendo java en 21 días. flavio véliz vasconcelo, gastón lefranc hernández pontificia universidad católica de valparaíso escuela de ingeniería eléctrica av. brasil 2147, valparaíso, chile e-mail: flavio.veliz@vtr.net, glefranc@ieee.org international journal of computers, communications & control vol. ii (2007), no. 2, pp. 143-148 self-organizing maps for analysis of expandable polystyrene batch process mikko heikkinen, ville nurminen, yrjö hiltunen abstract: self-organizing maps (som) have been successfully applied in many fields of research. in this paper, we demonstrate the use of som-based method for the analysis of expandable polystyrene (eps) batch process. to this end, a data set of eps-batch process was used for training a som. reference vectors of the som were then classified by k-means algorithm into six clusters, which represent product types of the process. this som could also be used for estimating the optimal amounts of the stabilisation agent. the results of a validation data set showed a good agreement between the actual and estimated amounts of the stabilisation agent. based on this model a web application was made for test use at the plant. the results indicate that the som method can also be efficiently applied to the analysis of the batch process. keywords: neural networks, self-organizing maps, process control, batch process 1 introduction batch processes are typically based on predefined process recipes. if process circumstances, chemicals and recipes are constant, the product should basically be always the same. a batch process is also commonly used for producing expandable polystyrene (eps). however, in practice this polymerisation reaction is a very sensitive process and numerous variables affect it, which makes the process difficult to control. the eps production has to be able to follow fast the aims and quality requirements of the market, which causes additional demands on the process control. archived process data is an important resource for the knowledge management of the process and it can be used for the optimization and improvement of productivity. recent applications have demonstrated that artificial neural networks can provide an efficient and highly automated method for modelling industrial data [1], [2]. in particular, studies, which use standardized protocols, are most likely to benefit from automated ann analysis [1], [2]. self-organizing maps [1], [3]-[5] have also been successfully applied in many areas of research and are thus a tool for process optimization. the som method offers an efficient means of handling complex multidimensional data, which is typically the situation in industrial applications. in addition, the som method is robust for missing values of data. here, we apply self-organizing maps to the analysis of an eps-batch process. the optimal amounts of the stabilisation agent can be estimated using the som model. in the study we have also included some features of the supervised approach in the designed unsupervised method. 2 methods 2.1 the process and the data the studied process was a typical suspension polymerisation batch process, which is commonly used for producing eps (expandable polystyrene). the polymerisation stage is executed in a pressuretemperature range below the boiling point of styrene-water suspension system. after the polymerisation stage the process continues into the impregnation stage, where the blowing agent is impregnated into the beads. the impregnation stage assumed to be negligible in the means of bead size distribution. the biggest challenge in the suspension polymerisation process is to achieve the required bead size distribution. it is common knowledge that the basic variables in the term of the bead size are the mixing copyright © 2006-2007 by ccc publications 144 mikko heikkinen, ville nurminen, yrjö hiltunen properties and the amount and quality of the suspension stabilizers. however the suspension polymerisation of styrene is a very sensitive process and numerous variables affect it. most of these variables cannot be measured or followed by in a reasonable way. for example to analyse all impurities from all raw materials is too heavy a task for any industrial laboratory. some variables are quite easily measurable, but have not been traced due to the assumption that they would not have a significant contribution to the process. to be able to model the process the studied system required elimination of the variables, which were assumed to be inessential. the data for the model were divided into three groups: recipe, results and process parameters. process parameters, such as actual reactor temperature, were measured and stored automatically from each batch every one minute. process parameter data was not used for modelling in the first part of this study and the target is to add it later to the model. table i shows the recipe and result variables. the data contained 15 production campaigns and about 450 batches in 4 reactors. the data had to be divided into two separate groups due to the process changes in the stabilisation system. these changes limited the size of useful data to 251 batches, which is a low amount for accurate modelling. fortunately more production campaigns will be executed almost every month and more data will be available for further studies. 2.2 computational methods self-organizing maps self-organizing maps (soms) are an artificial neural network methodology, which can transform an n-dimensional input vector into a oneor two-dimensional discrete map. the input vectors, which have common features, are projected to the same area of the map e.g. (in this case described as şneuronsť). each neuron is associated with an n-dimensional reference vector, which provides a link between the output and input spaces. during learning, the input data vector is mapped onto a particular neuron (best matching unit, bmu) based on the minimal n-dimensional distance between the input vector and the reference vectors of the neurons. then the reference vectors of the activated neurons are updated. when the trained map is applied, the best matching units are calculated using these reference vectors. in this unsupervised methodology, the som can be constructed without previous a priori knowledge [1]. the data were coded into 11 inputs for the som. all input values were variance scaled. the som having 676 neurons in a 26x26 hexagonal arrangement was constructed. the linear initialization and table 1: recipe and result variables of the particular styrochem suspension polymerisation process. recipe variables u nit result variables u nit amount of stabilisation agent % from ms under sized % mixing speed rpm product a % polymerisation temperature °c product b % reactivity min product c % amount of styrene kg product d % additional stabilisation kg product e % product type product f % batch number in campaign over sized % reactor mean particle size mm delta mm narrowness self-organizing maps for analysis of expandable polystyrene batch process 145 batch training algorithms were used in the training of the map. a gaussian function was used as the neighbourhood function. the map was taught with 10 epochs and the initial neighbourhood had the value of 6. the som toolbox [7] was used in the analysis under a matlab-software platform (mathworks, natick, ma, usa). the data set of an eps-batch process (n= 251 batches) was divided into two subsets. the first subset (the first 190 batches) was the training set, which was used for training the map. the other subset (the last 61 batches) was the test set. variables of each batch and amounts of the stabilisation agent were used as an input for the som in the training phase. however, the amounts of the stabilisation agent were missing values in the test phase, i.e. best matching neurons for the test set were sought using only those other batch variables specified above. estimated values for the amounts of the stabilisation agent were obtained from the reference vectors of neurons. k-means method the k-means algorithm was applied to the clustering of the map. the k-means method is a wellknown non-hierarchical cluster algorithm [8]. the basic version begins by randomly picking k cluster centers, assigning each point to the cluster whose mean is closest in a euclidean distances sense, then computing the mean vectors of the points assigned to each cluster, and using these as new centers in an iterative approach. 3 results and discussion the map was obtained by training a self-organizing network with the training set of an eps-batch process. the map and the six clusters calculated by the k-means method are shown in figure 1. these clusters represent different types of the products. the brief descriptions of the clusters are also illustrated in figure 1. the method was validated by using the test set, i.e. the last 61 data vectors were in test. the results, when the som was trained to estimate the amounts of the stabilisation agent, are illustrated in fig. 2. the correlation coefficient between the actual amount of the stabilisation agent and the estimated one was 0.851 (fig 2 a). in fig. 2 b) the actual and estimated amounts of the stabilisation agent are shown as a function of the batch number. table 2: variables used for modelling. variables under sized product a product b product c product d product e mean particle size batch number in campaign amount of stabilisation agent in previous batch amount of stabilisation agent a web application based on this som model was made for estimating the optimal amount of stabilisation agent in practice at the plant. figure 3 illustrates the interface of this application. the same 146 mikko heikkinen, ville nurminen, yrjö hiltunen figure 1: som using the data of an eps-batch process. the background colours visualize the six clusters of the map. short descriptions for each cluster are also shown. figure 2: a) the correlation between the actual amount of the stabilisation agent and the one estimated by the som analysis. the results are from the test set (the last 61 batches) and the value for the correlation coefficient is 0.851. b) the actual and estimated amounts of the stabilisation agent as a function of the batch number. self-organizing maps for analysis of expandable polystyrene batch process 147 figure 3: the interface of the web application. variables, which are shown in table 2, have been used in this application. a user gives as many as possible out of the ten upmost variables and the application calculates the lowest one. the first seven variables define the target amounts of the product. our earlier results showed that the som method could be successfully applied to process state monitoring and optimization of nox emissions in the case of a continuous process [6]. the results presented here illustrate also the advantages of using som method in the analysis of a batch process. figure 3 shows that the method can be used for estimation of optimal parameters of the process. it seems to reduce varieties of the process and so helps to get better products. because our som method is also nonsensitive for the presence of missing values, it is feasible in the analysis of industrial data. furthermore, som analysis does not require extensive knowledge of neural nets and it can easily be included in any kind of software. an attractive property of som is also that it can be retrained, if new product types of the process are to be analysed. 4 conclusion the som analysis provides an efficient and automated method for data analysis in the process industry. the present study shows that this kind of data-driven approach is a fruitful way of analysing a batch process. 5 acknowledgement this research was supported by styrochem ltd. references [1] t. kohonen, self-organizing maps, springer-verlag, berlin heidelberg new york, 2001. [2] s. haykin, neural networks: a comprehensive foundation, upper saddle river, nj: prentice hall, 1999. 148 mikko heikkinen, ville nurminen, yrjö hiltunen [3] j. kaartinen, y. hiltunen, p. t. kovanen, m. ala-korpela, classification of human blood plasma lipid abnormalities by 1h magnetic resonance spectroscopy and self-organizing maps, nmr biomed, vol. 11, pp. 168-176, 1998. [4] m. t. hyvönen, y. hiltunen, w. el-deredy, t. ojala, j. vaara, p. t. kovanen, m. ala-korpela, application of self-organizing maps in conformational analysis of lipids, journal of the american chemical society, vol. 123, pp. 810-816, 2001. [5] m. heikkinen, m. kolehmainen, y. hiltunen, classification of process phases using self-organizing maps and sammonšs mapping for investigating activated sludge treatment plant in a pulp mill, proceedings of the fourth european symposium on intelligent technologies and their implementation on smart adaptive systems, pp. 281-297, 2004. [6] m. heikkinen, a. kettunen, e. niemitalo, r. kuivalainen, y. hiltunen, som-based method for process state monitoring and optimization in fluidized bed energy plant, icann 2005, lecture notes in computer science 3696, eds. w. duch, j. kacprzyk, e. oja, s. zadrozny, springer-verlag berlin heidelberg, pp. 409-414, 2005. [7] homepage of som toolbox, helsinki university of technology, laboratory of computer and information science (cis), http://www.cis.hut.fi/projects/somtoolbox/. [8] j. macqueen, some methods for classification and analysis of multivariate observations, in proceedings of the fifth berkeley symposium on mathematical statistics and probability, vol. i: statistics, university of california press, berkeley and los angeles, pp. 281-297, 1967. mikko heikkinen university of kuopio, department of environmental sciences p.o. box 1627, fin 70211 kuopio, finland e-mail: mikko.heikkinen@uku.fi ville nurminen styrochem ltd p.o. box 360, fin 06101 porvoo, finland e-mail: ville.nurminen@styrochem.com yrjö hiltunen university of kuopio, department of environmental sciences p.o. box 1627, fin 70211 kuopio, finland e-mail: yrjo.hiltunen@uku.fi received: march 6, 2007 international journal of computers, communications & control vol. i (2006), no. 1, pp. 41-46 an exact algorithm for steiner tree problem on graphs milan stanojević, mirko vujošević abstract: the paper presents a new original algorithm for solving steiner tree problem on graph. the algorithm is simple and intended for solving problems with relatively low dimensions. it is based on use of existing open source software for solving integer linear programming problems. the algorithm is tested and shown very efficient for different randomly generated problems on graphs of up to 50 nodes, up to 10 terminals and average node degree 7. keywords: steiner tree problem on graph, branch and cut, algorithm, optimization 1 introduction the steiner tree problem (stp) is met in telecommunication and energetic systems, vlsi technologies and in other network planning tasks. the problem is to find a minimal length tree which connects all terminal nodes of a given graph, and contains arbitrary number of other nodes. the problem is similar to the well known shortest spanning tree problem (sstp), but unlike that it doesn’t necessary contain all nodes of given graph. also, a very important difference is that stp is much harder problem than sstp. the usual formulation of stp is the following: a connected undirected graph g = (n, e), where n = {1, . . . , n} is a set of nodes and e ⊆ {{i, j} | i ∈ n, j ∈ n, i < j} denotes a set of edges, is given. a positive value (length, weight, etc.) ce is associated to every edge e ∈ e. also, a set t ⊂ n of so called terminal (steiner) nodes is given. definition 1. steiner tree for t in g is a subgraph st = (n′, e′), n′ ⊆ n, e′ ⊂ e which satisfies one of the following statements: 1. t ⊆ n′ and st is a tree; 2. ∀s,t ∈ t in st exists exactly one path from s to t. the length of steiner tree is the sum of lengths of all edges which it consists of. the steiner tree problem is to find the shortest steiner tree. this is a np-hard problem and its decision problem variant belongs to np-complete problem class [6]. the problem is presented in details in surveys: [4], [5], [9] and [11]. in papers [2], [8] and [7] the problem was solved to optimality using sophisticated branch and cut methods. in this paper an original exact algorithm, generally based on branch and cut procedure, for solving steiner tree problems on graph is proposed. it uses code from an available open source project which develops software for solving linear and integer linear programming problems. an intention was to formulate an algorithm which can be implemented in relatively short time and which will be able to solve stp of “reasonable” dimensions in “reasonable” time. to be more precise, the implementation of proposed algorithm lasted about 3-4 days. the program could solve problems of dimensions which are larger of the most of real life problems in, at most, several minutes. in this paper, in the next section, a mathematical model of the steiner tree problem and its explanation are given. in section 3, the algorithm and the process of implementation are explained in details. in section 4 the experiments are described and some conclusions about the algorithm behavior are made. in section 5, the conclusion of the whole paper is given. 2 mathematical model a steiner tree can be represented by a vector of binary variables x = (xe)|e|. each element of the vector is assigned to one edge from the set e. the value of a variable xe indicates whether the corresponding edge e is in the steiner tree (xe = 1) or not (xe = 0). a mathematical model of the stp on undirected graphs has the following copyright c© 2006 by ccc publications 42 milan stanojević, mirko vujošević form: min ∑ e∈e cexe subject to (i) ∑ e∈δ (m) xe ≥ 1 ∀ m ⊂ n, m ∩t 6= /0, (n\m)∩t 6= /0 (ii) xe ∈ {0, 1} ∀ e ∈ e (1) where n, e and t are as in definition 1, ce is a positive value associated to each edge e and δ (m) denotes a graph cut defined by subset of nodes m ⊂ n, i.e. the set of edges with one end node in m and the second one in complement set n \m, δ (m) = {{i, j} ∈ e | i ∈ m, j ∈ n \m}. the mathematical model (1) is linear and integer. constraints (i) ensure that in every cut, for which terminal nodes are on the both sides (m and n\m), at least one edge exists. in other words, they ensure that between each two terminal nodes exists at least one path. a feasible solution of model (1) is not necessary a steiner tree. but the optimal solution will be a steiner tree because any edge constructing a contour would violate the optimality condition. so, although the formulation is rather comprehensive, it can be applied only for those problems where the goal is to minimize the length of the steiner tree. a disadvantage of model (1) is that the number of constraints grows exponentially in the problem size. on the other hand, in branch and cut methods, the relaxation of the formulation may give acceptable results. 3 implementation two main challenges in solving the model (1) are: (i) the exponential number of constraints, and (ii) the exponential time needed to solve the integer program even with smaller number of constraints. to overcome the first challenge, the proposed algorithm uses a relaxation of model (1). the idea was inspired by the paper [7] and partly published at [10]. namely, because of a big number of constraints, solving a model which includes all the constraints is very hard and in many cases impossible. on the other hand, in the most cases it is not necessary to include all the constraints in order to obtain an optimal solution. only the constraints which are active in the optimal solution are really necessary. of course, we cannot predict which of them will be active, but we can start with some smaller number of constraints, giving priority to those which are “more likely” to be necessary to obtain a feasible solution (steiner tree). if we solve a model with smaller number of constraints and the solution is a steiner tree of the given graph, then this solution will be the optimal for the starting problem, i.e. by adding more constraints we cannot improve the solution. otherwise, the obtained solution will consist of two or more subtrees. then, we iteratively add those constraints for which we find they are violated and which would probably lead to feasible solution until we finally obtain a steiner tree. the most common way to solve a binary linear programming problem is implementation of branch and bound method in combination with simplex method. according to the one of main features of the algorithm we intended to formulate – quick and easy implementation, development of simplex and branch and bound algorithms from a scratch wouldn’t be appropriate. although it would finally give better performance if they would be incorporated in the essence of complete procedure, the development of these procedures would last very long. an alternative was found among open source projects. the project used in this implementation was lp_solve. lp_solve [1] is an open source project that realize very robust procedures and techniques for solving linear programming problems. beside that, it implements the branch and bound method for solving binary, integer and mixed integer linear problems. it has a lot of options by which it is possible to influence the branch and bound procedure changing its strategies, so it is possible to significantly improve its performance [13]. lp_solve can be used as independent application when it can read problem files in lp and mps formats, and as a set of functions, when it can be incorporated into other programs and controlled from the host code. the project itself doesn’t have any restrictions of the problems dimensions. some successful applications on mixed integer programming problems with several thousands variables were reported. the license of the project is glgpl (gnu lesser general public license) [12] and it allows free download, using, changing and redistribution of the source code of lp_solve project. the algorithm is formally formulated as follows: an exact algorithm for steiner tree problem on graphs 43 algorithm 1 simplified branch and cut algorithm for stp 1. formulation of initial integer linear mathematical model: (a) goal function formulation: one variable is introduced for each edge and corresponding edge length is associated as a parameter to each variable. (b) for each terminal node, one constraint of type (i) is formulated, so the terminal node is a single node on one side of the cut and the rest of the nodes are on the other side, i.e. ∑ e∈δ (m) xe ≥ 1 ∀m ∈ {{t} | t ∈ t}. the number of constraints after step 1 will be |t|. 2. solve the current mathematical model. 3. check if the obtained solution is a steiner tree, i.e. if there is a path between all pairs of terminal nodes. if so, the optimal solution was found in step 2; the end of the procedure. otherwise, next step. 4. if solution is not a steiner tree, then it represents two or more unconnected subtrees. for every subtree add one type (i) constraint defined by cut δ (m) where the nodes of that subtree belong to set m. go to step 2. the proposed algorithm can be qualified as a simplified version of branch and cut method, i.e. a combination of branch and bound and cutting planes. the steps of the algorithm will be illustrated by an example. suppose, we have to obtain the minimal steiner tree for the given graph, illustrated in figure 1, where four terminal nodes are marked with bigger circles. the mathematical model created in step 1 and updated in step 4 will have one column for every edge. the constraints added in the first step are necessary to provide that every terminal is connected to, at least, one edge. in the example, four constraints will be added in the first step – one for every terminal. they will ensure that at least one edge is connected to each terminal. in figure 2, the four cuts are marked as open curves surrounding each terminal node, and the edges marked by dashed lines are candidates to be in the first solution. figure 1: initial graph figure 2: first step the possible solution after step 2 could be like one in figure 3. as mentioned above, if the obtained solution is not a steiner tree, it will consist of several subtrees. the number of subtrees generally can be between 2 and |t|. for determining if the obtained solution is a steiner tree (in step 3), dijkstra’s shortest path algorithm was used. in step 4 a new constraint for each subtree is added. in the example, three new constraints, corresponding to three subtrees shown in figure 3, are added. on each image of figure 4, one cut (represented by the curve surrounding the subtree) and edges (dashed lines) among which, at least one will be in the next solution are shown. after the next optimization, a possible solution could be like the one shown in figure 5. the solution satisfies all added constraints and the graph structure is a steiner tree. without further checking, we can claim that it is an 44 milan stanojević, mirko vujošević figure 3: possible solution after the first iteration figure 4: three new constraints optimal solution of the given steiner tree problem. figure 5: final – feasible and optimal solution the main criteria for determining data structures were access speed and simplicity of implementation. the amount of used memory was not considered because of relatively small graph dimensions of target instances. the logical choice were static structures (vectors and matrices). the realized structures enabled fast data access and mapping between graph structure (realized through neighborhood matrix) and vector of edges with all corresponding attributes. the algorithm was implemented in c language and it is compiled and tested on linux operation system (with gcc gnu c compiler) on pc with pentiumr iii processor on 600 mhz and 384 mb of ram. the implemented program supports so called stp format [15] of steiner tree problems, and it is compatible with the library of standard steiner tree problems [14]. 4 experimental results the developed program was tested on different problem instances. a characteristic of the steiner tree problem is that the complexity of a procedure for its solving depends on three attributes: number of nodes (n), number of edges and number of terminal nodes (t). the largest dimensions of instances successfully solved by the program were [n/t]: 20/10, 32/8 and 50/5, with the average node degree 7. the solving procedures lasted between 2 seconds and 2 minutes for the most of the instances. these dimensions may look modest in comparison with those with several thousands nodes which were successfully solved as it was reported in papers [2] and [7]. however, comparing the procedure complexity, simplicity of implementation and the fact that in many real-life telecommunication planning processes, even smaller size problems may appear, the proposed implementation could be very useful. to get a more precise insight in the behavior of the algorithm, experiments were performed with instances where some parameters were varied. in the following table, results (mean values and standard deviation) obtained by experiments where every dimension was tested on 15 randomly generated instances are given. in the columns named “no. of rows” the number of constraints needed to obtain an optimal solution (the optimization in the last iteration) is given. the columns named “no. of iterations” represent a number of iterations of algorithm 1 when an exact algorithm for steiner tree problem on graphs 45 passing through steps 2-4, i.e. the total number of solved binary subproblems (in step 2). the columns “time” represent cpu time spent to solve the problem. the column “ancai” shows the average number of constraints added per iteration. it’s obtained by formula: no.rows−tno.iterations where t represents the number of terminal nodes, i.e. the number of constraints added in initial mathematical model in step 1. table 1: the complexity analysis of the algorithm instance dimensions no. of rows no. of iterations time [sec.] an[n/t] x σ x σ x σ cai 1 2 3 4 5 6 7 8 1 20/5 25 8.9 7.5 3.0 0.2 0.3 2.7 2 32/5 38 22.1 12.3 8.0 3.0 9.7 2.7 3 50/5 60 28.3 20.0 11.3 7.2 13.3 2.8 4 20/8 65 20.3 19.5 8.5 11.5 27.5 2.9 5 32/8 88 31.9 26.3 12.0 34.5 46.7 3.0 6 20/10 83 15.5 23.6 5.2 13.4 9.9 3.1 on the basis of data given in table 1, some conclusions can be made. the fact that complexity of stp grows with the number of nodes is obvious from the first three rows. although the speed of the growth cannot be determined exactly on the basis of so small sample, it is obviously nonlinear – probably exponential. the more interesting conclusion is that the growth of complexity is faster by changing the number of terminal nodes than the total number of nodes in graph. comparing rows 1, 4 and 6, a kind of “explosion” of complexity can be seen: when the number of terminals was increased two times, execution time was increased 67 times. similar conclusion can be made observing rows 2 and 5: addition of three terminals resulted in execution time increase of more than 11 times. the most important analysis here concerns the number of constraints needed to get an optimal solution. according the column 2, that growth is almost linear in problem size. we cannot be certain if it is linear, but it is definitely not exponential. finally, we can conclude that, although the number of constraints in model (1) grows exponentially, the number of constraints necessary to obtain an optimal solution grows much slowlier. the number of iterations grows even less. the parameter in column 8 is also interesting. the average number of constraints added in each iteration also represents the average number of subtrees obtained in each sub solution. it seems that the relatively small values in column 8 doesn’t depend much on the number of terminal nodes. the explanation could be that the current solution of the solving procedure relatively quickly forms a structure which consists of a few subtrees each containing several terminals. this may contradict to the previous statement that complexity depends more on the number of terminals than on the total number of nodes, because, what influences the number of iterations is the number of unconnected subtrees, and not the number of terminals. one possible explanation is that the structure of subtrees changes, so subtrees contain different terminals in different iterations. it is also important to have in mind that every iteration lasts more than the previous one because every mathematical model has more rows (constraints) than the previous one. yet another interesting thing from table 1 is relatively big dispersion (represented by standard deviation) of data obtained by different randomly generated instances with same characteristics. this is a consequence of a nature of the algorithm (which is nondeterministic polynomial). it is impossible to predict the number of iterations necessary to obtain final solution. in the worst case it can be exponential. 5 conclusion the first impressions and experiment conclusions indicate that the proposed algorithm can be efficiently used when there is a need for rapid development of an algorithm for solving smaller size steiner tree problems. although the worst case number of constraints needed to obtain a final solution remains exponential, the algorithm have shown a kind of “good behavior” – in all solved examples the number stayed relatively low. although the exponential complexity of the branch and bound method (step 2 of the algorithm) remains, instances with acceptable dimensions can be solved in real time. 46 milan stanojević, mirko vujošević the idea of successive adding violated constraints could be also applied to some other problems whose mathematical models have an exponential number of constraints. concerning that, some new researches have been planed, where the idea would be applied to the traveling salesman problem (tsp). namely, the so called dfj formulation of tsp [3] also has exponential number of constraints, but it has shown a good behavior in relaxation based algorithms. references [1] m. berkelaar, k. eikland, p. notebaert, lp_solve, files and discussion group, ftp://ftp.es.ele.tue.nl/pub/lp_solve, http://groups.yahoo.com/group/lp_solve/, 1994-2006. [2] s. chopra, e. gorres, m. r. rao, “solving a steiner tree problem on a graph using branch and cut”, orsa journal on computing, vol. 4, pp. 320-335, 1992. [3] g. b. dantzig, d. r. fulkerson, s. m. johnson, “solution of a large-scale traveling-salesman problem”, operations research, vol. 2, pp. 393-410, 1954. [4] f. k. hwang, d. s. richards, “steiner tree problems”, networks, vol. 22, pp. 55-89, 1992. [5] f. k. hwang, d. s. richards, p. winter, the steiner tree problem, north-holland, amsterdam, 1992. [6] r. m. karp, “reducibility among combinatorial problems”, r. e. miller, j. w. thatcher (ed.), complexity of computer computations, pp. 85-103, plenum press, new york, 1972. [7] t. koch, a. martin, “solving steiner tree problems in graphs to optimality”, networks, vol. 32, pp. 207-232, 1998. [8] a. lucena, j.e. beasley, “a branch and cut algorithm for the steiner problem in graphs”, networks, vol. 31, pp. 39-59, 1998. [9] n. maculan, “the steiner tree problem in graphs”, surveys in combinatorial optimization, s. martello, g. laporte, m. minoux, c. c. ribeiro (ed.), annals of discrete mathematics, vol. 31, pp. 185-212, 1987. [10] m. stanojević, m. vujošević, “a new algorithm for solving steiner tree problem on graph” (in serbian), 12th telecommunications forum telfor 2004, belgrade, http://www.telfor.org.yu/telfor2004/e-index.html (http://www.telfor.org.yu/telfor2004/radovi/tm-2-4.pdf), 2004. [11] p. winter, “steiner problem in networks: a survey”, networks, vol. 17, pp. 129-167, 1987. [12] gnu lesser general public license, http://www.gnu.org/copyleft/lesser.html [13] lp_solve reference guide, http://www.geocities.com/lpsolve/ [14] steinlib testsets – the library of standard steiner problems, http://elib.zib.de/steinlib/testset.php [15] stp – description of the stp data format, http://elib.zib.de/steinlib/format.php milan stanojević, mirko vujošević university of belgrade faculty of organizational sciences address: jove ilića 154, belgrade, serbia and montenegro e-mail: {milans,mirkov}@fon.bg.ac.yu int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 363-373 fuzzy logic in genetic regulatory network models c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda carlos muñoz poblete, francisco vargas parra, jaime bustos gomez millaray curilem saldias, sonia salvo garrido, horacio miranda vargas university of la frontera avenue francisco salazar 01145, temuco, chile e-mail: comunoz@ufro.cl abstract: interactions between genes and the proteins they synthesize shape genetic regulatory networks (grn). several models have been proposed to describe these interactions, been the most commonly used those based on ordinary differential equations (odes). some approximations using piecewise linear differential equations (pldes), have been proposed to simplify the model non linearities. however they not allways give good results. in this context, it has been developed a model capable of representing small grn, combining characteristics from the ode’s models and fuzzy inference systems (fis). the fis is trained through an artificial neural network, which forms an adaptive nertwork-based fuzzy inference system (anfis). this network allows to adapt the membership and output functions from the fis according to the training data, thus, reducing the previous knowledge needed to model the specific phenomenon. in addition, fuzzy logic allows to express their rules through linguistic labels, which also allows to incorporate expert knowledge in a friendly way. the proposed model has been used to describe the lac operon in e. coli and it has been compared with the models already mentioned. the outcome errors due to the training process of the anfis network are comparable with those of the models based on odes. additionally, the fuzzy logic approach provides modeling flexibility and knowledge acquisition advantages. keywords: genetic regulatory network, fuzzy logic, anfis, differential equations, lac operon 1 introduction factors in charge of regulating the expression of a gene can be both environmental (such as produced by other factors genes) or those produced by other genes or even the same gene under regulation. the latter is the basis for understanding the so-called genetic regulatory networks (grn), since they are real networks of interaction between genes in a cell. being able to accurately predict these interactions using mathematical and / or computational models would benefit a wide variety of applications such as medicine or agriculture. there have been many approaches to model these networks, such as bayesian networks, boolean networks, models based on ordinary differential equations, piecewise linear models, stochastic models and others [13], [14], [13], [17]. from them, we can to highlight the models based on ordinary differential equations (odes) since they describe biological phenomena in large detail, being used primarily for modeling small regulatory networks. a disadvantage of these models is the large number of parameters (to be known a priori) acceptable for a biological description, requiring an exhaustive study copyright c© 2006-2009 by ccc publications 364 c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda of the available literature to specify the parameters and/or designing experiments to estimate each of the parameters as required. it is now possible, using the necessary experimental data, to use optimization tools or artificial intelligence to solve this problem [2], [25]. an approach to the ode-based models is based on a piecewise linear differential equations (pldes) [3], [5], [7]. on the other hand, artificial intelligence techniques, including fuzzy logic, have been incorporated primarily to the classification and analysis of data obtained through microarrays [8], [11], [21], [15], [23]. moreover, the techniques of fuzzy logic have also been considered for describing biological systems of which some a priori knowledge exists [12], [18], [19]. in this context, it is necessary to propose models that attempt to get good predictions, reducing the need for prior knowledge. we must also consider that these models should have the ability to easily incorporate the knowledge of experts in the field of genomics, as well as experimental information thus complementing previous work with the new developments. similarly, the steady states of the model should be analyzed in order to ensure a biologically acceptable description. in this work we propose the development of a model that integrates the fuzzy inference with differential equations. we have chosen the differential equations because they constitute a model that describes with sufficient fidelity the regulatory processes; we also incorporate fuzzy logic because they have the ability to work with nonlinear systems. the proposed model can reduce the need for prior knowledge of the phenomenon due to the training of the network anfis, transforming it into a grey box model [1], combining differential equations, and network training. in addition, the proposed model makes it possible to express their fuzzy rules across linguistic labels, which gives the ability to incorporate expert knowledge in a friendly language. 1.1 biological background a gene is active when it is able to synthesize one or more (depending on the body) types of proteins, which can play a regulatory role in the expression of the same or other genes, and also can catalyze chemical reactions within a cell. therefore the function of a cell in an organism depends on the genes that are active, or in other words, it depends on the expression of its genes. the process of synthesis of a protein consists of 2 phases, the first of them is known as transcription. at this stage the segment of dna that contains the information of the gene is transcribed into a string of messenger rna (mrna) through the enzyme called rna polymerase. the action of this enzyme is regulated by a series of molecules called transcription factors (tf), which use certain areas of dna, called zones cis-regulatory that are specific to this end. then, when we have the chain of mrna with the information on the protein synthesis it comes a second stage called translation. here an internal organelle called a ribosome reads the information chain mrna and, together with the transfer rna (trnas), it links the amino acids needed to form the protein that indicates the information of the gene. this protein may regulate the expression of the same or other genes, and can also participate in metabolic processes of the cell. 2 materials and methods this section defines the model based on a fuzzy inference system (fis), presenting also the characteristics of the first models based on odes and its piecewise linear approximations in order to compare all these models in a real system. 2.1 odes based models these models are based on a series of ordinary differential equations that relate mrna molecules with proteins that they synthesize, the action of other molecules present in the regulation can also be fuzzy logic in genetic regulatory network models 365 incorporated. usually this kind of differential equations presents the form: dxi dt = ∑ j αi j fi j(x j) − γixi (1) where xi represents a molecule produced in the process, ai j is the production rate of the molecule i due to the molecule j, γi is the degradation rate of the molecule i, and fi j is a function that determines the interaction of the molecule x j with the molecule xi, which is called regulation function. this is a nonlinear function, which provides for realism from a biological point of view. it is generally defined as a function of sigmoidal type, commonly the hill function [3], [5]: fi j = h + i j (x j, θi j, mi j) = x mi j j θ mi ji j + x mi j j (2) this equation shows that for values x j well over the threshold, θi j, the function tends to a value of 1, whereas when x j tends to values below the threshold, θi j, the function is close to the value 0, as seen in figure 1.a. the speed with which the function passes from the value 0 to 1 (while x j varies) depends on the slope at the point threshold. this slope changes depending on the value of mi j. 2.2 plde-step models due to the nonlinear nature of the odes-based models, piecewise linear approximations have emerged that attempt to simplify the odes-based model to a set of linear models. such models are based on a piecewise linear differential equations (pldes). the number of potential resulting linear models depends on the amount of regulation functions to approximate and the amount of linear segments on each approximation. a widely used approach approximates the regulation function, fi j, to only 2 cases: fi j = si j(x j, θi j) = { , if x j > θi j , if x j ≤ θi j (3) the regulation function is then approximated to a step function [1], so this model has been named piecewise linear differential equations-step (plde-step) [20]. in this case, the value of the threshold, θi j, is the only parameter to estimate for each regulation function. the curve is shown in figure 1.b. 2.3 plde-logoid models in addition to the step function, there are other features to approximate a nonlinear model to a piecewise linear. thus, we find in the literature approaches that use the ramp function as part of the linear segments of the model [5]. this approximation of the regulation function is also known as a logoid function [3] calling such models as based on piecewise linear differential equations-logoid(plde-logoid) [20]. in this case, the curve takes the form shown in figure 1.c, and the regulation function is defined as: fi j = li j(x j, θi j, δi j) =    , if x j > θi j + δi j   δi j (x j − θi j) +  , if θi j − δi j  < x j ≤ θi j + δi j , if x j ≤ θi j − δi j (4) where the new parameter, δi j, corresponds to the piece at which the function moves from 0 to the value set to 1, corresponding to the inverse of the ramp function in that segment. as shown in (4), there are 3 possible cases for every regulation function, which increase the number of potential linear differential equations to solve compared to the model plde-step. however this also increases the accuracy of the approximation. 366 c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda figure 1: different regulation function: a) the hill function, b) step function and c) logoid function. 2.4 proposed model in this case each regulation function is approximated by a fuzzy inference system (fis), of the takagi-sugeno type. this fis is capable of representing the nonlinear behavior of the regulation function making it possible to define linguistic labels to determine the concentrations of molecules. moreover, one can assume the production rates as unknown and include their action within the fis, which diminishes the prior knowledge required for modeling. thus, the differential equations take the form: dxi dt = ∑ j fisi j(x j) − γixi (5) by comparing (5) to (1) we observe that it has been replaced αi j fi j by the fuzzy inference system f isi j, i.e. not only approaching the regulation function but also including the production rates. for the design of the fis it should mainly be considered the characteristics of the membership functions, the number of them, the fuzzy rules, and the output functions. the latter implies that when designing the fuzzy inference system a good knowledge of the phenomenon is required, including aspects such as the ranges of concentrations, the fuzzy rules, and so on. that is why we use a training network called anfis [16] to get a fuzzy system that approximates the odes-based model. this network is trained with experimental data and is capable of adapting, using a hybrid learning algorithm, the characteristics of membership functions and output functions so to reduce the error between the experimental data and data generated by the fis. figure 2, shows a fuzzy inference system with 2 inputs x and y, 2 membership functions for each input (a, a, b and b), 2 fuzzy rules which consequences are f  and f , and 1 output f . among the most important factors to be considered for the training of the network are the type and number of membership functions, the maximum amount of training epochs and the error goal. we must also consider that the data for training must provide sufficient information to model the dynamics of the system. the training network allows complementing the phenomenological model with the information obtained from the experimental data. consequently, the model is considered a hybrid model or grey box model. in this work the proposed model is called ode-fis model due to its characteristics. 2.5 implementation in a real system all models are compared representing the lac operon in e. coli. the lac operon is a very well studied process in the bacterium escherichia coli [10], [22], [24], and although broadly it appears simple, in reality it can be modeled so detailed that you can include more than 100 biochemical reactions. in this paper we use the model of the lac operon shown in [24]. fuzzy logic in genetic regulatory network models 367 figure 2: structure of a anfis network: a) takagi-sugeno type fuzzy inference system, b) anfis representation of the system. the description of the process is as follows. the main source of carbon for the bacteria e. coli is glucose. when glucose is not present in the environment cell, the bacterium is able to form glucose through lactose. for this, there is a regulatory mechanism that allows to synthesize the enzymes necessary to obtain glucose. this mechanism is called lac operon. this model describes the synthesis of glucose from lactose by the bacterium e coli. this is due to the fact that in the absence of glucose, but in the presence of lactose, the bacteria activates the synthesis of β -galactosidase and permeases. the β -galactosidase breaks down the lactose into alolactosa, glucose and galactose, being the alolactosa the inducer in the operon regulation. moreover permeases allow the passage of external lactose towards the cell. an outline of the system as used in [7], is shown in figure 3. the model presented in [24]is based on 5 nonlinear differential equations, where we can find 6 hill functions. these equations describe the production of mrna, β -galactosidase, alolactosa, lactose and permeases, also allowing to manipulate the external lactose and feed phosphate. figure 3: simplified outline of the lac operon in e. coli as the model used is based on hill functions, for comparison purposes it should be approximated by the models plde and ode-fis. in the case of plde-step model we use the same threshold values presented by the odes-based model, and therefore it does not require a new design parameter. in the case of plde-logoid model the thresholds do not vary, however we must design the value δi j, shown in (4). for doing this, the coefficient k must be calculated, such that δi j j = ki j, which in turn delivers the lowest value of steady state error with respect to the ode models. in the case of the ode-fis model we train 6 regulation functions with data obtained from the model shown in [24], and which entries correspond to 368 c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda states of the system. to cover a wide range of training conditions we reduce the external lactose concentration of 0.08 mm to 0 mm, through 4 negative steps, which in turn allows obtaining more information on the dynamics of the system. the structure of the model corresponds to 3 membership functions per entry, each one of the gauss type, labeled low, medium and high referring to the concentration level of each entry. the training epochs are 80 and the error goal is 0. for comparison purposes we reproduce the 2 experiments shown in [24] using the 4 models described previously. in each case, both the expression of β -galactosidase and permeases are plotted. the first of these experiments consists on monitoring the changing states of the system in time for a given set of initial conditions, and where the external lactose level and the feeding phosphate rate are kept constant. in the second experiment we maintain a constant level of external lactose changing periodically the phosphate feeding. for the comparison of β -galactosidase we also count with the experimental data [9] and [14] for the experiment 1 and data from [6]to experiment 2, which were provided by the authors of [24]. to compare, on a quantitative basis the approximations of models pldes and ode-fis, we have replicated experiment 1 and formulated a table with the steady state error (sse) and the integrated square error (ise) with respect to the odes-based model, considering a simulation time of 500. it was also implemented an experiment to assess whether the training of the network anfis was able to capture the main equilibrium points of the system. thus, we performed a sweep sampling of the values of the external lactose and the initial conditions to see if the model ode-fis has the same equilibrium points as the odes model. all the experimental work is developed in the matlab software, using primarily the simulink, fuzzy logic and optimization toolboxes. 3 results in the work of yildirim and mackey [24] the expression of β -galactosidase for two types of experiments is presented, being reproduced for all models. the standard profile of β -galactosidase, is shown in figure 4 for the odes-based model, the plde-step model, the plde-logoid model, the ode-fis model, and the experimental data of the work of [9] and [14]. it is noted that all models evolve to the same steady state except plde-step, which clearly does not represent adequately the profile of β galactosidase. in addition to the β -galactosidase we present the dynamics of the permeases, standardized and shown in figure 5. once again the poor performance of the plde-step model is repeated. we also stress the monitoring overshoot achieved by the ode-fis model. figure 6 shows the normalized profile of β -galactosidase for all models, in addition to the experimental work of [6]. this figure shows the similarity between the experimental data, and the ode and ode-fis models, but not pldes models (having a lower yield), particularly the plde-step model. for the experiment 2, the permeases level is followed properly for the ode-fis model, as shown in figure 7. in addition, the models pldes again show a poor performance. in order to determine which of the approaches better represents the model based on odes we obtain error rates by simulating the experiment 1. table 1 shows the steady state error (sse) and the integrated square error (ise) for a time simulation of 500. fuzzy logic in genetic regulatory network models 369 figure 4: comparison of the dynamics of β -galactosidase for different models depending on the conditions of the experiment 1. figure 5: comparison of the dynamics of permeases for different models depending on the conditions of the experiment 1. 370 c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda figure 6: comparison of the dynamics of β -galactosidase for different models depending on the conditions of the experiment 2. figure 7: comparison of the dynamics of permeases for different models depending on the conditions of the experiment 2. sse ise β -gal permease β -gal permease plde step 7.300 e-4 1.503 e-2 2.272 e-4 1.100 e-1 plde logoid 2.739 e-8 3.349 e-7 1.030 e-6 9.080 e-4 ode fis 5.257 e-7 1.080 e-5 3.314 e-9 6.677 e-6 table 1: steady state error with respect to odes model fuzzy logic in genetic regulatory network models 371 to demonstrate the use of rules and linguistic labels we mention the case of a term describing the behavior of the alolactosa, which depends on 2 inputs; internal lactose (l) and β -galactosidase (b). given that we define 3 fuzzy sets ( low, medium, high), there are 8 possible rules () that connect the 2 inputs. as an example we mention 3 rules that were obtained from the training process: r1-if l is high and b is low then the influence of the term is null r2-if l is medium and b is low then the influence of the term is null r3-if l is low and then b is low then the influence of the term is null the label null is associated to the output function of the takagi-sugeno system, and corresponds to a value of 0. when analyzing these rules we observe that if the concentration of β -galactosidase is low, the associated term does not influence the production of alolactosa, which is consistent with reality. due to the fact that these 3 rules depend mainly on the value of b, they can be edited and replaced by a single one having the form: rthen the influence of the term is null in addition to editing rules, you can edit the features of the membership functions. the toolbox of matlab allows you to graphically edit the membership functions, without the need of a detailed mathematical knowledge of these functions. in addition, using simulink you can see the level of activation of each rule and the degree of membership of the states in the fuzzy sets in the inference systems, all this while the simulation takes place. figure 8: equilibrium points of odes model and its comparison with the equilibrium points found for ode-fis model. with regards to the stability of the ode-fis model, figure 8 shows the equilibrium points for alolactosa as external lactose level, as shown in [24]. additionally the figure also shows the steady states of the ode-fis model. most of the equilibrium points of odes model are also equilibrium points of the ode-fis model. it must be noticed that for each value of the external lactose in the ode-fis model we do not see more than 1 equilibrium point. on the contrary, in the odes model we find up to 3 points. 372 c. muñoz, f. vargas, j. bustos, m. curilem, s. salvo, h. miranda 4 summary and conclusions the flexibility that delivers the fuzzy logic and the capacity of training provided by anfis allowed to represent the non-linear system behaviour with enough similarity to the obtained with ode, showing a better performance than the plde models, even without describing the dynamic transient problems of interacting molecules. it should be mentioned that the plde models can be enhanced with optimization techniques and/or artificial intelligence tool to better design parameters θi j and δi j as needed. however this requires additional algorithms, not necessarily trivial. the anfis network allowed to obtain (from the training data) all the information needed to describe not only the transient state of the performed experiments, but also was able to achieve a large quantity of stable points of odes. this shows the great training capacity of the network, and the flexibility of the fuzzy inference system. the fuzzy logic has proved to be an important tool due to its ability to represent non-linear systems, its friendly language to express knowledge and the ability to incorporate and edit fuzzy rules. in addition, complementing the fuzzy logic with an artificial neural network for training (anfis) turns to be a powerful tool for obtaining knowledge from experimental data, suggesting the development of new techniques based both on fuzzy logic as in the networks of training and differential equations. the natural step now is to work with larger regulatory networks, adressing the criteria for modeling them in such a way to obtain an acceptable representation of biological phenomena without compromising the viability of its computational implementation, while striving to maintain a simple and understandable language that allows systems analysis from a qualitative perspective. bibliography [1] g. acuña, e. cubillos, development of a matlab toolbox for the design of grey-box neural models, international journal of computers, communications and control, vol. 1, pp. 7-14, 2006. [2] d. akçay, inference of switching networks by using a piecewise linear formulation, institute of applied mathematics, metu, msc thesis, 2005 [3] f. a. cubillos, g. acuña and e. l. lima, real-time process optimization based on grey-box neural models, brazilian journal of chemical engineering, vol. 24, pp. 433-443, 2007. [4] h. de jong, modeling and simulation of genetic regulatory systems: a literature review, journal of computacional biology, vol. 9, pp. 67-1003, 2002. [5] n. friedman, m. linial, i. nachman, and d. pe’er, using bayesian networks to analyze expression data, journal of computational biology, vol. 7, pp. 601-620, 2000. [6] j. gebert, n. radde, and g. weber, modeling gene regulatory networks with piecewise linear differential equations, european journal of operational research, in press, 2006. [7] b. c. goodwin, oscillatory behaviour in enzymatic control process, adv. enz. regul. vol. 3, pp. 425-438, 1969. [8] a. halász, v. kumar, m. imielinski, c. belta, o. sokolsky, s. pathak, and h. rubin, analysis of lactose metabolism in e.coli using reachability analysis of hybrid systems, iet systems biology, vol. 1, pp. 130-148, 2007. [9] s. kim, j. kim, and c. kwang-hyun, inferring gene regulatory networks from temporal expression profiles under time-delay and noise, computational biology and chemistry, vol. 31, pp. 239-245, 2007. fuzzy logic in genetic regulatory network models 373 [10] w. a. knorre, oscillation of the rate of synthesis of β -galactosidase in escherichia coli ml 30 and ml 308, biochem. biophys. res. commun, vol. 31, pp. 812-817, 1968. [11] a. kremling, k. bettenbrock, b. laube, k. jahreis, w. lengeler, and e. gilles, the organization of metabolic reaction networks iii. application for diauxic growth on glucose and lactose, metabolic engineering, vol 3, pp. 362-379, 2001. [12] r. linden, and a. bhaya, evolving fuzzy rules to model gene expression, biosystems, vol. 88, pp. 76-91, 2007. [13] b. lee, j. yen, l. yang, and j. liao, incorporating qualitative knowledge in enzyme kinetic models using fuzzy logic, biotechnology and bioengineering, vol. 62, pp. 722-729, 1999. [14] h. mcadams, and l. shapiro, circuit simulation of genetic networks, science, vol. 269, pp. 650-656, 1995. [15] s. pestka, b. l. daugherty, v. jung, k. hotta, and r. k. pestka, anti-mrna: specific inihbition of translation of single mrna molecules, proc. natl. acad. sci. usa, vol. 81, pp. 7525-7528, 1984. [16] h. ressom, p. natarajan, r. s. varghese, and m. t. musavi, applications of fuzzy logic in genomics, fuzzy sets and systems, vol. 152, pp. 125-138, 2005. [17] j. shing, and r. jang, anfis: adaptive-network-based fuzzy inference system, trans. on systems, man and cybernetics, vol. 23, pp. 665-685, 1993. [18] p. smolen, d. baxter, and j. byrne, modeling transcriptional control in gene networks methods, recents results, and future directions, bulletin of mathematical biology, vol. 62, pp. 247-292, 2000. [19] b. a. sokhansanj, and j. p. fitch, urc fuzzy modeling and simulation of gene regulation, 23rd annual internacional conference of the ieee engineering in medicine and biology, instanbul, turkey, 2001. [20] a. tepeli, and a. hortaçsu, a fuzzy logic approach for regulation in flux balance analysis, biochemical engineering journal, in press, 2007. [21] f. vargas, c. muñoz, and j. bustos, fuzzy logic in gene regulatory networks models, 1st internacional cgna workshop, utilizacion of novel and sustainable plant products in aqua-feeds, temuco, chile, 2008. [22] s. vinterbo, e. y. kim, and l. ohno-machado, small, fuzzy and interpretable gene expression based classifiers, bioinformatics, vol. 21, pp. 1964-1970, 2005. [23] p. wong, s. gladney, and j. keasling, mathematical model of the lac operon: inducer exclusion, catabolite repression, and diauxic growth on glucose and lactose, biotechnol. prog, vol. 13, pp. 132-143, 1997. [24] p. woolf, and y. wang, a fuzzy logic approach to analyzing gene expression data, physiol genomics, vol. 3, pp. 9-15, 2000. [25] n. yildirim, and m. mackey, feedback regulation in the lactose operon: a matematical modeling study and comparison with experimental data, biophysical journal, vol. 84, pp. 2841-2851, 2003. [26] x. zhu, and j. xu, estimation of time varying parameters in nonlinear systems by using dynamic optimization, industrial electronics society. iecon 2005. 31st annual conference of ieee, 2005. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 968-975 robust 2-dof pid control for congestion control of tcp/ip networks r. vilanova, v. m. alfaro ramón vilanova department de telecomunicació i enginyeria de sistemes universitat autònoma de barcelona 08193, bellaterra, spain, e-mail: ramon.vilanova@uab.cat víctor m. alfaro escuela de ingeniería eléctrica universidad de costa rica san josé, 11501-2060, costa rica. e-mail: victor.alfaro@ucr.ac.cr abstract: this paper presents how robust pid control can improve the performance of congesion control on tcp/ip networks. the proposed approach is compared with other control methods, such as pi control or red/aqm, showing the advantages of the proposed technique. keywords: congestion control, active queue management, pid control. 1 introduction internet congestion control and congestion avoidance have been active research interests in the area of networking (see, for example [1] [2] [3]) during the last two decades. it has two components: (1) the end-to-end congestion control protocol, such as tcp [4], and (2) an active queue management (aqm) scheme implemented in routers. aqm signals congestion by discarding or marking packets. when congestion is detected by tcp, it will take actions to reduce the source sending rate. normally, aqm objectives are: to stabilize the buffer queue length at a given target, thereby achieving predictable queueing delay, and to minimize the occurrences of queue overflow and underflow, thus reducing packet loss and maximizing link utilization. thus, it is necessary to reduce as much as possible this problem. at present, there are methodologies to deal with this issue [5]: congestion control which is used after the network is overloaded and congestion avoidance which takes action before the problem appears. this paper deals with congestion control because it is where feedback control techniques can be openly and easily applied. recently several mathematical models of active queue management (aqm) schemes supporting transmission control protocol (tcp) flows in communication networks have been proposed [2] [3]. from these models a control theory-based approach can be used to analyze or to design aqm schemes. the more well known aqm scheme is probably red [1]. red can detect and respond to long-term traffic patterns, but it cannot detect congestion caused by short-term traffic load changes. in addition, it is well known that an appropriate tuning of red parameters is not an easy task an may result in a non stabilizing controls scheme. this fact has motivated the research for alternative control approaches. this paper presents the application of a robust pid approach as an aqm controller. the controller can be easily tuned from the network parameters and it is compared with red and the pi controller proposed in [3]. the performance under different load conditions shows the robustness and superiority of the presented approach. in addition the simple formulation of the pid controller also constitutes a motivation for implementation. copyright c⃝ 2006-2010 by ccc publications robust 2-dof pid control for congestion control of tcp/ip networks 969 the rest of the paper is organized as follows. next section presents the nonlinear model for a tcp router as well as the tcp control problem formulation. section 3 reviews the red and pi controller approaches for aqm control whereas section 4 presents the robust 2-dof pid approach. in section 5 a discussion and comparison is conducted. the paper ends with drawing some conclusions on the reported results. 2 aqm router dynamic model and control problem statement in this section the dynamic nonlinear/linearized equations of tcp behavior developed in [3] are briefly reviewed as well as the purposes of aqm control stated. 2.1 dynamic tcp model as in the literature, a network configuration consisting of a single congested router with a transmission capacity c is considered in this paper. tcp timeout mechanisms have been ignored for simplification. using fluid-flow and stochastic differential equation analysis, the following coupled, nonlinear differential equations have been proposed as the dynamic model of the tcp behavior: ˙w(t) = 1 r(t) − w(t) 2 w(t − r(t − r(t))) r(t − r(t)) p(t − r(t)) (2.1) ˙q(t) = { −c + n(t) r(t) w(t) q(t) > 0 max 0, −c + n(t) r(t) w(t) q(t) = 0 where w . = average tcp window size (packets) q . = average queue length (packets) r(t) . = round-trip time= q(t) c + tp (secs) c . = link capacity tp . = propagation delay (secs) n . = number of active tcp sessions p . = probability of packet mark the queue length q, and window-size w, are positive bounded quantities; i.e., q ∈ [0, q̄] and w ∈ [0, w̄] where q and w denote buffer capacity and maximum window size respectively. in this formulation, the congestion window size w(t) is increased by one every round-trip time if no congestion is detected, and is halved upon a congestion detection. moreover it has been assumed that the aqm scheme implemented at the router marks packets using explicit congestion notification (ecn) to inform the tcp sources of impending congestion. to linearize (2.1), it is assumed that the number of active tcp sessions and the link capacity are time-invariant, i.e., n(t) ≡ n and c(t) ≡ c. in addition the dependence of the time delay argument t − r on queue length q, is ignored and it is assumed to be fixed to t − ro. then, local linearization of (2.1) about the operating point results in the following equation: 970 r. vilanova, v. m. alfaro figure 1: aqm block diagram of the linearized model along with high frequency uncertain dynamics ˙δw(t) = − n r2oc (δw(t) + δw(t − ro)) (2.2) − 1 r2oc (δq(t) − δq(t − ro)) − r2oc 2n2 δq(t − ro) ˙δq(t) = n ro δw(t) − 1 ro δq(t) where δw(t) = w(t) − wo and δq(t) = q(t) − qo are the incremental variables with respect to an operating point. the operating point for a desired equilibrium queue length qo is given by: ro = qo c + tp wo = roc n po = 2 w2o (2.3) this leads to a low order nominal model of the network dynamics that is accurate at a particular operating point (ro, qo, co, wo, po) given by: p(s) = po(s)e −ros = c2/(2n) (s + 2n r2oc )(s + 1 ro ) (2.4) by modelling the high frequency dynamics using a block ∆(s) such that ∆(s) = 2n2 r3oc 3 s(1 − e−ros) (2.5) this term represents the high frequency, necessarily parasitic, network uncertainty in the model. computational experience has shown that this can adequately capture certain deviations from nominal network performance. these considerations lead to the generation of a simplified feedback control system as shown in fig. (1) 2.2 aqm control problem the function of an aqm control law is to mark packets (with probability p) as a function of measured queue length q. marking of packets is consecutively used by the sender to throttle the amount of data sent; if no marked packets are received the window size is increased. upon reception of a marked packet the window size is halved. the principal performance objectives for an aqm control law are: 1. efficient queue utilization, to avoid overflow or emptiness of the queue buffer. robust 2-dof pid control for congestion control of tcp/ip networks 971 2. regulated queueing delay, to minimize (optimize) the time required for a data packet to be serviced by the routing queue. the queueing delay is equal to q/c. 3. robustness, to maintain closed-loop performance in spite of plant uncertainties, n, ro and c. 3 red and pi approaches to aqm this section reviews two of the more well established approaches for aqm control, say red and the pi approach presented in [3]. 3.1 red approach to aqm random early detection (known as red) was presented by [1]. a red gateway calculates the average queue size, using a low-pass filter with an exponential weighted moving average. the average queue size is compared to two thresholds (minimum and maximum). when the average queue size is less than the minimum threshold, no packets are marked. when the average queue size is greater than the maximum threshold, every arriving packet is marked. if marked packets are in fact dropped, or if all source nodes are cooperative, this ensures that the average queue size does not significantly exceed the maximum threshold. when the average queue size is between the minimum and the maximum threshold, each arriving packet is marked with probability p, where p is a function of the measured queue length q. hollot et al. in [3] proposed the following transfer function model for the red controller: cred(s) = klred s + k = kred s/kred + 1 (3.1) where lred = pmax (maxth − minth) kred = r3oc 2 (2n)2 kred = −c ln(1 − αred) (3.2) and where αred is reds queue-averaging weight. the corresponding controller block diagram is shown in figure (2). figure 2: block diagram of red as a cascade of low-pass filter and nonlinear gain element. 3.2 pi approach to aqm according to [3] the transfer function of a pi controller can be written as: cpi = kpi s/z + 1 s (3.3) this controller is very well known by the control community. its parameters can be tuned following methods proposed in the control literature. for example, [3] gave guidelines based on the bode diagram tuning technique: 972 r. vilanova, v. m. alfaro figure 3: 2-dof control system z = 2n r2on kpi = ωgz ∣∣∣∣jωg + 1/roc2/(2n) ∣∣∣∣ ωg = βro (3.4) where β determines the phase margin of the resulting nominal control system. the pi proposed in [3] is designed for a phase margin of about 30o. 4 robust pid control this section briefly presents the approach for analytical robust tuning (art) of 2-dof pid controllers recently presented in [6]. consider the two-degree-of-freedom (2-dof) control system of fig. 3, where p(s) is the controlled process transfer function, cr(s) the set-point controller transfer function, cy(s) the feedback controller transfer function, and r(s) the setpoint, d(s) the load-disturbance, and y(s) the controlled variable. the output of the 2-dof controller is given by u(s) = cr(s)r(s) − cy(s)y(s) (4.1) for a pid2 [7] it is u(s) = kc ( β + 1 tis ) r(s) − kc ( 1 + 1 tis + tds ) y(s) (4.2) where kc is the controller gain, ti the integral time constant, td the derivative time constant, and β the set-point weighting factor (0 ≤ β ≤ 1). we will start right now with a second-order-plus-dead-time (sopdt) model of the form p(s) = kpe −l ′′ s (t ′′ s + 1)(at ′′ s + 1) , τo = l′′ t ′′ (4.3) the pid controller parameters are determined by the following equations for processes with parameters in the range 0.1 ≤ τo ≤ 1.0 and 0.15 ≤ a ≤ 1.0. κc = 10τi 21τc + 10τo − 10τi (4.4) τi = (21τc + 10τo)[(1 + a)τo + a] − τ 2 c(τc + 12τo) 10(1 + a)τo + 10a + 10τ2o (4.5) τd = 12τ2c + 10τiτo − (1 + a)(21τc + 10τo − 10τi) 10τi (4.6) robust 2-dof pid control for congestion control of tcp/ip networks 973 β = min { 1 kc , τct ′′ ti , 1 } (4.7) the controller normalized parameters κc, τi and τd, and β depend on the model normalized dead-time τo and time constants ratio a, and on the design parameter τc. a minimum system robustness level is incorporated into the design process estimating a recommended maximum speed (τcmin) of the resulting closed-loop control system parameterized in terms of the maximum sensitivity function (ms) by using τcmin = k11(ms) + k12(ms)a k13(ms) (4.8) k11(ms) = 2.442 − 2.219ms + 0.515ms 2 k12(ms) = 10.518 − 8.990ms + 2.203ms 2 k13(ms) = 0.949 − 0.197ms combining the performance and robustness consideration above the design parameter may be selected in the range τcmin ≤ τc ≤ 1.25 + 2.25a. the range limits for the design parameter selection then combine the necessary restriction so that all controller parameters are positive and the accomplishment of a specified maximum sensitivity, with the necessity that the obtained response does not deviate too much away from the desired response, due of the dead-time approximation used in obtaining the tuning equations. for a more detailed presentation and discussion of the method please see [6]. 5 discussion in order to illustrate the effectiveness of the robust 2-dof pid method, a numerical situation will be presented by taking the network simulation parameters of [3] where qo = 175 packets, tp = 0.2 seconds, c = 3750 packets/s (this corresponds to a 15mb/s link with an average packet size of 500 bytes.). for a load of n = 60 tcp sessions we have wo = 15 packets, po = 0.008, and ro = 0.246. therefore p(s) = po(s)e −0.246 = 1.17126 105 (s + 0.53)(s + 4.1) e−0.246 ∆(s) = 2.24 10−6s(1 − e−0.246s) (5.1) the corresponding red controller parameters are (see [3]) k = 0.005 and lred = 1.86 10−4 whereas those of the pi controller kpi = 9.64 10−6 and z = 0.53. on the other hand, for the application of the art method the parameters of the soptd model are needed. these result to be a = 0.1297, l′′ = 0.2467 and t ′′ = 1.9014. and the controller parameters depend upon the desired robustness level expressed in terms of te ms level. a minimum robustness is assured by ms = 2.0 whereas highly robust systems are designed with ms = 1.4. here we take an intermediate level with ms = 1.6. the resulting 2-dof pid controller parameters are: kc = 4.4241 10 −5, ti = 2.1443, td = 0.3436 and β = 0.6172. figure (4) shows the performance of the three presented control strategies applied to the nonlinear system (2.1). as it can be seen the red controller cannot reach the new references. this is an inherent drawback because it lacks the corresponding integrator. on the other hand both the pi and art-pid controllers reach the desired targets. on the right part of figure (4) it can de observed that the art-pid controller reaches the desired set-point faster and without any overshoot. in addition, a test under different load conditions has been performed. in this case the number of tcp sessions 974 r. vilanova, v. m. alfaro 0 50 100 150 200 160 180 200 220 240 260 red (dash−dot) pi (dash) art (solid) time (sec) 0 50 100 150 200 5 6 7 8 9 10 11 x 10 −3 red (dash−dot) pi (dash) art (solid) time (sec) 10 12 14 16 18 20 160 180 200 220 240 260 red (dash−dot) pi (dash) art (solid) time (sec) q u e u e l e n g th 10 12 14 16 18 20 5 6 7 8 9 10 11 x 10 −3 red (dash−dot) pi (dash) art (solid) time (sec) p a c k e t m a rk in g figure 4: changes on desired queue length. comparison of pi, pid and red performance. plots on the right side show a zoomed version to better compare pi and pid is a signal of the form n(t) = n(1 + 0.01 ∗ sin(0.05t)) + v(t) being v(t) a normally gaussian distributed random number of zero mean and variance 0.01 ∗ n. v(t) is assumed to change with a sampling time of 5 sec. it can be seen that the art-pid provides faster response to the load variation and faster recuperation of the desired queue length. table (1) shows the mean value and standard deviation of the queue length error computed with respect to the desired target qo = 175packets. as a proof of performance, as we achieve a lower variation of the queue, a predictable performance will be expected. therefore better qos. table 1: mean and standard deviation of the queue length error controller red pi art mean -0.43 -0.27 -0.1 std 10.9 9.2 5.0 6 conclusions in this paper the suitability of applying robust pid controllers for the purpose of improving internet congestion control has been presented. the main advantage of the art pid tuning is its one-parameter tuning. in addition this parameter is a direct specification of the desired robustness level. therefore suitable for the sittuations with changes in load and system parameters. the performance has been compared to that of red and a pi controller previously proposed in the literature. acknowledgment this work has received financial support from the spanish cicyt program under grant dpi2007-63356. support from the universidad de costa rica is greatly appreciated. robust 2-dof pid control for congestion control of tcp/ip networks 975 0 20 40 60 80 100 120 140 160 180 200 150 160 170 180 190 200 red (dash−dot) pi (dash) art (solid) time (sec) 0 20 40 60 80 100 120 140 160 180 200 5 6 7 8 9 10 11 12 x 10 −3 red (dash−dot) pi (dash) art (solid) time (sec) figure 5: regulation performance on a desired queue length of qo = 175packets facing random variations of the number of tcp sessions bibliography [1] s. floyd and v. jacobson, “random early detection gateways for congestion avoidance.,” ieee/acm transactions on networking, vol. 1, pp. 397–413, 1993. [2] f. kelly, “mathematical modeling of the internet, in mathematics unlimited-2001 and beyond,” b. enquist and w. schmid, eds, berlin, germany, springer-verlag., 2001. [3] c. hollot, v. misra, d. towsley, and w. gong, “analysis and design of controllers for aqm routers supporting tcp flows,” ieee trans. automat. contr., vol. 47, pp. 945–959, 2002. [4] j. postel, “transmission control protocol,” rfc 793, 1981. [5] s. ryu, c. rump, and c. qiao, “advances in active queue management (aqm) based tcp congestion control,” telecommunication systems, vol. 25, pp. 317–351, 2004. [6] v. alfaro, r. vilanova, and o. arrieta, “a single-parameter robust tuning approach for twodegree-of-freedom pid controllers,” the european control conference,budapest, hungary, august 23-26, 2009, 2009. [7] k. åström and t. hägglund, advanced pid control. isa the instrumentation, systems, and automation society, 2006. international journal of computers, communications & control vol. ii (2007), no. 1, pp. 66-73 development of an algorithm for groupware modeling for a collaborative learning ikuo kitagaki, atsushi hikita, makoto takeya, yasuhiro fujihara abstract: this paper reports an algorithm for forming groups of students with regard to a computer system for collaborative learning designed to give a cue for debate utilizing mobile terminals. with this system, questionnaires which should be used as the seeds for debates are prepared in advance on the web and all students attending the class answer to the questionnaires on the web through their mobile terminals. following this, the computer assigns students to appropriate groups based on the results of answers, and transmits each of answers and information of the group member to terminals of the students. based on the information, students form groups and each group starts debate. in this study, system composition is dealt with first and algorithm for forming groups using answers by the students is discussed. keywords: group forming, algorithm, collaborative learning, mobile terminal, debate system, groupware 1 introduction this study relates to university class in japan. in many cases, lectures are given in one-sided manner, and it is pointed out that some schemes are necessary to encourage students to express their opinions or to induce discussions by students themselves[5][8]. considering the recent trend that almost all students carry their own mobile terminals[6][7], this study relates to a learning system that utilizes mobile terminals as an ancillary tools for debate. students are divided into groups making use of the information of answers by the students against questionnaires presented beforehand. on this occasion, information necessary for grouping and results of grouping are transmitted together with contents of each of answers to mobile terminals of the students. students are then requested to form groups based on these information and to initiate debates in each group. in other words, this system is one sort of blended learning in which face-to-face debate is carried out utilizing electronic educational information communication. in this study, algorithm for grouping based on information of answers by the students is dealt with. with collaborative learning as mentioned, two points can be expected as mentioned below. 1. groups are being formed considering education effects. therefore, every student can know why he/she is assigned to the current group. 2. students are instructed to start debate using the information on their answers as the seeds. therefore, they can easily grasp a cue for debates. according to the conventional method of grouping of students, groups are formed simply mechanically in the order of student id numbers or those seating nearby are assigned to the same group. meanwhile, in this study, it is attempted to form groups appropriately based on answers against some sort of assignments including tests. teaching by groups which were formed based on answers of the students was attempted by the prior study[2][3]. at the time of this study, since possession of a mobile terminal by every student was not practical, test results were collected and marked by the teacher, groups were formed based on the results. test papers were returned to the students, groups were formed, and students in each of the groups are requested to discuss primarily incorrect answers. for this reason, it took enormous time from answering to the questionnaires by the students to group discussion. this time, fully making use of information technology available today, we configured a new collaborative learning copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 development of an algorithm for groupware modeling for a collaborative learning 67 system. thanks to assistance by mobile terminals, it is expected that from answering by the students till execution of discussions can be made promptly and smoothly. this system is currently under development. in section 2, outline of system composition will be described, and an algorithm for forming groups will be introduced in section 3 onward. although the algorithm is one portion of the system, it is significant to make that in order to put the system into practical use, which may promote the practical e-learning in universities[1]. 2 system flow total four files are prepared and used in this system, student file, questionnaire file, aggregation file and groupware file. these files are used in this order. 1. student file basic information such as mail address, age, gender or the like of students are summarized in this file. 2. questionnaire file questionnaire or the like concerning discussion theme are summarized in this file. this file can be consisted of any of three types, multiple-choice method that allows only one selection, multiplechoice method that allows a plurality of selections, and free composition. (multiple-choice method alone is subjected to processing of item 4. onward.) 3. aggregation file answers by the students for questionnaires in 2. are aggregated in this file. 4. groupware file the computer forms student groups appropriately based on results of answers by the students in 3. this file also includes information on, in addition to answers by the students, which students form one group. execution procedures for preparing and utilizing above-mentioned files are shown in fig.1. (1) a student accesses the predetermined url, enters basic information such as gender, id number or the like and transmits it. his/her file (excel) is then completed while the teacher may execute input and deletion of the information by operating excel directly. basic information of a certain class is stored here and this file can be utilized at every round-table discussion held by the class. (2) with regard to a discussion planned by a certain teaching, a group of questionnaires which may benefit grouping is prepared and is registered to the system as a questionnaire file. (3) several groups of questionnaires are being registered in the questionnaire file. the teacher picks up specific groups of questionnaires and transmits url for browsing questionnaire items to mail addresses of all students. (4) students answer the questionnaires and transmit them to create an aggregation file. (5) based on the information in the aggregation file, students are assigned appropriately to a certain group. (6) information on grouping is transmitted to mobile terminals of the students. upon completion of above-mentioned procedures, the students are grouped in the class and start discussions using results of answers as the cue. 68 ikuo kitagaki, atsushi hikita, makoto takeya, yasuhiro fujihara (6)mending students groupware information instruction of group discussion (3)sending url for browsing questionnaire items (4)assembling answer data procudure questionnaire maker regst. of personal inform.(ftp) web server command of mail sending assembled data internet mail web browser mail receiving url keying in the answer excel excel student data csv hp for generating questionnaire hp for kicking mails data assembly program csv regst. of qustionnaire item download(ftp) making groups program starting the duscuss student (5)making groups sending personal information (1) reg. student data (2)reg.questio nnaires download(ftp) figure 1: system flow development of an algorithm for groupware modeling for a collaborative learning 69 3 construction of students groups suppose that there are four students a, b, c and d, and three questions a, b and c are given. results of evaluation of answers to these questions are shown by o and x as shown in table 1. one group consists of two students and discussion is made within the group primarily for questions which resulted in incorrect answers. in this case, two types of grouping shown in the table are compared. with grouping p, students a and b and students c and d constitute one group, respectively. however, in both groups, each of group members presented the same correct/incorrect pattern. namely, in group 1, both members gave incorrect answer for question b and a possibility that they can teach each other for problem solving is low. the same also applies to group 2. contrary, with grouping q, students a and c and students b and d constitute one group, respectively, and the said problem does not occur in this case. from above-mentioned cases, it may be said that grouping q is superior to grouping p. when we focus on problem solving of correct answers and incorrect answers of the test, possibility of problem solving is considered to be higher for such a case where there are different patterns of answers rather than a case where there is only one pattern in the same group. table 1: example of results of evaluation of answers and grouping student result of result of result of grouping p grouping q evaluation of evaluation of evaluation of (group id) (group id) question a question b question c a © × © 1 1 b © × © 1 2 c × © × 2 1 d × © × 2 2 suppose that the number of members in each of groups is the same. then excellence of grouping ug in a certain group g (g ∈ g) is defined. question j and question set are expressed by m j and m (m ∈ m), respectively, and student i in one group g and the student sets is expressed by si and sg (si ∈ g), respectively. further, result e of evaluation of answer for question mi and for student sk are expressed by e (mi,sk). • answer is correct → e(mi,sk) = 1 • answer is incorrect → e(mi,sk) = 0 ug = ∑ sk∈g ∑ mi∈m (1−e(mi, sk)) ⋃ s j∈g e(mi, s j) |m ‖ sg| (1) where, |m| denotes the number of elements of sets m. grouping u of entire class is expressed by equation (2) u = ∑ g∈g ug |g| (2) although two ug’s obtained by equation (1) are comparable to each other only for the case that both groups consist of the same number of the students, the proposed idea in this paper will be able to be 70 ikuo kitagaki, atsushi hikita, makoto takeya, yasuhiro fujihara extended to the different number of groups in a classroom by equation (3) where both equations (1) and (2) are combined: ug = ∑ g∈g ∑ sk∈g ∑ mi∈m (1−e(mi, sk)) ⋃ s j∈g e(mi, s j) |m ‖ sg| (3) where n means the number of the students in a classroom. actually there could be that several groups are different in the number of group members because the total number of the classroom cannot be well divided into an integer by appropriate integers. whether the number of the students in a group is equal or not, it is necessary to calculate equation (2) or (3) for all the combination of student group in order to obtained the maximum solution. although it is possible to do that theoretically, it is difficult to obtain the strict solution because of the enormous number of calculations. in reality, if the number of group members is supposed to be 4, the computer can execute computations of a class consisting of 50 peoples at the most. then more simplified method should be used. in other words, with the relevant algorithm, suppose that students of one class are re-expressed as s1, . . , sn , the following replacement is made which results in calculations of n (n-1) times in total, and a group in which u becomes the maximum is judged to be the optimum grouping. s1 and s2, s1 and s3,··· , s1 and sn s2 and s3, s2 and s4,··· , s2 and sn ······ ············sn−1 and sn (4) it is already known that when one class consists of 20 and several members and one group consists of four members, excellence of grouping by the simplified algorithm as used in the current proposal is, compared with a case where the same is obtained for all combinations without simplification, approximately 60 ∼ 100% optimization rate depending upon the answer pattern[4]. 4 discussion in a classroom two kinds of discussion were administrated concerning the proposed method. the first kind is the one for discussing test answers, where the evaluation either of correct or wrong was determined. digital mathematics served as the subject. several test problems were given to the students. all the test problems had multiple choice type of answers thus the students selected an answer among them. because the evaluation was already done, the instructor, after group making, told them to start by telling the evaluated result then discuss the answer which was evaluated wrong. the second kind is the one for discussing opinions, where the evaluation either of correct or wrong cannot be determined. training program for job hunting served as the subject. the example of a question done by an interview and the answer by the interviewee was presented followed by several opinions for the answer then the students selected an opinion which they thought the closest to their impression. the instructor, after group making, told them to start by telling their own choice, discuss a better answer then make the report as group co-working. through several administrations, the method was thought to give the students learning motivation because, every time when the proposed discussions were done, group member changed for clear reason leading to their refreshment. in addition to that, we thought that, if the more detail direction in what point the discussion ought to be done was given to the students, they may think it easier to start. development of an algorithm for groupware modeling for a collaborative learning 71 5 consideration according to the algorithm for forming groups used in the current proposal, grouping is made so that results of evaluation of answers of the test by students may become different as much as possible. for the sake of establishment of more generalized algorithm, overall investigations are necessary which includes what sort of group discussions are actually available, what sort of information are effective for forming groups, what judgment criteria should be used to determine good or bad of grouping based on the said information. although in the present study, results of evaluation of answers are digitized to either 0 or 1, the authors intend to investigate another algorithm capable of coping with more diversified evaluation results. at the same time, utility of this group discussion system and points to be improved will be checked from both software and hardware aspects through practicing. 6 aknowledgements the present study has been promoted under the grant partly from grant-in-aid for scientific research, germination study no.17650260, fundamental study (b) no.18300288, and germination study no.17300275, each sponsored by the ministry of education, culture, sports, science and technology. we are sincerely thankful to all the persons and bodies helping our works. references [1] styliadis d. a., karamitsos d.i. and zachariou i.d: personalized e-learning implementation-the gis case international journal of computers, communications & control, vol. 1,1, pp. 59-66, 2006. [2] kitagaki i., shimizu y. and suetake k., an instructional method which permits the students to critically discuss their own test answers, jour.of educ. technol., vol.5, no.1, pp.23-33, 1980. [3] kitagaki i., shimizu y., consideration on an educational system which permits the students to discuss over their own test answers, res. sci.educ., vol.5, no.1, pp.22-28,1981. [4] kitagaki i, a consideration on an educational groupware algorithm using fuzzy integral, ieice, tech.rep.,vol.et94-101, pp.61-66,1994. [5] nagai m., kitazawa t., koshikawa h., kato h., akahori k, eevelopment and verification of the formative evaluation system with utilizing mobile phone for web-based collaborative learning, japan journal of educational technology , vol.28, no.4, pp.333-342, 2005. [6] nagamori m., ueno m., ando m., pokpong s., endo k., nagaoka k., response analyzer system using mobile phones for distance education, japan journal of educational technology , vol.29, suppl., pp.57-60, 2005. [7] otuska k., yahiro t., the input interface of the value of evaluation in an evaluation system of instruction using mobile phones, japan journal of educational technology, vol.30, no.2, pp.125134, 2006. [8] ozawa s., mochizuki t., egi h., kunifuji s, facilitating reflection in collaborative learning using formative peer evaluation among groups, japan journal of educational technology vol.28, no.4, pp.281-294, 2005. 72 ikuo kitagaki, atsushi hikita, makoto takeya, yasuhiro fujihara ikuo kitagaki hiroshima university, japan graduate school of education the research institute for higher education 1-2-2 kagamiyama, higashi-hiroshima, 739-8512, japan e-mail: kitagaki@hiroshima-u.ac.jp atsushi hikita hiroshima university, japan community cooperation center e-mail: hikita@hiroshima-u.ac.jp makoto takeya takushoku university, japan faculty of engineering department of computer science 815-1 tate-machi, hachioji, tokyo, 193-0985 japan e-mail: takeya@cs.takushoku-u.ac.jp yasuhiro fujihara iwate prefecutural university faculty of software and information science fuji@iwate-pu.ac.jp received: november 7, 2006 editor’s note about the authors: ikuo kitagaki, born in aichi on august 9, 1947, received his be and me degrees in electronics in 1970 and 1972, and his doctor engineer degree in 1981 from tokyo institute of technology. joining tokyo institute of technology in 1973 and employment promotion corporation in 1986, he was engaged in various research areas including the development of computer applications in education, fuzzy science, science of laughter, and so on. since 2000, he has been belonging to hiroshima university, hiroshima, japan. presently he is professor of graduate school of education/the research institute for higher education, hiroshima university. one of his most important recent works is "university authority (in japanese)". his career is shown also in "who’s who in science and engineering, marquis 9th ed.(2006-2007), usa". development of an algorithm for groupware modeling for a collaborative learning 73 atsushi hikita (born on january 30, 1968) graduated the faculty of physics of sophia university, japan in 1991, and got his master degree at the same faculty in 1993. he worked in mitsubishi research institute as a media and information planner and researcher (1993-2000). his main research fields are information design (information and its places, especially map and pictograms as a nonverbal communications), and media design (media communications for society, museum, library and classroom). he has coauthered and co-edited, several books and papers for these fields. he is a chair of apng (asia pacific networking group) education and live e! wg, committee member of chugoku-shikoku internet council, hiroshima region ipv6 deploy committee. makoto takeya, born in tokyo on november 2, 1941, received his be and me degrees in applied physics in 1966 and 1968, and his doctor of science degree in 1981 from waseda university. joining nec corporation in 1968, he was engaged in various research areas including the development of computer applications in education. since 1986 he has been belonging to takushoku university, tokyo, japan. during 1992-1993 he was a visiting scholar of department of educational psychology, university of illinois. presently he is professor of department of computer science, takushoku university. among his most important books are "a new test theory: structure analysis methods for educational information" (in japanese) and "structure analysis methods for instruction: theory and practice of instructional architecture, design and evaluation". he is the recipient of the 1976 yonezawa memorial award from the institute of electronics and communications engineers of japan, the 1989 excellent research award from behaviormetrics society of japan, the 1996 winning paper award from japan society of educational technology, and the 1999 engineering education award from japanese society for engineering education. yasuhiro fujihara (born on january 8, 1971) graduated the faculty of education of kobe university in 1993. presently he is an assistant professor at faculty of software and information science, iwate prefectural university, japan. his main research fields are educational technology (educational evaluation, e-learning) and ict education. he is a member of japan society for educational technology, and the institute of electronics, information and communication engineers. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 325-335 consensus problem of second-order dynamic agents with heterogeneous input and communication delays c.-l. liu, f. liu cheng-lin liu, fei liu jiangnan university institute of automation wuxi 214122, jiangsu, people’s republic of china e-mail: liucl@jiangnan.edu.cn, fliu@jiangnan.edu.cn abstract: consensus problem of second-order multi-agent systems with velocity damping term in agent’s dynamics is investigated. based on frequency-domain analysis, decentralized consensus condition, which depends on the input delays, is obtained for the system based on undirected and symmetric graph with heterogeneous input delays. for the system based on directed graph with both heterogeneous input delays and communication delays, decentralized consensus condition, which is dependent on the input delays but independent on the communication delays, is also obtained. simulations illustrate the correctness of the results. keywords: coordination control, consensus, second-order multi-agent systems, communication delay, input delay 1 introduction in the last decade, distributed coordination of multiple autonomous agents has attracted more and more attention from various research communities for its broad application including automated highway systems, air traffic control, congestion control in internet, etc. consensus problem, which is one of the most fundamental and important issues in coordination control of multi-agent systems, requires that the outputs of several spatially distributed agents reach a common value without recurse to a central controller. for the first-order multi-agent systems with agents’ dynamics modeled by single integrators and second-order multi-agent systems with agents’ dynamics modeled by double integrators, consensus algorithms have been proposed to solve the consensus problem, and sufficient conditions have been obtained for the system converging to the consensus with static or switched interconnection topology [1–4]. recently, more and more attention has been paid on the delay effect on consensus convergence of multi-agent systems. generally speaking, two kinds of time delays cannot be negligible in the multiagent systems. one is communication delay, which is related to the information transmission between neighboring agents. the other is input delay, which is related to the processing and connecting time for the packets arriving at each agent [5]. consensus problem under communication delays has been extensively studied for the first-order multi-agent systems based on different analysis methods, such as lyapunov functions analysis [6, 7], frequency-domain analysis [2, 8], method based on delayed and hierarchical graphs [9, 10], method based on difference of maximum value and minimum value [11, 12], etc. however, consensus analysis of second-order multi-agent systems with communication delay is much more difficult, and many existing results are mostly on the synchronous consensus algorithm [13–15], in which self-delays equaling to the corresponding communication delays are introduced for each agent in the coordination control part. compared with the first-order multi-agent systems, the consensus algorithm without any self-delay, which is called asynchronous consensus algorithm, has not been studied extensively for the second-order multi-agent systems. using small-µ stability theorem, yang et al. [16] obtained the frequency-domain copyright c© 2006-2010 by ccc publications 326 c.-l. liu, f. liu consensus conditions for the second-order multi-agent systems with time-varying communication delays. based on frequency-domain analysis [17] and lyapunov-krasovskii functional method [18], spong et al. proved that, by choosing proper consensus protocol and control parameters, the second-order multiagent systems with heterogeneous communication delays can converge to a stationary consensus without any relationship to the delays. using the properties of nonnegative matrices, lin and jia [19] obtained delay-independent sufficient conditions for the second-order discrete-time multi-agent systems with heterogeneous communication delays converging to the stationary consensus under dynamically changing topologies. to our knowledge, however, the consensus problem under input delays has not attracted much more attention. in some reports, the identical communication delay introduced in the synchronous consensus algorithm can be treated as the identical input delay [2, 14, 15]. using frequency-domain analysis method, tian and liu [5] considered the consensus problem of the first-order multi-agent systems with heterogeneous input delays based on undirected graphs, and obtained the decentralized consensus criterion depending on the input delays. moreover, the decentralized consensus condition, which depends only on the input delays, is also obtained for the first-order multi-agent systems with both heterogeneous communication delays and input delays based on the digraph in [5]. in [20], tian and liu investigated the leader-following consensus problem of the second-order multi-agent systems with heterogeneous input delays and symmetric coupling weights, and the decentralized consensus condition with some prerequisites is obtained for the system converging to the states of the dynamic leader asymptotically. furthermore, the robustness of the symmetric system with asymmetric weight perturbation is also investigated in [20], and a bound of the largest singular value of the perturbation matrix is obtained as the robust consensus condition. in this paper, we consider the consensus problem of second-order multi-agent systems with velocity damping term in the agent’s dynamics, and analyze the consensus conditions for the system with heterogeneous delays converging to the stationary consensus. firstly, we investigate the consensus problem for the system based on undirected and symmetric graph with heterogeneous input delays, and a decentralized consensus condition, which is delay-dependent, is obtained by using some early results for the internet congestion control with heterogeneous communication delays [21]. then, we study the consensus problem for the system based on general directed graph with both heterogeneous input delays and communication delays by using greshgorin disc theorem, and another decentralized consensus condition, which depends on the input delays only, is also obtained. this consensus condition is more conservative than the former for the existence of heterogeneous communication delays and the asymmetry of coupling weights, but it can be applied to the systems based on directed graph with asymmetric weights. 2 preliminaries on graph theory a weighted directed graph (digraph) g = (v, e, a) of order n consists of a set of vertices v = {, ..., n}, a set of edges e ⊆ v×v and a weighted adjacency matrix a = [ai j] ∈ rn×n with nonnegative adjacency elements ai j. the node indexes belong to a finite index set i = {, , ..., n}. an edge of the weighted diagraph g is denoted by ei j = (i, j) ∈ e, i.e., ei j is a directed edge from i to j. we assume that the adjacency elements associated with the edges of the digraph are positive, i.e., ai j >  ⇔ ei j ∈ e. moreover, we assume aii =  for all i ∈ i. the set of neighbors of node i is denoted by ni = { j ∈ v : (i, j) ∈ e}. in the digraph g, if (i, j) ∈ e ↔ ( j, i) ∈ e, we usually say g is undirected graph or bidirectional graph. the out-degree of node i is defined as: degout (i) = ∑n j= ai j. let d be the diagonal matrix with the out-degree of each node along the diagonal and call it the degree matrix of g. the laplacian matrix of the weighted digraph is defined as l = d − a. if there is a path in g from one node i to another node j, then j is said to be reachable from i. if not, then j is said to be not reachable from i. if a node is reachable from every other node in the digraph, then consensus problem of second-order dynamic agents with heterogeneous input and communication delays 327 we say it globally reachable. a digraph is strongly connected if every node in the digraph is globally reachable. an undirected graph is connected if it contains a globally reachable node. 3 problem formulation in a multi-agent system composed of n agents, each agent can be regarded as a node in a digraph, and information flow between neighboring agents can be considered as directed paths between the nodes in the digraph. thus, the interconnection topology of multi-agent systems can be described as a diagraph g = (v, e, a). in this paper, we just consider static topology g, i.e., the connection of the nodes in the diagraph g does not change with time. consider the second-order dynamic agents modeled by ẋi = vi, miv̇i = fi, i ∈ i, (1) where xi ∈ r and vi ∈ r are the position and the velocity of the agent i respectively, mi >  is the mass of the agent i, and fi is the total force on the agent i. analogous to [22], the total force fi in the second-order model (1) consists of two components: fi = −αivi + ui, where ui is the external control input, and −αivi with αi >  denotes the velocity damping term caused by the resistance, e.g., the friction. then, the second-order model (1) becomes ẋi = vi, miv̇i = −αivi + ui, i ∈ i. (2) with non-negligible input delays for the external control, the agents (2) become ẋi(t) = vi(t), miv̇i(t) = −αivi(t) + ui(t − ti), i ∈ i, (3) where ti >  is the input delay of the agent i. for the system (3), we take a consensus protocol based on the agents’ position states as follows ui = κi ∑ j∈ni ai j(x j − xi), (4) where κi > , ni denotes the neighbors of agent i, and ai j >  is the adjacency element of a in the digraph g = (v, e, a). under the communication delays, the protocol (4) becomes ui(t) = κi ∑ j∈ni ai j(x j(t − τi j) − xi(t)), (5) where τi j is the communication delay from agent j to agent i. with the protocol (5), the closed-loop form of the system (3) is ẋi(t) = vi(t), miv̇i(t) = −αivi(t) + κi ∑ j∈ni ai j(x j(t − ti − τi j) − xi(t − ti)), i ∈ i. (6) remark 1. in [20], tian and liu has studied the leader-following consensus problem of the second-order multi-agent systems with heterogeneous input delays under double-consensus algorithm, and obtained the consensus conditions for the system with symmetric and asymmetric weights respectively. different from [20], we consider the stationary consensus of the second-order dynamic agents (6) with velocity damping term, and analyze the consensus conditions for the system with heterogeneous communication delays and input delays. 328 c.-l. liu, f. liu 4 consensus criterion 4.1 consensus under heterogeneous input delays in this section, we investigate the consensus problem of multi-agent systems (6) just with heterogeneous input delays only as follows ẋi(t) = vi(t), miv̇i(t) = −αivi(t) + κi ∑ j∈ni ai j(x j(t − ti) − xi(t − ti)), i ∈ i. (7) firstly, we give an assumption on the velocity damping coefficient αi, the mass mi and input delay ti in the following. assumption 2. (ti αimi − tj α j m j )(ti − tj) ≤ , ∀i, j ∈ i, i 6= j. now, we present some sufficient conditions for second-order multi-agent systems with heterogeneous input delays. theorem 3. consider the network of n dynamic agents (7) with a static interconnection topology g = (v, e, a) that is undirected (or bidirectional) and connected, and the topology graph has symmetric weights, i.e., ai j = a ji. then, under assumption 2, all the agents in system (7) asymptotically converge to a stationary consensus, i.e., limt→∞ xi(t) = c, limt→ vi(t) = , ∀i ∈ i, where c is a constant, if ∑ j∈ni ai j < mi κi(gmi )− ,∀i ∈ i, (8) where gmi is the gain margin of the transfer function wi(s) = e−sti s+ αi mi s . before proving theorem 3, we list two useful lemmas as follows. lemma 4. [23] let q ∈ cn×n, q = q? ≥  and t = diag{ti,ti ∈ c}. then λ (qt ) ∈ ρ(q)co(∪{ti}), where λ (·) denotes matrix eigenvalue, ρ(·) denotes the matrix spectral radius, and co(·) denotes the convex hull. based on remark 4 and claim 1 in [21], we obtain the following lemma. lemma 5. suppose that assumption 2 holds for the frequency response of a family of systems described by gi(jω) = gmi s + j αimi ω e−jtiω , i ∈ i, where gmi is the gain margin of the transfer function wi(s) = e−sti s+ αi mi s . then, γ co(∪{gi(jω), i ∈ i}) does not contain the point (−, j) for any given real number γ ∈ [, ) and any ω ∈ (−∞, ∞). now, we give the proof of theorem 3. the system (7) is rewritten as follows ẋi(t) = vi(t), v̇i(t) = −ᾱivi(t) + κ̄i ∑ j∈ni ai j(x j(t − ti) − xi(t − ti)), i ∈ i, (9) consensus problem of second-order dynamic agents with heterogeneous input and communication delays 329 where ᾱi = αimi and κ̄i = κi mi . taking the laplace transform of the system (9), we obtain the characteristic equation of the system (9) about x(t) = [x(t),··· , xn(t)]t as follows det(diag{s + ᾱis, i ∈ i} + diag{κ̄ie−tis, i ∈ i}l) = . define d(s) = det(diag{s + ᾱis, i ∈ i} + diag{κ̄ie−tis, i ∈ i}l), and we will prove that all the zeros of d(s) are on the open left half complex plane or s =  in the following. when s = , d() = det(diag{ + ᾱi, i ∈ i} + diag{κ̄ie−ti, i ∈ i}l) = det(diag{κ̄i, i ∈ i}) det(l), because the interconnection graph g = (v, e, a) is connected,  is a simple eigenvalue of l [24], i.e., rank(l) = n − . hence, d(s) has only one zero at s = . when s 6= , define f(s) = det(i + diag{ κ̄is+ᾱis e −tis, i ∈ i}l). we will prove that the zeros of f(s) lie on the open left half complex plane. according to the general nyquist stability criterion [25], the zeros of f(s) are on the open left half complex plane, if λ (diag{ κ̄i (jω)+jω ᾱi e−jω ti , i ∈ i}l) does not enclose the point (−, j) for ω ∈ r. for the symmetric weights (ai j = a ji), we get l = lt ≥  according to the definition of the laplacian matrix. based on lemma 4, we get λ (diag{ κ̄i −ω  + jᾱiω e−jtiω }l) = λ (diag{ gmi −ω  + jᾱiω e−jtiω diag{ √ κ̄i(gmi )−}ldiag{ √ κ̄i(gmi )−}) ∈ ρ(diag{ √ κ̄i(gmi )−}ldiag{ √ κ̄i(gmi )−})co(∪ gmi −ω  + jᾱiω e−jtiω ). since the spectral radius of any matrix is bounded by its largest absolute row sum, it follows from the condition (8) that ρ(diag{ √ κ̄i(gmi )−}ldiag{ √ κ̄i(gmi )−}) = ρ(diag{κ̄i(g m i ) −}l) ≤ max i∈i κ̄i(gmi ) −( ∑ j∈ni ai j) < . therefore, from lemma 5, we obtain that (−, ) 6∈ ρ(diag{ √ κ̄i(gmi )−}ldiag{ √ κ̄i(gmi )−})co(∪ gmi −ω  + jᾱiω e−jtiω ), i.e., λ (diag{ κ̄i (jω)+jω ᾱi e−jω ti , i ∈ i}l) does not enclose the point (−, j) for ω ∈ r, which implies that the zeros of f(s) are all on the open left half complex plane. now, we have proved that d(s) has its zeros on the open left half complex plane except for one zero at s = . thus, the state xi(t) of the system (7) converges to a steady state, i.e., limt→∞ xi(t) = x∗i , i ∈ i, and limt→∞ vi(t) = ,∀i ∈ i holds for (7). it is obtained from (7) that l[x∗,··· , x∗n]t = . since rank(l) = n − and l[,··· , ]t =  from the definition of the laplacian matrix l, the roots of lx∗ =  can be expressed as x∗ = c[,··· , ]t , where c is a constant. theorem 3 is proved. 2 remark 6. obviously, the consensus condition (8) in theorem 3 depends strictly on the assumption 2 and the symmetry of the coupling weights between agents. 330 c.-l. liu, f. liu 4.2 consensus under heterogeneous input and communication delays in multi-agent systems, the interconnection topology composed of dynamic agents is usually asymmetric, and the communication delays caused by information transmission always exist between neighboring agents. thus, the lemma 4 and lemma 5 which play important roles in the proof of theorem 3 cannot be applied in these cases. in this section, we will analyze the consensus of the second-order dynamic agents (6) with both heterogeneous input delays and communication delays under general directed interconnection topology. theorem 7. consider the network of n dynamic agents (6) with a static interconnection topology g = (v, e, a) that has a globally reachable node. if ∑ j∈ni ai j < α i κi(mi + αiti) , ∀i ∈ i, (10) all the agents in the system (6) converge to a stationary consensus asymptotically. proof: firstly, rewrite the system (6) as ẋi(t) = vi(t), v̇i(t) = −ᾱivi(t) + κ̄i ∑ j∈ni ai j(x j(t − ti − τi j) − xi(t − ti)), i ∈ i, (11) where ᾱi = αimi and κ̄i = κi mi . taking the laplace transform of the system (12), we obtain that the characteristic equation of the system (12) about x(t) = [x(t),··· , xn(t)]t is det(diag{s + ᾱis, i ∈ i} + diag{κ̄ie−tis, i ∈ i}l(s)) = , where the n×n matrix l(s) = {li j(s)} is defined by li j(s) =    −ai je−τi j s, j ∈ ni;∑ j∈ni ai j, j = i; , otherwise, and l() = l, which is the laplacian matrix. define d̃(s) = det(diag{s + ᾱis, i ∈ i} + diag{κ̄ie−tis, i ∈ i}l(s)), and we will prove that all the zeros of d̃(s) are on the open left half plane or s =  in the following. when s = , d̃() = det(diag{ + ᾱi, i ∈ i} + diag{κ̄ie−ti, i ∈ i}l()) = det(diag{κ̄i, i ∈ i) det(l), because the interconnection topology g = (v, e, a) has a globally reachable node,  is a simple eigenvalue of l [24]. hence, d̃() = , i.e., d̃(s) has only one zero at s = . when s 6= , define f̃(s) = det(i + diag{ κ̄is+ᾱis e −tis, i ∈ i}l(s)). we will prove the zeros of f̃(s) lie on the open left half complex plane. according to the general nyquist stability criterion [25], the zeros of f̃(s) are on the open left half complex plane, if λ (diag{ κ̄i (jω)+jω ᾱi e−jω ti , i ∈ i}l(jω)) does not enclose the point (−, j) for ω ∈ r. based on the greshgorin’s disc theorem, λ (diag{ κ̄i −ω  + jᾱiω e−jtiω , i ∈ i}l(s)) ∈ ⋃ i∈i {ζ : ζ ∈ c, |ζ − κ̄i( ∑ j∈ni ai j) −ω  + jᾱiω e−jtiω | ≤ ∑ j∈ni | κ̄iai j −ω  + jᾱiω e−j(ti+τi j )ω |} = ⋃ i∈i {ζ : ζ ∈ c, |ζ − κ̄igi −ω  + jᾱiω e−jtiω | ≤ | κ̄igi −ω  + jᾱiω e−jtiω |} consensus problem of second-order dynamic agents with heterogeneous input and communication delays 331 holds for ω ∈ r, where gi = ∑ j∈ni ai j. then, λ (diag{ κ̄i (jω)+jω ᾱi e−jω ti , i ∈ i}l(jω)) does not enclose the point (−, j) for ω ∈ r as long as the point (−a, j) with a ≥  does not in the disc {ζ : ζ ∈ c, |ζ − κ̄igi −ω +jᾱiω e−jtiω | ≤ | κ̄igi −ω +jᾱiω e−jtiω |} for all ω ∈ r, i.e., | − a + j − κ̄igi −ω +jᾱiω e−jtiω | > | κ̄igi −ω +jᾱiω e−jtiω | holds for all ω ∈ r when a ≥ . by calculating, we obtain | − a + j − κ̄igi −ω  + jᾱiω e−jtiω | − | κ̄igi −ω  + jᾱiω e−jtiω | = a(a − κ̄igi cos(ω ti) + ᾱi sin(ω ti) ω ω  + ᾱ i ). because cos(ω ti) ≤  and sin(ω ti)ω ≤ ti hold for ω ∈ r, it follows from (11) that κ̄igi cos(ω ti) + ᾱi sin(ω ti) ω ω  + ᾱ i ≤ κ̄igi( + ᾱiti) ᾱ i < . hence, | − a + j − κ̄igi −ω +jᾱiω e−jtiω | > | κ̄igi −ω +jᾱiω e−jtiω | holds for all ω ∈ r when a ≥ . now, we have proved that d̃(s) has its zeros on the open left half complex plane except for a zero at s = . thus, the state xi(t) of the system (6) converges to a steady state, i.e., limt→∞ xi(t) = x∗i , i ∈ i, and limt→∞ vi(t) = ,∀i ∈ i holds for (6). then, analogous to the proof of theorem 3, the system (6) converges to a stationary consensus for the digraph that has a globally reachable node. theorem 7 is proved. 2 remark 8. in the networks composed of interconnected dynamic systems, the scalability is a important property that needs to be maintained [5, 20, 21, 23]. obviously, the decentralized consensus conditions (8) and (11) maintain the scalability of the multi-agent network. without having to redesign the entire network whenever an agent is added or removed, the networks (6) and (7) can achieve the desired collective behavior as long as the local conditions for the agent and its neighbors hold respectively, and the connectedness of the interconnection topology is maintained. remark 9. in the consensus analysis of the multi-agent systems, greshgorin’s disc theorem has been extensively used to obtain the communication delay-independent consensus condition for the system with heterogeneous communication delays [8, 17]. in [17], decentralized frequency-domain consensus conditions have been obtained for the multi-agent systems with agents’ dynamic modeled by strictly stable linear systems under heterogeneous communication delays. then, by transformation, the system (6) can be expressed as a special case of the system studied in [17]. however, (11) gives a concrete algebraic criterion, which is convenient for the design of the consensus algorithm. remark 10. according to [20] (the inequality (24) there in), the consensus condition (8) in theorem 3 satisfies mi κi(gmi )− > αi κiti > α i κi(mi + αiti) . thus, under the same conditions, the consensus condition (11) in theorem 7 is more conservative than the consensus condition (8) given in theorem 3. 5 simulation example 11. consensus under input delays based on symmetric graph. consider a multi-agent network of five dynamic agents described by (7). the interconnection topology is described in figure 1, and the graph is undirected and connected. the symmetric weights of the edges are: a = a = ., a = a = ., a = a = ., a = a = ., a = a = .. the input delays of the agents are: t = .(s), t = .(s), t = .(s), t = .(s) and t = .(s). the velocity 332 c.-l. liu, f. liu damping coefficients of the agents are: α = , α =  , α = ., α = , α = , and the mass of each agent is assumed to be , i.e., mi = , i = ,··· , . thus, the assumption 2 holds for all the agents. for the transfer functions wi(s) = e−sti s+ αi mi s , i = ,··· , , by using the matlab simulator, we obtain the gain margins: gm ' ., gm ' ., gm ' ., gm ' . and gm ' .. according to the condition (8), we obtain that the control parameters κi satisfy: κ ∈ (, .), κ ∈ (, .), κ ∈ (, .), κ ∈ (, .), κ ∈ (, .), and we choose κ = , κ = ., κ = ., κ =  and κ = . then, with the initial states generated randomly, the agents in the system (7) converge to a stationary consensus (see figure 2). 31 2 45 figure 1: undirected graph with symmetric weights 0 5 10 15 20 25 30 35 40 45 −0.5 0 0.5 1 1.5 time/second x i 0 5 10 15 20 25 30 35 40 45 −1 −0.5 0 0.5 1 1.5 time/second v i figure 2: consensus convergence under input delays example 12. consensus under input and communication delays based on asymmetric digraph. consider a network of five agents described by (6). the interconnection topology is a digraph described in figure 3, and the globally reachable node set of the digraph is {, }. the weights of the directed edges are: a = ., a = ., a = ., a = ., a = ., a = ., and the corresponding communication delays are: τ = .(s), τ = .(s), τ = .(s), τ = .(s), τ = .(s), τ = .(s). the velocity damping coefficients of the agents are: α = ., α = , α = , α = , α = , and the mass of each agent is assumed to be . choosing the control parameters: κ = , κ = , κ = ., κ = , κ = , we obtain from the condition (11) that the constraints on the input delays are: t ∈ (, .)(s), t ∈ (, )(s), t ∈ (, )(s), t ∈ (, .)(s) and t ∈ (, .)(s). with t = (s), t = .(s), t = .(s), t = (s), t = .(s), the agents in the system (6) converge to a stationary consensus (see figure 4). 6 conclusions in this paper, we investigate the consensus problem of second-order multi-agent systems with velocity damping term in the agent’s dynamic. based on the frequency-domain analysis, two sufficient consensus problem of second-order dynamic agents with heterogeneous input and communication delays 333 3 1 2 45 figure 3: digraph composed of 5 agents 0 5 10 15 20 25 30 35 40 45 −0.5 0 0.5 1 1.5 time/second x i 0 5 10 15 20 25 30 35 40 45 −0.5 0 0.5 1 1.5 time/second v i figure 4: consensus convergence under input and communication delays decentralized consensus conditions are obtained. one consensus condition is for the system with heterogeneous input delays based on undirected and symmetric graph, and is dependent on the input delays. the other consensus condition is for the system with both heterogeneous input delays and communication delays based on general directed graph, and depends on the input delays only. although the later consensus condition is more conservative than the former, it can be applied to the systems based on directed graph with asymmetric coupling weights. acknowledgements this work was supported by specialized research fund for the doctoral program of higher education of china (grant no. 20090093120006). bibliography [1] a. jadbabaie, j. lin, a.s. morse, coordination of groups of mobile autonomous agents using nearest neighbor rules, ieee transactions on automatic control, 48(6):988-1001, 2003. [2] r. olfati-saber, r. murray, consensus problems in networks of agents with switching topology and time-delays, ieee transactions on automatic control, 49(9):1520-1533, 2004. [3] w. ren, e. atkins, distributed multi-vehicle coordinated control via local information exchange, international journal of robust and nonlinear control, 17(10-11):1002-1033, 2007. [4] y. hong, l. gao, d. cheng, j. jiang, lyapunov-based approach to multiagent systems with switching jointly connected interconnection, ieee transactions on automatic control, 52(5):943-948, 2007. 334 c.-l. liu, f. liu [5] y.-p. tian, c.-l. liu, consensus of multi-agent systems with diverse input and communication delays, ieee transactions on automatic control, 53(9):2122-2128, 2008. [6] w. wang, j.j.e. slotine, contraction analysis of time-delayed communication delays, ieee transactions on automatic control, 51(4):712-717, 2006. [7] y.-g. sun, l. wang, consensus of multi-agent systems in directed networks with nonuniform time-varying delays, ieee transactions on automatic control, 54(7):1607-1613, 2009. [8] j. wang, n. elia, consensus over network with dynamic channels, proc. of the 2008 american control conference, seattle, pp.2637-2642, 2008. [9] m. cao, a.s. morse, b.d.o. anderson, reaching an agreement using delayed information, proc. of the 45th ieee conference on decision and control, san diego, pp.3375-3380, 2006. [10] f. xiao, l. wang, asynchronous consensus in continuous-time multi-agents with switching topology and time-varying delays, ieee transactions on automatic control, 53(8):1804-1816, 2008. [11] v.d. blondel, j.m. hendrickx, a. olshevsky, j.n. tsitsiklis, convergence in multi-agent coordination, consensus, and flocking, proc. of the 44th ieee conference on decision and control, seville, pp.2996-3000, 2005. [12] v. gazi, stability of an asynchronous swarm with time-dependent communication links, ieee transactions on systems, man, and cybernetics-part b: cybernetics, 38(1):267-274, 2008. [13] j. hu, y. hong, leader-following coordination of multi-agent systems with coupling time delays, physica a, 374(2):853-863, 2007. [14] h. su, x. wang, second-order consensus of multiple agents with coupling delay, proc. of the 7th world congress on intelligent control and automation, chongqing, pp.7181-7186, 2008. [15] p. lin, y. jia, j. du, s. yuan, distributed consensus control for second-order agents with fixed topology and time-delay, proc. of the 26th chinese control conference, zhangjiajie, pp.577-581, 2007. [16] w. yang, a.l. bertozzi, x. wang, stability of a second order consensus algorithm with time delay, proc. of the 47th ieee conference on decision and control, cancun, pp.2926-2931, 2008. [17] d.j. lee, m.k. spong, agreement with non-uniform information delays, proc. of the 2006 american control conference, minneapolis, pp.756-761, 2006. [18] s. kawamura, m. svinin (eds.), advances in robot control: from everyday physics to humanlike movements, berlin: springer-verlag, 2006, pp.107-134. [19] p. lin, y. jia, consensus of second-order discrete-time multi-agent systems with nonuniform time-delays and dynamically changing topologyies, automatica, 45(9):2154-2158, 2009. [20] y.-p. tian, c.-l, liu, robust consensus of multi-agent systems with diverse input delays and asymmetric interconnection perturbations, automatica, 45(5):1374-1353, 2009. [21] y.-p. tian, g. chen, stability of the primal-dual algorithm for congestion control, international journal of control, 79(6):662-676, 2006. [22] r. pedrami, b.w. gordon, control and analysis of energetic swarm systems, proc. of the 2007 american control conference, new york, pp.1894-1899, 2007. consensus problem of second-order dynamic agents with heterogeneous input and communication delays 335 [23] i. lestas, g. vinnicombe, scalable robustness for consensus protocols with heterogeneous dynamics, proc. of the 16th ifac world congress, prague, 2005. [24] z. lin, b. francis, m. maggiore, necessary and sufficient graphical conditions for formation control of unicycles, ieee transactions on automatic control, 50(1):121-127, 2005. [25] c.a. desoer, y.t. wang, on the generalized nyquist stability criterion, ieee transactions on automatic control, 25(2):187-196, 1980. cheng-lin liu was born in china in 1981. he got phd at southeast university in 2008. since 2008, he is a faculty member at institute of automation, jiangnan university, china. his current research interests include internet congestion control and coordination control of multi-agent systems. fei liu was born in china in 1965. he is a professor at institute of automation, jiangnan university, china. his research interests include the theory and application of advanced process control, process monitoring and diagnose on industrial system, and integrated automatic system for fermentation process. ijcccv11n4.dvi international journal of computers communications & control issn 1841-9836, 11(4):567-579, august 2016. an abnormal network traffic detection algorithm based on big data analysis h.p. yao, y.q. liu, c. fang haipeng yao* 1. state key laboratory of networking and switching technology beijing university of posts and telecommunications no 10, xitucheng road, haidian district, beijing, prc 2. beijing advanced innovation center for future internet technology beijing university of technology 100 ping le yuan, chaoyang district, beijing, prc *corresponding author: yaohaipeng@bupt.edu.cn yiqing liu state key laboratory of networking and switching technology beijing university of posts and telecommunications no 10, xitucheng road, haidian district, beijing, prc colin617@qq.com chao fang 1. beijing advanced innovation center for future internet technology beijing university of technology 100 ping le yuan, chaoyang district, beijing, prc fangchao.bupt@gmail.com 2. college of electronic information and control engineering beijing university of technology 100 ping le yuan, chaoyang district, beijing, prc fangchao.bupt@gmail.com abstract: anomaly network detection is a very important way to analyze and detect malicious behavior in network. how to effectively detect anomaly network flow under the pressure of big data is a very important area, which has attracted more and more researchers’ attention. in this paper, we propose a new model based on big data analysis, which can avoid the influence brought by adjustment of network traffic distribution, increase detection accuracy and reduce the false negative rate. simulation results reveal that, compared with k-means, decision tree and random forest algorithms, the proposed model has a much better performance, which can achieve a detection rate of 95.4% on normal data, 98.6% on dos attack, 93.9% on probe attack, 56.1% on u2r attack, and 77.2% on r2l attack. keywords: anomaly traffic detection, big data, k-means, decision tree, random forest. 1 introduction with the improvement of network, storage, calculation and transmission,the internet is interacting more closely with people than ever before. while the internet is making our life more convenient, it brings about some potential risks. for example, malicious attacks involving user privacy and security become more and more frequent. the changes of how people use the internet is a new challenge for traditional abnormal network event detection techniques. it is more hard for researchers to get aware of some new kinds of attacks. to resolve these problems, some abnormal network traffic detection methods copyright © 2006-2016 by ccc publications 568 h.p. yao, y.q. liu, c. fang have been proposed. traditional abnormal traffic detection method can be classified into two categories [1–3]. one is misuse detection, and the other is abnormal detection. the two methods have their own pros and cons. misuse detection has a high accuracy but needs support from known knowledge. abnormal detection do not need known knowledge, but cannot categorize the type of attacks, the accuracy is also lower. for example, hari om [4] designes a hybrid detection system, which is a hybrid anomaly detection system considering k-means, k-nearest neighbor and naïve bayes methods. however, the explosive increase of network traffic has directly or indirectly pushed the internet into the big data era, which makes anomaly traffic detection more difficult to deal with because of high calculation volume and constant changes of network data distribution caused by big data [5–8]. because the speed of network data generation is fast, it makes the volume of normal traffic and abnormal traffic differ a lot, and the distribution of the data change. besides, with big data, the difference between normal traffic and abnormal traffic is increasing. it makes the traditional methods unable to effectively detect abnormal traffic. therefore, to increase the accuracy of abnormal traffic and avoid the loose caused by false negative detection, we propose a novel model based on big data analytics, which can avoid the influence brought by adjustment of network traffic distribution, increase dectection accuracy and reduce the false negative rate. the core of the proposed model is not simply combination of traditional detection methods, but a novel detection model based on big data. in the simulation, we use k-means, decision tree and random forest algorithms as comparative objects to vertify the effectiveness of our model. simulation results reveal that the proposed model has a much better performance, which can achieve a detection rate of 95.4% on normal data, 98.6% on dos attack, 93.9% on probe attack, 56.1% on u2r attack, and 77.2% on r2l attack. the rest of this paper is organized as follows. in section 2, related work of this paper is presented. the system model is given in section 3. simulation results are presented and discussed in section 4. finally, we conclude this study in section 4.3. 2 related work 2.1 k-means k-means is a classic clustering algorithm [9,10], which uses simple iteration algorithm to cluster the data set into certain amount of categories.commonly, the number of clusters is annotated to be k. the four steps of k-means are: 1. initialization: randomly select k data points from the data set as the centers of the kclusters; 2. distribution: assign each point in the data set to the nearest center; 3. update: calculate new centers according to the cluster assignment, the new center is the average point of all the points in a cluster; 4. repeat: repeat these steps until no center is updated in this round, and the clustering is converged. k-means needs the number of classification k to be specified. if k is not chosen properly, it will lead to an improper result of classification. so choose a proper cluster number is crucial to the result of k-means. another disadvantage of k-means is that, k-means can only use euclidean distance. even though euclidean distance is convenient to calculate, but it cannot take the difference between two features into consideration, it means it treats all features as same. in the reality, it will sometimes lead to poor performance. anyway, k-means has its own advantages when dealing with big data. an abnormal network traffic detection algorithm based on big data analysis 569 1. k-means is simple. the time complexity is n ( nd∗k+1 log n ) , it can be fast when the number of clusters and the number of features are small; 2. k-means can be well adjusted to big data set and has high performance. 2.2 decision tree decision tree [9] is a common algorithm used in machine learning. a complete decision tree is composed by three kind of elements: 1. decision node, indicating which feature is used in split; 2. chance nodes, indicating possible values of each features; 3. leaf node, indicating which category is the record in. there are two steps needed to use a decision tree: 1. tree generation: generate a tree according to training set. need to determine which feature need to use in the split, and determine which category the result is in. 2. classification: classify new records from the root of the decision tree, and compare the record with each of the decision node, move to corresponding branch with the result. repeat this process, and after a data reaches the leaf node, the category of leaf node is the new category of the node. quinlan proposed c4.5 algorithm in [11], which is a well known decision tree algorithm.the main method is to generate the decision tree from root to leaf, in order to reduce the level of uncertainty. therefore, this algorithm can be described as follows. gain ratio is the index c4.5 used to select feature. define a feature in the feature set to be ak, the training set to be t��definition of information gain is defined like this: gain(t,ak) = info(t)− infoak(t) (1) where info(t) = − n ∑ i=1 freq(ci,t) |t | log2 freq(ci,t) |t | (2) infoak(t) = − ∑ ak∈d(ak) |takak | |t | info(t ak ak ) (3) freq(ci,t) means the number of records belongs to ci in t . takak express that subset which ak is ak, and domain of ak is d(ak). splitinfo(ak) is defined to be: splitinfo(t,ak) = − ∑ ak∈d(ak) |takak | |t | log2 |takak | |t | (4) gain ratio is gainratio(t,ak) = gain(t,ak) splitinfo(ak) (5) the advantages of decision tree are: 1. the tree generated is easy to generate and easy to explain; 2. performs well when dealing with large data set. 570 h.p. yao, y.q. liu, c. fang 2.3 random forest random forest algorithm [9, 12] is a classification algorithm and contains multiple decision trees, where each tree has a vote, and result is the one with highest vote. when generating decision tree, feature selection and pruning can be used to avoid over fitting. but when the number of features is large, the problems can hardly be avoided. random forest consists of multiple decision trees, which can effectively avoid those problems. random forest has following advantages: 1. it can be used in various situation with a pretty high accuracy on classification; 2. it can effectively support multi-feature situation without feature selection; 3. it can report the importance distribution of features. 3 system model influenced by big data, network data distribution is gradually changing. this paper try to solve the problem that caused by the increasing difference between normal traffic and abnormal traffic. therefore, we proposed a new abnormal traffic detection model based on big data analysis, and this model includes three sub-models. 3.1 normal traffic selection model normal traffic selection model uses classification and clustering algorithm to distinguish normal and anomaly behaviors, rather than involved specific anomaly behaviors. this model includes two stages: 1. training stage: training model uses data that labeled normal or abnormal, and the model applies in test stage. 2. test stage: test stage is similar to detection in practice. using unlabeled date, the model classifies traffic data into normal or abnormal, and labels them. normal traffic selection model uses k-means clustering algorithm, knn, decision tree and random forest classification algorithms. traditionally, before using k-means algorithms, it is very important to set the number of categories, because we don’t know how many categories. but in order to distinguish normal and abnormal behavior, the normal traffic selection model uses k-means as following way. in training stage, using labeled information classify data into normal and abnormal. these two categories use k-means separately instead of clustering all data at once, getting the center of the data set respectively. then using the center of the data set, knn clustering algorithm classifies test data. decision tree and random forest classification algorithms train with labeled normal and abnormal data. 3.2 abnormal traffic selection model the purpose of abnormal traffic selection model is avoid influence caused by too many normal traffic than abnormal traffic. this model classifies anomaly traffic into specific categories, and includes two stage as well: 1. training stage: this stage only use abnormal data to train classification model, and every data label specific attack group. using classification algorithms learns classified rules. 2. test stage: test stage is similar to detection in practice, using unlabeled data (including normal behavior data). the classification model classifies anomaly traffic into specific categories according to the classified rules, and gives specific label to every data. an abnormal network traffic detection algorithm based on big data analysis 571 table 1: distribution of kddcup99 data set data set normal dos probe r2l u2r 10 percent of training data set 97278 391458 4107 1126 52 test data set 60593 229853 4166 16189 228 abnormal traffic selection model uses decision tree and random forest classification algorithms. abnormal traffic selection model and normal traffic selection model are independent, without order of priority in training stage or test stage. mixed compensation model combines the result from normal traffic selection model and abnormal traffic selection model to produce a final result. although abnormal traffic selection model is more effective because without influence of normal traffic data, the model has high false negative rate due to this characteristic. therefore use normal set produced by normal traffic selection model to compensate abnormal set a = {a1,a2, · · · ,ak} produced by abnormal traffic selection model. ai, i ∈ [1,k] denote specific attack category. if c denote detection result, rule of compensation as follow: { if c ∈ ai, c ∈ n, then c ∈ n if c ∈ ai, c /∈ n, then c ∈ ai. (6) 4 simulation results and discussions before using three sub-models of anomaly detection based on big data analysis, data set needs be preprocessed with label for training model. it should be noted that rightly selecting feature is a good way to reduce dimension and increase efficiency of running. in the simulation, three different algorithms are used to verify validity of the proposed model. 4.1 data set in the simulation, we use kddcup99 [13] data set to test my model. kddcup99 data set is widespread use for testing abnormal detection model, which is obtained and processed from kddcup99 [14]. kddcup99 data set has 41 features and been sorted into three group: basic feature, content feature and time feature [15]. the distribution of data set is shown as table 1, where training data has 5 million records, 10 percent of training data has 494021 records, and test data has 311029 records. every record is labeled to be normal or abnormal, and abnormal data can be classified into four groups: dos, u2r, r2l and probe. from table 1, we find that normal data in training data set is more than abnormal data in test data set. therefore, this data set can be used to test the performance of the proposed model under different circumstances. 4.2 simulation results as shown in table 2, we have done eight experiments with the model based on big data analysis, and three control experiments which used k-means, decision tree or random forest respectively. in the control groups, training classify model uses all training data set with five categories, then classifying test data into five categories. another control group is winner of kddcup99. in the simulation, prediction accuracy is used as a simulation metric of detection effect, which is shown in table 3. besides, we adopt way of sorting and grading for every type. for example, 572 h.p. yao, y.q. liu, c. fang table 2: number of experiments no. normal traffic selection model abnormal traffic selection model no. of control group algorithm 1 k-means1∗ random forest 9 k-means 2 k-means1∗ decision tree 10 decision tree 3 k-means2∗ random forest 11 random forest 4 k-means2∗ decision tree 12 winner of kddcup99 5 decision tree decision tree 6 decision tree random forest 7 random forest decision tree 8 random forest random forest *note: in the normal traffic selection model, the number of cluster of normal and abnormal respectively is 4 and 30 in k − means1, and the number of cluster of normal and abnormal respectively is 100 and 300 in k − means2. table 3: prediction accuracy no. experiment normal dos probe u2r r2l 1 k-means1+random forest 0.632 0.814 0.939 0.561 0.679 2 k-means1+decision tree 0.656 0.791 0.878 0.500 0.772 3 k-means2+random forest 0.945 0.983 0.910 0.513 0.510 4 k-means2+decision tree 0.946 0.979 0.852 0.500 0.504 5 decision tree+decision tree 0.951 0.984 0.829 0.500 0.512 6 decision tree + random forest 0.951 0.986 0.831 0.550 0.517 7 random forest + decision tree 0.954 0.980 0.861 0.500 0.521 8 random forest + random forest 0.952 0.985 0.872 0.520 0.510 9 k-means 0.938 0.968 0.785 0.500 0.528 10 decision tree 0.951 0.983 0.793 0.500 0.500 11 random forest 0.952 0.985 0.875 0.522 0.507 12 winner of kddcup99 0.995 0.971 0.833 0.132 0.084 all experiments are sorted by prediction accuracy of normal. the first grades 1 point, the second grades 2 points, and so on. finally, adding grade of five groups is final grade. as shown in table 4, the experiment group and winner of kddcup99 are sorted by final grade. while the later has high detection rate in normal data, as for four attack types, the result of model based on big data analysis is better than winner of kddcup99. algorithm of winner of kddcup99 is c5 decision tree [16–19]. training data of winner of kddcup99 is a little different with my experiment. thus for evaluating detection effect of the proposed mode, we did three control experiments with same training data and test data, used with k-means, decision tree or random forest respectively. the number of these experiments is noted as 11, 10 and 9. sorting result shows that detection effect of algorithm of the proposed model is better than no use, as shown as table 5. we will discuss experiments results, compared no.8 with no.11, no.7 with no.5 and no.3 with no.4. discussing result of no.8 and no.11 score of top three are same. judging no.8 and no.11 with final grade, detection result of two experiments are almost same. and both of them use random forest algorithm. but the difference is: an abnormal network traffic detection algorithm based on big data analysis 573 table 4: compared with winner of kddcup99 no. experiment normal dos probe u2r r2l final socre rank 8 random forest+random forest 3 2 2 2 4 13 1 6 decision tree+random forest 4 1 6 1 2 14 2 7 random forest +decision tree 2 5 3 4 1 15 3 2 k-means2+random forest 7 4 1 3 5 20 4 5 decision tree+decision tree 4 3 7 6 3 23 5 4 k-means2+decision tree 6 6 4 5 6 27 6 12 winner of kddcup99 1 7 5 7 7 27 6 table 5: compared with control group no. experiment normal dos probe u2r r2l final socre rank 6 decision tree+random forest 4 1 6 1 3 15 1 8 random forest + random forest 2 2 3 3 5 15 1 11 random forest 2 2 2 2 7 15 1 7 random forest + decision tree 1 7 4 5 2 19 4 3 k-means2+ random forest 8 5 1 4 5 23 5 5 decision tree + decision tree 4 4 7 5 4 24 6 10 decision tree 4 5 8 5 9 31 7 9 k-means 9 9 9 5 1 33 8 4 k-means2+ decision tree 7 8 5 5 8 33 8 1. importance of variable used in classifying is different; 2. no.8 has lower false negative rate. • importance of variable as shown as fig. 1, variables chosen by random forest in no.8 and no.11 are different. random forest algorithm can output importance of variables, noted gini index [9]. fig. 1 shows that top 20 have important variables in comparison with top 1, whose value is higher and more important. in no.8, rank of variables is different between normal traffic selection model and abnormal traffic selection model. this means that variable used for predicting normal or abnormal and specific attack is different. therefore, choosing variable in no.11 is influenced by both sides, and output a compromised result when choosing variables, that’s why prediction of model in no.11 has deviation. • comparison of false negative rate in order to evaluate effect on predicting abnormal behavior, false negative rate is used as an important index, which can measure how many attack events are omitted. table 6 shows confusion matrix of results of experiments no.8 and no.11 when using random forest. row express information of prediction, and column express actual information. false negative rate of no.8 in normal type is very low, but high in u2r and r2l type. in no.8, false negative rate of normal selection model in normal is low. without influence of normal training data, false negative rate of abnormal selection model in four specific attack types are lower than no.11. discussing result of no.5 and no.7 no.5 and no.7 respectively compare with no.6 and no.8 by using same algorithm in normal traffic selection model, and their ranks are lower when using decision tree in abnormal traffic 574 h.p. yao, y.q. liu, c. fang (a) no.11 (b) no.8 normal traffic selection model (c) no.8 abnormal traffic selection model figure 1: importance of variables in random forest. an abnormal network traffic detection algorithm based on big data analysis 575 table 6: confusion matrix no.11 prediction normal dos probe u2r r2l normal 60287 5967 847 159 15839 dos 69 223814 191 8 0 probe 233 72 3128 50 104 u2r 1 0 0 10 5 r2l 3 0 0 1 241 false negative 0.00505 0.026273 0.24916 0.95614 0.985113 no.8 normal traffic selection model prediction normal abnormal normal 60289 22853 abnormal 304 227583 false negative 0.005017 0.091253 no.8 abnormal traffic selection model prediction dos probe u2r r2l dos 229231 769 20 4693 probe 297 3393 135 5646 u2r 0 0 39 32 r2l 325 4 34 5818 false negative 0.002706 0.18555 0.828947 0.64062 table 7: confusion matrix of abnormal traffic selection model with decision tree predition dos probe u2r r2l dos 227792 589 34 6245 probe 1434 3192 20 283 u2r 0 0 0 0 r2l 627 385 174 9661 selection model. table 7 is confusion matrix of abnormal traffic selection model with decision tree algorithm. it shows that u2r can not be detected and false negative rate of r2l is higher. in order to find the reason, classify tree is checked in fig. 2, where the classification model prefers dos and probe attack, then r2l attack, and no result point of u2r attack. distribution of training data can explain this phenomenon, which can be shown in fig. 3. when generating decision tree, the obtained information will cause results in favor of feature which have more samples. therefore, if the number of training data set in every group is different enough, it cannot get efficient classification model for small samples. moreover, because the number of between training data is comparatively equal, classification result is better, such as no.6, when normal traffic selection model uses decision tree. discussing result of no.3 and no.4 no.3 and no.4 use k-means in normal traffic selection model to choose clustering center. table 8 shows final prediction accuracies in no.3 and no.4. because final results are lower than that of normal traffic selection model or abnormal traffic selection model, we find that this problem is caused by using k-means in normal selection model. table 9 shows confusion matrix 576 h.p. yao, y.q. liu, c. fang figure 2: classify tree of abnormal traffic selection model. figure 3: distribution of training data. an abnormal network traffic detection algorithm based on big data analysis 577 table 8: accuracy of no.3 and no.4 no. model algorithm accuracy no.3 normal traffic selection k-means 0.926 abnormal traffic selection random forest 0.948 mixed compensation model 0.923 no.4 normal traffic selection k-means 0.925 abnormal traffic selection decision tree 0.961 mixed compensation model 0.918 table 9: confusion matrix of normal traffic selection model of no.3 and no.4 no. prediction normal abnormal no.3 normal 59189 21663 abnormal 1404 228773 no.4 normal 59428 22221 abnormal 1165 228215 of normal traffic selection model of no.3 and no.4. many abnormal records are predicted as normal, which cause high false negative rate. therefore, many abnormal records predicted by abnormal traffic selection model will be regarded as normal after mixed compensation model. nowadays, many novel attacks are unknown to researchers, and many attacks will be disguised as normal. it’s very dangerous to have high false negative rate, and it does not fit the proposed model. because the effect of k-means has great correlation with the number of centers chosen to cluster, and we can fine tune the strength of clustering, and lower the false negative rate to establish a strict normal selection model. in no.3 and no.4, the number of centers for normal traffic and attacks is 100 and 300, respectively. although it can achieve a good overall accuracy, its false negative rate is higher than other model. however, according to table 10, by choosing 4 and 30 in no.1 and no.2, it has lower false negative rate, and only classify four kinds of attacks. besides, a strict normal detection model is established. by adjusting the parameters and reducing false negative rate in no.1 and no.2, we can find that the rank has increased rapidly compared with no.3 and no.4. especially, when kmeans combines with random forest, it has a very high accuracy on probe, u2r and r2l attack. therefore, we can draw the conclusion that by adjusting the parameters of k-means, the strength of abnormal traffic detection can be controlled by adjusting the strength of normal traffic identification. 4.3 summary based on the results analyzed above, as shown in table 11, the following conclusions can be drawn: 1. random forest classification algorithm can adapt to the change of distribution of network data, and this algorithm by using the proposed model can reduce false negative rate. 2. if the number of training data in different group is largely different with each other, the classify model built by decision tree will prefer to attack types, which have more training data. so we should avoid using decision tree in abnormal traffic selection model. however, in the normal traffic selection model, the difference between different groups is comparatively small. in this 578 h.p. yao, y.q. liu, c. fang table 10: results of experiments no. experiment dos probe u2r r2l final rank 1 k-means1+random forest 10 1 1 2 14 1 6 decision tree+ random forest 1 8 2 5 16 2 8 random forest + random forest 2 5 4 7 18 3 11 random forest 2 4 3 9 18 3 3 k-means2+ random forest 5 2 5 7 19 5 2 k-means1+ decision tree 11 3 6 1 21 6 7 random forest + decision tree 7 6 6 4 23 7 5 decision tree + decision tree 4 9 6 6 25 8 9 k-means 9 11 6 3 29 9 4 k-means2+ decision tree 8 7 6 10 31 10 10 decision tree 5 10 6 11 32 11 table 11: summary of model model 1 model 2 model 3 normal traffic selection model k-means1 decision tree random forest abnormal traffic selection model random forest random forest random forest situation, using decision tree can fast get classify model, and the results have higher accuracy. 3. there are more and more unknown abnormal events in the future. in order to avoid loss of false negative prediction, we can change the number of clustering in the normal traffic selection model with k-means algorithm to reduce false negative rate and increase the accuracy of detecting abnormal events. conclusion with the change of distribution of network data, traditional anomaly traffic detection techniques can not fit this situation. in order to solve the problem, we propose an anomaly traffic detection model based on big data analysis. simulation results show that the proposed model achieves a detection rate of 95.4% on normal data, 98.6% on dos attack, 93.9% on probe attack, 56.1% on u2r attack, and 77.2% on r2l attack.therefore, the model can increase the accuracy of attack behavior, and reduce false negative rate. acknowledgment this work was supported by nsfc (61471056) and china jiangsu future internet research fund (by2013095-3-1, by2013095-3-03). bibliography [1] patcha, a.; park, j.m. (2007); an overview of anomaly detection techniques: existing solutions and latest technological trends, computer networks, issn 1389-1286, 51(12): 34483470. [2] lazarevic, a.; kumar, v.; srivastava, j. (2005); intrusion detection: a survey, managing cyber threats, issn 0924-6703, 5: 19-78. an abnormal network traffic detection algorithm based on big data analysis 579 [3] axelsson, s. (1998); research in intrusion-detection systems: a survey, department of computer engineering, chalmers university of technology, goteborg. sweden, technical report 98-17. [4] om, h.; kundu, a. (2012); a hybrid system for reducing the false alarm rate of anomaly intrusion detection system, ieee 1st international conference on recent advances in information technology (rait), isbn 978-1-4577-0694-3, 131-136. [5] kaisler, s. et al (2013); big data: issues and challenges moving forward, ieee 46th hawaii international conference on system sciences (hicss), issn 1530-1605, 995-1004. [6] michael, k.; miller, k.w. (2013); big data: new opportunities and new challenges, computer, issn 0018-9162, 46(6):22-24. [7] russom, p. et al (2011); big data analytics, tdwi best practices report, fourth quarter. [8] fan, w.; bifet, a. (2013); mining big data: current status, and forecast to the future, acm sigkdd explorations newsletter, issn 1931-0145, 14(2): 1-5. [9] james, g. et al (2013); an introduction to statistical learning, springer, issn 1431-875x. [10] guan, y.; ghorbani, a.a.; belacel, n. (2003); y-means: a clustering method for intrusion detection, ieee canadian conference on electrical and computer engineering, issn 08407789, 2:1083-1086. [11] quinlan, j.r. (1993); c4.5: programs for machine learning, morgan kaufmann publishers inc., isbn 1558602402. [12] elbasiony, r.m. et al (2013); a hybrid network intrusion detection framework based on random forests and weighted k-means, ain shams engineering journal, issn 2090-4479, 4(4): 753-762. [13] kdd cup 1999, http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html. may 2015 [14] lippmann, r.p. et al (2000); evaluating intrusion detection systems: the 1998 darpa offline intrusion detection evaluation, ieee proceedings of darpa information survivability conference and exposition (discex), isbn 0-7695-0490-6, 2:12-26. [15] tavallaee, m. et al (2009); a detailed analysis of the kdd cup 99 data set, proceedings of the second ieee symposium on computational intelligence for security and defence applications (cisda), isbn 978-1-4244-3763-4, 1-6. [16] pfahringer, b. (2000); winning the kdd99 classification cup: bagged boosting, acm sigkdd explorations newsletter, issn 1931-0145, 1(2): 65-66. [17] yu, g. d. et al (2014); multi-objective rescheduling model for product collaborative design considering disturbance, international journal of simulation modelling, issn 1726-4529, 13(4): 472-484. [18] gusel, l. r. et al (2015); genetic based approach to predicting the elongation of drawn alloy, international journal of simulation modelling, issn 1726-4529, 14(1): 39-47. [19] prasad, k. et al (2016); a knowledge-based system for end mill selection, advances in production engineering & management, issn 1856-6250, 11(1): 15-28. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 251-260 implementing web services using java technology m. pirnau mironela pirnau “titu maiorescu” university bucharest romania, 22 dambovnicului street, district 4, 040051, bucharest, romania e-mail: mironela.pirnau@utm.ro abstract: there are several essential activities that need to take place in any service-oriented environment such as: a web service has to be created, to have its interfaces and invocation methods defined, its service has to be published to one or more intranet or internet repositories to locate potential users. a web service needs to be located in order to invoke potential different users. the technologies offered by web services enable us to cast older applications, we can use them and the packages already existing in a certain enterprise. the infrastructure associated with older applications can also be wrapped as a serial set of services. in the following pages i tried to present general characteristics of the web services up to present, as well as the usage of java technologies for the implementation of web services. the present paper targets a systematisation of the main web services, as well as highlighting and testing the most important technologies used to develop them. keywords: web service, java, xml, soap and semantic web. 1 introduction web services are software applications that conform to the web service interoperability organization. they are becoming more and more popular and reveal a model in which discrete tasks within e-business processes are widely distributed throughout a value net. the label for "web services" has two levels of meaning one specific and one conceptual. web services represent standards, which describe services oriented to applications with architecture having a base of components. these are software components, which can be reusable, having included functionality [11, 12, 16]. the web services use standard xml languages. they use http for sending messages and they are independent of the platform and of the language. web services are freer systems, and the customer may not have knowledge of the web service up to the time it invokes, being suited to join requests of applications meeting demands of an internet-wide [22]. 2 web services structure web services systems maintain important decoupling and dynamic bonds of the elements. the entire elements in a system represent and publish an application programming interface (api) message to different components in the network that work together. services are comprised among applications by employing service discovery for the dynamic bonds of the partners. the web services show such architecture full of service orientated approach by orchestrating and finding out available network services, or even precise integration of the incidences that are based on the term of constructing applications. the web services’ architecture need three basic performs such as publish, find and bind. the providers publish services toward a certain service interloper [1, 4]. the requesters "find" demands services using an interloper and "bind" to them. the architecture of web services describes certain principles for building and also creating dynamic systems with no single involving. there are many ways to instantiate a web service, choosing various implementation techniques for the roles and operations of the web services structure. from the structure of web services we may mention: the service processes that involve more than one web service, including discovery belongs to this part of the architecture as it allows us to locate one particular service from among a collection of web services. the architecture of web service invokes many layers and joins technologies [22] as we can see in the figure 1. web services can support other network protocols and distributed computing technologies. the implementation, according to the soa principles, is based on the following protocols: http, soap, wsdl, and uddi [17]. copyright c⃝ 2006-2010 by ccc publications 252 m. pirnau http[3] represents the most used internet protocol and also the leading method of transmitting the information within the web. protocol of demand-answer type between the clients and the servers is another type of method to send data through web. simple object access protocol (soap) is a format used to transmit xml message [1, 2]. it also represents a certain type of communication protocol among applications within internet. it is a platform independent protocol no matter the language used and it permits the avoiding firewalls. web services description language (wsdl) is also a xml language that permits the specification of the accessing manner within the web services. it allows the description of the web services, too. universal description discovery and integration has the following acronym uddi. it is a system of registers that is based on xml; it is independent of the platform. uddi is requested by the soap messages that demand a web service [10]. it offers access towards the wsdl descriptive document within the web service, too. figure 1: the architecture layers of the web services the soap mainly specifies the manner we should format demands towards the server and the manner the server could build its own reply. soap represents a popular selection for web services. along the transport, messages might be transmitted within a specific manner between servers and clients. the protocol of choice is represented by the http architecture. the pile depicted above (figure 2) enables web services to leverage the existing internet infrastructure. it creates a low cost of entry to an omnipresent environment. the flexibility is not compromised by the interoperability requirement provided as alternative and value-add technologies [1]. an action that makes a wsdl document available is the service provider sending a wsdl document directly to a service requestor, named "direct publication". the service provider can publish the wsdl document describing the service to a host local wsdl registry, a private uddi registry or to the uddi operator. figure 2: the interoperable base web services stack implementing web services using java technology 253 3 java technologies web services represent web-based enterprise applications which use transport protocols that are xmlbased, open standards in order to exchange data to their clients [18]. from the java technologies we mention the following, presented in the table below [20]. table 1: java technologies wsit web services interoperability technology jax-ws10 the java api for xml web services, package javax.xml.ws jax-rpc the java api for xml processing jaxp provides a java interface to dom, sax, and xslt jaxb java architecture for xml binding, package javax.xml.bind saaj the soap with attachments api for java, package javax.xml.soap jaxr the java api for xml registries jstl javaserver pages standard tag library jsr 181 java web services metadata, package javax.jws as an example of these technologies i shall present the saaj [22] technology that stands for soap with attachments api for java and that provides a standard set of apis in order to send xml documents including attachments over the internet. it is similar to jax-rcc but it needs additional effort both on the client’s and on the server’s side [15, 21]. the saaj apis provides a standard means for handling soap messages. it can be used to create, to inspect and to alter soap messages. saaj also contains methods for creating and sending attachments with the soap message. the attachments may contain data in the shape of any format, not being limited to xml as in the case of the soap messages. the attachments can be used to send inappropriate data in xml format as images for example. the saaj apis offers the attachmentpart class in order to represent the attachment part of a soap message [16]. any soap message object has automatically a soap part object and requires sub-elements but because the attachmentpart objects are optional, we must create and add them ourselves. saaj contains the api in order to create, populate and access soap messages, according to soap and soap attachment specifications. saaj contains api needed to send non-provider-model messages [21]. we present the package relationship in figure 3 . figure 3: saaj package relationship saaj represents a part from jaxm (java api for xml messaging) which was evolved from the jsr expert group [1, 13, 21]. the final form of the specifications show two different aspects: the core functionality concerned with manipulating of the soap messages and a very high level of messaging facility. regarding saaj his an api of a very low standard, which is completely aware of the messages that are exchanged within the web service and its customers [16]. an application that uses saaj needs to construct soap messages little by little and take data out of the reply messages. the usage of saaj demands a great deal of work deposed from the developer’s side than jax-rpc. we present a few cases in which it would be better to be helped by saaj and its relative jaxm instead of using jax-rpc [1, 7]. 254 m. pirnau jax-rpc can be accessed just when the customer and the service are active at the same specific time and we also assume that there is a free network way to bond them. in the case the service is not free the moment the customer accesses it, there is no possibility of using jax-rpc [17, 20]. jaxm is a service that provides a confident service able to deliver without need to demand the customer elements to be included in the way the confidence is offered. saaj as well as jaxm deliver a wide result disposal for messages based on xml. the api from the javax.xml.soap package permits specifications such as: creating a piece of xml; creating access, adding, modifying parts of the soap message; creating a point-to-point contact to a certain endpoint; creating, adding, modifying a certain soap fault of information type etc. the table 2 includes the javax.xml.soap package and includes the api for building soap messages [4, 20]. the package is defined and included in soap with attachments api for javatm is named saaj. saaj a tool for creating and sending messages to allow sellers to bring up the implementations, the entire saaj api is built of interfaces and some classes that are abstract. in order to create a soap message, there is need to be used a messagefactory type message. part of the javax.xml.soap package represents an abstract class and that might be obtained by using the newinstance method. this type of method is represented by the public static messagefactory newinstance that propagates soapexception. the message factory implies two methods to create the soap messages. the first method is represented by one public soapmessage createmessage that throws soapexception. one public soapmessage createmessage(mimeheaders headers, inputstream) which throw soapexception. the second of the methods is used to non-serialize messages in a link of an input. table 2: methods included in the javax.xml.soap package class summary attachmentpart single attachment to a soapmessage object messagefactory factory for creating soapmessage objects mimeheader object that stores a mime header name and the value soapconnection connection that a client might use for transmitting messages to a certain remote party (url) soapconnectionfactory factory for creating soapconnection objects soapelementfactory creating soapelements soapfactory creating various objects existing in the soap xml stack soapmessage soap messages root class the default messages that comes back by the messagefactory createmessage method contains a soappart but also contains no types of attachments. an object of soapenvelope style is included in the soappart. in the middle of the envelope there are certain parts such as the header, made by an object able to implement the soapheader interface and a soap message body in the shape of an object of soapbody classification. the body and the header, both contain certain xml elements. the java technologies represent methods for constructing web services [8]. 4 related work the web semantic implemented and proposed use of the machinery to extend the web represents a common goal. the multiple demands on the web create a semantically temptation having a highly expressive formalisms because the web represents a principled architecture of standards, formalisms and languages [6, 14]. what is specific for web 2.0 is that it connects humans among them and for web 3.0 it is specific that it connects humans to information in a very innovative new manner. web 3.0 functions as an intelligent assistant, which perceives the concepts of the web pages and transmits important information of one individual. it not only looks for robotically through keywords. tim berners-lee is the person who founded the world wide web. he defines the future online environment as being the semantic implementing web services using java technology 255 web [5, 8, 9]. this is the same web 3.0 a type of internet that perceives information and not just transmits it to the client. web 3.0 will be capable to offer for visitors complete data on any subject. the communities that are based on the same complete data exchange will certain develop. mobile web which is supported by mobile intelligent terminals would be able to enable the data access everywhere and anytime. rich internet applications (ria) would appear more and more. web 3.0 represents a much more direct, closer, measurable, reliable and honest communication. the metro style is made up from: jax-ws, jaxb, and wsit and within it is possible to create web services that are secure, transactional, confident and interoperable, also certain customers [15]. the metro elements are a certain part of the project metro, which part of glassfish, java ee (java platform, enterprise edition), and only part in java se (java platform, standard edition). both glassfish and java ee represent support for jax-rpc api [15, 17]. 5 web applications. java web start technology jws (java web start) represents a technology for installing, launching, and updating the java applications directly from the web and uses the jnlp (java network launching protocol). for java applications, that use of the jws technology launches a range of order of javaws application as the following syntax: javaws [ options ] [url], and the options are those in figure 4. figure 4: options for java web start the role of the programmer: creates a java application and archives the program along with its all resources; signs the jar archive (if necessary) and creates a configuration folder (jnlp) that describes the application; creates a web page having a link to the configuration folder and copies on the web server, the jar folder, the jnlp and html one. the role of the user: accesses the link to the application from the programmer’s web page; the application will be installed automatically, locally and installs a jre if necessary; launches in execution the application; for each execution of the application, it verifies if a new version on the programmer’s new web page exists. as a practical application, i have created a project that contains java classes with administration role of the students. the purpose of the application is to use the java start technology and to realize "a following" in using the application for this technology as well as other technologies that i have tested (for example the servlets technology etc). to realise the source, i also used the classes from the swing, awt, sql etc packages. if we open the application in the netbeans ide 6.7 [23] environment, the project window looks like the one in figure 5. 256 m. pirnau figure 5: the window of the application opened in netbeans helped by java web start, the users may access one java application only with click of a mouse on an html link towards a jnlp file for the certain applications from inside the web browser [19]. this should be installed onto the customer machine. it is not necessary to install jdk (java development kit). in order to permit our java application to be ran with java web start, we have to configure the main properties of the manner the ide could construct the project. the moment java web start is accessed, the ide creates automatically a jnlp file and an html page along with the link to the jnlp file, along with the jar file. for the beginning, we must configure the project in order to activate java web start and to locally test the application. so we must choose the properties option from the project’s shortcut menu, and in the window from the figure 6 the suitable settings are set. the application’s project must be configured so that the java web start technology may be used at the launching.certain sources are mixed together and then the main class of the project is launched in execution. the ide mixes sources and we might see the java screen starts, and in the warning window we are asked if the application might be executed and also to select the checkbox and click run inside the proper warning window. the "application" application begins, the same as in figure 7. after activating the application, the dist folder is created and contains for java web start, the following two additional folders: launch.jnlp it is an xml file having special parts and specifications instructing browsers how to run the application. the attributes for the jnlp files might include the jnlp version, application title, the seller’s name, a link of the application of the jar file etc. the configuration folder jnlp is in an xml format and offers information regarding the application that will be installed using jws. its structure is presented in figure 8. launch.html it is generated in an automatic html page a link to the jnlp file. the users might click the link in order to begin applications through java web start (figure 9). how to run an application from a distant location the moment we are sure that the application begins in a successfully manner using java web start from local sources, we might upload this to a distant location and start launching it from far there. in order to develop applications using java web start inside the web, the server of the web is able to manipulate jnlp files. the web server can be configured in order to recognize jnlp files as applications, such as the mime type for jnlp. each web server has a certain manner for adding mime types. to develop our application to the implementing web services using java technology 257 figure 6: project properties web start figure 7: the main menu of the application 258 m. pirnau figure 8: the structure of the launch.jnlp file figure 9: the structure of the launch.html file implementing web services using java technology 259 customer, we should be sure that a web server accesses all the files that contain our application. this may represent typically amounts for copying one or many of the jar files, with a jnlp file, to the directories of the web server. the settings needed to enable the web site sustain that java web start is quite the same to develop a content based on html. in order to launch the application out of the web, we have to use a certain link of the files of applications source in the jnlp file. regarding this, the project is chosen and in the "properties" window the codebase section is defined. the url where the files are loaded has the jnlp extension and also the jar and html extension (figure 10). figure 10: settings for running applications on the web at this moment we may run our application, in the window of a browser, we type the url towards the launch.html file and then press the "launch the application" connection. our "application" application begins with java web start. after analyzing the current application, we may observe that the integration of the applications and of the data sources must be realized without significant changes of the applications and of the data. because the web allows the easy access to information and services, it became a main element of communication having the condition to be used for applications that run it, adequate technologies such as those implemented on the java platform. 6 conclusions the web services represent a wide range of technologies used in the application of distributed implementation at the web system level. these technologies develop a program-to-program communication pattern using the xml standard, which assures a neutral shape report to platforms, programming languages and software specifications. a web services application is an application that interacts with the world using xml for data definition, wdsl for service definition and soap for communication with another software. the fundamental idea of the web services is the integration [16]. this concept represents a set of standard technologies that facilitate the interoperability among heterogenic systems at an organizational level or on the internet. for the optimization of the web aplications, the companies head more and more to the programming environment of java and of the relevant platforms. java represents an independent language regarding the platform that is projected for the web and, at the same time, it is a developing platform of various aplications, no matter the company’s specific. next to the java platform the xml technology has developed having the goal to exchange data among the aplications. as future research i intend to run more applications on java different platforms and to compare both the manner of using these for working in the environment and the security level implemented the platforms. 260 m. pirnau bibliography [1] e. hewitt, java soa cookbook, o’reilly, 2009. [2] j. governor, d hinchcliffe, d , web 2.0 architectures, o’reilly, 2009. [3] j. zukowski, java 6 platform revealed, springerlink date, 2006. [4] *** , soap with attachments api for java (saaj), sun microsystems, tech. rep., 2004. [5] r. volz, s. handschuh, s. staab, l. stojanovic, and n. stojanovic, unveiling the hidden bride: deep annotation for mapping and migrating legacy data to the semantic web, j. web semantics, vol. 1, no. 2, pp. 187-206, 2004 [6] i. dzitac, b. e. barbat, artificial intelligence + distributed systems = agents, international journal of computers, communications and control, 4(1):17-26, 2009. [7] r. chinnici, java api for xml-based rpc (jaxrpc), java community process, tech. rep., 2003. [8] r. nagappan, r. skoczylas, r. sriganesh, developing java web services, wiley 2003. [9] i. dzitac, s. dzitac, e. valeanu, web distributed computing for landscape architecture, in eleftheriadis, n., styliadis, a., paliokas, i. (eds), proceedings of the lant07, international conference landscape architecture and new technologies, 25-26 may 2007, drama, greece, pp. 25-36, 2007. [10] ***, java 2 platform, enterprise edition specification, sun microsystems, tech. rep., 2003; [11] l. duta, f.g. filip, control and decision making in disassembling used electronic products, studies in informatics and control, 17 (1):17-28, 2008. [12] l.a. zadeh, d. tufis, f.g. filip, i. dzitac ( eds), from natural language to soft computing: new paradigms in artificial intelligence, editing house of the romanain academy, bucharest, 2008. [13] n. kassem, a. vijendran, and rajiv.mordani, java api for xml messaging (jaxm), sun microsystems, tech. rep., 2003, http://java.sun.com/xml/downloads/jaxm.html. [14] http://www.nowpublishers.com/. [15] http://java.sun.com/webservices/technologies/index.jsp. [16] http://en.wikipedia.org/wiki/service-oriented_architecture. [17] http://java.sun.com/developer/technicalarticles/webservices/soa/. [18] http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp. [19] http://java.sun.com/javase/6/docs. [20] http://java.sun.com/webservices/docs/1.6/tutorial/doc/. [21] http://www.javapassion.com/webservices. [22] http://www.w3.org/tr/ws-arch/. [23] http://www.netbeans.org. mironela pirnau (1966) has a m.sc. in automatics, faculty of automatics and computing, politechnical university in bucharest ( 1992) and phd in electronics (2003) from university of pitesti. her current interests include applied informatics. since 2008 she has been a lecturer phd at the faculty of science and technology of information, titu maiorescu university in bucharest. she has published books and articles on informatics. she has recently been interested in researches on the use of java technologies in developing applications of informatics. international journal of computers communications & control issn 1841-9836, 9(4):471-481, august, 2014. networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor s.w. tong, d.w. qian, g.p. liu shiwen tong∗ college of automation beijing union university beijing 100101, china ∗ corresponding author: shiwen.tong@buu.edu.cn dianwei qian school of control and computer engineering north china electric power university beijing 102206, china dianwei.qian@ncepu.edu.cn guo-ping liu 1.school of engineering university of south wales portypridd cf37 1dl, uk 2.ctgt center harbin institute of technology harbin 150001, china guoping.liu@southwales.ac.uk abstract: this paper presents a novel networked control framework, using fuzzy logic control, for systems with network delays which are known to greatly weaken the control performance of the controlled system. to deal with the network delays, the predicted differences between the desired future set-points and the predicted outputs from a model predictor are utilized as the inputs of a fuzzy controller, thus a series of future control actions are generated. by selecting the appropriated control sequence in the plant side, the network delays are compensated. the simulative results demonstrate that the proposed method can obviously reduce the effect of network delays, and improve the system dynamic performance. keywords: networked control, model prediction, fuzzy control, delay compensation. 1 introduction the emergence of the network technology has changed the communication architecture of control systems from traditional point-to-point to current common bus. sensors, actuators and controllers are connected through network, formed a feedback control system (namely, networked control system). this architecture has injected fresh blood to the classic and modern control theories and also arises higher challenges to the controller design at the same time. on the one hand, the introduction of the network to the control system brings many advantages such as low cost, easy maintenance and high reliability. on the other hand, the unavoidable time delay, data dropout and other complicated phenomenon existing in the network should be considered. in recent years, networked control theory and technology have become an important and hot research area. scholars from different countries have made a lot of breakthroughs in the networked control [1][8]. network delay has become one of the most concerned issues in the networked control system. because the network delays can dramatically degrade the control performance of the systems copyright © 2006-2014 by ccc publications 472 s.w. tong, d.w. qian, g.p. liu even makes the systems unstable. from recent published literatures, it can be seen that the treatment of the network delays can be summarized in the following: the first one is to integrate delay information into the controller design by designing a robust controller to decrease the effect of time delay [3], [6][8]; the second one is to estimate delay information in the backward or forward channel by using reason-rule-table, average-value or delay windows (dw) method [9,10]; the third one is to eliminate the network delays in the return path by using a cascade control structure with p (proportion) control in the inner loop and fuzzy adaptive control in the outer loop [4]; as we all known, one of the obvious characteristics of the networked control system is that the communication networks can transmit a packet of data simultaneously. this feature provides another solution to compensate for network delays in the forward channel [11,12]. based on it, liu et al. [1, 2] proposed networked predictive control (npc), using the strings of future control actions, to compensate for the forward channel delays. in this paper, we try to design a networked controller by using fuzzy control theories. different from networked predictive control method, we separate the model prediction from the controller design. the function of the model predictor is just to produce future predicted outputs. a fuzzy controller is designed to generate a series of future control sequence based on the errors between the desired future outputs and the model predicted outputs. then the strings of future control actions are packed and sent to the plant side through the communication channel. thus, the effect of delays in the forward channel is lessened by using a delay compensator in the plant side. predictive control and fuzzy control are powerful tools. they have been used in the design of the networked controller [1][5], [7, 8]. some researchers have connected the prediction to the fuzzy control and have proposed ’predictive fuzzy control’ method [13, 14]. they use ’future error’ and ’future error change’ as inputs of the fuzzy controller to produce the control actions at the current time. to my knowledge, the combination of networked control system and the predictive fuzzy control has not been reported except one paper written by us in 2007 [15]. we call it ’networked predictive fuzzy control’ with abbreviation npfc. the core idea of the npfc is producing ’future control actions’ by fuzzy controller design according to the ’future error’ and ’future error change’ from a model predictor. then the network delays can be compensated by choosing the ’future control actions’. this paper is organized as follows: the architecture of networked predictive fuzzy control (npfc) is firstly presented. secondly, a model predictor based on diophantine equation is proposed. thirdly, the fuzzy controller using ’future errors’ and ’future error changes’ as inputs to derive ’future control actions’ is designed. then the delay compensation mechanism is discussed and the method is implemented in a servo control system. finally, the conclusions are drawn in section 4. 2 design of networked control systems 2.1 structure of networked predictive fuzzy control systems the networked predictive fuzzy control system as shown in fig. 1 mainly consists of three key parts: the model predictor, the fuzzy controller and the delay compensator. the model predictor is used to predict future outputs of the controlled system y(t|t), y(t + 1|t), · · · , y(t + n − 1|t) according to the delayed output y(t − 1) of the controlled system in the backward channel and the control actions u(t − d − 1), u(t − d − 2), · · · , u(t − d − nb) in the past. the errors e(t|t), e(t + 1|t), · · · , e(t + n − 1|t) between the desired future outputs r(t|t), r(t + 1|t), · · · , r(t + n − 1|t) and the predictive future outputs y(t|t), y(t + 1|t), · · · , y(t + n − 1|t) of the controlled system can be used to design a fuzzy controller to produce the future control sequences u(t|t), u(t + networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor 473 1|t), · · · , u(t+nu −1|t). then the future control sequences are packed and sent to the plant side through network. in the plant side, a delay compensator is used to compensate for the forward network delays by selecting appropriate control sequence. figure 1: structure of networked predictive fuzzy control system 2.2 model predictor the function of the model predictor is to produce a series of future outputs of the controlled object according to the delayed output in the backward channel and the control actions in the past. models, no matter linear or nonlinear model, of such functions can all be the predictor. to simplified the issue and focus on the research work step by step, we only consider forward channel delays in this paper. this consideration is reasonable in some cases. for example, in a network that the transmission velocity in the backward channel is faster than the forward channel thus the delays in the backward channel can be neglected. therefore a linear model predictor based on the diophantine equation is proposed. consider a single-input and single-output process with the following form a(z−1)y(t) = z−db(z−1)u(t) (1) where, a(z−1) = 1 + a1z −1 + · · · + anaz −na b(z−1) = b0 + b1z −1 + · · · + bnbz −nb introducing a diophantine equation to derive the model predictor. ∆a(z−1)ei(z −1) + z−ifi(z −1) = 1 (2) where, ei(z−1) is of order i − 1 and fi(z−1) is of order na. ei(z −1) = 1 + i−1∑ j=1 ei,jz −j, fi(z −1) = na∑ j=0 fi,jz −j. 474 s.w. tong, d.w. qian, g.p. liu define n as predictive horizon, nm as model control horizon, from (1) and (2), the predicted value yp(t + 1) of the controlled system can be obtained. yp(t + 1) = p∆u(t − d) + q∆u(t − d − 1) + fy(t − 1) (3) where, p =   g0 0 · · · 0 g1 g0 · · · 0 ... ... . . . ... gnm−1 · · · · · · g0 ... ... · · · ... gn−1 gn−2 · · · gn−nm   yp(t + 1) = [yp(t|t), yp(t + 1|t), · · · , yp(t + n − 1|t)]t ∆u(t − d) = [∆u(t − d), ∆u(t − d + 1), · · · , ∆u(t − d + nm − 1)]t ∆u(t − d − 1) = [∆u(t − d − nb), ∆u(t − d − nb + 1), · · · , ∆u(t − d − 1)]t f = [f1(z −1), f2(z −1), · · · , fn(z−1)]t q =   gnb · · · g1... · · · ... gnb+n−1 · · · gn   let gi(z−1) = b(z−1)ei(z−1) = g0+g1z−1+· · ·+gnb+i−1z −(nb+i−1), we can construct matrix p and q by solving the diophantine equation. it should be noted that the item ∆u(t−d) = [∆u(t−d), ∆u(t−d+1), · · · , ∆u(t−d+nm−1)]t in equation (3) can not be obtained at the current time t. we assume ∆u(t − d + i) = 0, i = 0, 1, · · · , nm − 1. this assumption is reasonable. on the one hand, the dynamic response of the future time can be reflected by using the past control actions and the previous process outputs. on the other hand, the item y(t − 1) is corresponding to the correction of the predicted model. that is y(t − 1) = ym(t − 1) + e(t − 1), where ym(t − 1) is the model output and e(t − 1) is the error between the process output and the model output. 2.3 fuzzy controller the successful implementation of networked predictive fuzzy control relies on an assurance that the fuzzy controller must calculate all the pre-defined control actions in every sample time. so the fuzzy control algorithm should be simple and suitable to the real-time control. a realtime simplified fuzzy controller [16] is used to generate the future control actions. unlike the ordinary fuzzy control, which uses error and error change at the present time to produce the current control action, the networked predictive fuzzy controller uses ’future error’ and ’future error change’ to derive ’future control actions’. the ordinary fuzzy control can be regarded as a special condition of the networked fuzzy control when the predictive step is equal to zero. this networked predictive fuzzy controller has two-input one-output. one input is the error e between the desired future output and the predicted output. the other one is the change of the error ec. the output of the fuzzy controller is the change of the future control action ∆u. the membership functions of e and ec are adopted as triangular forms and the membership function of the output ∆u is adopted discrete form as fig. 2 shown. the ’simplification’ of the fuzzy controller relays on the inference process. for the typical two-input-one-output fuzzy controller, only four control rules are excited at each cycle time with networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor 475 figure 2: membership functions of e, ec and ∆u. (a) is the membership function of input e, (b) is the membership function of input ec, (c) is the discrete form membership function of output ∆u. the form ’if e is le and ec is lec, then ∆u is l∆u’, where l is the linguistic variables pb, pm, ps, ze, ns, nm, nb. due to the characteristic of the triangular membership function, e is at most belong to two membership functions µie and µ i+1 e , ec is at most belong to two membership functions µjec and µ j+1 ec , thus ∆u has 2 × 2 combinations, that is four control rules: if e is l(i)e and if ec is l (j) ec then ∆u is l (i,j) ∆u if e is l(i)e and if ec is l (j+1) ec then ∆u is l (i,j+1) ∆u if e is l(i+1)e and if ec is l (j) ec then ∆u is l (i+1,j) ∆u if e is l(i+1)e and if ec is l (j+1) ec then ∆u is l (i+1,j+1) ∆u from fig. 2(c) shown, output ∆u is adopted discrete form membership function. it is assumed that output domain has been divided into cm(k), m = 1, 2, · · · , n. do minimum and maximum operator, calculate µ̃ (m) l (i,j) ∆u = ∧(µ l (i) e , µ l (j) ec , µ (m) l (i,j) ∆u ) µ̃ (m) l (i,j+1) ∆u = ∧(µ l (i) e , µ l (j+1) ec , µ (m) l (i,j+1) ∆u ) µ̃ (m) l (i+1,j) ∆u = ∧(µ l (i+1) e , µ l (j) ec , µ (m) l (i+1,j) ∆u ) µ̃ (m) l (i+1,j+1) ∆u = ∧(µ l (i+1) e , µ l (j+1) ec , µ (m) l (i+1,j+1) ∆u ) (4) and ˜̃µ(m)∆u = ∨(µ̃(m) l (i,j) ∆u , µ̃ (m) l (i,j+1) ∆u , µ̃ (m) l (i+1,j) ∆u , µ̃ (m) l (i+1,j+1) ∆u ) (5) where m = 1, 2, · · · , n it is not easy to directly get the inference rules of the future; however, the typical dynamic of the second order system can be obtained ahead of time. fig. 3 presents the phase plane of 476 s.w. tong, d.w. qian, g.p. liu −0.04 −0.02 0 0.02 0.04 0.06 0.08 0.1 −0.08 −0.06 −0.04 −0.02 0 0.02 0.04 e ec pb nb ps ns ze nb nm ns pb pm ps ze ze ze figure 3: phase plane and fuzzy control rules analysis of typical second order linear system. the typical second order linear system with the x-axis standing for variable e and y-axis standing for variable ec. from this figure, it can be seen that the points in x-axis and y-axis are crucial. if these points are controlled very well, the control performance is guaranteed. so the main inference rules are deduced as shown in table 1. table 1: main control rules of the fuzzy controller in npfc no. control rules 1 if e = pb and ec = ze then ∆u = pb 2 if e = ze and ec = nb then ∆u = nb 3 if e = nb and ec = ze then ∆u = nb 4 if e = ze and ec = pb then ∆u = pb 5 if e = ps and ec = ze then ∆u = ps 6 if e = ze and ec = nm then ∆u = nm 7 if e = ns and ec = ze then ∆u = ns 8 if e = ze and ec = pm then ∆u = pm 9 if e = ze and ec = ns then ∆u = ns 10 if e = ze and ec = ps then ∆u = ps 11 if e = ze and ec = ze then ∆u = ze thus, the incremental control actions ∆u(t + η) = n∑ m=1 ˜̃µ(m)∆u ∗ cm n∑ m=1 ˜̃µ(m)∆u (6) and the predicted control actions u(t + η) = u(t + η − 1) + ∆u(t + η), η is integer and 0 ≤ η ≤ nu − 1 (7) can be given, where nu is the control horizon. if e is the error and ec is the error change at present time, then ∆u is the incremental control action at present time. if e and ec are the values of the future time, then the future incremental control actions can be derived. networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor 477 as paper [17][19] presents, variable domain implemented in the fuzzy control can greatly improve the control accuracy, which has successfully been applied to the control of a quadruple inverted pendulum [20] and the wing rock phenomenon [21]. this is achieved by the domain contraction and expansion. domain contraction is equivalent to the increase of the control rules. although the real-time algorithm has considered only 11 rules, together with the variable domain strategy, the fuzzy controller can acquire satisfactory control performance. the varies of domain can be achieved by multiplying flex factors α(e), β(ec) and γ(e, ec) of domains e, ec and ∆u, respectively. there are many different forms of flex factors. in this paper, we adopt the exponential form of functions: α(e) = [ |e| e ]τ1 , 0 < τ1 < 1 β(ec) = [ |ec| ec ]τ2 , 0 < τ2 < 1 γ(e, ec) = [[ |e| e ]τ1 [ |ec| ec ]τ2]τ3 , 0 < τ1, τ2, τ3 < 1 (8) to summarized, the networked predictive fuzzy controller has eleven parameters to be designed. four parameters are related to the model predictor. they are the order of the predictive model na and nb, the predictive horizon n, and the model control horizon nm. seven parameters are belong to the networked fuzzy controller. they are the control horizon nu, the scaling gains ke, kec, k∆u of error e, error change ec and incremental control action ∆u, and the variable domain parameters τ1, τ2 and τ3. the program steps for the networked predictive fuzzy control plus variable domain strategy are summarized below: step 1 : use equation (3), calculate the future outputs yp(t|t), yp(t + 1|t), · · · , yp(t + n − 1|t) of the controlled system according to the delayed output of the feedback channel and the previous control actions. step 2 : calculate the differences between the desired future outputs r(t|t), r(t + 1|t), · · · , r(t + n −1|t) and the model predicted values yp(t|t), yp(t+1|t), · · · , yp(t+n −1|t) to get e(t|t), e(t+ 1|t), · · · , e(t + n − 1|t) and ec(t|t), ec(t + 1|t), · · · , ec(t + n − 1|t). step 3 : adjust input and output domain using equation (8) in terms of e(t + η) and ec(t + η). step 4 : calculate membership functions of input e(t + η) and ec(t + η) and output ∆u(t + η). step 5 : use minimum-maximum inference method [see equation (4) and (5)]. step 6 : calculate the predicted control actions u(t + η) using equation (6) and (7). step 7 : let η = 0 to nu − 1, repeat step 3-6. step 8 : send the control actions ∆u(t),∆u(t + 1),· · · ,∆u(t + nu − 1) with a packet to the plant side. step 9 : select the control action u(t|t − k) and add to the controlled process. step 10 : in the next sample time, repeat step 1-9. 2.4 network delays compensation it is assumed that the network communication delay in the forward channel is not greater than the length of the predicted control horizon. to make use of the ’packet transmission’ characteristic of the network, a string of future control actions which contain u(t), u(t+1), · · · u(t+ nu − 1) at sample time t are sent to the plant side at the same time. then the control value from the latest control sequence available on the plant side is chosen as a control input of the plant to compensate for the forward channel delay. for example, if the latest control sequence 478 s.w. tong, d.w. qian, g.p. liu on the plant side is   u(t − k|t − k) u(t − k + 1|t − k) ... u(t − k + nu − 1|t − k)   then the output selected control signal will be u(t) = u(t|t − k) 0 2 4 6 8 10 12 −5 0 5 10 15 20 25 30 35 40 45 time(s) a n g le (d eg re e) npc npfc reference no delay compensation figure 4: the step responses of npc and npfc with 1-step forward channel delay. 3 simulations consider the servo control system as reference [2] shown. the system model with discrete form is as follows: g(z−1) = −0.00886z−1 + 1.268227z−2 1 − 1.66168z−1 + 0.6631z−2 (9) where sample time is 0.04 second. suppose there is one step delay in the forward channel, following section 2.2 and section 2.3, we design a linear model predictor and a real-time fuzzy controller. the parameters of the model predictor are: na = 2, nb = 2, n = 12, nm = 10. the parameters of the networked fuzzy controller are: nu = 10, ke = 0.00125, kec = 0.02, k∆u = 0.6, τ1 = 0.1, τ2 = 0.1 and τ3 = 0.01. the npc parameters are set to n = 12, nu = 10, ρ = 1500. fig. 4 shows the control performance of npfc and npc. the dot line is the set-point. the solid line stands for the npfc method. the dash line stands for npc method. the dash-dot line stands for the nfpc method without delay compensation. from the figure, it can be seen that the npfc can be regulated better than the npc in control performance with rapid dynamic and small overshot. the delay compensation mechanism is very effective. suppose the case that six step delays exist in the forward channel. the npfc controller parameters are adjusted as: ke = 0.0004, kec = 0.008, k∆u = 0.08, and the npc parameters networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor 479 are set to n = 25, nu = 10, ρ = 100000. to testify the control performance of the networked predictive fuzzy control method, the results of the npc and the npfc are presented in fig. 5. through model prediction, fuzzy controller design and delay compensation, the npfc presents very obviously better performance than npc method. the rising time of npfc is about 1.1 seconds while 1.5 seconds for npc method. moreover, npc has 3.75% overshot while npfc has nearly no overshot. when npfc method not considers delay compensation, static errors can be seen in fig. 5. on the contrary, the dynamic response reaches steady state after 1.4 seconds when the delay compensator is acting. 0 2 4 6 8 10 12 −5 0 5 10 15 20 25 30 35 40 45 time(s) a ng le (d eg re e) npc npfc reference no delay compensation figure 5: the step responses of npc and npfc with 6-step forward channel delay. 4 conclusions this paper proposes a network predictive fuzzy controller structure. by solving the diophantine equation, the linear model predictor generates a series of predictive outputs of the controlled system according to the outputs and the control sequence in the past time. the errors between the desired future outputs and the predictive outputs from the linear model predictor and the error change are used to design a real-time fuzzy controller. so a series of future control sequence is produced in the controller side. by selecting the appropriate control sequence in the plant side, the delays in the forward channel are compensated. because npfc has more parameters which can be regulated, the control performance can be adjusted better than npc method. acknowledgments this work was supported in part by the beijing municipal excellent talents funded project (grant no. 2013d005022000003), the korea foundation for advanced studies fellowship to dianwei qian, and the national natural science foundation of china (grant no. 61273104 and 61333003). 480 s.w. tong, d.w. qian, g.p. liu bibliography [1] liu g. p.; rees d.; chai s. c.; nie x. y. (2005); design, simulation and implementation of netowrked predictive control systems, measurement and control, issn 2029-2940, 38:17-21. [2] liu g. p.; mu j. x.; rees d.; chai s. c. (2006); design and stability analysis of networked control systems with random communication time delay using the modified mpc, international journal of control, issn 0020-7179, 79(4):288-297. [3] mahmoud m. s.; saif a. a. (2012); robust quantized approach to fuzzy networked control systems, ieee journal on emerging and selected topics in circuits and systems, issn 2156-3357, 2(1):71-81. [4] du f.; qian q. q. (2008); the research of heterogeneous networked control systems based on modify smith predictor and fuzzy adaptive control, ieee international conference on fuzzy systems. [5] tang p. l.; de s. c. w. (2006); compensation for transmission delays in an ethernet-based control network using variable-horizon predictive control, ieee transactions on control systems technology, issn 1063-6536, 14(4):707-718. [6] jia x. c.; zhang d. w.; zheng l. h.; zheng n. n. (2008); modeling and stabilization for a class of nonlinear networked control systems: a t-s fuzzy approach, progress in natural science, issn 1002-0071, 18(8):1031-1037. [7] jiang x. f.; han q. l. (2008); on designing fuzzy controllers for a class of nonlinear networked control systems, ieee transactions on fuzzy system, issn 1063-6706, 16(4):10501060. [8] hajebi p.; almodarresi s. m. t. (2012); online adaptive fuzzy logic controller using neural network for networked control systems, international conference on advanced communication technology. [9] ren c. q.; wu p. d.; wang x. f.; ma s. y.; chen z. l. (2002); a study on the forecast arithmatic of hydraulic telecontrol system based on internet, journal of beijng institute of technology, issn 1004-0579, 22(1):85-89. (in chinese) [10] zhen w.; xie j. y. (2002); on-line delay-evaluation control for networked control systems, ieee conference on decision and control. [11] zhang y. y.; zhang j. l.; luo x. y.; guan x. p. (2013); faults detection for networked control systems via predictive control, international journal of automation and computing, issn 1476-8186, 10(3):173-180. [12] tang x. m.; ding b. c. (2012); design of networked control systems with bounded arbitrary time delays, international journal of automation and computing, issn 1476-8186, 9(2):182190. [13] li p. f.; yan x. p.; qiu l. p.; zhou q. y.(2009); study on predictive fuzzy control of great inertia system based on grey model, 2009 second international conference on intelligent computation technology and automation. [14] hu j. q.; rose e.(1997); predictive fuzzy control applied to the sinter strand process, control engineering practice, issn 0967-0661, 5(2):247-252. networked predictive fuzzy control of systems with forward channel delays based on a linear model predictor 481 [15] tong s. w.; liu g. p.(2007); design and simulation of fuel cell networked predictive fuzzy control systems, proceedings of the 26th chinese control conference. [16] tong s. w.; liu g. p.(2008); real-time simplified variable domain fuzzy control of pem fuel cell flow systems, european journal of control, issn 0947-3580, 14(3):223-233. [17] li h. x. (1995); to see the success of fuzzy logic from mathematical essence of fuzzy control, fuzzy systems and mathematics, issn 1001-7402, 9(4):1-14. (in chinese) [18] oh s. y.; park d. j. (1995); self-tuning controller with variable universe of discourse, ieee international conference on systems, man and cybernetics. [19] li h. x. (1999); variable universe adpative fuzzy controller, science in china (series e), issn 1006-9321, 20(1):32-42. [20] li h. x.; miao z. h.; wang j. y. (2002); variable universe adaptive fuzzy control on the quadruple inverted pendulum, science in china (series e), issn 1006-9321, 45(2):213-224. [21] liu z. l.; su c. y.; svoboda j. (2004); control of wing rock phenomenon with a variable universe fuzzy controller, proceeding of the american control conference. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 160-170 ewma algorithm in network practice p. čisar, s. bošnjak, s. maravić čisar petar čisar telekom srbija prvomajska 2-4, subotica, serbia e-mail: petarc@telekom.rs saša bošnjak faculty of economics segedinski put 9-11, subotica, serbia e-mail: bsale@eccf.su.ac.yu sanja maravić čisar subotica tech marka oreškovića 16, subotica, serbia e-mail: sanjam@vts.su.ac.rs abstract: abstract: intrusion detection is used to monitor and capture intrusions into computer and network systems which attempt to compromise their security. many intrusions manifest in changes in the intensity of events occuring in computer networks. because of the ability of exponentially weighted moving average (ewma) control charts to monitor the rate of occurrences of events based on their intensity, this technique is appropriate for implementation in control limits based algorithms. the paper also gives a review of a possible optimization method. the validation check of results will be performed on authentic network samples. keywords: intrusion detection, ewma, control limits, optimization, autocorrelation 1 introduction the exponentially weighted moving average is a statistic for monitoring the process that averages the data in a way that gives less and less weight to data as they are further removed in time. for the ewma control technique, the decision regarding the state of control of the process depends on the ewma statistic, which is an exponentially weighted average of all prior data, including the most recent measurements. by the choice of weighting factor λ , the ewma control procedure can be made sensitive to a small or gradual drift in the process. the statistic that is calculated is the following: ew mat = λyt +(1− λ )ew mat−1 t = 1,2,...,n (1) where • ew ma0 is the mean of historical data (target) • yt is the observation at time t • n is the number of observations to be monitored including ewma0 • 0 < λ ≤ 1 is a constant that determines the depth of memory of the ewma. copyright c⃝ 2006-2010 by ccc publications ewma algorithm in network practice 161 this equation has been established by roberts as described in [4]. the parameter λ determines the rate at which "older" data enter into the calculation of the ewma statistic. a value of λ = 1 implies that only the most recent measurement influences the ewma. thus, a large value of λ = 1 gives more weight to recent data and less weight to older data a small value of λ gives more weight to older data. the value of λ is usually set between 0.2 and 0.3 [2] although this choice is somewhat arbitrary. lucas and saccucci [3] have shown that although the smoothing factor λ used in an ewma chart is usually recommended to be in the interval between 0.05 to 0.25, in practice the optimally designed smoothing factor depends not only on the given size of the mean shift δ , but also on a given in-control average run length (arl). the estimated variance of the ewma statistic is approximately: σ 2ew ma = λ 2− λ · σ 2 (2) where σ is the standard deviation calculated from the historical data. the center line for the control chart is the target value or ew ma0. the upper and lower control limits are: ucl = ew ma0 + kσew ma (3) lcl = ew ma0 − kσew ma where the factor k is either set equal 3 (the 3-sigma control limits) or chosen using the lucas and saccucci tables (arl = 370). in addition to the aforementioned authors, the publications [6]-[13] have also dealt with the topic of ewma statistics and statistical anomaly detection in computer networks. control charts are specialized time series plots, which assist in determining whether a process is in statistical control. some of the most widely used forms of control charts are x-r charts and individuals charts. these are frequently referred to as "shewhart" charts after the control charting pioneer walter shewhart who introduced such techniques. these charts are sensitive to detecting relatively large shifts in the process (i.e. of the order of 1.5σ or above). in computer network practice, shifts can be caused by intrusion or attack, for example. two types of charts are primarily used to detect smaller shifts (less than 1.5σ ), namely cumulative sum (or cusum) charts and ewma charts. a cusum chart plots the cumulative sums of the deviations of each sample value from a target value. an alternative technique to detect small shifts is to use the ewma methodology. this type of chart has some very attractive properties, in particular: 1. unlike x-r and individuals charts, all of the data collected over time may be used to determine the control status of a process. 2. like the cusum, the ewma utilizes all previous observations, but the weight attached to data exponentially decreases as the observations become older and older. 3. the ewma is often superior to the cusum charting technique due to the fact that it better detects larger shifts. 4. ewma schemes may be applied for monitoring standard deviations in addition to the process mean. 5. ewma schemes can be used to forecast values of a process mean. 6. the ewma methodology is not sensitive to normality assumptions. 162 p. čisar, s. bošnjak, s. maravić čisar in real situations, the exact value of the shift size is often unknown and can only be reasonably assumed to vary within a certain range. such a range of shifts deteriorates the performance of existing control charts. one of the algorithms for determining the maximal shift in normal traffic is described in [17]. the paper describes the process of application of ewma algorithm for one major user, given as an example. it can be shown that the obtained results are valid for the other analyzed users as well. this research uses samples of authentic network traffic (i.e. traffic intensity in a unit of time). traffic analysis is realized in the form of statistical calculations on samples which derives from traffic curve. from the appropriate pattern of internet traffic, 35 samples of local maximums are taken in order to ensure that the statistical analysis is performed on a large sample (number of samples n > 30), thus supporting and leading to general conclusions. the aim of this research is to determine those allowed ewma values of traffic, that when they are exceeded, it will be considered as the appearance of a statistical anomaly suspected to attack. in this sense, the choice of only local maximums for analysis can be accepted as logical, because the critical point of maximum value of aggregate traffic is in this way also included. the proposed method of calculating the overall optimal value λ is applied to traffic patterns, on the basis of which the lower and upper control limits of traffic are determined. for statistical detection of an attack the primary interest is the appearance of a situation in which the upper control limit is exceeded. the overstepping of the lower control limit can be understood as a statistical anomaly, but in the case of this research, it is only related to the local maximum (and not to the aggregate network traffic) and as such does not endanger the security of the computer network in general. therefore, the situation in which the value of network traffic falls below some lower limit is not considered to be a suspicious event or attack, because the initial presumption of this research is the increase of traffic during an external attack. for the observed pattern of traffic, ewma values are calculated and if these values are outside of the control limits, that situation is interpreted as a statistical anomaly. emphasis in this work is placed on determining the occurrence of false alarms, as an important security feature of applied algorithm. 2 optimized exponential smoothing calculating the optimal value of parameter λ is based on the study of authentic samples of network traffic. random variations of network traffic are normal phenomena in the observed sample. in order to decrease or eliminate the influence of individual random variations of network traffic on occurrence of false alarms, the procedure of exponential smoothing is applied, as an aspect of data preprocessing. for any time period t, the smoothed value st is determined by computing: st = λ yt−1 +(1− λ )st−1 where 0 < λ ≤ 1 and t ≥ 3 (4) this is the basic equation of exponential smoothing. the formulation here is given by hunter [2]. this smoothing scheme begins by setting s2 to y1, where si stands for smoothed observation or ewma, and yi stands for the original observation. the subscripts refer to the time periods 1, 2, ..., n. for example, the third period is s3 = λ y2 +(1− λ )s2 and so on. there is no s1. the optimal value for λ is the value which results in the smallest mean of the squared errors (mse). the initial ewma plays an important role in computing all the subsequent ewma’s. there are several approaches to define this value: 1. setting s2 to y1 2. setting s2 to the target of the process 3. setting s2 to average of the first four or five observations ewma algorithm in network practice 163 it can also be shown that the smaller the value of λ , the more important is the selection of the initial ewma. the user would be well-advised to try several methods before finalizing the settings. for different input values of initial parameter s2, an application in "matlab" is created which calculates and plots the dependence of sse and partial value of λ in range of 0 ÷1, with adjustable step. in addition, the optimal value λopt is also calculated. for the optimal value, in accordance with the smoothing scheme, that particular value is taken for which the sse is minimal. the following figure shows an example for calculating the optimal value of the parameter λ for a specific s2. figure 1: calculation λopt (sse) due to the lack of an exact method of calculation in available publications about the determination of the initial s2 in the procedure of exponential smoothing, the authors of this paper have dealt with researching the link between selection of s2 = y1 and λopt , i.e. s2(λopt). in that sense, the range of s2 is determined using the lowest to the highest sample value during the period of observation. this research was conducted on an authentic sample of network traffic of an internet service provider and the segment of observation was the range of values of local maximums (in this concrete case from 8 to 34 mb/s), with a large enough number of values n = 33 > 30, taking into account the generality of conclusions. the period of observation was one month. the next table (table 1) shows the numerical and graphical dependence s2(λopt). since a set of different results has been obtained for partial values of λopt , the authors suggest for the overall optimal parameter λopt to accept the average of all the partial results (in this particular case it is 0.75). 3 autocorrelation autocorrelation or serial correlation of time series means that the value of the observed variable in a time unit depends on values which appear prior to or later in series. in practical situations, autocorrelation of the first order is usually examined, which may be shown by a simple correlation coefficient or so-called autocorrelation coefficient. let rt be the time series data, where t = 1,2,...,t , then the autocorrelation coefficient of the first order is given by: 164 p. čisar, s. bošnjak, s. maravić čisar s2 λo pt 1 8 0.72 2 9 0.72 3 10 0.72 4 11 0.72 5 12 0.71 6 13 0.71 7 14 0.72 8 15 0.72 9 16 0.72 10 17 0.72 11 18 0.72 12 18.5 0.73 13 19 0.73 14 19.5 0.73 15 20 0.73 16 20.5 0.73 17 21 0.74 18 21.5 0.74 19 22 0.74 20 22.5 0.75 21 23 0.75 22 23.5 0.75 23 24 0.75 24 25 0.76 25 26 0.77 26 27 0.77 27 28 0.78 28 29 0.79 29 30 0.8 30 31 0.8 31 32 0.81 32 33 0.82 33 34 0.82 table 1: calculation of s2(λopt) ρ(r) = t∑ t=2 rt rt−1√√√√ t∑ t=2 r2t t∑ t=2 r2t−1 -1 ≤ ρ ≤ 1 (5) one of the standard features of traffic time series is that increasing rates of traffic rt are not mutually significantly autocorrelated, ie. the value of autocorrelation coefficient is near zero. at the same time, this means that the distribution of positive and negative values of increasing rates is random and that does not follow a specific systematic regularity. positive autocorrelation implicates that the positive values are followed by mainly positive values and negative values by negative ones and then is ρ ≈ +1. in the case of negative autocorrelation, there is often a change of sign, i.e. the positive rate in most cases leads to a negative rate and vice versa and then is ρ ≈ −1. since there is no typical scheme, on the basis of positive rate in particular time period there is now way of concluding (it can not be concluded) with a significant probability that in the next period either a growth or decline will appear. the same applies to the situation for the negative rate. researchers in [5] dealt with the influence of autocorrelated and uncorrelated data on the behavior of intrusion detection algorithm. in their work they came to conclusion that ewma algorithm for autocorrelated and uncorrelated data works well in the sense of intrusion detection in some information systems. the advantage of ewma technique for uncorrelated data is that this technique (as opposed to the case of autocorrelated data) can detect not only rapid changes in the intensity of events, but also small changes in the mean value realized through the gradual increase or decrease of the intensity of events. however, in ewma for uncorrelated data, the initial value of smoothed intensity events is to be reset after intrusion detection, in order to avoid the impact of current values of parameters on future results (carry-over effect). in case of ewma for autocorrelated data this reset is not necessary, because ewma automatically adjusts the upper and lower control limits. generally, the smoothing constant should not be too small, so that a short-term trend in the intensity of events in the recent past can be detected.other ewma algorithm in network practice 165 publications have also shown the need for taking into account the autocorrelation of input data. as it is emphasized in [18], in the case of dynamic systems the autocorrelation in variables is taking into account incorporating time lags of the time series during the modeling stage. samples of network traffic were obtained by network software "mrtg" (multi router traffic grapher) version 2.10.15. this software generates three types of graphs: • daily with calculation of 5-minute average • weekly with calculation of 30-minute average • monthly with calculation of 2-hour average the graphs also enable numerical information on the maximum and average traffic for the appropriate period of time. daily, weekly and monthly graphs of the first measurement will be used for calculation of initial historical data, while the application of ewma statistics, with aim of checking the validity of certain parameters, will be realized on daily, weekly and monthly traffic graphs of the second measurement. for the application of exponential smoothing method to network traffic it is necessary first to determine the historical values: ew ma0 and standard deviation σ0. for this purpose, it is necessary to collect appropriate traffic samples to perform adequate calculations. this study will use a total of 105 samples of local maximum: 35 samples from the daily traffic graph, 35 samples from the weekly traffic graph and 35 samples from the monthly traffic graph (table 2). time yt(daily) yt(weekly) yt(monthly) 1 12 21 23 2 10.5 22.5 30 3 8.5 23 27 4 10.5 20 27 5 18 20.5 25 6 22 23.5 27 7 25.5 24 22 8 20 21 24 9 33.9 23 23 10 25 25 20 11 24 25.5 24.5 12 26.5 24.5 26.5 13 27.5 22 28 14 23 25.5 27 15 25 27 23 16 24 28 22.5 17 23 27 26.5 18 23 28 31 19 22 25.5 22.5 20 23 30 22.5 21 23 29 27 22 23 26.5 25 23 23 29 26 24 16 26.5 28 25 16 27.5 21 26 9 26 24 27 11.5 25 22 28 8.5 24 22 29 8.5 23.5 22 30 14 22 23 31 23 22.5 27 32 23 24 29 33 20 24 25 34 23 25 25 35 23 23 22 table 2: network samples on the basis of the data presented in the table the following can be calculated: ew ma0 = 23.10 and σ0 = 4.87. in accordance with the method described above and to justify the usage of ewma statistics, it is important to determine the statistical independence of samples, which will be examined by checking the existence of correlation between data. for this purpose, pearson’s correlation coefficient will be used, which is supplied as a ratio of covariances of two variables and the product of their standard deviations: 166 p. čisar, s. bošnjak, s. maravić čisar ρxy = cov(x,y ) σxσy −1 ≤ ρxy ≤ 1 (6) other authors proposed different interpretation ways of correlation coefficient. cohen [1] noted that all the criteria are based on the greater or lesser extent of arbitrariness and should not be kept too strictly. yet, one often used interpretation of these coefficients is given below, as described in [16]: • ρ between 0 and 0.2 no correlation or is insignificant • ρ between 0.2 and 0.4 low correlation • ρ between 0.4 and 0.6 moderate correlation • ρ between 0.6 and 0.8 significant correlation • ρ between 0.8 and 1 high correlation the value of correlation coefficient ρxy can be calculated using the statistical function correl (array1, array2) in ms excel. when examining the table above, it is possible to identify three series of data (daily, weekly and monthly) and in this sense three different correlation coefficients can be calculated: • correlation coefficient for daily weekly series: ρ1 = 0.28 → low correlation • correlation coefficient for daily monthly series: ρ2 = 0.04 • correlation coefficient for weekly monthly series: ρ3 = −0.04 beside testing the correlation coefficient within a single measurement, it is important to check the existence of correlation between corresponding periods from different measurements. for that purpose, values of correlation coefficient of two daily (weekly, monthly) intervals are checked and the following results are obtained: • correlation coefficient for daily daily series: ρ4 = −0.15 • correlation coefficient for weekly weekly series: ρ5 = 0.11 • correlation coefficient for monthly monthly series: ρ6 = −0.02 as all calculated coefficients are with low degree of correlation, or without it, it can be concluded that the used data are statistically independent and that the application of ewma statistics is justified. 4 network practice values ew ma0 and σ0 are calculated for the period of one month. it can be reasonably assumed that these values in another monthly period of observation would be different, having in mind the various unpredictable traffic situations and accidental nature of network traffic as a process. therefore, in the further phase of research, the extent of change of these values will be studied. the determination of maximum changes of characteristic traffic values (maximum and average) is based on the analysis of numerical data of several larger internet users that derives from the popular network software mrtg, which is related to the period of one day, week and month. without the loss of generality, the graphical presentation of curves from three users is given below, noting that the observed traffic curves of other users do not deviate significantly from the forms shown here. ewma algorithm in network practice 167 figure 2: traffic curves of different users daily1 daily2 diff. weekly1 weekly2 diff. monthly1 monthly2 diff. [mb/s] [mb/s] [%]) [mb/s] [mb/s] [%] [mb/s] [mb/s] [%] user 1 max 33.9 33.1 -2.4 29.7 33.4 12.4 9.7 9.8 1 average 16.5 19.1 15.8 17.0 21.1 24.1 6.01 6.6 9.8 user 2 max 3.94 3.63 -7.8 3.98 3.68 -7.5 48.2 49.2 2 average 2.35 2.09 -11 2.28 2.09 -8.3 30.9 30 -3 user 3 max 9.31 10.0 7.4 9.71 9.99 2.9 9.9 9.7 -2 average 5.71 6.01 5.2 5.63 6.64 17.9 5.4 4.9 -9.2 user 4 max 9.69 9.99 3.1 10.0 9.91 -0.9 10 10 0 average 4.96 5.14 3.6 5.2 4.94 -5 7.4 7.6 2.7 user 5 max 48.2 46.3 -3.9 48.5 45.2 -6.8 1.8 1.8 0 average 29 24.4 -15.9 30.4 26.4 -13.1 0.14 0.14 0 user 6 max 10.1 10.1 0 10.0 10.0 0 3.94 3.66 -7.1 average 7.78 7.95 2.2 7.43 8.14 9.6 1.9 2.03 6.8 user 7 max 3.98 3.97 -0.02 3.94 3.99 1.2 3.9 3.9 0 average 1.74 1.79 2.9 1.88 1.99 5.9 1.9 2 5.2 table 3: differences in characteristic values of traffic the maximum and average values of traffic are calculated twice in the period of a month. the results are arranged in the following table: by analysis of the numerical data it can be concluded that the maximum change of mean value p is not greater than 25%. namely, that is the largest deviation of size in both measurements. since the main idea of this research is to find out the maximum and minimum tolerant ewma values of local maxima, in further calculations the following values will be used (for the accepted p = 0.25): ew ma0max = (1+ p)ew ma0 ≈ 1.25ew ma0 ew ma0min = (1− p)ew ma0 ≈ 0.75ew ma0 similarly, σ0max ≈ 1.25σ0 and σ 2ew ma = (λ /(2− λ ))σ 2 0max. previously calculated values of parameters ew ma0 and λopt , as well as the values of ucl and lcl from the first measurement will be verified in different situations of daily, weekly and monthly traffic from the second measurement. ucl value is given by ew ma0max + kσew ma, while lcl is ew ma0min − kσew ma. the following results are obtained: it is important to notice that according to the previous figure in case of appropriately determined ewma parameters, there is no situation of threshold exceeding, which eliminates the appearance of false alarms. 168 p. čisar, s. bošnjak, s. maravić čisar figure 3: verification (daily traffic, second measurement) figure 4: verification (weekly traffic, second measurement) 5 conclusions the aim of this research was to examine the possibility of applying ewma statistics in intrusion detection in network traffic. the research has shown that direct application of this algorithm on computer network traffic, as applied in industrial processes, does not provide acceptable results. namely, often proposed values for exponential smoothing factor in case of network application of the algorithm, may in some circumstances lead to the creation of false alarms, thus endangering the security level of system. due to the lack of an acceptable precise method for determination of initial value of the coefficient in exponential smoothing procedure in available publications, this research has been directed towards establishing a relation between the choice of initial ratio and optimal value for smoothing. by creating the appropriate application, the practical way was presented for testing the impact of different values of parameters on the level of anomaly detection. this enabled the establishment of graphical presentation of input depending on output sizes, which all contributed to the creation of proposed method for calculating the optimal value of smoothing factor. before the start of the implementation of statistical analysis of traffic, the extent of autocorrelation between the used data has to be examined, by calculating the correlation coefficients. one of the imporewma algorithm in network practice 169 figure 5: verification (monthly traffic, second measurement) tant results is that it is shown that analysis of properties of network traffic based on individual patterns of daily traffic only is not recommended, because of the increased level of autocorrelation. for this reason, when calculating the historical parameters, network traffic must be viewed in a wider context of time, taking into account the weekly and monthly periods. using the network monitoring software, it is also necessary to determine the maximum variations of basic traffic characteristics (average and maximum). to make this algorithm properly applicable in network environment it is necessary to perform previous processing of historical data, in order to obtain initial values of key parameters. based on the proof lent by the obtained results it can be concluded that the choice of ewma parameters significantly affects the operation of this algorithm in network environment. therefore, the optimization process of parameters before the application of the algorithm is of particular importance. bibliography [1] j. cohen, statistical power analysis for the behavioral sciences (2nd ed.), lawrence erlbaum associates, hillsdale, new jersey, 1998. [2] j.s. hunter, the exponentially weighted moving average, journal of quality technology 18: 203210, 1986. [3] j.m. lucas, m.s. saccucci, exponentially weighted moving average control schemes: properties and enhancements, technometrics 32, 1-29., 1990. [4] s.w. roberts, control chart tests based on geometric moving averages, technometrics, 1959. [5] ye et al., computer intrusion detection through ewma for autocorrelated and uncorrelated data, ieee transactions on reliability vol. 52, no. 1, 2003. [6] g. fengmin, deciphering detection techniques: part ii anomaly-based intrusion detection, white paper, mcafee security, 2003 [7] s. sorensen, competitive overview of statistical anomaly detection, white paper, juniper networks, 2004. [8] v. a. mahadik, x. wu and d. s. reeves, detection of denial-of-qos attacks based on χ2 statistic and ewma control charts, http://arqos.csc.ncsu.edu/papers/2002-02-usenixsec-diffservattack.pdf 170 p. čisar, s. bošnjak, s. maravić čisar [9] a. s. neubauer, the ewma control chart: properties and comparison with other quality-control procedures by computer simulation, clinical chemistry, http://www.clinchem.org/cgi/content/full/43/4/594 [10] d. seibold, enterprise campus security-addressing the imploding perimeter, http://www.itsa.ufl.edu/2003/presentations/intsec.ppt [11] a. vasilios, s. and f. papagalou, application of anomaly detection algorithms for detecting syn flooding attacks, http://www.ist-scampi.org/publications/papers/siris-globecom2004.pdf [12] j. viinikka and h. debar, monitoring ids background noise using ewma control charts and alert information, http://viinikka.info/viideb2004.pdf [13] y. zhao, f. tsung and z. wang, dual cusum control schemes for detecting a range of mean shifts, ieee transactions, http://qlab.ieem.ust.hk/qlab/download/papers/paper%2035.pdf, 2005 [14] engineering statistics handbook-ewma control charts, http://www.itl.nist.gov/div898/handbook/pmc/section3/pmc324.htm [15] engineering statistics handbook−single exponential smoothing, http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc431.htm [16] savannah state university, office of institutional research & planning, http://irp.savstate.edu/irp/glossary/correlation.html [17] p. čisar, s. maravić čisar, a first derivate based algorithm for anomaly detection, international journal of computers, communications & control, 3(s):238-242, 2008 [18] j. mina, c. verde, fault detection for large scale systems using dynamic principal components analysis with adaptation, international journal of computers, communications & control, 2(2):185194, 2007.. petar čisar was born on september 08, 1965. he graduated at the faculty of electrical engineering in belgrade. master’s study completed in information engineering at the faculty of economics in subotica. currently works on phd thesis. the spheres of his interest are mobile technologies, as well as the development of security methods in network environments. saša bošnjak was born on december 31, 1961. he is a associate professor of computer science at the faculty of economics subotica. he holds a range of courses in information engineering. his research interests are database, software development, computer networks, reuse methodology, ebusiness and internet technology. he earned a phd degree in information system faculty of economics subotica in 1995. sanja maravić čisar was born on august 03, 1970. she graduated at the faculty of electrical engineering in belgrade. master’s study completed at the technical faculty in zrenjanin. she works as lecturer at subotica tech at following courses: visual programming, object-oriented based programming, java and multimedia systems. currently works on phd thesis. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 819-824 adaptive web applications for citizens’ education. case study: teaching children the value of electrical energy. i. moisil, s. dzitac, l. popper, a. pitic ioana moisil, alina pitic lucian blaga univeristy of sibiu, romania e-mail: im25sibiu@gmail.com simona dzitac, laurentiu popper university of oradea, romania e-mail: simona.dzitac@gmail.com, director@perfect-service.ro abstract: “the foundation of every state is the education of its youth.” diogenes laertius long-term energy saving and reduction of environmental consequences of energy consuming are among the most challenging objectives of our time. people are prone to routine and habit. to change these habits is almost a sisif’s work. in spite of continuous efforts from environmental specialists, we are witnessing an increase in electricity (and gas) consumption, at least at the level of households. studies carried on have shown that consumers have in many cases an irrational behaviour. to correct that, researchers are studying consumers’ decision making behaviour and try several intervention measures. in our paper we are presenting the design and development of a web based adaptive system aimed to educate citizens for an electrical energy saving behaviour. the system is composed of three subsystems: adaptation system, user’s profile and knowledge base. we have used a user-centered design approach. for adults, users’ profiles are build taking into account age group, educational level, gender, income, professional aspects, consuming behaviour. a set of questionnaires have been designed in order to collect users’ data. for children, the standard profiles are more complicated and, in function of the age group, can be obtained off line through interviews or/and through online activities (games, quizzes etc.). the knowledge base is build for the electrical energy domain. the adaptation sub-system will present information to the user based on s/he profile. the system is populated with data for users of 6 to 10 years of age. for this users group a social and affective interaction design approach was used. keywords: adaptive web, electrical energy saving, citizens education, interaction design, user-centred design. 1 introduction the european union (eu) has established that reducing energy consumption and eliminating energy wastage are among the main goals to be achieved in the near future. “at the end of 2006, the eu pledged to cut its annual consumption of primary energy by 20% by 2020. to achieve this goal, it is working to mobilise public opinion, decision-makers and market operators and to set minimum energy efficiency standards and rules on labelling for products, services and infrastructure”. [1] it seems more than natural, in the information society, to use the web as a mean to make people aware of the energy saving problem. in fact there are many web sites informing about the ways of reducing energy consumption [1–6]. copyright c⃝ 2006-2010 by ccc publications 820 i. moisil, s. dzitac, l. popper, a. pitic analysing the content of these web presentations we have found out that though very informative and scientifically correct, they are not always answering to some users’ expectations, being too serious, and too boring. this was the opinion of 56% of 200 users of age 6 to 22 investigated in 2009. it is clear that different actors that have a word to say in the process of reducing energy consumption must be approached in different ways. it is also important to note that it is a problem of changing the behaviour, the mentality and this is a very sensitive process. having this in mind we have tried to design and develop of a web based adaptive system aimed to educate citizens for an electrical energy saving behaviour. the system is composed of three subsystems: adaptation system, user’s profile or model and knowledge base (domain model). we have used a user-centered design approach. for adults, users’ profiles are built taking into account age group, educational level, gender, income, professional aspects, consuming behaviour. a set of questionnaires have been designed in order to collect users’ data. for children, the standard profiles are more complicated and, in function of the age group, can be obtained off line through interviews or/and through online activities (games, quizzes etc.). the knowledge base is build for the electrical energy domain. the adaptation sub-system will present information to the user based on s/he profile. at present the system is populated with data for users of 6 to 10 years of age. 2 design considerations in our paper we are presenting a first case study with the educational software for electrical energy saving. the case study is considering users of 6 to 10 years of age. for this category of users we had use a hybrid user-centred design methodology, blending different kinds of usercentred designs with interaction (social interaction, affective interaction) and participatory design and taking into account learning objectives and learners age and preferences. the design research phase had two steps. firstly we identified the need of computerbased educational products, the interest of the users towards computers, the level of satisfaction concerning other computer-based educational products, what characteristics of human-computer interaction they prefer (sounds, colours, mediating agents) and also the general level of computer literacy. we have also investigated users’ behaviour towards the educational/formative software market (are they buying educational software, if so, on what subjects, who is the buyer, how often, etc.). the second step aimed to investigate users’ behaviour towards electrical energy consumption aspects (how interested they are, did they know what is electricity, how they perceive other educational software on this topic, are their parents concerned by energy saving, etc). 130 young pupils from both rural and urban locations participated in the design. 63% were girls and 37% boys, the age interval being from 6 to 10 years old. 84% had a computer at home. 82% have internet connexion. • children in the first and forth grade (6 years old and 10 years old) are at the beginning of an educational cycle and therefore more exposed to change, with distributed interests and less interested than the others (50% are satisfied by the use of computers in class). • 75% of the subjects that have a computer at home are very interested in using an educational software, but only 40% of those that do not have a computer at home showed a maximum interest. • 86% of the subjects prefer computer games and 80% like also cartoons, movies, etc.; 66% of the girls choose stories and only 43% of the boys; attraction to music is growing with the age, from 60% at the age of 6 to 85% at the age of 10. • most parents are restricting children access to internet. • interest to something new is decreasing with age, from 93% at the age of 7 to 33% at the age of 11. adaptive web applications for citizens’ education. case study: teaching children the value of electrical energy. 821 • the influence of the family environment is very important. • 27% of the subjects voted for a software based mediator agent. • 94% of the subjects prefer software with sound incorporated. • for 57% of the subjects software products are provided by parents, 27% are buying themselves these products. • 87% of the children do not know the most important sources of electrical energy (“electricity is coming from the cable”). • 73% of the subjects appreciate the idea of quizzes on how to save electrical energy. • children with intellectual parents are more aware of the aspects concerning energy saving especially linked to global warming. children from rural area are more concerned by the cost of energy than by global warming. some of them are thinking that this is not their problem. • 76% of the subjects are attracted by computers. based on these results it has been decided how to design the software interface and how to structure the content. the software has to use the children’ preferred colours, to have sound facilities, to enable the use of the mouse but also of the keyboard, the concepts introduced have to be transparent, the children being able to navigate freely through the software, games have to be included in order to make more attractive the product and less boring, if the case, and the mediator has to be included in the software. all these data have been obtained during working meetings with the children. for example, we have discussed the video-clip energy, let’s save it! [1]. the video-clip has been found attractive by children 8 to 10 years of age. for the others it was not interesting. one observation was that “it goes too quickly”. in fact the video clip is presenting in less than 4 minutes a global view of energy waste in the day by day activities. the presentation is user-friendly, in an attractive way and it raises worries, but no more. another observation, concerning a different web application was that “it sounds like papa!” (citing: “don’t leave lights on when no one is in the room. if you are going to be out of the room for more than five minutes, turn off the light.” [2]). so it was very clear that the site must be designed taking into account the children preferences. as a result we have structured the web application in four main chapters: 1. what is electricity a. short history b. experiments c. sources of electrical energy i. classical ii. alternative 2. using and saving electrical energy 3. games, activities, quizzes, puzzles, enigmas 4. resources for teachers, parents and educators the system architecture is composed of three subsystems: adaptation system, user’s profile or model and knowledge base (domain model). the domain model for electrical energy is a set of concepts, each concept consisting of a set of topics. topics are linked to each other thus forming a semantic network. a topic is presented usually on a web page. a page is divided in sub-pages (chunks) that will differ in function of the user type [7–9]. the adaptation module is providing different interfaces and contents in function of the user profile (model). for the moment each page has implemented two variants: user in the age group 6 to 10, and children older than 10 years. we have used plants and trees images ant the beginning because these were interesting for children of all ages (fig.2) 822 i. moisil, s. dzitac, l. popper, a. pitic figure 1: system architecture. figure 2: and 2b . accessing the web application the user is identified by a user name and a password. this is in fact the link to the user profile. the user can freely navigate in the site but also s/he can choose a certain topic looking at the icons on the screen. for example in fig.4 there several icons (buttons) giving access to information on electrical energy sources. each button is also explained by voice. the children can experience the effect of using too much light (fig.5 and 6). adaptive web applications for citizens’ education. case study: teaching children the value of electrical energy. 823 figure 3: access to the web application. figure 4: buttons giving access to information on electrical energy sources. figure 5: all electrical bulbs are off (the tree has all leaves) figure 6: four electrical bulbs are on (the tree has lost most of the leaves) the client is implemented as web pages. there is a number of linked frames. we have used flash, php, mysql and javascript language that made possible to overcome html limitations. evaluation the current interface has been evaluated from the point of view of presentation aspects and functionalities by the children participating in the design and also by other 34 children (6 to 11 years of age). 92% were very satisfied with the web application. 7% would have liked more games and 1% declared that he is not interested in the subject. two teachers and two parents participated also in the evaluation process. the first appreciation was positive. 3 conclusion and further research in this paper we have described the design and development of an adaptive webbased system for citizens’ education in respect to electrical energy consumption reduction. the system is a complex one. the core system is implemented and also several modules. we had presented a first case study with the educational software for electrical energy saving. the case study is considering users of 6 to 10 years of age. for this category of users we had use a hybrid user-centred design methodology, blending different kinds of user-centred designs with interaction (social interaction, affective interaction) and participatory design and taking into 824 i. moisil, s. dzitac, l. popper, a. pitic account learning objectives and learners age and preferences. the results of the first evaluations were positive. future research will continue to develop the system with other users’ profiles (other age category, in the first stage) and to evaluate the educational effectiveness of the system’s adaptation. bibliography [1] http://ec.europa.eu/energy/efficiency/index_en.htm. [2] http://www.energyquest.ca.gov/saving_energy/index.html. [3] http://tonto.eia.doe.gov/kids/energy.cfm?page=3. [4] http://www.kyotoinhome.info/. [5] www.eais.info. [6] thttp://www.oppapers.com/subjects/energy-saving-page1.html. [7] ayersman, d.j. & minden, a.v. (1995). individual differences, computers, and instruction. computers in human behavior, 11(3-4), 371-390. [8] brusilovsky, p.(1996). methods and techniques of adaptive hypermedia. user modeling and user-adapted interaction. 6, 87-129. [9] jonassen, d. & wang, s. (1993). acquiring structural knowledge from semantically structured hypertext. journal of computer-based instruction, 20(1), 1-8. [10] liu, y., ginther, d. (1999). cognitive styles and distance education. on-line journal of distance learning administration, 2,3. [11] c.y. huang, t.t. yang, w.l chen, s. y. nof, reference architecture for collaborative design, int. j. of computers, communications & control, issn 18419836, e-issn 18419844 vol. v (2010), no. 1, pp. 71-90. [12] antonios andreatos, virtual communities and their importance for informal learning international journal of computers, communications & control, vol. ii (2007), no. 1, pp. 39-47. international journal of computers, communications & control vol. i (2006), no. 4, pp. 53-60 an iterative method for the design process of mode handling model nadia hamani, nathalie dangoumau, etienne craye abstract: this paper focuses on formal verification and validation of a model dedicated to mode handling of flexible manufacturing systems. the model is specified using the synchronous formalism safe state machines. a structured framework for the design process is presented. the obtained model is characterized by a strong hierarchy and concurrency that is why within the design process an iterative approach for specification, verification and validation is propose in order to improve this process. the main properties being verified are presented and the approach is illustrated through an example of a manufacturing production cell. keywords: flexible manufacturing systems, supervision, mode handling, functional and behavioral modeling, verification, validation. 1 introduction according to our design approach of fault tolerant control systems, mode handling is a function of supervision. in view of a disturbance (failures, breakdowns) mode handling allows implementing the decisions about mode and configuration changing. the design of mode handling function needs to provide a model representing the operating modes of the production system and its subsystems. to this aim, it is important to use an adequate modeling method and powerful specification formalisms. those characterizing the most significant approaches are compared in [9]. we proposed in our early work a modeling approach for reactive mode handling of flexible manufacturing systems (fms) [10]. this approach is based on a functional modeling [11] and a synchronous reactive approach using safe state machines (ssm) [1] [2]. due to increasing complexity and flexibility of fms, some problems characterize mode changing if coherence and safety constraints are not taken into account in the specification / modeling stages. so it is necessary to verify and validate the proposed models at the early stages of the design process. a greater interest has been allocated for few years to formal verification methods, which guarantee that for all possible evolutions of a model, several properties are satisfied. for our modeling approach, one the interests of using ssm formalism relies on its strong semantics leading to the possibility of using analysis tools in order to formally prove that the behavior of the system respects some properties. the purpose of this paper is to present the iterative approach used in the design process of the model dedicated to mode handling. the paper is organized as follows. in section 2 the basic concepts of v&v are reminded and the design process based on formal methods is introduced. the stages of this design process including v&v are detailed in section 3 and section 4. the iterative approach is introduced and the main properties being verified within the design process are presented. finally the approach is illustrated using an example of a flexible manufacturing cell. 2 the design process a design process should involve many intermediary stages of v&v. this enables to detect and eliminate as soon as possible the specification or modeling errors. the modifications are thus carried out with a lower cost in particular in the final step. indeed, v&v characterize any correct development process. according to [14] verification is the proof that the internal semantics of a model is correct independently of the modeled system whereas validation determines if the model corresponds to the copyright c© 2006 by ccc publications 54 nadia hamani, nathalie dangoumau, etienne craye attempts of the designer formulated in the functional requirements. the required properties are either generic, they depend on the formalism we use, or specific to the modeled system. v&v consists of analyzing the properties that should be satisfied by the final model using some analysis tools. two complementary methods exist, simulation and formal verification. we are interested in our study only in formal methods for v&v. for formal verification, we have to build a formal model representing the behavior of the system and formal specifications of the properties. fig. 1 shows the design process including v&v: the formal specification as well as the structured modeling process that we remind in the next section, allow ensuring a correct development process. v&v of the obtained model is an iterative approach characterized by some corrections, which require reconsidering the specification/modeling stages as needed. based on the verified and validated model the implementation is ensured through automatic code generation. figure 1: the design process 3 specification/modeling the functional requirements provide the informal specifications about mode handling function: the intended behavior of the fms and the properties that should be satisfied. other properties such as determinism are also mandatory. the designer formalizes those informal requirements to provide formal specifications of the model, of the required properties and, if necessary, some assumptions about the environment. the formalization task provides the following models. 3.1 the formal model representing the behavior of the system the specifications of the model dedicated to fms mode handling are detailed in our earlier work [10][11]. we remind in the following the main characteristics of the modeling process. the fms subsystems. in our approach, an operating sequence characterizes each part. the specification method of fms subsystems was described in [11]. the idea is to decompose and identify the functional subsystems, which take part in the realization of its missions. a mission corresponds to a set of operating sequences that the system should produce simultaneously. the fms functional model is obtained by a hierarchical decomposition leading to the elementary machining and transfer operations that the fms performs. the structural aspect completes this specification by associating the resources to the elementary operations they perform. the obtained subsystems are organized in six layers as shown in fig. 2. an iterative method for the design process of mode handling model 55 the functional representation is a graph composed of functional subsystems (called entities) linked by logical relationships (and, or). or nodes correspond either to an inclusive or an exclusive logical operator according to the constraints given in the functional requirements. figure 2: the fms functional model behavior specification. given the fms functional model, one should provide behavioral specifications. it is necessary to represent the activation and deactivation mechanisms at all the hierarchy levels of the specification as well as the availability of the resources and the functions of the fms. the activation/deactivation of an entity is represented by the working mode. the functioning mode represents the availability/unavailability of an entity. the aim is to handle concurrently the information flows downwards to transmit high-level control and reconfiguration orders and upwards to follow up the reports and failures detected by the monitoring function. the reactivity needed for this bi-directional exchange of information, in addition with the characteristics of concurrency and preemption, require a synchronous approach. the behavior of the identified fms subsystems and the logical relationships between them are specified using the synchronous formalism ssm [1][2]. ssm inherits many features from statecharts [12] but offers several forms of preemption and benefits of more strict semantics fully compatible with that of esterel synchronous language [4]. ssm supports also, with a very rigorous semantics, hierarchy, communication, concurrency, and various forms of preemption, which characterize our modeling approach. in addition, ssm takes advantage of an industrial development environment [7], which provides necessary tools for a design process. the behavior of each entity of the model, whatever its level, is represented by a ssm model. this model allows knowing, at any time, if an entity belonging to the current mode of the fms is in normal state e_n, degraded state e_d or out of order state e_out according to the functioning mode point of view; and if it is activated x_active or inactive (in stopping state) e_off according to the working mode point of view. the change-of-state of the entities of the model belonging to successive levels is carried out according to precise rules which depend on the kind of the logical relation and the number of child entities. several cases are studied in [10]. for the representation of the model, we proposed some reference models specified using ssm [10]. these are generic models depending on the number of the child entities and the logical relationships that connect them. the reference models are instantiated for each entity of the model. the proposed method is iterative, it is necessary to specify the models of level i , then we encapsulate the ssm of level i in the ssm of level i+1 until completing the specification of the model (see fig. 3). the encapsulation of the models enables representing the hierarchical levels which characterize the model. the aim is to improve the legibility in the specification/modeling stage. the hierarchy is represented using the encapsulation of successive levels whereas the entities belonging to the same level are separated by dashed lines; these are used to represent concurrency in ssm syntax (see [2]). 56 nadia hamani, nathalie dangoumau, etienne craye figure 3: the modular specification 3.2 the formal specification of properties predictability and dependability are the main characteristics of reactive systems. in our work, we consider only properties of logical behavior such as determinism and safety properties. as we adopt a reactive synchronous approach based on ssm formalism, generic properties of reactivity and determinism should be verified. the rigorous semantics of ssm enable to provide formal verification mechanisms ensuring such properties. several properties specific to mode handling function can be verified. the main properties are presented in section 4. 4 verification and validation in the verification stage (fig. 1), one checks if the model satisfies generic properties. ssm specifications are automatically translated into esterel program which is compiled in a system of boolean equations (logical circuits) an implicit form of finite state machines (fsms). the properties of logical correctness of esterel programs can then be verified on this system. the analysis technique used to this aim is the constructive causality analysis carried out by esterel compiler v5_x. causality analysis is a semantic analysis which allows accepting or rejecting esterel programs according to whether they are constructive or not [5]. the processor which implements the algorithms of constructive analysis builds the reachable state space using symbolic techniques based on binary decision diagrams (bdd). one checks in the validation stage if the model satisfies the specific properties formalized in the specification stage. the analysis techniques used are model-checking and/or theorem proving. several model-checking tools were developed for esterel language. for instance built-in verifier tool an evolution of xeve (xesterel verifier) [6] is currently integrated into esterel studio. xeve takes as input the system of boolean equations and built the reachable state space using bdd (symbolic model-checking [13]) in order to check the statutes of output signals of the model or the observers [8] representing the properties. failing of v&v stage implies that there is a specification or a modeling error. it is then necessary to go back over this model as needed. the formal specifications are may be incorrect. the errors are either in the specifications of: the model, the property, the correspondence between the model and the property or the assumptions related to the environment. if the specification/modeling stages are considered to be correct then we should reconsider informal requirements. indeed, within the formal specification of the model or the properties, errors are may be caused by the ambiguity or the incompleteness of the informal requirements provided in the functional an iterative method for the design process of mode handling model 57 requirements. in this case, these requirements must be improved and formalized again. we propose to complete the modular and hierarchical specification shown in fig. 3 by introducing an iterative method of v&v. this method is presented in the following. the aim is to reduce the specification/modeling errors and to enable their early correction by introducing intermediate stages of v&v into the multi level specification stage. 4.1 an iterative method for v&v we propose at first to check each single reference model used for the specification of the model. the aim is to prove reactivity and determinism. the verification of these reference models is performed using the analysis tools integrated into esterel studio environment. the single verification of the reference models: for each reference model write the model verify the model if the verification fails, correct the specification and repeat the verification as needed. the single reference models checked in this way are instantiated in order to obtain the behavioral models of the fms subsystems. then the integration of these models allows editing progressively the whole model. using the ssm graphical editor, the best way is to follow a bottom up approach based on the encapsulation of ssm of level i in the ssm of level i+1. at each level we should be sure that the intermediary ssm satisfies some properties and the accumulation of errors will be avoided. that is why we propose to associate with this specification an iterative method of v&v. if the v&v does not converge then it is necessary to correct the specification and to repeat the v&v process as needed. indeed, v&v is carried out in an iterative way until the whole model (the final ssm) will be verified and validated. the method described in the following is represented in fig. 4. figure 4: the iterative v&v repeat for all the models of level i (i = 0, n) (1) write the models of level i the specification is carried out by instantiation of the predefined and verified models (2) verify then validate the ssm of level i if the v&v fails, correct the specification and repeat the previous step as needed if i = n go to (4) if not (3) encapsulate the models of level i ’ssm of level i+1 is then created’ i = i + 1 end of the procedure 58 nadia hamani, nathalie dangoumau, etienne craye (4) the ssm represents the fms model (the top level corresponds to the whole model) if the previous steps converge, we conclude that the final ssm is verified and validated. when the final ssm is verified and validated, the code could be generated. the properties being verified within this process are presented in the following. 4.2 the properties the model dedicated to mode handling is translated automatically into esterel language. esterel compiler is composed of several processors for type checking, syntactical and lexical analysis. semantic analysis also called causality analysis allows checking generic properties (deadlock freeness, reactivity, determinism). deadlock freeness. causality analysis makes it possible to prove that the program is causal according to the constructive causality defined by berry [5]. constructive causality of esterel programs ensures deadlock freeness, which characterizes synchronous languages. deadlocks are due to the synchronism assumption (see causality problems in [3]). reactivity and determinism. if an esterel program is constructive then it is reactive and deterministic. a program is said to be reactive if it provides a well-defined solution for each input. it is deterministic if this solution is unique [5]. the aim of specific properties is to ensure coherence and safety constraints of mode handling. we have proposed three kinds of safety properties: mode reachability, the mission uniqueness of a fms and mutual exclusion of incompatible modes. states reachability. we can check the reachability of the states specified by the model (according to the specifications, an output signal is associated with each control state of the model). to this aim, the statutes of output signals that correspond to control states of the model are tested. the mission uniqueness of a fms. this property ensures operation safety of the fms according to the selected mission. indeed, selecting a mission implies performing some operations and activating the resources, which take part in this mission. thus, the operations and the resources, which do not take part in the current mission, should not be activated for safety and coherence reasons. the property is guaranteed by construction of the model. incompatibility of the modes. in order to ensure mode coherence, the proposed specifications guarantee mutual exclusion of incompatible states (each state is belonging to a distinct mode) of the entities of the model. it is about mutual exclusion of working states of the entities related with the logical relation xor (for example redundant resources). the previous properties are verified within the iterative approach of v&v. the intermediate verifications are important because if causality cycles are detected early their correction will be easier. contrary to verification, intermediate validations are may be expensive and some properties are checked only on the final model, in particular the properties related to the uniqueness of the fms mission. in addition to the main properties, other properties of mode handling model can be checked. they deal with the conditions of mode changing and the respect of modes sequence [10]. 5 illustration we have applied our approach to the example of the cell represented in fig. 5. this cell consists of two machines m1, m2 and input/output buffers (i/o). the transport system is composed of two robots r1, r2. we suppose that m1 is loaded by r1 and m2 is loaded by r2, this later will be used to load the an iterative method for the design process of mode handling model 59 two machines when r1 is failing. the machining functions performed by this system are turning and milling. turning (t) is carried out by m1, milling (f) by m1 or m2. the cell has three missions, m1, m2 and m3. the corresponding operating sequences are respectively os1 (t), os2 (f) and then os1 and os2 simultaneously. figure 5: illustration example the obtained model using our modeling method is specified using 4 reference models and 29 instances for 809 lines of esterel code generated from the ssm models. this model needs 34 input signals and 145 output signals. we simulated at first some scenarios of behavior in order to correct the specification errors so that the intended behavior will be in conformity with the functional requirements. the interactive simulator xes [7] is used. the studied cell can be extended with addition of machining resources (simple or polyvalent) and redundancies of the transport system (robots, conveyor). this allows studying the problem with increasing complexity. for the specification, adding or removing reference or instantiated models enable integrating easily the changes on the model thanks to the modularity and the hierarchy of the specification approach. however, due to increasing complexity of the cell some tests performed by the model-checker could not be concluded (out of memory problem). we try to solve this problem in a future work. 6 summary and conclusions this paper deals with v&v within the design process of a model dedicated to mode handling of fms. the first contribution of this study is a structured process for carrying out v&v. it is an extension of our control system design approach in order to take into account v&v stage. an iterative method is used for specification and v&v stages of the design process. the aim is to refine the model construction by introducing intermediate steps of v&v for an early correction of errors. within the proposed framework the required properties (determinism, reachability, mutual exclusion of incompatible modes,..) are given. the analysis tools integrated into esterel studio are used in this process. the proposed approach can be extended to deal with environment constraints in the specification stage. in addition, further work aims at studying some examples of increasing complexity. references [1] c. andré, representation and analysis of reactive behaviors: a synchronous approach, in proc. of the ieee-smc computational engineering in systems applications (cesa 96), lille, france, july, 1996, pp. 19-29. [2] c. andré, semantics of ssm (safe state machines), guyancourt, france, april 2003, available at: http://www.esterel-technologies.com [3] a. benveniste, p. caspi, s. edwards, n. halbwachs, p. le guernic, and r. de simone, the synchronous languages twelve years later, in proc. of the ieee, 91(1), special issue on embedded systems, pp. 64-83, 2003. 60 nadia hamani, nathalie dangoumau, etienne craye [4] g. berry, g. gonthier, the esterel synchronous programming language: design, semantics, implementation, science of computer programming, vol. 19(2), pp. 87-152, 1992. [5] g. berry, the constructive semantics of pure esterel draft version 3, 1999, available at: http://www.esterel-technologies.com [6] a. bouali, xeve an esterel verification environment, in proc. 14th int. conf. on computer aided verification cav’98, lncs, ubc, vancouver, canada, june 1998. [7] esterel studiotm, available at: http://www.esterel-technologies.com. [8] n. halbawachs, f. lagnier and p. raymond, synchronous observers and the verification of reactive systems, in proc. of amast’93, 1993. [9] hamani n, dangoumau n, craye e, a comparative study of mode handling approaches, in proc. of the 35th international conference on computers & industrial engineering (cie 05), istanbul turkey, june 19-22, 2005. [10] n. hamani, a contribution to modeling and verification for mode handling of manufacturing systems, phd dissertation, ecole centrale de lille, france, 2005 [in french]. [11] n. hamani, n. dangoumau, e. craye, functional modeling for mode handling of flexible manufacturing systems, in proc. 12th ifac symposium on information control problems in manufacturing, saint etienne, france, 2006. [12] d. harel, statecharts: a visual approach for complex systems, science of computer programming, vol. 8, nř3, pp. 231-275, 1987. [13] k.l. mcmillan, symbolic model checking, kluwer academic publishers, 1993. [14] j.m. roussel, and j.j. lesage, validation and verification of grafcet using finite state machines, in proc. of imacs-ieee multiconference on computational engineering in systems applications, lille, france, 1996, pp. 758-764. nadia hamani, nathalie dangoumau, etienne craye laboratoire d’automatique, génie informatique et signal (lagis), cnrs umr 8146 ecole centrale de lille, bp. 48, villeneuve d’ascq, f-59650 france e-mail: nadia.hamani@ec-lille.fr received: november 6, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 158-165 heuristic algorithms for solving the generalized vehicle routing problem p.c. pop, c. pop sitar, i. zelina, v. lupşe, c. chira petrică claudiu pop, ioana zelina, vasile lupşe north university of baia mare, department of mathematics and informatics romania, v. babeş , 430083, baia mare e-mail: petrica.pop@ubm.ro, ioanazelina@yahoo.com, vasilelupse@yahoo.co.uk corina pop sitar north university of baia mare, department of economics romania, v. babeş , 430083, baia mare e-mail: sitarcorina@yahoo.com camelia chira “babes-bolyai” university of cluj-napoca romania, m. kogalniceanu, 400084, cluj-napoca e-mail: cchira@cs.ubbcluj.ro abstract: the vehicle routing problem (vrp) is one of the most famous combinatorial optimization problems and has been intensively studied due to the many practical applications in the field of distribution, collection, logistics, etc. we study a generalization of the vrp called the generalized vehicle routing problem (gvrp) where given a partition of the nodes of the graph into node sets we want to find the optimal routes from the given depot to the number of predefined clusters which include exactly one node from each cluster. the purpose of this paper is to present heuristic algorithms to solve this problem approximately. we present constructive algorithms and local search algorithms for solving the generalized vehicle routing problem. keywords: network design, combinatorial optimization, generalized vehicle routing problem, heuristic algorithms. 1 introduction combinatorial optimization is a lively field of applied mathematics, combining techniques from combinatorics, linear programming, and the theory of algorithms, to solve optimization problems over discrete structures. the study of combinatorial optimization owes its existence to the advent of modern digital computer. most currently accepted methods of solution to combinatorial optimization problems would hardly have been taking seriously 30 years ago, for the simple reason that no one could have carried out the computations involved. moreover, the existence of digital computers has also created a multitude of technical problems of a combinatorial character. combinatorial optimization problems can be generalized in a natural way by considering a related problem relative to a given partition of the nodes of the graph into node sets, while the feasibility constraints are expressed in terms of the clusters. in this way, it is introduced the class of generalized combinatorial optimization problems. in the literature one finds generalized problems such as the generalized minimum spanning tree problem [15], the generalized traveling salesman problem, the generalized vehicle routing problem, the generalized (subset) assignment problem, etc. these generalized problems belong to the class of np-complete problems, copyright c⃝ 2006-2011 by ccc publications heuristic algorithms for solving the generalized vehicle routing problem 159 are harder than the classical ones and nowadays are intensively studied due to the interesting properties and applications in the real world, even though many practitioners are reluctant to use them for practical modeling problems because of the complexity of finding optimal or nearoptimal solutions. the generalized vehicle routing problem (gvrp) is an extension of the vehicle routing problem (vrp) and was introduced by ghiani and improta [4]. the gvrp is the problem of designing optimal delivery or collection routes, subject to capacity restrictions, from a given depot to a number of predefined, mutually exclusive and exhaustive node-sets (clusters). the gvrp can be viewed as a particular type of location-routing problem (see, e.g. laporte [7], nagy and salhi [10]) for which several algorithms, mostly heuristics, exist. ghiani and improta [4] showed that the problem can be transformed into a capacitated arc routing problem (carp) and baldacci et al. [1] proved that the reverse transformation is valid. recently, pop [14] provided a new efficient transformation of the gvrp into the classical vehicle routing problem (vrp). in 2003, kara and bektas [5] proposed an integer programming formulation for gvrp with a polynomially increasing number of binary variables and constraints and in 2008 kara and pop [6] presented two integer linear programming formulations for gvrp with o(n2) binary variables and o(n2) constraints, where n is the number of customers which are partitioned into a given number of clusters. as far as we know, the only specific algorithm for solving the gvrp was developed by pop et al. [13] and was based on ant colony optimization. the complexity of obtaining optimum or even near-optimal solutions for the generalized combinatorial optimization problems may lead to the development of: • efficient transformations of the generalized combinatorial optimization problems into classical combinatorial optimization problems [4, 13]; • heuristic and metaheuristic algorithms [11]. the aim of this paper is to describe three classes of heuristic algorithms for solving approximately the generalized vehicle routing problem. 2 definition of the gvrp let g = (v, a) be a directed graph with v = {0, 1, 2, ...., n} as the set of vertices and the set of arcs a = {(i, j) | i, j ∈ v, i ̸= j}. a nonnegative cost cij associated with each arc (i, j) ∈ a. the set of vertices (nodes) is partitioned into k + 1 mutually exclusive nonempty subsets, called clusters, v0, v1, ..., vk (i.e. v = v0 ∪ v1 ∪ ... ∪ vk and vl ∩ vp = ∅ for all l, p ∈ {0, 1, ..., k} and l ̸= p). the cluster v0 has only one vertex 0, which represents the depot, and remaining n nodes belonging to the remaining k clusters represent geographically dispersed customers. each customer has a certain amount of demand and the total demand of each cluster can be satisfied via any of its nodes. there exist m identical vehicles, each with a capacity q. the generalized vehicle routing problem (gvrp) consists in finding the minimum total cost tours of starting and ending at the depot, such that each cluster should be visited by exactly once, the entering and leaving nodes of each cluster is the same and the sum of all the demands of any tour (route) does not exceed the capacity of the vehicle q. an illustrative scheme of the gvrp and a feasible tour is shown in the next figure. 160 p.c. pop, c. pop sitar, i. zelina, v. lupşe, c. chira 2 3 1 0 7 6 4 5 10 9 8 v 1 v 0 v 2 v 3 v 4 d1=3 d2=5 d3=4 d0=0 d10=3 d9=4 d8=2 d7=2 d4=5 d5=4 d6=5 q1=12 q2=9 q0=0 q4=11 q3=5 11 v 5 d11=7 q5=7 m=2 and q=25 figure 1 an example of a feasible solution of the gvrp in figure 1, it is presented a feasible solution consisting of a collection of two tours (routes): 0-3-5-0 and 0-11-7-6-0 satisfying the capacity restrictions and the condition that from each cluster is visited exactly one node. the cost of this feasible solution is obtained summing the costs of the arcs belonging to the selected tours. the gvrp reduces to the classical vehicle routing problem (vrp) when all the clusters are singletons and to the generalized traveling salesman problem (gtsp) when m = 1 and q = ∞. the gvrp is np -hard because it includes the generalized traveling salesman problem as a special case when m = 1 and q = ∞. several real-world situations can be modeled as a gvrp. the post-box collection problem described in laporte et al. [8] becomes an asymmetric gvrp if more than one vehicle is required. furthermore, the gvrp is able to model the distribution of goods by sea to a number of customers situated in an archipelago as in philippines, new zeeland, indonesia, italy, greece and croatia. in this application, a number of potential harbours is selected for every island and a fleet of ships is required to visit exactly one harbour for every island. several applications of the gtsp may be extended naturally to gvrp. 3 heuristic algorithms for solving the gvrp two fundamental goals in computer science are finding algorithms with provably good run times and with provably good or optimal solution quality. a heuristic is an algorithm that abandons one or both of these goals; for example, it usually finds pretty good solutions, but there is no proof the solutions could not get arbitrarily bad; or it usually runs reasonably quickly, but there is no argument that this will always be the case. heuristics are typically used when there is no known method to find an optimal solution, under the given constraints (of time, space etc.) or at all. several families of heuristic algorithms have been proposed for the classical vrp, see for example laporte et al. [9]. these can be classified into two main classes: classical heuristics and metaheuristics. most standard construction and improvement procedures in use belong to the first class. these methods performs a relatively limited exploration of the solution space and generally produce good quality solutions in reasonable computational times. in what it follows we will provide three classes of heuristic algorithms for solving the gvrp: heuristic algorithms for solving the generalized vehicle routing problem 161 • constructive heuristics: nearest neighbour and a clarke-wright based heuristic; • improvement heuristics: string cross (sc), string exchange (se), string relocation (sr) and string mix (sm); • a local-global heuristic. 3.1 constructive heuristics nearest neighbour perhaps the most natural heuristic for the gvrp is the famous nearest neighbour algorithm (nn). in this algorithm the rule is always to go next to the nearest as-yet-unvisited customer subject to the following restrictions: we start from the depot, from each cluster is visited exactly one vertex (customer) and the sum of all the demands of the current tour (route) does not exceed the capacity of the vehicle q. if the sum of all the demands of a current tour (route) exceeds the capacity of the vehicle then we start again from the depot and visit next the nearest customer from an unvisited yet cluster. if all the clusters are visited, then the algorithm terminates. a collection of routes traversing exactly one city from each cluster in the constructed order represents the output of the algorithm. the nearest neighbour algorithm is easy to implement and executes quickly, but it can sometimes miss shorter routes, due to its greedy nature. the running time of the described nearest neighbour algorithm is o(n2). a clarke-wright based heuristic algorithm the clarke and wright [2] savings algorithm is perhaps the most well known heuristic for the vrp. it applies for the problems for which the number of vehicles is a decision variable, and works in the case of directed and undirected problems. the algorithm in the case of the gvrp works as follows: step 1 (savings computation). for each i ∈ vl and j ∈ vp, where l ̸= p and l, p ∈ {1, ..., k} compute the savings: sij = ci0 + c0j − cij. it is obviously that sij ≥ 0 and sij = sji. we order the savings in a nonincresing fashion. at the beginning we create k routes denoted (0, il, 0), l ∈ 1, ..., k as follows for each cluster vl we define c0il = min{c0j | j ∈ vl}. there will be as many routes as the number of clusters and total distance of the routes is: d = c0i1 + c0i2 + ... + c0ik. step 2 (route extension). consider in turn each route (0, i, ..., j, 0). determine the first saving sui or sjv that can feasibly be used to merge the current route with another route ending with (u, 0) or starting with (0, v), for any u ∈ vl and v ∈ vp, where l ̸= p and l, p ∈ {1, ..., k} and vl and vp are clusters not visited by the route (0, i, ..., j, 0). because at a given moment there can exist more feasible route extensions, the priority will have that one that produces the biggest reduction of the total distance of the route. we implement the merge and repeat this operation to the current route. if no feasible merge exists, consider the next route and reapply the same operations. stop when no route merge is feasible. the clarke-wright based algorithm for solving the gvrp is easy to implement and its running time is o(n2 log n). 162 p.c. pop, c. pop sitar, i. zelina, v. lupşe, c. chira 3.2 improvement heuristics the improvement heuristics algorithms for the gvrp are based on simple routes modifications and may operate on each vehicle route taken separately, or on a several routes at a time. in the first case, any improvement heuristic for traveling salesman problem (tsp) can be applied, such as 2-opt, 3-opt, etc. in the second case, procedures that exploit the multi-route structure of the gvrp can be developed. we can see these improvements as a neighbourhood search process, where each route has an associated neighborhood of adjacent routes. the heuristics algorithms for the gvrp that we are going to describe are based on the classification of the van breedam [16] of the improvement operations as string cross, string exchange, string relocation and string mix. a) string cross (sc): two strings of vertices are exchanged by crossing two edges of two different routes. v0 v0 vp vq vi vj vj vi vp vq figure 2 an example of a possible string cross. in the left side are presented the routes before the exchange of the vertices strings and in the right side the routes after the exchange in the above picture there were presented just the clusters of the string of vertices that are exchanged in order to have a clearer figure. it is important to mention that we investigate all the possible connections of the exchanged vertices within the clusters in order to get improved routes, as is shown in figure 2: the nodes belonging to the marked clusters after the exchange may be diferrent. b) string exchange (se): two strings of at most r vertices are exchanged between two routes. v0 v0 vp vq vi vj vq vp vi vj figure 3 an example of a possible string exchange c) string relocation (sr): a string of at most k vertices is moved from one route to another (k = 1 or k = 2). v 0 v 0 vj vq vp vi vj vi vq vp figure 4 an example of a possible string relocation heuristic algorithms for solving the generalized vehicle routing problem 163 d) string mix (sm): consists in selecting the best move between the string exchange and string relocation. 3.3 a local-global heuristic for gvrp the last heuristic algorithm for solving the gvrp that we are going to describe is based on local-global approach and it aims at distinguishing between global connections (connections between clusters) and local connections (connections between nodes from different clusters). as we will see, having a global collection of routes connecting the clusters it is rather easy to find the corresponding best (w.r.t. cost minimization) solution of the gvrp. there are several generalized collection of routes, i.e. routes containing exactly one node from a cluster, corresponding to a global collection of routes. between these generalized collection of routes there exist one called the best generalized collection of routes (w.r.t. cost minimization) that can be determined either by dynamic programming or by solving an linear integer program. the local-global approach was applied succesfully to other generalized combinatorial optimization problems such as: generalized minimum spanning tree problem (gmstp) and generalized traveling salesman problem (gtsp) in order to provide exact exponential time algorithms, strong mixed-integer programming formulations, solution procedures based on these mixedinteger programming formulations and a heuristic algorithm for solving the gmstp, see [?, 12]. let g′ be the graph obtained from g after replacing all nodes of a cluster vi with a supernode representing vi. we will call the graph g′ the global graph. for convenience, we identify vi with the supernode representing it. edges of the graph g′ are defined between each pair of the graph vertices v1, . . . , vk. in the next figure we present the collection of generalized routes corresponding to the a global collection of routes. v 0 v 2 v 1 v 5 v 4 v 3 v 0 v 2 v 1 v 5 v 4 v 3 figure 5 example showing a generalized collection of routes corresponding to a global collection of routes given a global route and a sequence (v0, vk1, ..., vkp) in which the clusters are visited, we want to find the best feasible route r∗ (w.r.t cost minimization), visiting the clusters according to the given sequence. this can be done in polynomial time, by solving the following shortest path problem as we will describe below. we construct a layered network, denoted by ln, having p + 2 layers corresponding to the clusters v0, vk1, ..., vkp and in addition we duplicate the cluster v0, containing the vertex denoted 0 and representing the depot. the layered network contains in addition the extra node denoted by 0′ for each. there is an arc (i, j) for each i ∈ vkl and j ∈ vkl+1 (l = 1, ..., p − 1), having the 164 p.c. pop, c. pop sitar, i. zelina, v. lupşe, c. chira cost cij and an arc (i, h), i, h ∈ vkl , (l = 2, ..., p) having cost cih. moreover, there is an arc (i, 0 ′) for each i ∈ vkp having cost ci0′ . v 0 v v vk vk k v 0 1 2 p ... figure 6 example showing a route in the constructed layered network ln we consider paths from 0 to 0′, that visits exactly one node from each cluster vk1, vk2, ..., vkp , hence it gives a feasible route. conversely, every route visiting the clusters according to the sequence (v0, vk1, ..., vkp) corresponds to a path in the layered network from 0 to 0′. therefore, it follows that the best (w.r.t cost minimization) route r∗ visiting the clusters in a given sequence can be found by determining all the shortest paths from 0 to the corresponding 0′ with the property that visits exactly one node from each of the clusters (vk1, vk2, ..., vkp). the overall time complexity of the above procedure is o(m + log n), where by m we denoted the number of edges and n number of nodes. therefore, given a global collection of routes connecting the clusters we can find efficiently the best corresponding collection of generalized routes. in order to provide global collections of routes we may use any improvement heuristics for the classical vrp. 4 conclusion and future work the generalized vehicle routing problem is an extension of the vehicle routing problem (vrp) and consists in designing optimal delivery or collection routes, subject to capacity restrictions, from a given depot to a number of predefined, mutually exclusive and exhaustive node-sets (clusters). the gvrp is an np -hard problem and finds many interesting real-world applications. the aim of this paper was to present three classes of heuristic algorithms: constructive heuristics including nearest neighbour and a clarke-wright based heuristic; improvement heuristics including string cross (sc), string exchange (se), string relocation (sr) and string mix (sm) and a local-global heuristic for the gvrp. computational results are planned in order to assess the effectiveness of the proposed heuristic algorithms. acknowledgement. this work was partially supported by cncsis-uefiscsu, project number pnii idei 508/2007. bibliography [1] r. baldacci, e. bartolini and g. laporte, some applications of the generalized vehicle routing problem, le cahiers du gerad, g-2008-82, 2008. [2] g. clarke and j.w. wright, scheduling of vehicles from a central depot to a number of delivery points, operations research, vol. 12, pp. 568-581, 1964. heuristic algorithms for solving the generalized vehicle routing problem 165 [3] m. fischetti, j.j. salazar and p. toth, a branch-and-cut algorithm for the symmetric generalized traveling salesman problem, operations research, 45:378-394, 1997. [4] g. ghiani, g. improta, an efficient transformation of the generalized vehicle routing problem, european journal of operational research, vol. 122, pp. 11-17, 2000. [5] i. kara and t. bektas, integer linear programming formulation of the generalized vehicle routing problem, in proc. of the 5-th euro/informs joint international meeting, 2003. [6] i. kara and p.c. pop, new mathematical models of the generalized vehicle routing problem and extensions, in proc. of the international conference on applied mathematical programming and modelling, bratislava, slovakia, may 27-30, 2008. [7] g. laporte, location-routing problems, in b.l. golden and a.a. assad (eds.), vehicle routing: methods and studies, north-holland, amsterdam, pp. 163-197, 1988. [8] g. laporte, s. chapleau, p.e. landry and h. mercure, an algorithm for the design of mail box collection routes in urban areas, transportation research b, vol. 23, pp. 271-280, 1989. [9] g. laporte, m. gendreau, j-y. potvin and f. semet, classical and modern heuristics for the vehicle routing problem, international transactions in operational research, volume 7, issue 4-5, pp. 285 300, 2006. [10] g. nagy and s. salhi, location-routing issues: models and methods, european journal of operational research, vol. 177, pp. 649-672, 2007. [11] c.m. pintea, d. dumitrescu and p.c. pop, combining heuristics and modifying local information to guide ant-based search, carpathian journal of mathematics, vol. 24, no. 1, pp. 94-103, 2008. [12] p.c. pop, c. pop sitar, i. zelina and i. tascu, exact algorithms for generalized combinatorial optimization problems, lecture notes in computer science, vol. 4616, pp. 154-162, 2007. [13] p.c. pop, c.m. pintea, i. zelina and d. dumitrescu, solving the generalized vehicle routing problem with an acs-based algorithm, american institute of physics (aip), conference proceedings: bics 2008, vol.1117, no.1, 157–162, 2009. [14] p.c. pop, efficient transformations of the generalized combinatorial optimization problems into classical variants, proceedings of the 9-th balkan conference on operational research, constanta, romania, 2-6 september 2009. [15] p.c. pop, a survey of different integer programming formulations of the generalized minimum spanning tree problem, carpathian journal of mathematics, vol. 25, no. 1, pp. 104-118, 2009. [16] a. van breedam, an analysis of the behavior of the heuristics of the vehicle routing problem for a selection of problems, with vehicle-related, customer-related and time-related constraints, ph.d. dissertation, university of antwerp, belgium, 1994. international journal of computers, communications & control vol. i (2006), no. 3, pp. 61-69 bringing iptv to the market through differentiated service provisioning cathryn peoples, petre dini, sally mcclean, gerard parr, michaela black abstract: the world of telecommunications continues to provide radical technologies. offering the benefits of a superior television experience at reduced long-term costs, iptv is the newest offering. deployments, however, are slow to be rolled out; the hardware and software support necessary is not uniformly available. this paper examines the challenges in providing iptv services and the limitations in developments to overcome these challenges. subsequently, a proposal is made which attempts to help solve the challenge of fulfilling real-time multimedia transmissions through provisioning for differentiated services. initial implementations in opnet are documented, and the paper concludes with an outline of future work. keywords: transport layer, real-time communication, qos, multimedia protocols, reconfigurable stacks, opnet simulation. 1 introduction it is anticipated that iptv will be enthusiastically accepted [1] [2; cited by 4] by early adopters, those with a passion for technology. however, while the desire for rich multimedia-based information grows, it is necessary to remove any service impairments to maximise the possibilities of widespread attraction. iptv, with its high bandwidth and strict quality of service (qos) requirements, will currently not operate to a satisfactory quality in many networks throughout the world. investments and improvements are therefore required. the potential for iptv to become a killer application will depend on such developments. without an efficient and reliable service, demand for it cannot grow. as with previous internet applications with widespread demand, it is anticipated that iptv will have a similar appeal. the race is now on to make the necessary hardware and software upgrades to ensure an end-user experience of quality. 2 iptv a report by accenture [3] revealed that there is a lack of consumer awareness on the definition of iptv. for those who claim to understand, some exhibited widely varying interpretations. in the context of this paper, it is our (the authors’) understanding that iptv describes the transmission of traditional television over an ip network. in addition, iptv seeks to further build upon the user experience. the intention is to enable a customised and interactive service [4] [5]. it will be possible to search for ondemand viewing, obtain access to exclusive content, and succumb to product recommendation. to attract initial customers, it is not thought imperative to provide a service which is fully reliable or which exceeds the current viewing experience. in the early stages, iptv is likely to be used as a supplement to the traditional television service, adopted by those with a passion for new technologies. however, to ensure longevity, it is necessary to provide a service which exceeds the current experience. this demands a service which is uninterrupted, reliable, and ideally offers cost advantages. in addition, availability through minimal operational efforts is advantageous in terms of encouraging widespread appeal. copyright c© 2006 by ccc publications 62 cathryn peoples, petre dini, sally mcclean, gerard parr, michaela black 2.1 challenges of transmitting iptv there are numerous challenges to providing iptv. voice and video are applications with stringent qos requirements, demanding an end-to-end delay of less than 100 milliseconds and a bit error rate (ber) of less than 10−6. in addition, they require minimal variation on the amount of end-to-end delay; jitter has a negative effect on the ability to stream the service smoothly. indeed, the accumulation of a sufficient amount can render the communication useless [6]. ensuring high levels of qos is difficult, especially given the increasing popularity of the internet and resulting pressure on restricted resources. in addition, increased roll-out of wireless links creates connections with notoriously error-prone links. rejaie et al (1999) [7] have the opinion that, "the quality of delivered service to real-time operations is neither controllable nor predictable." while this fact may have been true in 1999, developments are ongoing to remove the occurrence of such limited network performance. the ability to achieve certainty in the reliability and quality of transmissions is required. customers purchase internet packages according to different levels of qos, which guarantee that they will receive a certain level of performance. therefore, the ability to ensure the quality of a real-time service is required. 3 multimedia protocols numerous multimedia protocols have been designed in recent years to meet the challenges involved in achieving real-time communication. in addition to considering those developed specifically for multimedia transmissions, protocols with rate-based control mechanisms are also applicable to multimedia transmissions. flow control is an important attribute where applications require a steady rate of throughput and where reliability is required. window-based flow control, as in the case of tcp [8], is inappropriate for multimedia applications. variable file sizes result in transportation through the network at different rates. setting a retransmission time-out which does not match the time-out appropriate to the media can increase jitter, and hence qos. in addition, rate-based transport protocols are considered to be more reliable than window-based approaches. the design of the window-based approach is highly constrained in terms of window-size and retransmission time-out, and any changes in the external environment will cause the protocol to fail. rate-based approaches, in contrast, adapt based on real-time, and not pre-defined, information. the broadband application transport system (bats) [9] was proposed in 1994 as a rate-based transport protocol. supporting four classes of service, provisions are made for a variety of application requirements. while ensuring throughput of class a applications (those which are time-sensitive, connection-oriented, and which require a constant bit rate) by blocking all subsequent communications, there is a limitation of this approach in terms of coping ability when there is more than one class a transmission. as all connections are blocked when a class a application is transmitting to ensure sufficient bandwidth, the implication is that a second class a transmission must wait until the first has completed. this approach, therefore, has significant limitations. rt-ring [10] was developed in 2002 to transmit multimedia in real-time. it offers three qualities of service and a fairness control mechanism which provisions for traffic with both real-time and non real-time requirements. however, a limitation also exists with this approach. the principle behind this protocol is that a non-satisfied station (one which has not achieved its real-time transmission) can maintain priority until it is satisfied. what happens, however, if there are multiple stations with the same priority? in large-scale deployments, this approach is likely to be unsuitable. the rate adaptation protocol (rap) [7] was created to provide qos for multimedia applications by adapting the quality of a flow of data. quality is adapted by using layered encoding, and simultaneously delivering a number of layers which can fit inside the available bandwidth. however, despite the benefits of bandwidth-provisioning, doubts exist regarding the direct provisions made for the transmission of bringing iptv to the market through differentiated service provisioning 63 real-time traffic. each packet is acknowledged and losses are detected by missing acks. lost data is not retransmitted, but the information is used to update the rate at which traffic flows. in addition, rap incorporates a feature of adapting the rate of flow depending on the feedback delay. adjusting the rate of flow does not seem like a suitable response to take for video applications, where such actions will result in varying amounts of network jitter. the rate control scheme (rcs) is designed for environments with high error rates and high bandwidthdelay products. it uses dummy packets to perform congestion control and an amid algorithm to adjust its transmission rate. a flaw exists in this protocol in relation to its approach to flow and congestion control. due to the protocol’s inability to perform retransmissions, if congestion occurs between a dummy packet being received at the source and the actual transmission being sent, the data will be lost without the ability to be recovered. in addition, it appears as though this protocol could cause the application to experience variable jitter. if a dummy packet is not received, the transmission will cease at least until the period when the next dummy segment is to be sent. providing sufficient bandwidth exists, the transmission will continue. however, a gap in the transmission will have been introduced, and bringing with it jitter. a qos-guaranteed transport system (qts) [11] provides differentiated qos based on the needs of the application. a bandwidth allocator determines the rate at which data is transported through the network, and the transport protocol module performs rate-based congestion control at a rate which has been determined by the bandwidth allocator. as with bats, the limitation is that there is no mechanism to cope with multiple applications having the same qos requirements. it therefore seems difficult to ensure that applications will receive the required qos. the main criticism of the current protocols which have been developed for multimedia applications is that they do not take network resource information into account when making protocol choices. while the qos requirements of the application are important, there are benefits in also incorporating network information. in this way, the available resources can be maximised for all applications and not only those with class a (in bats [9] language) requirements. 3.1 reliable transportation from the application or transport layer? it is appropriate at this stage to discuss the location of transportation reliability within the protocol stack. provisions for transmission reliability are increasingly being incorporated within the application layer. the real-time protocol (rtp) [12] is one such example, used in the application layer of the osi (open systems interconnection) [13] protocol stack for the transmission of applications with real-time requirements. cfdp [14], the ccsds [15] file delivery protocol developed by the delay tolerant network research group (dtnrg) [16], is another example, deployed within the ccsds protocol stack [17]. flow and error control functions are combined within the application layer in an attempt to compress the layered approach to solving the communication problem as introduced by the iso (international standards organisation) [18]. however, it is the opinion of the authors that it makes greater sense to retain the traditional layered approach to solving the communication problem, and have each layer solve an individually complex problem. this explains why the protocols under investigation are located within the transport, and not the application, layer. 4 reconfigurable protocol stacks the concept of reconfigurable protocol stacks has long been under investigation [19] [20] [21], and it is believed that there are significant performance improvements to be achieved in the real-time multimedia transmission challenge through development of this technique. there are obvious benefits to operating a reconfigurable protocol stack in 21st century networks due to increasing pressures on resources and the need to provide quality of service. a dynamic network architecture allows exactly 64 cathryn peoples, petre dini, sally mcclean, gerard parr, michaela black the right combination of protocols to be chosen for each application. however, reconfigurable protocol stacks remain to be deployed in networks today. an obvious concern which arises from the consideration of reconfigurable protocol stacks is the risk of increasing processing time when choosing the optimum stack configuration. there is also the risk that, in incorporating multiple choices into the stack, memory increases, and hence hardware costs, will be required. there are several approaches to incorporating reconfigurability into the protocol stack. one approach is to empower the message with the intelligence to decide the path through the stack and the functions necessary in relation to the requirements of the packet [22] [23]. another approach is to group the functions specific to an application at all layers [24] [25]. while there may be multiple functions within each layer, only one from each will be relevant to an application and the grouping will be determined in advance. the final approach investigated is to build a middleware layer into the stack, which makes provisions for allowing adaptability [26] [27]. the approaches presented are diverse and thorough, and yet many more exist in addition to those examined here [28] [29] [30]. however, each has certain features with specific application for various environments and applications. as with the multimedia protocols, the main criticism is that the majority of the proposed reconfigurable protocol stacks do not take environmental information into account when making protocol choices, but rely on the needs of the application. as transmissions depend heavily on the environmental constraints in the network, it is important that explicit network information is used in the decision-making process. 5 research proposal current transport layer protocols are incapable of achieving the stringent qos requirements of realtime multimedia applications. they neither possess the capabilities to characterise applications nor adapt performance to maximise the possibility that qos is achieved. such functionalities, however, are thought paramount to the achievement of application qos in tomorrow’s networks. the research proposal incorporates application and environmental information at the top of the stack to influence decisions made in the lower layers. in addition, the functionalities which are available in each layer will be increased. currently, within the transport layer, either tcp [8] or the user datagram protocol (udp) [31] will be available according to the nature of the application. each protocol has welldefined and contrasting approaches to communication. however, network conditions can be extremely variable and dynamic. therefore, my proposal incorporates a greater amount of variability into the transport layer, different protocols being more appropriate to use in different circumstances. the protocol stack will be evaluated on a hop-by-hop basis. variability of protocol functions will be introduced in terms of connection orientation of the communication, flow control and the rate of flow control, error control, and the retransmission strategy. the proposed protocol stack is shown in figure 1. environmental information is passed to the protocol stack via a connecting network diagnostic and management system. the diagnostic system will not be discussed in depth in this paper; this represents future work and may be documented at a later date. several attributes are passed between the protocol stack and the diagnostic system. this is in keeping with bashir et al’s (2005) [32] opinion that network performance is typically measured using metrics for throughput, connectivity, end-to-end and round-trip packet delay, and packet loss. several of these parameters have been selected to combine environmental and application information. the subsequent result will be used to select the transport protocol. the formula is shown in equation 1. result = √√√√ √ ber( √ u d2e2 ∗(db + dt ) ) ∗tos (1) bringing iptv to the market through differentiated service provisioning 65 context-aware protocol stack network agent & fault diagnosis system real-time contextual information sending and receiving timestamp source address destination address ip traffic dropped (packets/sec) ip background traffic delay (sec) jitter (sec) data drop rate (buffer o’flow) (bps) data drop rate (retry threshold exceeded) (bps) load (bps) packet delay (sec) packet delay variation (sec) tcp delay (sec) tcp segment delay (sec) tcp retransmission count application c1 c2 c3 network c1 c2 c3 data link c1 c2 c3 bundling context-aware middleware application classification bw mc rt p tcp rcs transport parsing & normalisation real-time analysis fault identification fault diagnosis action b1 b2 … bx physical c1 c2 c3 qts rtp rap udp multi-hop backbone data collectors figure 1: proposed protocol stack and network management function combination o f application and environmental in f ormation where: u link utilisation de2e end-to-end delay db data drop (buffer overflow) dt data drop (retry threshold exceeded) ber bit error rate tos type of service the type of service (tos) attributes refers to the qos required by an application. the scale being used is 0 best effort application, 3 excellent effort, and 6 interactive voice. the qos therefore increases in parallel with the tos value. as an example of how this protocol stack will be used, it is the intention that where the link is under-performing (i.e. low link utilisation, high end-to-end delay, high number of data drops, and high bers), the transport protocol deployed is one with a reduced amount of overhead. the rationale behind this approach is that, where the network is operating in a manner which is sub-optimal, a protocol with less control overhead should be used to maximise the opportunity that some of the data transmitted will be received (taking into account that iptv is an application which can cope with some data loss). if a protocol with more stringent error-control requirements was used in such an environment, there is a greater opportunity that the data will not be received due to an inability to cope with data loss. it should also be noted that, while it is shown in the stack that the complete protocols are deployed at each hop when the conditions are evaluated, it is the intention that the separate functionalities of each protocol can be called. for example, it may be decided that the four classes of service from bats should 66 cathryn peoples, petre dini, sally mcclean, gerard parr, michaela black be deployed alongside the qts error-control scheme (error-control only for loss-sensitive applications). it is the intention to call the current multimedia protocol functions to maximise their potential and the success of the transmission, given the application requirements and the environmental constraints. the calling of individual error, flow, and retransmission strategies will depend on individual formulaic conditions designed. 6 implementation implementation of the research proposal has partially occurred. the functionality being documented in this paper is the integration of adaptability in terms of the connection-orientation of the communication. within opnet [33], this has involved integrating environmental information, which has not previously been provisioned for. the environmental information and the evaluation criteria discussed in section 5 have been inserted into the application layer. defined within the function block, the changes are subsequently called from the process model states when spawning the application profiles. dependencies between the layers have also been provisioned for. this has involved integrating the changes made in the application layer within the subsequent modules called. opnet uses a global data structure from which it determines the transport protocol being used for any application. it is referred to several times in the initiation of a communication for the purpose of populating data structures with the transport protocol. one of the functions of this implementation was therefore to remove all reliances on the global transport protocol service, and to ensure that all references were instead made to the intelligently calculated protocol. changes were required in the tpal layer and the process models generated by the spawning of the application process, the video_calling_manager and gna_profile_mgr models. after the tpal layer, the transport protocol module and the lower layers of the stack are called. as the changes are being made to the choice of transport protocol, all changes must therefore be made before this layer. figure 2 shows the dependencies between the process modules, and the span of changes required to achieve implementation at the client. the changes implemented in a top-down fashion between the application and tpal layers have ensured developments at the client. developments must now be made in a bottom-up approach between the same layers to allow incorporation of the same changes at the server. 7 conclusions and future work the research proposal has been thoroughly investigated and it is believed that the proposed scheme can have a realistic existence in future networks. reconfigurable protocol stacks have been widely investigated in the literature, but remain to be deployed. given the dynamism of network conditions, it seems sensible to incorporate flexibility into the protocol stack. conditions in the external environment are pivotal in enabling the transport protocol’s operation, and hence the fulfilment of the application’s requirements. therefore, its incorporation into the decision-making process is thought fundamental to providing future service differentiation. it is the challenge to design one which is technically and commercially feasible. this research has been conducted during a four-month internship with cisco systems in silicon valley. the protocol stack developments discussed in this paper are also simultaneously being developed for a phd research project. this internship has allowed research to occur specifically on the transmission of multimedia, although the applicability of all application types to this proposal will be considered for the final project. this period has seen the initiation of the task of delving into opnet’s code to modify how functions are performed at present. future work will involve incorporating the other techniques with an adaptable status. these include flow control, error control, and the retransmission strategy. bringing iptv to the market through differentiated service provisioning 67 destroy_profile spawn_profile svc_compl arrival client_closed rtrv_complete close open remote_ profile wait start init gna_clsvr_mgr ace gna_profile_mgr init idle spawn end close gna_video_calling_mgr open connect end idle receive send_ close send tpal_v3 pre_init init wait req reg error_ trap open gna_profile_spawn app_pk_to_tpal_send figure 2: data flows from application to tpal layers references [1] multimedia research group, "ip tv global forecast 2006 2009: semiannual ip tv global forecast", march 2006. [2] gartner group, "iptv prediction", gartner group research report, winter 2005. [3] zadeh, a; douglass, g, k; dogra, r; "communications and high tech: "infinite possibilities" television?", accenture, may 2006. available at: http://www.accenture.com/global/research_and_insights/outlook/by_issue/y2006/ infinitetelevision.htm [4] shin, d, h; "potential user factors driving adoption of iptv. what are customers expecting from iptv?", technological forecasting and social change, 2006. [5] harris, a; "white paper of enabling iptv: what carriers need to know to succeed", may 2005, idc. available at: http://www.emc.com/analyst/pdf/idc_iptv_whitepaper_jun_9_05.pdf 68 cathryn peoples, petre dini, sally mcclean, gerard parr, michaela black [6] chan, s-p; kok, c-w; wong, a, k; "multimedia streaming gateway with jitter detection", ieee transactions on multimedia, volume 7, number 3, june 2005, pages 585 592. [7] rejaie, r; handley, m; estrin, d; "rap: an end-to-end rate-based congestion control mechanism for realtime streams in the internet", proceedings of the eighteenth annual joint conference of the ieee computer and communications societies, volume 3, 21 25 march 1999, pages 1337 1345. [8] postel, j; "transmission control protocol", request for comments 793, september 1981. [9] yuang, m, c; liu, j, c; shay, c, l; "bats: a high-performance transport system for broadband applications", ieee proceedings of the 19th conference on local computer networks, 2 5 october 1994, pages 448 455. [10] conti, m; donatiello, l; furini, m; "design and analysis of rt-ring: a protocol for supporting real-time communications", ieee transactions on industrial electronics, volume 49, issue 6, december 2002, pages 1214 1226. [11] yuang, m, c; liu, j, c; "qts: a qos-guaranteed transport system for broadband multimedia communications", ieee transactions on industrial electronics, volume 45, number 1, february 1998, pages 69 77. [12] schulzrinne, h; casner, s; frederick, r; jacobson, v; "rtp: a transport protocol for real-time applications", network working group, request for comments 3550, july 2003. [13] international organisation for standardisation, "open systems interconnection basic reference model: the basic model", iso/iec 7498-1: 1994, available at: http://isotec.iso.org/livelink/livelink/fetch/2000/2489/ lttf_home/publiclyavailablestandards.htm [14] consultative committee for space data systems, "ccsds file delivery protocol (cfdp): recommendation for space data system standards", blue book, october 2002. [15] consultative committee for space data systems, available at: www.ccsds.org [16] delay tolerant network research group. available at: www.dtnrg.org [17] consultative committee for space data systems; "overview of space link protocols", ccsds 130.0-g-1, green book, june 2001. [18] international standards organisation, available at: www.iso.org [19] curran, k; parr, g; "the use of dynamically reconfigurable protocol stacks for streaming multimedia to mobile devices", proceedings of the 8th international conference on communication systems, 25 28 november 2002, volume 2, pages 947 951. [20] johnny, t, f; "adaptive protocol suite for next generation wireless internet", proceedings of the ieee 2005 international conference on personal wireless communications, 23 25 january 2005, pages 509 513. [21] akyildiz, i; altunbasak, y; fekri, f; sivakumar, r; "adaptnet: an adaptive protocol suite for the next-generation wireless internet", ieee communications magazine, march 2004, pages 128 136. [22] o’malley, s, w; paterson, l, l; "a dynamic network architecture", acm transactions on computer systems, volume 10, number 2, may 1992, pages 110 143. bringing iptv to the market through differentiated service provisioning 69 [23] schöler, t; müller-schloer, c; "design, implementation and validation of a generic and reconfigurable protocol stack framework for mobile terminals", proceedings of the ieee 24th international conference on distributed computing systems workshops, 2004. [24] haas, z; "a protocol structure for high-speed communication over broadband isdn", ieee network magazine, january 1991, pages 64 70. [25] zitterbart, m; stiller, b; tantawy, a, n; "a model for flexible high-performance communication subsystems", ieee journal on selected areas in communications, volume 11, number 4, may 1993, pages 507 518. [26] curran, k; parr, g; "the use of dynamically reconfigurable protocol stacks for streaming multimedia to mobile devices", proceedings of the 8th international conference on communication systems, 25 28 november 2002, volume 2, pages 947 951. [27] zhang, c, h; chin, t, k; koh, k, y; ong, g, m; suthon, s; peng, c, h; pung, h, k; "octopus: an adaptive group communication environment for multimedia application", the ieee 10th international conference on networks, 27 30 august 2002, pages 145 150. [28] akyildiz, i; altunbasak, y; fekri, f; sivakumar, r; "adaptnet: an adaptive protocol suite for the next-generation wireless internet", ieee communications magazine, march 2004, pages 128 136. [29] an, l; pung, h, k; zhou, l; "design and implementation of a dynamic protocol framework", computer communications 29, 2006, pages 1309 1315. [30] guan, s-u; lim, s-s, "modeling adaptable multimedia and self-modifying protocol exceution", future generation computer systems 20, 2004, pages 123 143. [31] postel, j, "user datagram protocol", request for comments 768, august 1980. [32] bashir, o; parish, d; sandford, m; phillips, i; "optimising data processing in network performance monitoring systems", proceedings of the iee communications, volume 152, issue 5, 7 october 2005, pages 633 642. [33] opnet, available at: www.opnet.com cathryn peoples, gerard parr, sally mcclean, michaela black university of ulster school of computing and information engineering coleraine, northern ireland bt52 1sa e-mail: {si.mcclean,gp.parr,mm.blackg}@ulster.ac.uk petre dini cisco 170 west tasman drive san jose, ca 95134 usa e-mail: pdini@cisco.com ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 6-16 incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system alla anohina, marks vilkelis, romans lukasenko riga technical university, department of systems theory and design kalku street 1, riga, latvia, lv-1658 e-mail: alla.anohina@rtu.lv, markvilkel@inbox.lv, lrexpress@inbox.lv abstract: the paper is devoted to the knowledge assessment system that has been developed at the department of systems theory and design of riga technical university for the last four years. the system is based on concept maps that allow displaying the knowledge structure of a particular learner in the form of a graph. teacher’s created concept maps serve as a standard against which learner’s concept maps are compared. however, it is not correct to compare teacher’s and learners’ concept maps by examining the exact equivalence of relationships in both maps, because people construct knowledge in different ways. thus, an appropriate mechanism is needed for the flexible evaluation of learners’ concept maps. the paper describes the algorithm implemented in the concept map based knowledge assessment system and its evolution through four prototypes of the system. keywords: knowledge assessment system, concept maps, evaluation algorithm 1 introduction rapid development of information and communication technologies and availability of huge amount of electronic information resources has led to changes in the roles of the main actors of the educational process, namely, a teacher and a learner. nowadays teachers should guide learners through the learning process by advising them and providing necessary stimuli while learners search information in different places, inter alia in e-learning environments (for example, [1, 2]) and turn it into knowledge. special methods are needed for the evaluation of learners’ knowledge structures created in such conditions and one of them is concept maps that allow displaying the knowledge structure of a particular learner in the form of a graph. the department of systems theory and design of the faculty of computer science and information technology of riga technical university has been developing the concept map based knowledge assessment system since the year 2005. the system has twofold goals in the context of the integration of technology into the traditional educational process: 1) to promote learners’ knowledge self-assessment, and 2) to support the teacher in the improvement of the learning course through systematic assessment of learners’ knowledge and analysis of its results. the goals are reached by the use of concept maps as an assessment tool. three prototypes of the system have been already implemented and the fourth one is under development at the moment [3]. the paper is a logical continuation of the description of the system’s working principles presented in [4] by focusing on a different aspect of its functionality, namely, on the algorithm for the comparison of learner’s and teacher’s concept maps and its incremental improvement through system’s prototypes. the paper is organized as follows. section 2 gives an overview of the system. section 3 discusses related works concerning scoring systems of concept maps. evolution of the algorithm for the comparison of learner’s and teacher’s concept maps is described in section 4. finally, conclusions are presented. copyright © 2006-2009 by ccc publications incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system 7 2 overview of the system as it was mentioned in introduction concept maps are used as an assessment tool in the developed knowledge assessment system. according to [5] they can foster the learning of well-integrated structural knowledge as opposed to the memorization of fragmentary, unintegrated facts and externalize the conceptual knowledge (both correct and erroneous) that learners hold in a knowledge domain. a concept map is a graph with labeled nodes corresponding to concepts in a problem domain and with arcs indicating relationships between pairs of concepts. arcs can be directed or undirected and with or without linking phrases on them. a linking phrase specifies the kind of a relationship between concepts. concept map based tasks can be divided in 1) "fill-in-the map" tasks, where the structure of a concept map is given to the learner and he/she must fill it using the provided set of concepts and/or linking phrases, and 2) "construct-a-map" tasks, where the learner must decide on the structure of the concept map by him/herself. the developed concept map based knowledge assessment system is used in the following way. the teacher defines stages of knowledge assessment and creates concept maps for all of them by specifying relevant concepts and relationships among them in such a way that the concept map of each stage is nothing else then an extension of the previous one. thus, the concept map of the last stage includes all concepts and relationships among them. teacher’s created concept maps serve as a standard against which the learners’ concept maps are compared. during knowledge assessment the learner solves a concept map based task corresponding to the assessment stage. after the learner has submitted his/her solution, the system compares the concept maps of the learner and the teacher, calculates the score of the learner’s result and generates feedback. the system offers five concept map based tasks that are ranged from the easiest to the most difficult (figure 1) [6]. eight transitions between tasks are implemented allowing the learner to find a task most suitable for his/her knowledge level. four transitions increase the degree of task difficulty. they are carried out after the analysis of the learner’s solution if the learner has reached the teacher’s specified number of points in the current assessment stage without reducing the degree of difficulty of the original task. so, this is a system’s adaptive reaction to the learner’s behavior. other four transitions reduce the degree of task difficulty and they are carried out by the voluntary request from the learner during the solving of the task. thus, the system supports knowledge self-assessment as it makes the analysis and evaluation of learners’ concept maps, as well as provides feedback about the learner’s errors. it promotes systematic knowledge assessment because it allows the extension of the initially created concept map for other assessment stages. moreover, statistical information about differences between learners’ concept maps and teacher’s concept map is collected providing opportunities for the teacher to improve the learning course [4]. the system is implemented as a web-based three-tier client-server application [4, 7] consisting of the following architectural layers (figure 2): 1) a data storage layer represented by data base management system (dbms); 2) an application logics layer composed of the application server and the server side code running on it; a special persistence and query framework is used to communicate with the dbms; and 3) the representation layer or graphical user interface. as it is shown in figure 2 the concept map based knowledge assessment system can be divided into three logical domains: administrator, teacher and student. each domain has its own goal, but they are strictly linked together. functionality of each domain can be used by one of three user roles which names correspond to the names of the domains. an administrator is responsible for the administration and maintenance of the whole system using such functions as input, editing and deleting of data about users (teachers and students), courses and student groups. the teacher domain provides all necessary functions for the creation of concept maps and defining of their attributes, as well as for the viewing of learners’ results. functionality of the student domain includes all things related to the completion of the 8 alla anohina, marks vilkelis, romans lukasenko concept map based tasks by learners and providing of feedback after the completion of the task. figure 1: tasks offered in the concept map based knowledge assessment system figure 2: the three-tier architecture of the system 3 related works there are a lot of research related to scoring systems of concept maps. in [14] three main approaches are highlighted: evaluation of components of a concept map, comparison with the expert concept map, or combination of both previously mentioned kinds. novak and gowin [11] have offered a scheme in which different number of points are assigned to such components of a concept map as propositions, levels of hierarchy, cross-links, specific examples of concepts. in [13] the previously described set of components is extended by number of branchings in the concept map. for the comparison of the learner’s concept map with the expert map goldsmith [8] has offered "the closeness index" indicating the degree of similarity between the expert and the learner’s concept map. in turn, herl and colleagues [9] use a matching algorithm that includes several expert maps evaluating each learner’s concept map. in their work two evaluation indicators are calculated: (a) stringent semantic content score on the basis of the exact relationships matches between learner’s and expert’s concept incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system 9 maps, and b) categorized semantic content score, when learner’s defined relationship matches some set of possible relationships in the expert concept map. in [10] concept maps are scored by comparing each learner’s concept map with two expert maps. the learner receives half a point for each relationship that matches with an expert relationship and a full point, if the relationship matches with both experts’ relationships. learners also receive additional points for relationships that are more valued by experts ("critical relationships") and relationships that are less like what experts might include. both the evaluation of components of concept maps and the comparison with the expert concept map are combined in [12], where three different approaches to the scoring of concept maps are used: (a) a total score, defined as a number of valid learner’s relationships, (b) a congruence score, defined as a proportion of valid learner’s relationships to all relationships in the expert map, (c) a salience score, defined as a proportion of valid learner’s relationships to all relationships in the learner’s concept map. regardless of the diversity of schemes for scoring of concept maps, it is necessary to note that basically they are developed for the evaluation of tasks, in which learners must create their own concept maps. thus, a question about the evaluation of fill-in-the-map tasks remains open. moreover, the greater part of the offered schemes are not considered in the context of computer-assisted assessment systems, thus, it is very difficult to evaluate, whether they are feasible and useful in the concept map based knowledge assessment system. these factors motivated the authors of the paper to develop an algorithm suitable for the evaluation of both fill-in-the-map tasks and construct-a-map tasks in the concept map based knowledge assessment system. 4 evaluation algorithm the developed algorithm is sensitive to the arrangement and coherence of concepts in the learners’ concept maps. it is based on the assumption that the learner’s understanding of the presence of a relationship between concepts has the primary value, while other aspects such as the type of the relationship, the linking phrase, the direction of the arc and the places of concepts are secondary things. the algorithm is capable of recognizing different patterns of the learner’s solution. two kinds of relationships are used in concept maps: 1) important relationships which show that relationships between the corresponding concepts are considered as important knowledge in the learning course, and 2) less important relationships that specify desirable knowledge. for each correctly provided important relationship the learner receives 5 points, but for each less important relationship only 2 points are assigned. in the first system’s prototype developed in 2005 only one fill-in-the-map task was offered to learners. thus, all learners received the same structure of a concept map and a list of concepts. learners must insert provided concepts in correct nodes of the concept map structure. arcs were undirected and did not have semantics. taking into account that the value of a completely correct relationship is 100 %, the following contributions of its constituent parts were defined: the presence of the relationship in the learner’s concept map 50% (a fact that the learner understands the presence of the relationship between concepts has the primary value), the correct type of the relationship 30% (the learner should be able to distinguish, what is important and what is less important in the learning course), both concepts related by the relationship are placed in the correct places 20% (this factor has the greatest subjectivity). thus, the patterns of the learner’s solution which the algorithm was capable of recognizing are the following [15, 16]: • pattern 1. the learner has interrelated concepts in the same way as they are related in the teacher’s concept map. in this case the learner receives the maximum score regarding the type of the relationship. figure 3.b. shows that the concepts a and e in the learner’s concept map are interrelated in the same way as they are interrelated in the teacher’s concept map (figure 3.a). • pattern 2. the learner has defined a relationship that does not exist in the concept map of the teacher. in this case he/she does not receive any points. figure 3.c demonstrates that the learner 10 alla anohina, marks vilkelis, romans lukasenko figure 3: patterns of the learner’s solution that the first system’s prototype was able to recognize: a) the teacher’s concept map; b)-f) the patterns in the learner created concept map has made a relationship between the concepts a and h that are not interrelated in the teacher’s concept map (figure 3.a). • pattern 3. the learner’s defined relationship exists in the teacher’s map, the type of the relationship is correct, but at least one of the concepts is placed in an incorrect place. the learner receives 80% of the maximum score for the correct relationship of this type. figure 3.d shows that the learner has interrelated the concepts b and d. a similar relationship exists in the teacher’s concept map (figure 3.a). however, both concepts are located in incorrect places, although the type of the relationship is correct. • pattern 4. the learner’s defined relationship exists in the teacher’s map, the type of the relationship is wrong, and at least one of the concepts is placed in an incorrect place. the learner receives 50% of the maximum score for the correct relationship of this type. this pattern is displayed in figure 3.e. comparing the learner’s defined relationship between the concepts a and f with the same teacher’s relationship (figure 3.a) it is possible to notice that the concept f is located in the incorrect place, as well as the type of the relationship is a less important relationship instead of an important relationship. • pattern 5. a concept is placed in a wrong place, but its place is not important. the learner receives the maximum score for a corresponding relationship. figure 3.f demonstrates that the learner has changed places of the concepts m and l. new tasks 3 fill-in-the-map and 2 construct-a-map tasks (figure 1)were introduced in the second system’s prototype developed in 2006. moreover, linking phrases were added to concept maps causing modification of points received for relationships and extension of the set of patterns recognized by the system. assuming that a value of the fully correct relationship is 100%, the following contributions of its constituent parts were defined: the presence of the relationship in the learner’s concept map 40%, a correct linking phrase provided for the relationship 30% (semantics of relationships are important knowledge units), a correct type of the relationship 20%, both concepts related by the relationship are placed in the correct places 10%. therefore, the extended set of patterns of the learner’s solution was the following [6]: incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system 11 • pattern 1. the learner has defined a completely correct relationship. in this case the learner receives the maximum score regarding the type of the relationship. figure 4.b demonstrates that the concepts a and e in the learner’s concept map are interrelated in the same way as they are interrelated in the teacher’s concept map (figure 4.a). • pattern 2. the learner has defined a relationship that does not exist in the concept map of the teacher and he/she does not receive any points. figure 4.c shows that the learner has related the concepts a and h which are not related in the teacher’s map (figure 4.a). • pattern 3. the learner’s defined relationship exists in the teacher’s map, both the type of the relationship and the linking phrase are correct, but at least one of the concepts is located in an incorrect place. the learner receives 90% of the maximum score for that relationship. this pattern is displayed in figure 4.d. the learner has defined the relationship between the concepts b and d by providing the correct type of the relationship and the linking phrase. however, both concepts are located in different places as compared to the teacher’s concept map (figure 4.a). • pattern 4. the learner’s defined relationship exists in the teacher’s map, but the type of the relationship is incorrect. the learner receives 80% of the maximum score for the correct relationship. this pattern is valid only for construct-a-map tasks (tasks 4 and 5 in figure 1) where places of concepts are not important. assuming that figure 4.e displays the learner’s created concept map, one can see that the learner has interrelated the concepts b and c by defining the correct linking phrase, but providing the important relationship instead of a less important one as it is in the teacher’s map (figure 4.a). • pattern 5. the learner’s defined relationship exists in the teacher’s map, but the linking phrase is incorrect. the learner receives 70% of the maximum score for the correct relationship. figure 4.f shows that the learner has located the concepts a and k in the same places as they are located in the teacher’s concept map (figure 4.a), but the linking phrase differs. • pattern 6. the learner’s defined relationship exists in the teacher’s map, the type of the relationship is incorrect, and at least one of concepts is placed in the incorrect place. the learner receives 70% of the maximum score. figure 4.g shows that the learner has related the concepts a and f using the less important relationship instead of the important relationship (figure 4.a) and has located the concept f in other place. • pattern 7. the learner’s defined relationship exists in the teacher’s map, the linking phrase is incorrect, and at least one of concepts is located in the incorrect place. the learner receives 60% of the maximum score. this pattern is displayed in figure 4.h, where one can see that the learner has defined the relationship between the concepts g and f, but has pointed out the linking phrase that differs from the linking phrase in the teacher’s concept map (figure 4.a), as well as has located both concepts incorrectly. • pattern 8. the learner’s defined relationship exists in the teacher’s map, but both the type of the relationship and the linking phrase are incorrect. the learner receives 50% of the maximum score for the correct relationship. this pattern is valid only for construct-a-map tasks (tasks 4 and 5 in figure 1), where places of concepts are not important. assuming that figure 4.i displays the learner’s created concept map, one can see that the learner has interrelated the concepts o and b that are also interrelated in the teacher’s concept map (figure 4.a). the learner has provided an incorrect type of the relationship (an important relationship instead of a less important relationship) and an incorrect linking phrase. 12 alla anohina, marks vilkelis, romans lukasenko figure 4: patterns of the learner’s solution that the second system’s prototype was able to recognize: a) the teacher’s concept map; b)-j) the patterns in the learner created concept map (numbers on links display different relationships and represent linking phrases) incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system 13 • pattern 9. the learner’s defined relationship exists in the teacher’s map, both the type of the relationship and the linking phrase are incorrect, in addition at least one of the concepts is placed in the incorrect place. the learner receives 40% of the maximum score for that relationship. this pattern is shown in figure 4.j. by comparing the learner’s defined relationship between the concepts j and n with the same relationship in the teacher’s concept map (figure 4.a), one can see that both concepts are located in incorrect places, and the type of the relationship and the linking phrase are incorrect. in the third prototype implemented in 2007 directed arcs were introduced causing the following modifications of points received for relationships: the presence of the relationship in the learner’s concept map 40%, a correct linking phrase provided for the relationship 30%, a correct direction of the arc corresponding to the relationship 15%, a correct type of the relationship 10%, both concepts related with the relationship are placed in the correct places 10%. totally 36 patterns were acquired for all tasks and they are summarized in figure 5. no modifications of points have been made in the fourth system’s prototype. thus, the evaluation algorithm is based on the set of patterns specified in figure 5. however, improvement of the algorithm is continued by studying possibility to reveal extra relationships in learners’ concept maps [17]. figure 6 displays a situation when some relationships are "hidden": there are only 3 relationships in the teacher’s concept map (figure 6.a), but 2 more relationships can be derived (figure 6.b). these derived relationships are correct too and could appear in learners’ concept maps, so it is necessary to define a mechanism according to which the system could detect extra relationships and, thus, make assessment more flexible and automated. with aim to determine extra relationships 6 types of relationships are considered [17]:is a a relationship between concepts meaning that one of the concepts is a sub-class of other, part of a relationship between concepts meaning that one of the concepts is a part of other, attribute a relationship between a concept and its attribute, example a relationship between a general concept and a particular example of it, value a relationship between an attribute and its value, kind of a relationship between levels of hierarchy. figure 7 shows the structure of a pattern further explained in figure 8. the pattern has two main relationships (relation 1 and relation 2) that have types mentioned previously. in some cases combination between relationships is not allowed. in other cases an extra relationship (relation 3) can be formed. column "combination allowed" identifies either combination between relation 1 and relation 2 is allowed or not. the entry "cannot be specified" in the column "relation 3" indicates that there can be situations when an extra relationship can be added, but not always. in turn, the entry "no extra relationship" in the same column points out that no additional relationship of considered 6 types can be added. additional relationships that can be derived from more than three concepts and two relationships between them can be revealed as well. in such case the algorithm must iteratively go through the concept map searching for patterns and adding extra relationships whenever it is possible. the algorithm stops when no new relationship has been added during the last iteration. 5 conclusions the use of concept maps for the evaluation of learners’ knowledge structures demands an appropriate mechanism for the comparison of learners’ concept map with the teacher’s one. the mechanism should consider that people construct knowledge in different ways and there can be differences between concept maps that are not indicators of incorrect knowledge. the paper presents the algorithm capable of recognizing several patterns of the learner’s solution on the basis of such criteria as location of concepts, types of relationships, direction of arcs and correctness of linking phrases allowing the learner to receive 14 alla anohina, marks vilkelis, romans lukasenko figure 5: the extended set of patterns of the learner’s solution in the third system’s prototype figure 6: hidden relationships (adopted from [17]) figure 7: structure of the pattern (adopted from [17]) incremental improvement of the evaluation algorithm in the concept map based knowledge assessment system 15 some points in case if his/her relationships match teacher’s ones only partly. moreover, detection of extra relationships that can appear in learners’ concept maps makes assessment more automated. figure 8: patterns containing three concepts and two relationships (adopted from [17]) bibliography [1] a.styliadis, i.karamitsos, d.zachariou,personalized e-learning implementation-the gis case, international journal of computers,communications & control, vol.1, no.1, pp.59-67, 2006. [2] g. moise, a software system for online learning applied in the field of computer science, international journal of computers,communications & control, vol.2, no.1, pp.84-93, 2007. [3] j. grundspenkis, a. anohina, evolution of the concept map based adaptive knowledge assessment system: implementation and evaluation results, scientific proceedings of riga technical university, rtu publishing, riga, 2008 (submitted). [4] m. vilkelis, a. anohina, r. lukashenko, architecture and working principles of the concept map based knowledge assessment system, proceedings of the 3rd international conference on virtual learning, october 31 november 2, constanta, romania, pp. 81-90, 2008. [5] a. j. cañas, a summary of literature pertaining to the use of concept mapping techniques and technologies for education and performance support, technical report, 2003. [6] a. anohina, d. pozdnakovs, j. grundspenkis, changing the degree of task difficulty in concept map based assessment system, proceedings of the iadis international conference "e-learning 2007", july 6-8, lisbon, portugal, pp. 443-450, 2007. [7] r. lukashenko, m. vilkelis, a. anohina, deciding on the architecture of the concept map based knowledge assessment system,proceedings of the international conference on computer systems and technologies, june 12-13, gabrovo, bulgaria, pp. v.3-1 v.3-6, 2008. 16 alla anohina, marks vilkelis, romans lukasenko [8] t. e. goldsmith, p. j. johnson, w. h. acton, assessing structural knowledge, journal of educational psychology, vol.83, no.1, pp. 88-96, 1991. [9] h. herl, e. baker, d. niemi, construct validation of an approach to modelling cognitive structure of u.s. history knowledge, journal of educational research, no. 89, pp. 206-219, 1996. [10] d. c. d. klein, g. k. w. k. chung, e. osmundson, et al., examining the validity of knowledge mapping as a measure of elementary students’ scientific understanding, cse techical report no.557, 2002. [11] j. d. novak, d. b. gowin, learning how to learn, london, 1984. [12] m. a. ruiz-primo, r. j. shavelson, s. e. schultz, on the validity of concept map-based assessment interpretations: an experiment testing the assumption of hierarchical concept maps in science, cse technical report 455, 1997. [13] j. d. wallace, j. j. mintzes, the concept map as a research tool: exploring conceptual change in biology, journal of research in science teaching, vol. 27, pp. 1033-1052, 1990. [14] m. a. ruiz-primo, r. j. schavelson, problems and issues in the use of concept maps in science assessment, journal of research in science teaching, no.6, pp. 569-600, 1996. [15] a. anohina, j. grundspenkis, prototype of multiagent knowledge assessment system for support of process oriented learning, proceedings of the 7th international baltic conference on databases and information systems, july 3-6, vilnius, lithuania, pp. 211-219, 2006. [16] a. anohina, v. graudina, j. grundspenkis, using concept maps in adaptive knowledge assessment, advances in information systems development "new methods and practice for the networked society", springer, pp. 469-480, 2006. [17] j. grundspenkis, m. strautmane, usage of graph patterns for knowledge assessment based on concept maps. scientific proceedings of riga technical university, rtu publishing, riga, 2008 (submitted). alla anohina is a lecturer at the department of systems theory and design of riga technical university in latvia. she obtained her doctoral degree in computer systems from riga technical university in 2007. her main research fields are intelligent tutoring systems, computer-assisted assessment systems and artificial intelligence. she has seven years’ experience of teaching in the field of computer science both in riga technical university, and in other educational institutions of latvia. she has participated in several research projects related to the development of of educational software. marks vilkelis is currently developing the master thesis "the knowledge assessment system as a client-server java application" at the institute of information technology of riga technical university. in 2005 he obtained the bachelor degree from the mentioned institution. his scientific interests cover java open source technologies and applications of artificial intelligence. he has experience of working as a programmer in some research projects. his professional activities are related to the programming of complex business applications in the international software development company. romans lukasenko is a phd student of computer systems at the riga technical university in latvia. he obtained the master degree in computer systems from the mentioned institution in 2006. his main research fields are intelligent tutoring systems, computer-assisted assessment systems and student modelling. his thesis is related to the implementation of a student model in the knowledge assessment system. romans lukashenko works also as a researcher at the department of systems theory and design of riga technical university. he has participated in several research projects related to the development of educational software. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 217-228 reactive control using behavior modelling of a mobile robot imen ayari, abderrazak chatti abstract: this paper deals with the reactive control of an autonomous robot which should move safely in a crowded unknown environment to reach a goal. a behavior based approach is used to realize obstacle avoidance within a neural model conceived from a set of examples of perception/action relations; supervised learning is used for the aim; while goal-reaching task is realized using a fuzzy rule-based system. a task activation module is used to generate the overall command, resulting from the fuzzy controller and the neural model. real time simulation examples of generated path with proposed techniques are presented. keywords: reactive control, mobile robots, neural networks, learning,fuzzy control. 1 introduction one of the major challenges in the development of intelligent mobile robotic systems is endowing them with an ability to plan motions and to navigate autonomously in a crowded environment avoiding any type of obstacles. different kinds of the path planning problem can be illustrated; the simplest one is to find a continuous path from a starting position to a goal position given the exact description of the environment. different global approaches were applied for the purpose such as decomposition, road-map, and retraction methods. when dealing with unknown environment, much fewer approaches are used; obstacles in that case are either detected locally during the robot movement and dynamically incorporated into the path generation process, or approximated in the workspace (miura, uozumi, and shirai [9]; yu and su [10]; bennewitz, burgard and thrun [11]). [12] a way to deal with the navigation problem is within behavior based navigation approaches. the main idea is to subdivide the navigation task into small subtasks. several behavior-based control schemes have been achieved inspired by the subsumption architecture of brooks[13][14]such us reactive behaviors defined by arkin using motor schemes (arkin [15][16][17]); damn architecture presented by rosenblatt et al.[18][19][12] in which a centralized module of votes provided by independent behaviors combines into a voted output and fuzzy logic approach to manage behaviors used by saffiotti [13], seraji et al. [14][15] and others [16][17].[18] this framework provides an overview on the contribution of soft computing to the field of behavior based robot control, a hybrid approach is adopted using both neural and fuzzy logic methods to realize the specified task of reaching a goal with obstacles avoiding in a crowded unknown environment. a neural model is conceived to synthesize avoiding obstacle behavior from a set of examples representing the perception/action relation using a supervised learning strategy. goal-reaching task is realized using a fuzzy rule-based system. a task activation module is used to generate the overall command, resulting from the fuzzy controller and the neural model. simulation examples of generated path with proposed techniques are presented. 2 neural networks in robotics historically, robots for industrial purposes involved little or no learning. recently, a growing interest in unstructured environments has encouraged learning intensive design methodologies. the emerging class of robots must be able to interact responsively with people and other robots providing assistance and service that will increasingly affect everyday life. robots may learn by adjusting parameters, building copyright © 2006-2007 by ccc publications 218 imen ayari, abderrazak chatti environmental models such as maps, exploiting patterns, evolving rule sets, generating entire behaviors, devising new strategies, predicting environmental changes, recognizing the strategies of opponents or exchanging knowledge with other robots. essentially, neural networks deal with cognitive tasks such as learning, adaptation, generalization and optimization. indeed, recognition, learning, decision-making and action constitute the principal navigation problems. to solve these problems fuzzy logic and neural networks are used. they improve the learning and adaptation capabilities related to variations in the environment where information is qualitative, inaccurate, uncertain or incomplete. artificial neural networks (anns) are algorithms based very loosely on the neural phenomenon of spreading activation. anns can encode knowledge and skill implicitly as associative connections between nodes. stimulation introduced to the input nodes of a neural network travels between layers of the network to produce some output on the other end. this output is evaluated by a trainer who applies supervised or unsupervised learning to alter the weights of synaptic connections and thereby change the way the network will respond. in this way, anns allow human knowledge and guidance to orchestrate the learning process. such techniques, where learning is applied by a knowledgeable teacher, are often referred to as robot shaping. usually robot shaping involves symbolic interaction between a human and robot and may even involve a high-level tasking language. such an interface allows humans to supply high-level assistance and allows the robot to accomplish the low-level learning necessary to achieve the goal. [19] 3 robot description the robot used in this work has been conceived in our laboratory [20][21] around a hardware architecture that facilitates the communication with a remote computer in different ways. it was based on different modules as shown in figure (1). every module has processing capabilities that allows updating the type of the low level current controller for the motor driver (2), test different dead reckoning approximations for the wheel encoders that determines the position (3) or compute different averaging methods for the infrared sensors (4). the robot can be totally free with an embedded master controller while transmitting wireless information to a computer, or the computer can be its master taking inputs and giving orders. a mechanical structure handling this architecture was based on two dc motors controlling through gears two differential wheels. wheels are provided with encoders that allows after processing determining an approximate relative position of the robot. eight infrared sensors are placed on a circle every 45◦, they sense for obstacles by measuring the reflected light. figure 1: robot architecture reactive control using behavior modelling of a mobile robot 219 figure 2: ir sensors (ir diode + phototransistor) figure 3: robot parameters the figure (3) shows the robot parameters where c is the center of the wheels and g is the gravity center, d separate these two centers as the in the general case d is always different than zero. the movement vector q containing variables of the robot has the cartesian coordinates of the center, the orientation and angle of each of left and right wheels: q = (xc,yc, φ , θr, θl ) (1) given the kinematics equations of this model: ẏc cos φ − ẋc sin φ −dφ̇ = 0 ẋc cos φ + ẏc sin φ −bφ̇ = rθ̇l ẋc cos φ + ẏc sin φ + bφ̇ = rθ̇r we can obtain the pfaffian kinematics constraint: a(q)q̇ = 0 with a(q) =   −sin φ cos φ −d 0 0 −cos φ −sin φ −b r 0 −cos φ −sin φ b 0 r   220 imen ayari, abderrazak chatti deriving the kinetic energy equation and considering the system with the pfaffian constraint, we obtain the matrix differential system: m(q)q̈ + v (q, q̇) = e(q)τ −at (q)λ a(q)s(q) = 0 st (msυ̇(t) + mṡυ(t) + v ) = τ the resulting system is based on non-stationary matrices that will be re-computed every simulation step: ẋ = [ sυ 0 ] + [ 0 i ] u thus we have an approximate model of the robot dynamics. matrices of this differential equation have parameters measured on the real robot and some others are variables computed on the run with the simulation like position and speed. the input of this equation is the torque applied on every wheel. resolving theses equations provide the speed and position of the robot. figure 4: robot dynamic model input output 4 proposed approach a hybrid approach is adopted using both neural and fuzzy logic methods to realize the specified task of reaching a goal point while avoiding obstacles. the control structure is made of two tasks as seen in the figure (5), a task for reaching the goal and a second one for avoiding obstacles; the input of the control system is sensors data and the outputs are the actuators command. obstacle avoidance goal reaching (main task) actuators sensors figure 5: control structure 5 goal reaching task the goal reaching task is expected to align the robot’s heading with the direction of the goal; goal is the orientation difference between the robot axe and the goal. a fuzzy controller is used to accomplish the task as shows the figure (7), with fc-lw and fc-rw the fuzzy command respectively of the left wheel and the right wheel. reactive control using behavior modelling of a mobile robot 221 θgoal goal point r figure 6: goal orientation resolving fuzzy controller θgoal fc_lw fc_rw figure 7: goal reaching controller fuzzy sets the variable ’ goal ’ has 8 fuzzy sets: ( left, front left, front, front right , right, right back, back, left back ) the variables fc-lw and fc-rw have 6 fuzzy sets: (go ahead, go more on left, go more on right, quick turn left, quick turn right, go back ) fuzzy inference system the inference system id defined by the following rules: • if goal is on front then go ahead • if goal is on left then go more on left • if goal is right then go more on right • if goal is back then go back • if goal is on front left then quick turn left • if goal is left back then go back and go more on left • if goal is on right back then go back and go more on right • if goal is on front right then quick turn right -180° -135° -90° -45° 0° 45° 90° 135° 180° b lb l fl f fr r rb b θgoal figure 8: inputs and outputs membership functions 222 imen ayari, abderrazak chatti 6 obstacle avoidance task using neural robot behavior modelling for the task of avoiding obstacles, a neural model is utilized, reproducing the robot behavior in the used environment in order to avoid obstacles. it is a way of learning the environment with obstacle existence by affecting command values to each vector data from sensors. in our application the model inputs are the 8 infrared sensors data and the outputs are the commands of each wheel motor. robot behavior model c1 c2 nc_lw nc_rw c8 figure 9: obstacle avoidance strategy c1 c2 c3 c4 c5 c6 c7 c8 figure 10: infrared sensors position the corresponding neural network model is a normalized multilayer perceptron (mlp) composed of 5 hidden neurons with sigmoidal activation functions and two output linear neuron representing wheels command. the training algorithm used is the backpropagation algorithm with simple gradient. the simple gradient version consists in modifying the weights w according to the following formula: w( k) =w(k −1) + ∆w(k) with : ∆w(k) = −µ ∂ j ∂ w where µ is the training step. ∑ nc_lw ∑ nc_rw c1 c8 . . . . . figure 11: neural network architecture the network training is made using a conceived indoor environment with many obstacles of different shapes. the training data was collected using a joystick to guide the robot navigation in the environment reactive control using behavior modelling of a mobile robot 223 while avoiding obstacles. a sequence of the 8 sensors data and the corresponding wheels command is registered in a file used for the training and test of the achieved model. the model validation is made by computing the prediction error and by testing the robot behavior in the same environment after its training. the training examples describing the obstacle avoiding behavior should be chosen carefully in order to be representative and can be generalized for other environments. a first training was made in a learning environment endowed with simple obstacles shape; we use a more type of the learning environment. the training principle is to learn the robot how to dodge obstacles; the robot goes forward, its front should be free otherwise it turns and follows the obstacle border as seen in figures (12) and (13). as a basic environment was used the one shown in the figure1.a; the test result was satisfactory in the same environment but collisions were detected when adding particular shapes of obstacles like corners or u traps. a second training is then achieved to learn avoiding this particular type of obstacles as seen in figure (13); the navigation test was satisfactory for corners but not for u traps; the robot begins to oscillate between the right and left side without having an outlet, in fact the same command is alternately applied for left and right wheel which causes the oscillation behavior. this situation was treated in the task activation module that gives the overall command for reaching goal and avoiding obstacles tasks. figure 12: behavior robot learning in simple environment 7 task activation the overall command, resulting from the fuzzy controller for reaching goal and the neural model for avoiding obstacles, is computed by a task activation module as shows the figure (14). a third unit is used at the input of the task activation module; it determines the situation (context) concerning the robot localization. three situations are considered according to sensors data giving information about obstacles existence. s1: if c1 is far and c2 is farěand c8 is far then obstacle is far s2: if c1 is near or c2 is nearěor c8 is near then obstacle is near s3: if c1 is near and c2 is near and c4 is near and c6 is near and c7 is near and c8 is near then trap situation 224 imen ayari, abderrazak chatti figure 13: behavior robot learning in complex environment (particular shaped obstacles) sensors configuration (c1…c8) θgoal obstacle avoidance (neural model) goal reaching (fuzzy system) situation selection (s1, s2, s3) task activation (if situation then taski ) nc_lw nc_rw fc_lw fc_rw sk c_lw c_rw task1 task2 figure 14: task activation module reactive control using behavior modelling of a mobile robot 225 the input fuzzy sets describing the distances of each sensor to the nearest obstacle is defined in the figure (15). 0 20 100 far near 1 figure 15: membership functions for distance to obstacle trap situation is activated when the robot is trapped in a narrow corridor; the neural controller gives in this case a bad behavior; the robot begins to oscillate between the right and left side without having an outlet. the figure (16) shows an example of a trap situation. figure 16: example of a trap situation the task activation module is made up of a fuzzy rule base: if situation then task i three rules are considered as follows: • if obstacle is far then goal reaching • if obstacle is near then obstacle avoidance • if trap situation and 0 < goal < pi then turn left else turn right 8 simulation results to verify the validity of the proposed approach, some cases were illustrated using a real time simulation of the upper presented robot; it has to move from a given current position to a desired goal position in an unknown environment endowed with different obstacle shapes: simple shapes as seen in figure (17) and particular ones depicted by figure (18.2). the learned environment and a new one were both tested for the robot navigation depicted respectively by figures (18) and (17). the robot is any case, able to reach the goal placed behind obstacles while avoiding obstacles successfully. 9 summary and conclusions this framework presented a behavior based approach making use of the neural network and fuzzy control to realize the task of reaching goal in a crowded environment. a neural network modelling the robot behavior when encountering obstacles is conceived using supervised learning. different shapes of obstacles were learned; the neural model should associate a particular sensor data to a given action. the goal reaching task was achieved using a fuzzy rule-based system; coordination of the two tasks was addressed using a task activation module giving the overall action depending on the context. the simulation examples of the generation of the collision free path with goal reaching show that designed strategy is acceptable as solution of this problem. 226 imen ayari, abderrazak chatti figure 17: collision free goal reaching in an unlearned environment figure 18: collision free goal reaching in a learned environment reactive control using behavior modelling of a mobile robot 227 bibliography [1] j.miura, h.uozumi and y.shirai, mobile robot motion planning considering the motion uncertainty of moving obstacles, in proceedings of ieee international conference on systems, man, and cybernetics, pp.692-697, 1999. [2] h.yu and t. su, a destination driven navigator with dynamic obstacle motion prediction, in proceedings of ieee international conference on robotics and automation, pp. 2692-2697, seoul, korea: ieee, 2001. [3] m.bennewitz, w.burgard and s. thrun, adapting navigation strategies using motions patterns of people, in proceedings of ieee international conference on robotics and automation, pp.20002005, taipei, taiwan: ieee, 2003. [4] dmitry v. lebedev;1, jochen j. steil, helge j. ritter,the dynamic wave expansion neural network model for robot motion planning in time-varying environments, university of bielefeld, faculty of technology, neuroinformatics group, 2005 [5] r. c. arkin, towards cosmopolitan robots: intelligent navigation in extended man-made environments, phd thesis, university of massachusetts, department of computer and information science, 1987. [6] r. c. arkin, motor schema-based mobile robot navigation, int. j. of robotic research, vol 8, pp. 92-112, 1989. [7] r. c. arkin and tucker balch, principles and practice in review , journal of experimental and theoretical artificial intelligence (jetai), vol. 9, no. 2/3, pp. 175-188, april, 1997 [8] r. a. brooks, a robust layered control system for a mobile robot, ieee journal of robotics and automation, vol. 2, no. 1, march 1986, pp. 14-23; also mit ai memo 864, september 1985. [9] r. a. brooks, a robot that walks; emergent behavior from a carefully evolved network, neural computation, 1:2, pp. 253-262, 1989,. also in ieee international conference on robotics and automation, scottsdale, az, pp. 292-296, may 1989. [10] j. rosenblatt, damn: a distributed architecture for mobile navigation, ph.d. dissertation, carnegie mellon university robotics institute technical report cmu-ri-tr-97-01, pittsburgh, pa, 1995. [11] j. rosenblatt and d.w. payton, a fine-grained alternative to the subsumption architecture for mobile robot control, proceedings of the ieee/inns international joint conference on neural networks, washington dc, vol. 2, pp. 317-324, june 1989. [12] d. langer, j.k. rosenblatt, and m. hebert, a behavior-based system for off-road navigation, ieee journal of robotics and automation, vol. 10, no. 6, pp. 776-782, 1994. [13] saffiotti, the uses of fuzzy logic for autonomous robot navigation: a catalogue raisonn’e, soft computing research journal, vol. 1, no. 4, pp. 180-197, 1997. [14] h. seraji and a. howard, behavior-based robot navigation on challenging terrain: a fuzzy logic approach, ieee trans. rob. autom., vol. 18, no. 3, pp. 308-321, 2002. [15] simon x. yang, hao li, , max q.-h meng, and peter x liu, an embedded fuzzy controller for a behavior-based mobile robot with guaranteed performance, ieee transactions on fuzzy systems, vol. 12, no. 4, pp.436-446,august 2004. 228 imen ayari, abderrazak chatti [16] x. yang, m. moallem, and r. v. patel, a layered goal-oriented fuzzy motion planning strategy for mobile robot navigation, ieee transactions on systems, man, and cybernetics, vol. 35, no. 6, 1214-1224, december 2005. [17] majura f. selekwa, damion d. dunlap, and emmanuel g. collins, jr., implementation of multivalued fuzzy behavior control for robot navigation in cluttered environments, proceedings of the 2005 ieee international conference on robotics and automation barcelona, spain, pp.3699-3706, april 2005. [18] fatmi, a. al yahmadi, l. khriji, and n. masmoudi, a fuzzy logic based navigation of a mobile robot, transactions on engineering, computing and technology, vol. 15, issn 1305-5313, 2006 [19] d. janglová, neural networks in mobile robot motion, inernational journal of advanced robotic systems, vol.1 n.1, pp. 15-22,2004. [20] w. filali, i. ayari, a.chatti, modelling, real time simulation and fuzzy control of a differential wheels mobile robot, congrès international en sciences et techniques de l’automatique sta, hammamet, 2006. [21] w. filali, i. ayari, a. chatti, research platform on mobile robotics with modular architecture, tunisian-japanese seminar on culture, science and technology tjcst, sousse, 2005. [22] i. rivals, l. personnaz, g. dreyfus and d. canas, real-time control of an autonomous vehicle: a neural network approach to the path following problem, in neuro-nimes, pp 219-229, nimes, 1994. imen ayari, abderrazak chatti institut national des sciences appliquées et de technologie (insat) centre urbain nord, bp. 676, 1080 tunis cedex, tunisie e-mail : ayari.imen@gmail.com, abderrazak.chatti@insat.rnu.tn received : february 12, 2007 revised : june 26, 2007 imen ayari (born on july 10, 1979) received the engineer diploma degree in 2003 and the master degree in 2005, both in automatic and industrial computing from the "institut national des sciences appliquées et de technologie", tunisia. she is currently preparing the ph.d. degree in automatic and computer science within the framework of lagis-ec-lille and lara-enit (tunisia) cooperation. her research is related to the appliance of soft computing methods especially neural networks for mobile robots control. abderrazak chatti received the master of science degree in 1988 from polytechnical school of saint-pétersbourg from russia and the phd degree in technical sciences in 1994 from polytechnical university of saint-pétersbourg, russia, both in automatics and industrial computing. presently he is associate professor in the "institut national des sciences appliquées et de technologie", tunisia. his research interest includes topics such as modelling and control of non linear dynamic processes, robust and intelligent control. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 664-664 a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation f.m. cordova, g. leyton felisa m. cordova university of santiago of chile ecuador 3769. estacion central chile, santiago e-mail: felisa.cordova@usach.cl guillermo leyton university of la serena benavente 980 e-mail: gleyton@userena.cl abstract: this paper presents the design of a fuzzy control heuristic that can be applied for modeling nonlinear dynamic systems using a fuzzy knowledge representation. nonlinear dynamic systems have been modeled traditionally on the basis of connections between the subsystems that compose it. nevertheless, this model design does not consider some of the following problems: existing dynamics between the subsystems; order and priority of the connection between subsystems; degrees of influence or causality between subsystems; particular state of each subsystem and state of the system on the basis of the combination of the diverse states of the subsystems; positive or negative influences between subsystems. in this context, the main objective of this proposal is to manage the whole system state by managing the state combination of the subsystems involved. in the proposed design the diverse states of subsystems at different levels are represented by a knowledge base matrix of fuzzy intervals (kbmfi). this type of structure is a fuzzy hypercube that provides facilities operations like: insert, delete, and switching. it also allows boolean operations between different kbmfi and inferences. each subsystem in a specific level and its connectors are characterized by factors with fuzzy attributes represented by membership functions. existing measures the degree of influence among the different levels are obtained (negatives, positives). in addition, the system state is determined based on the combination of the statements of the subsystems (stable, oscillatory, attractor, chaos). it allows introducing the dynamic effects in the calculation of each output level. the control and search of knowledge patterns are made by means of a fuzzy control heuristic. finally, an application to the co-ordination of the activities among different levels of the operation of an underground mine is developed and discussed. keywords: fuzzy systems, knowledge representation, heuristics, nonlinear dynamic systems. 1 introduction organizations can be visualized as complex systems composed of various subsystems that respond to different problems and have their own dynamics. this process in turn is recursive, so each subsystem has a particular dynamics. such is the case of managements, business areas, departments, primary and support activities of the value chain, activities plans, besides many copyright c⃝ 2006-2010 by ccc publications a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation 665 other systems and subsystems existing in the organization. each subsystem is characterized by its variables and by inputs that can alter its performance and its outputs, which are the inputs of other subsystems, whose dependent effects are known only approximately. this constitutes a situation of a set of highly dynamic subsystems and with clearly nonlinear characteristics. usually, these factors are not considered in the decision making processes. it is clear that a universe of this kind is quite heterogeneous, dynamic, and growing. also, because of the nature of the stated problem, it must be considered that these subsystems represent inputs among themselves, giving the problem a high dose of parallelism. insofar as these subsystems serve as inputs among themselves, feedback is taking place continuously, making the system’s dynamics difficult to control, predict, manage and administer [1]. it is also necessary to take into account the increasing number of data, information and knowledge that current systems must administer, in particular their adequate representation [9]. if we consider that the problem of knowledge-based management and decision making must be carried out in organizations having these characteristics, then it is ever more important to support conceptual models and tools adequate for the planning, management and control processes of this dynamics. on the other hand, the representation knowledge is a fundamental component in any intelligent system that allows coding knowledge, objects, objectives, actions, and processes. the scheme for the chosen representation of knowledge determines the reasoning process and its efficiency. numerous studies on the representation of knowledge show that a representation can be more adequate than another one for a particular case or it can be capable of covering a greater number of cases [8]. the more traditional methods used are semantic networks, frames, production rules, trees, and bits matrices. cazorla et al. [3] suggest that knowledge can be classified according to the specific application to be used that develops knowledge: procedural, declarative, meta-knowledge, heuristic, or structural. however, the theory of diffuse sets proposed by zadeh [12], [13] allows the generation of knowledge representations that are closer to the nature itself of what it is desired to represent. the conceptual models of systems, their representation based on knowledge, and the tools for supporting management and decision making must then consider in their design factors such as high dynamism, parallelism, feedback, incompleteness, handling of uncertainty, nonlinearity, vagueness, qualitative definitions and behaviors, personal opinions, etc. along this line, some authors [1], [16], [15] make a profound development of various concepts such as fuzzy function approximations, chaos and fuzzy control, and processing of fuzzy signals. however, his greatest contribution refers to the calculation and representation of knowledge by means of fuzzy cubes and fuzzy cognitive maps. mcneill [6] also works with fuzzy theory as a means of representing environments with uncertainty usually characterized by their nonlinearity. welstead, on the other hand, supported by one of kosko’s results [11] suggests that fuzzy rules can be represented by one or more fuzzy associative memory matrices (fam); combining the above with genetic algorithms he proposes a model to approach prediction problems. they also use fuzzy representations centered mainly on the interaction of fuzzy theory, neural networks, and genetic algorithms, supporting a new line of work known as computational intelligence. tsoukalas [10] is more centered on the interaction and creation of fuzzy theory and neural network hybrids. to approach these kinds of problems, models are designed making use mainly of causal diagrams or knowledge maps with a series of nodes that would represent the concepts that are relevant to the system, and links between them that show the causal relation (influence) between concepts. in this context, the objective of this paper is to make a study and analysis that will allow modeling some types of dynamic systems, representing knowledge by means of a knowledge base matrix of fuzzy intervals and fuzzy cognitive maps [4], [14] and [15] with the purpose of achieving their categorization and fuzzy weight, as well as the levels of incidence in other subsystems, in this way characterizing the complete system with its levels of fuzzy incidence [5], [10]. 666 f.m. cordova, g. leyton 2 modeling of the diffuse knowledge base matrix in this proposal each of the map’s concepts corresponds to a fuzzy set, and it is specifically a particular knowledge base matrix of fuzzy intervals (kbmfi). the connections between concepts will have an associated value in the [-1,1] range that represents the degree of influence of a (kbmfi) node on another. if the value is positive, it indicates that an increase on the evidence of the origin concept increases the meaning, the evidence or the truth value of the destination concept. if it is negative, an increase of the evidence of the source causes a decrease of that of destination. if the value is 0, there is no connection, and no causal relation. in this way it is possible to get blurred cognitive maps from the opinion of one or various experts on the relations between some aspects of the evaluation process of a hypothetical case. also, the clear recursiveness involved in these types of systems is considered, and a vision of granularity is proposed that allows overcoming the various levels of abstraction subjacent in the dissimilar subsystems. on the other hand, internally each subsystem can be represented by kbmfis, allowing their incidence weight to be obtained with respect to other subsystems and at the same time represent their particular behavior. definition 1. let x be a classical set of objects, called the universe. belonging to a subset a of x can be defined in terms of the characteristic function: µa : x −→ [0, 1] x −→ µa(x) (1) where: µa(x) = { 1 x ∈ a 0 x ̸∈ a if the evaluation set 0, 1 is extended to the real interval [0,1], then it is possible to talk about the partial belonging in a, where µa(x) is the degree of belonging of x in a, and the values 0 and 1 are interpreted as "non-belonging" and "total belonging", respectively. clearly, a is a subset of x, which has no defined boundaries. this leads to the following definition. definition 2. let x be an object’s space. a fuzzy set a of x is characterized by the set of pairs: a = {(x, µa(x))/x ∈ x} where µa : x −→ [0, 1] (2) the fuzzy concept proposed by zadeh [11] is based on the fact of allowing the partial belonging in a set for certain elements of a given universe. definition 3. a fuzzy hypercube can be considered as a unit hypercube, i.e., a hypercube in = [0, 1]n. the n fuzzy cube has two vertices or binary subsets. a fuzzy cube contains all the fuzzy sets of a set x of n objects. the non-fuzzy sets are found at the vertices of the cube. the continuum of fuzzy sets is in the cube. definition 4. knowledge base matrix of fuzzy intervals (kbmfi) means the hypercube that is constituted by the various knowledge e1, e2, e3, ..., en, relative to a domain of knowledge, considering also the different weight or importance that each of them has in the particular domain. the kbmfi is a fuzzy hypercube where e1, e2, ..., en, represent the various contingencies or characteristics of the area under discussion, according to the opinion of the experts. ej, with j = 1, 2, ..., n, do not necessarily have the same relevance or weight, they can be in particular a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation 667 fuzzy frames consisting of s1, ..., sm, where s1, s2, ..., sm, are the possible factors, not necessarily disjoint, such that each characteristic ei can be expressed by means of some particular union of s1, s2, ..., sm factors. now the particular determination of each ei through its particular factors s1, s2, ..., sm, model systems composed of a range of nodes n1, n2, ..., nn, continually influencing each other if and where the incidence of one with respect to others is completely dynamic. in particular, this outlines a vision of dynamic nonlinear systems which in similar but not equal versions are seen as causality maps. if the map is adjusted to the opinions of several experts, one would have to get the assessments of all of them and therefore establish the definitive values associated with the causality relations. it must be noted that in general the causalities mentioned by the experts with respect to the various influences exerted by the nodes of the maps are more attributable to qualitative than quantitative concepts. as already stated, nonlinear dynamic systems involve nonlinear and feedback behaviors. in these systems the output of a process or node is used as input for the following node or iteration, and the output of this can again be the input of the same previous node, i.e., self-recurrent behaviors. this behavior corresponds to the following equation: f(x0) =   xn−1 xn xn+1 assuming that the following situation occurs when modeling the system: x1, x2, x3, ..., xn. definition 5. let x0 be an arbitrary starting node, then the above sequence is called the trajectory. considering these definitions, several behaviors can occur, such as, for example: fixed points; periodic trajectories; behaviors given by attractor nodes, and chaos. 3 case study the case study corresponds to the situation of an underground mine which has three levels: production level, reduction level, and transport level. the problem consists in "providing support to activity scheduling management". the problem consists in "providing support to activity scheduling management" [2]. the total system shown by figure 1 consists of these three subsystems and the dynamics that exists between them. this situation is denoted as level 1. figure 1: production, reduction and transport levels. 668 f.m. cordova, g. leyton n1: production level considers n11, n12, n13, as subsystems; n2: reduction level considers n21, n22, as subsystems; n3: transport level considers no subsystems. looking at it at a more particular abstraction level, level 2 appears, as shown in figure 2. from the particular situation shown, in figure 1 it is seen that: n1 influences n2 negatively and n3 positively, n2 influences n1 and n3 positively, n3 influences n2 negatively and n3 positively. however, figure 2 shows that the information obtained at level 1 of abstraction of the system does not have the sensitivity or reliability that is obtained at level 2 of abstraction, whose granularity or disaggregation is slightly higher. figure 2: diagram of influence at the different levels. if both levels are confronted, it may be incorrectly deduced that apparently contradictory information is obtained. for example, if we look at level 1 and level 2 for the case of n3 with n2, at level 1 it was stated that n3 influences n2 negatively, but at level 2 it could be concluded that both have the opposite influence, n31 influences n22 negatively and n21 influences n31 positively. this apparent contradiction can be explained, for example, by saying that when production at the reduction level decreases, there is less pressure on the demand for trains or cars, and on the other hand, if there is not sufficient transport from n31 there is an impact due to accumulation of material at the reduction level, which is considered a negative influence. then the question is, which of the two situations has greater incidence weight? according to figure 3, and only as an example, it can be stated that the negative impact from n31 to n22 is greater than the influence of n22 on n31. the main observations to the system are: it is clear that it is a dynamic fuzzy system. in turn, every ni is a dynamic fuzzy subsystem. the connections between the various ni are fuzzy. these connections can be positive or negative. if positive, ni influences positively on nj. if negative, ni influences negatively on nj. 4 design and implementation of the kbmfi matrix going more deeply into table 1, the experts draw these kbmfi as causal tables. they do not state equations, but make links between subsystems. the kbmfi systems convert each pictograph into a fuzzy rules weight matrix. the nodes of the kbmfi can model the complex nonlinearities between the input and output nodes. the kbmfi can model the dynamics that occur in the multiple iterations that take place in these dynamic systems. the kbmfis with n nodes have nn arcs. since ni(t) nodes are fuzzy concepts, their values ∈ [0, 1]; a state of a kbmfi is the ni(t) = (n1(t), n2(t), ..., nn(t)) vector, so it is a point of the a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation 669 hypercube in = [0, 1]n. an inference in a kbmfi is a road or sequence of points in in, i.e., it is a fuzzy process or an indexed family of fuzzy sets n(t). it is clearly seen that the kbmfis can perform "forward chaining," and whether they can perform "backward chaining" (nonlinearity inverse causality) is an open question. the kbmfis form, as nonlinear dynamic systems, semantic fuzzy networks and act as neural networks. the kbmfis can converge to a fixed point, to a limited cycle, that can be a stable or oscillating state or a chaotic attractor in the fuzzy cube in. in this context, one of the basic questions to be answered is: what happens if the input to the (kbmfi) system is known? in this sense, each kbmfi stores a set of global rules of the form: if n(0) then attractor a (3) a kbmfi with a single fixed global point has only one global rule. the size of the attractor regions in the fuzzy cube governs the number of these global regions or hidden patterns. the kbmfis can have large and small attractor regions in in, each of them with a different degree of complexity. therefore an input state can lead to chaos and a relatively close input state can end up in a fixed point or limited cycle or a stable state. since the kbmfis correspond to a semantic fuzzy network structure, it is possible to associate a matrix m. this matrix lists the causal links between ni nodes. as an example, if it is considered again the case described by figure 2, the corresponding kbmfi is presented where a row is the incidence of ni on nj; columns are nodes influence ni and α, β, γ, δ, η, τ, are values. fuzzy function: [little, moreorless, much, etc.]. n11 n12 n13 n21 n22 n31 n11 0 −αµ +αµ 0 0 +αµ n12 0 0 0 +βµ 0 0 n13 +γµ 0 0 0 −γµ 0 n21 0 −ηµ −ηµ 0 −ηµ 0 n22 +δµ 0 0 0 0 +δµ n31 +τµ 0 0 0 −τµ 0 the proposed model is decomposed in diverse abstraction levels and at each level is represented by a corresponding kbmfi. initially, observing figure 2, the abstraction level 0 appears. only the influence shapes are observed. a node ni can influence positively or negatively to the node nj. abstraction level 0 appears: n1 n2 n3 n1 0 + n2 + 0 n3 + 0 experts are asked to qualify the degree of influence between: µ = [nothing, irrelevant, few, influence, regular, alter, a lot, very much, so much] as shown in the incidence graphic of figure 3. applying the incidence graphic, a second level of abstraction 01 is obtained: n1 n2 n3 n1 0 −µ +µ n2 +µ 0 −µ n3 +µ −µ 0 it is observed that the degree of incidence between a node ni with a node nj, this means that it exists a bigger degree of specificity (granulation) between them. this enhancement of 670 f.m. cordova, g. leyton figure 3: incidence graphic. specificity is explicit in the following level, it exist a "slot" between ni with nj. in this case different situations are denoted: n1 influences in a negative way to n2; n1 influences in a positive way to n3; n2 influences in a positive way to n1; n2 influences in a negative way to n3; n3 influences in a positive way to n1; n3 influences in a negative way to n2. if it is considered that a node ni can be decomposed in ni1, ni2, ..., nik, in where those nim, m = 1, 2, ..., k, with a particular dynamic conforms a ni, the situation in the analyzed case is as follows: n1 = (n11, n12, n13); at level 0; node or subsystem n1. n1 at level 01, node or subsystem n1i is defined by: n11 n12 n13 n11 0 + n12 0 0 0 n13 + 0 0 n1 at level 011 is defined by: n11 n12 n13 n11 0 −αµ +αµ n12 0 0 0 n13 +αµ 0 0 n2 = n21, n22; at level 0; node or subsystem n2. n2 at level 01, node or subsystem n2i is defined by: n21 n22 n21 0 n22 0 0 n2 at level 011 is defined by: a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation 671 n21 n22 n21 0 −ηµ n22 0 0 applying the same procedure to node n3 and it is only characterized by n31, n3 at level 011 is defined by: n31 n31 0 at this point only the fuzzy subsystem cohesion is developed. so, it is necessary to visualize what it happens with the external dynamic between subsystems, in order to obtain the fuzzy matching inter systems. continuing with the fuzzy cohesion procedure, links between nodes n1, n2 and n3, at level 0 by nodes are obtained: n1 n2 n3 n1 0 + at level 01 by node n1: n1 n2 n3 n1 0 −αµ +αµ at level 011 by node n1: n1 n21 n22 n31 n11 0 0 0 +αµ at level 02 by node n1: n1 n21 n22 n31 n11 0 +βµ 0 0 in this way, influences are obtained allowing the fuzzy matching. 5 heuristic control for the kbmfi each ni level has fij factors that determine it, with i = 1, 2, 3; j = 1, 2, ..., m. table 1 shows relevant characteristics, factors, attributes and fuzzy functions at production level. table 2 shows relevant factors, attributes and fuzzy functions at production level. each fij factor has aijs attributes that determine it, where i = 1, 2, 3; j = 1, 2, ..., m; s = 1, 2, ..., k (see table 1). each aijs has attribute metrics associated with its nature. these metrics are functions of fuzzy membership (see table 2). for the above points, it is possible to state that the degrees of influence (negative or positive) that exist between the various levels can be measured, allowing the calculation of the existing dynamics of the system to achieve an intelligent fuzzy control with the purpose of keeping the system in a desirable state (stable). 672 f.m. cordova, g. leyton characteristics of level 1 (production) attributes (metrics or fuzzy functions table 1.1) fuzzy functions factors 1 rel. card. (crc) 1 2 3 4 5 6 7 8 9 1. number of workmen present 2. drilling, agents, and resources 3. blasting, agents and resources 4. technologies involved 5. number of equipments 6. lectures relative cardinality of level 1 (crn1) table 1: relevant characteristics of level 1 at production level. 6 heuristic the proposed heuristic consists of the following stages: stage 1: obtaining the fij factors of each level ni. stage 2: obtaining the aijs attributes of each fij factor. stage 3: determining the metrics associated with each aijs attribute, i.e., determining the fuzzy membership functions for each aijs. stage 4: determining the "formula" that corresponds to each fij from the aijs, for example: fij = λ1aij1 ⊕ λ2aij2 ⊕ ... ⊕ λkaijk (4) where ⊕ is the operator to be determined (=>, ∨, ∪, etc.) and ∑ λk = 1. stage 5: determining ni from the fij, for example: ni = λ1fi1 ⊕ λ2fi2 ⊕ ... oplusλmfim (5) where ⊕ is the operator to be determined (=>, ∨, ∪, etc.) and ∑ λm = 1. note that the output of all nj must be between 0 and 1. stage 6: determining whether the "influence" of the output of ni to other levels is negative or positive. stage 7: recalculating the nt output, with its internal values, considering the influence exerted on it by the recursive dynamics of the nodes ni at stages 1, 2,..., 5. stage 8: determining the output of nt, input of nl, and determining whether we feed nl or ni, and specifying the times. note that in this step we distinguish between what influences what, or we make a push, we make a pull, or both at the same time, with a delay of one with respect to the other, etc. a fuzzy control heuristic applied to non-linear dynamic system using a fuzzy knowledge representation 673 factors and attributes fuzzy functions project system 1. number of workmen present. (decision making complexity). 1.1 number of engineers. µ11(x) = 1 − 25−x 25 10 ≤ x ≤ 25 1.2 number of technicians. µ12(x) = 1 − ( 75−x 75 )2 30 ≤ x ≤ 75 1.3 number of miners. µ13(x) = 1 − ( 150−x 150 )2 60 ≤ x ≤ 150 1.4 number of equipments µ14(x) = 1 − 30−x 30 12 ≤ x ≤ 30 x = amount of engineers, miners, ... 2. drilling, agents and resources. for evaluating this characteristic, first the predominant factor must be identified and then the calculation can be made. for example, if x = 25 or 30 or 90 or 21, for respective: 2.1 planned drillings. µ1i : µ 1 1(25) = 1; µ 1 2(30) = 0.64; µ 1 3(90) = 0.84; µ 1 4(21) = 0.91 2.2 direct agents involved. µ21(x) = 1 − √ 50−x 50 20 ≤ x ≤ 50 2.3 indirect agents involved. µ22,3(x) = 1 − ( 15−x 30 )3 6 ≤ x ≤ 15 table 2: factors, attributes and fuzzy functions at production level. 7 conclusions and future works the work done in the paper allows the characterization of a complex system through subsystems considering the dynamics and the incidence of each subsystem on the others. from the display of the complexity of the system and subsystems, the kbmfi is constructed, which allows an adequate representation of diffuse knowledge and the dynamics associated with the system. a fuzzy control heuristic is also designed that allows managing the kbmfi. in the case of the planning of mining operations, the kbmfi and the associated heuristic allow the evaluation of the impact of the incidence of various factors such as reduction of the number of planned workers in a shift, faults in load haul and dump lhd equipment, rock breakers, shafts, and trains, among others. if someone is considering developing software from this proposal, it should be kept in mind that in the tool there should be an agent module that is informed (alert) of the acceptable critical values for each node, so that this node does not alter acceptable states (experts) of the nodes with which it interacts. in such case the agent must learn about the acceptable critical values, know and learn preventive measures; know and learn mitigation measures, and know and learn corrective measures. bibliography [1] d. alahakoon, s. k. halgamuge, and b. srinivasan, dynamic self organizing maps with controlled growth for knowledge discovery, ieee trans. neural networks, vol.11:601-614, 2000. [2] f. cordova, l. canete, l. quezada, f. yanine, an intelligent supervising system for the operation of an undergound mine, international journal of computers, communications and control, vol. iii: 259-269, 2008. [3] m. gupta, r.k. ragade,yager, advances in fuzzy sets theory and applications, north holland, amsterdam, 1979. 674 f.m. cordova, g. leyton [4] b. kosko, fuzzy ingineering. prentice hall, 1997. [5] g. martinez, servente and pasquini,sistemas inteligentes, nl nueva libreria, argentina, 2003. [6] t. mcneill, fuzzy logic a practical approach. academic press, 1997. [7] h. roman, sobre entropias fuzzy, tesis de doctorado, universidad de campinas, brasil, 1989. [8] e. schnaider, a. kandel, applications of the negation operator in fuzzy production rules, fuzzy sets and systems, vol. 34: 293-299, noth holland, 1990. [9] w. silder, j. buckley, fuzzy expert system and fuzzy reasoning, john wiley and sons inc., new jersey, 416, 2005. [10] u. tsoukalas, fuzzy and neural approaches in engineering. wiley interscience, 1997. [11] s. welstead, neural network and fuzzy logic applications in c++. wiley interscience, 1994. [12] l.a. zadeh, the role of fuzzy logic in the management of uncertainly in expert systems, aproximate reasoning in expert systems, elservier science pub., north holland, 3-31, 1985. [13] l.a. zadeh et al (eds.), from natural language to soft computing: new paradigms in artificial intelligence, editing house of romanian academy, 2008. [14] zadeh, l.a., outline of a new approach to the analysis of a complex systems and decision processed, ieee trans. syst. man cybern., vol. 3: 28-44, 1973. [15] l.a. zadeh, fuzzy sets and fuzzy information: granulation theory, beijing normal university press, beijing, 1997. [16] l.zhong, w.a. halang,g. chen, integration of fuzzy logic and chaos theory, springerverlag, berlin heidelberg, 2006. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 735-743 full-text search engine using mysql c. gyorodi, r. gyorodi, g. pecherle, g. m. cornea cornelia gyorodi, robert gyorodi, george pecherle, george mihai cornea department of computer science faculty of electrical engineering and information technology university of oradea, str. universitatii 1, 410087, oradea, romania e-mail: cgyorodi@uoradea.ro, rgyorodi@rdsor.ro, gpecherle@uoradea.ro, generalmip@yahoo.com abstract: in this article we will try to explain how we can create a search engine using the powerful mysql full-text search. the ever increasing demands of the web requires cheap and elaborate search options. one of the most important issues for a search engine is to have the capacity to order its results set as relevance and provide the user with suggestions in the case of a spelling mistake or a small result set. in order to fulfill this request we thought about using the powerful mysql full-text search. this option is suitable for small to medium scale websites. in order to provide sound like capabilities, a second table containing a bag of words from the main table together with the corresponding metaphone is created. when a suggestion is needed, this table is interrogated for the metaphone of the searched word and the result set is computed resulting a suggestion. keywords: full-text, search, mysql, index, search engine, ranking, metaphone, levenstein 1 introduction before the advent of the search engine, users had to search manually through dozens or hundreds of articles to find the ones that were right for them. nowadays, in our more usercentered world, we expect the results to come to the user, not the other way around. the search engine gets the computer to do the work for the user. full-text search is widely used for various services of the internet. a high-speed and a more efficient full-text search technology are necessary because of the amount of increasing handled document and corresponding document data every day [6]. according to the mysql manual, full-text is a "natural language search"; the words are indexed and appear to represent the row, using the columns you specified. as an example, if all your rows contain "mysql" then "mysql" won’t match much. it’s not terribly unique, and it would return too many results. however, if "mysql" were present in only 5% of the rows, it would return those rows because it doesn’t appear too often to be known as a keyword that’s very used. mysql full-text search doesn’t have too many user-tunable parameters. if you want more control over your search you will have to download the sources and compile them yourself after you’ve made the changes you wanted. anyway, mysql full-text is tuned for best effectiveness. modifying the default behaviour in most cases can actually decrease effectiveness [1]. our implementation comes to bring a plus of functionality to the basic search capabilities that mysql offers by returning better quality results to the user. for small data sets to be searched, its performance can be easily compared with the one of the more advanced dedicated full-text search engines. copyright c⃝ 2006-2010 by ccc publications 736 c. gyorodi, r. gyorodi, g. pecherle, g. m. cornea 2 full-text search in text retrieval, full-text search refers to a technique for searching a computer-stored document or database. in a full-text search, the search engine examines all of the words in every stored document as it tries to match search words supplied by the user. when dealing with a small number of documents it is possible for the full-text search engine to directly scan the contents of the documents with each query, a strategy called serial scanning. this is what some rudimentary tools, such as grep, do when searching. however, when the number of documents to search is potentially large or the quantity of search queries to perform is substantial, the problem of full-text search is often divided into two tasks: indexing and searching. the indexing stage will scan the text of all the documents and build a list of search terms, often called an index, but more correctly named a concordance. in the search stage, when performing a specific query, only the index is referenced rather than the text of the original documents. some indexers also employ language-specific stemming on the words being indexed, so for example any of the words "drives", "drove", or "driven" will be recorded in the index under a single concept word "drive" [2]. before passing on to the search, we would like to talk a little about how mysql full-text indexes work. a mysql full-text query returns rows according to relevance. but what is relevance? it is a floating-point number based on formulas. researchers have shown that these formulas produce results that real users want. for every word that isn’t too short or isn’t a too common one, mysql calculates a number to determine its relevance inside the text. to be noticed that mysql will not increase weight if two keywords are close to each other. local weight, global weight, and query weight are the only things that matter. mysql can work with stemming but as we’ve seen from different tests it isn’t working very well, usually bombarding the user with tons of irrelevant results. there are three formulas we have to mention for full-text index [3]. local weight = (log(dtf)+1)/sumdtf * u / (1+0.0115*u) global weight = log((n-nf)/nf) query weight = local weight * global weight * qf where: dtf how many times the term appears in the row sumdtf -the sum of "(log(dtf)+1)" for all terms in the same row u how many unique terms are in the row n how many rows are in the table nf how many rows contain the term qf how many times the term appears in the query notice that local weight depends on a straight multiplier, the term-within-row frequency times the unique frequency. but most simply: if a term appears many times in a row, the weight goes up. why does local weight depend on how many times the term is in the row? think of the document you are reading now. i inevitably mention "mysql" and "full-text" several times. that’s typical: if words appear several times, they are likely to be relevant. notice that global weight depends on an inverse multiplier, the count of rows minus the count of rows that the term appears in. put most simply: if a term appears in many rows, the weight goes down. to illustrate this better we’ve chosen to give a practical example. for this example, we’ve used a smaller database in order to be able to calculate the relevancies. to see what is in a fullfull-text search engine using mysql 737 text index, we can use the myisam_ftdump program. it comes with the standard distribution. the name of owner table is demo and it is located in dmp database. the table consists in 2 columns, the second one being the one with full-text index. in order to see the local weights of the different words we have to use the command dump index. this command will return the data offsets and the word weights (fig. 1). figure 1: dump index in order to see the global weights of the words we have to use the command calculate per-word stats. this command will return for us a word count and the global weight (fig. 2). figure 2: calculate per-word stats for the first formula: (log(dtf)+1)/sumdtf * u/(1+0.0115*u); where dtf is how many times the term appears in the row "mysql" appears 2 times in row 0 so log(dtf()+1) = 0.6931472 + 1 = 1.6931472 sumdtf the sum of "(log(dtf)+1)" for all terms in the same row "mysql" appears 2 times in row 0, so add log(2)+1 "world" appears 1 times in row 0, so add log(1)+1 "popular" appears 1 times in row 0, so add log(1)+1 "open" appears 1 times in row 0, so add log(1)+1 "source" appears 1 times in row 0, so add log(1)+1 "database" appears 1 times in row 0, so add log(1)+1 "free " appears 1 times in row 0, so add log(1)+1 so sumdtf = log(2)+1 + (log(1)+1)*6 = 7.6931472 738 c. gyorodi, r. gyorodi, g. pecherle, g. m. cornea u how many unique terms are in the row there are 7 unique terms in row 0 so u/(1+0.115*u) = 7/(1+0.0115*7) = 6.478482 local weight = 1.6931472 / 7.6931472 * 6.478482= 1.4258175 (check figure 2 for the first occurrence of the term “mysql” * ) for the second formula: log((n-nf)/nf); where: n how many rows are in the table; there are 4 rows in the ’demo’ table nf how many rows contain the term; the term "special" occurs in 3 rows log((4-3)/3)= -1.0986123 (check fig. 3 for the term “mysql” ** ) note that because this term appears in more than 50% of the rows it has a negative global weight. in an actual search, this term will practically be ignored, only the adjacent terms being representative. 3 implementation the primary table is the table where we keep all the data that has to be searched and ranked. also, from this table we will create later the “bag of words” together with their metaphones in order to provide correction suggestions to the user. the primary table will consist of 6 columns, the first one being the row id and the others all being meant for full-text search. the structure of the table is: id unique identifier for every row url the url where the text was taken from title the title of the page the text was taken from content everything on the page that is not part of the formatting and functionality (only text, no html or other scripts, including the dealers and strong text) headers h1,... contents from the page. they will have higher relevancy than strong and content but lower than url and title strong words that appear between b or strong tags. they will have higher relevancy than ordinary text from content but lower than all the others. during the construction of the table in the indexing process we decompose every page to obtain the required fields. first we will obtain the url and the title fields. after we have those two we can get rid off the head part of the web page and move on to the body. before parsing out the entire html and other script tags from the text, we will have to take out the header and the strong keywords that will have a higher relevancy in our future search. after we’ve done that we can parse all the remaining script tags and send the resulting data into the mysql database. an improvement to this table would be a new column that contains all the keywords linking to this page. this way you can extend the article relevancy behind the actual page. those linking keywords can be considered the ones between the anchor tag or the most relevant keywords from that page (calculated by their density after we’ve previously removed the stop words) or a combination of both. however, this approach requires many more pages to be scanned and many of them could come from outside our website. after the first indexing is complete we can create the full-text index on the table. from now on we can make full-text searches on that table. any new insert into the database will full-text search engine using mysql 739 be attached on the fly internally by mysql so that we don’t have to worry about this [9]. the sql syntax for doing this is: alter table ‘content‘ add fulltext (‘url‘,‘title‘, ‘content‘,‘headers‘,‘strong‘) searching the database is not very hard. actually we will only use a query to apply a search on the database and let mysql do the rest. it is a lot harder to determine the best values for the weights of the results. depending on those constants, we will have different search results as we will show in the following examples. in order to query the database we will use the following query. the query is virtually composed of three parts. the first part is meant to determine the relevancies of every column in part, the second one is meant for determining the matching rows and the last one is for ordering. you can see the query in fig. 3. figure 3: search query relurl, reltitle, relcontent, relheaders and relstrong are the different relevancies returned by mysql after the preliminary search of every different column in part. the parameters u, t, c, h and s represent the importance of those relevancies in part. the query will execute like this: first, different relevancies will be returned from the search on the individual columns. those relevancies will be later used to calculate the order of the results. after we have got the relevancies we have to move on to the retrieval of all the rows that contain the terms that we searched. in order to do this we have to select all the matches inside the text fields (‘content‘, ‘url‘, ‘title‘, ‘headers‘, ‘strong‘). once we have those results we will have to reorder them by relevance. in order to do this we will determine the order by argument using the following formula. relevance = relurl *u + reltitle *t + relcontent *c+ relheaders *h+ relstrong *s figure 4: relevance formula the relevance for every column should be carefully selected in order to achieve the best result order. the url relevance is not so important in our opinion. we have added it because all the big search engines have it. we will treat it as it would have the same relevance as the page title. the next column on the relevance scale, after the url and the title would be the headers relevance. let’s think about a certainty search. we want to search for an article about “mysql fulltext”. the script will first determine the pages that contain the keywords inside the title and url of the page because those are the most suitable for us. the next in importance is the headers column. the last two of the columns are the content column and the strong column. the strong column contains keywords that the writer of that page thought they are of a higher importance, with strong relevance to the subject. 740 c. gyorodi, r. gyorodi, g. pecherle, g. m. cornea the order of the relevancies is clear. the plain content relevance is the lower one, followed by the keywords relevance (strong), headers, title which is about the same to the url relevance. the problems appear when we have to determine the best magnitude for those relevance parameters. if the difference of the relevance parameters is too small, we will not have effective search results ordering. but if we fall into the other side, we can provide excessive ordering based only on the hierarchy we’ve determined for the parameters and less based on the relevancies of the results. a schematisation of the proposed indexing and search algorithm is provided below: a) indexing 1. the web page is processed by reading its contents. 2. the internal links from the page are determined. 3. the unique internal links and full page contents are inserted in a ’pages’ table. 4. the next link to follow is taken from the ’pages’ table and the new corresponding page is processed by going to step 1, until there are no more unprocessed pages. 5. the ’pages’ table is processed to determine the page title, headings and strong text and the results are placed in a new ’contents’ table. b) full-text search 1. query the ’contents’ table against a search term. 2. determine the relevancies of every column in part. 3. determine the matching rows. 4. order the results by relevance, calculated using the formula in fig. 4. the parameters u, t, c, h and s are chosen by us and they are an indicator of the importance of each of the relevancies (url, title, content, headers and strong text). 4 testing to test the algorithm, we have set up a database of 320 mb (including data and index) and a total number of 11,670 records. the database was built by indexing a subset of the wikipedia.com website, using the indexing algorithm described in the previous section. for testing purposes, we have chosen the following values for the u, t, c, h and s parameters. the user can set his own values. a higher value means a higher importance of that element: u=1.14, t=1.14, c=1, h=1.3, s=1.2 the testing process was done by asking different users to give ratings to each of the search results. we have performed a total of 143 tests. the ratings given by the users proved that our algorithm is more relevant than the default mysql method by 19.47% . here are some examples of tests done with specific keywords: keyword: "programming" results: our algorithm (the left panel) returned relevant results in positions 1 and 2 (an article titled "computer programming" and another one "application programming interface"). this was because our algorithm assigned a higher importance to the page title and url (1.14) than the page contents (1). the right panel did not return many relevant results (a result which was close to our expectations was in position 2, but it was not very specific because it was about a specific programming language and not about programming languages in general). keyword: "universal serial bus" results: our algorithm (the left panel) returned a relevant result in position 1 (an article titled full-text search engine using mysql 741 "universal serial bus"). the right panel did not return any relevant results (instead it returned pages that contain "universal" only and not the whole search term). 5 search suggestions in many cases, there appears the necessity to correct the spelling mistakes made by the users when they don’t know exactly how to spell something or are just making a typing mistake. to do this, we will have to give them the closest correct form that best matches the initial search. metaphone is a phonetic algorithm, an algorithm published in 1990 for indexing words by their english pronunciation. the algorithm produces variable length keys as its output, as opposed to soundex’s fixed-length keys. similar sounding words share the same keys. metaphone was developed by lawrence philips as a response to deficiencies in the soundex algorithm. it is more accurate than soundex because it uses a larger set of rules for english pronunciation. metaphone is available as a built-in operator in a number of systems, including later versions of php. the original author later produced a new version of the algorithm, which he named double metaphone, that produces more accurate results than the original algorithm. however i will use the first version of the script because it returns accurate enough keys with a much better performance than the second one. [4] in order to provide fast enough processing for the suggestions we will create a “bag of words” containing all the distinct words contained inside the content column. for each one of them we will attach the metaphone key. when a search is done we will select the candidates by calculating the metaphone of every word inside the search string and select the matches inside the metaphone table. after that operation we will have about 3 to 8 possible words to choose from. the levenshtein distance is defined as the minimal number of characters you have to replace, insert or delete to transform str1 into str2 . the complexity of the algorithm is o(m*n), where n and m are the length of str1 and str2 (rather good when compared to similar_text(), which is o(max(n, m)**3), but still expensive). in its simplest form the function will take only the two strings as parameters and will calculate just the number of insert, replace and delete operations needed to transform str1 into str2. [5] we will use this algorithm to determine the closest form from the list of candidates by selecting the candidate with the smallest levenshtein distance to the searched keyword. to be noticed that this algorithm only works for word spelling mistakes. it does not work for mistakes like missing space, or composed words. missing space example: “mysqlfultext” will not suggest “mysql fultext” composed words example: “pine apple” will not suggest “pineapple” although some of the suggestion results can be hidden from the users because of the use of metaphone equivalence, this approach gives an incredible boost of performance. with a suggestion table containing over 130,000 rows it would take way too long to determine the levensthein distance between the searched form and the correct form regarding the fact that, as we have said before, the levenshtein algorithm has a complexity o(m*n). in owner case we would have a complexity o(m*n)*nrrows, where nrrows exceeds 130,000. also, by applying this direct approach, we wouldn’t solve the problems we’ve illustrated above. by applying owner algorithm we can reduce the candidates from 130,000 to approximately 4-7 words. this represents a significant improvement of performance with only little disadvantages. furthermore, those disadvantages could be counteracted by completing the suggestion table according to the newly searched term if the suggestion we provided is wrong and if there 742 c. gyorodi, r. gyorodi, g. pecherle, g. m. cornea is a sufficient similarity between the previous and the actual search, similarity which can be determined by dividing the levenshtein distance with the string length. a schematisation of the proposed search suggestions algorithm is provided below: 1. create a table containing all the words in the contents column and their attached metaphone keys. 2. the metaphone of the searched keyword is determined using the metaphone function [4]. 3. the levenshtein distance is calculated as in [5]. 4. the word with the smallest levenshtein distance is chosen. 6 comparison with other similar technologies in comparison with other similar technologies we have strong points and weak points at the same time. it is impossible to have all of them at the same time and there has to be a compromise between costs, speed, maintenance and quality of the results. in comparison with mysql basic full-text search we have the advantage of a better ordered result set. however, this comes with the price of an increased search time because of the extra computation needed for the relevance ordering, according to fig. 4. both methods have the advantages of being free, with easy maintenance (the update of the full-text index is done on the fly) and they don’t require special permissions on the server. if we compare it with the free open-source sql full-text search engine sphinx, we can mention other differences. the common part of the two solutions is that they are both free. the strong points of our solution are that we have a better ordered result set and easier maintainability. the strong point for sphinx is the search speed making it suitable for searching bigger databases. another week point for sphinx is the maintainability. the full-text index is not able to be updated on the fly so that it has to be recomputed periodically, task that can take from 15 minutes for small databases to a few hours for large ones. 7 conclusions by using our implementation it is possible to offer a complete and powerful search option. for the future, we would like to improve the search speed by using a dedicated full-text search engine. another improvement we would like to implement would be a new parameter which will determine the popularity of a result based on determining if a user found what he wanted or not. this will use a combination of the time the user spent on that certain page divided by the content length, how many times the user returned to this page or if a page is or is not a stop page (which can indicate that the user found what he wanted to know). also, in addition to search, we would also like to implement high-speed insert and delete, allowing full-text search to be used in the same way as other types of database search in which data can be searched right after data is inserted [7]. another idea for future improvement is handling scientific document searches, especially mathematical text and mathematical operations [8]. for the suggestion tool we want to improve the algorithm in such a way to be able to correct as many mistakes as possible. full-text search engine using mysql 743 bibliography [1] fine-tuning mysql full-text search http://dev.mysql.com/doc/refman/5.0/en/fulltextfine-tuning.html [2] full text search by wikipedia http://en.wikipedia.org/wiki/full_text_search [3] mysql’s full-text formulas by database journals http://www.databasejournal.com/ features/mysql/article.php/3512461/mysqls-full-text-formulas.htm [4] metaphone by wikipedia http://en.wikipedia.org/wiki/metaphone [5] the levenstein distance http://us2.php.net/levenshtein [6] atlam, e.-s., ghada, e.-m., fuketa, m., morita, k., aoe, j., a compact memory space of dynamic full-text search using bi-gram index, computers and communications, 2004. proceedings iscc 2004. ninth international symposium [7] ikeda, t., mano, h., itoh, h., takegawa, h., hiraoka, t., horibe, s., ogawa, y., "trmeister: a dbms with high-performance full-text search functions", data engineering, 2005. icde 2005. proceedings. 21st international conference [8] misutka, j., galambos, l., "mathematical extension of full text search engine indexer", information and communication technologies: from theory to applications, 2008. ictta 2008. 3rd international conference [9] d. zmaranda, g. gabor, issues on optimality criteria applied in real-time scheduling, international journal of computers communications & control, issn 1841-9836, suppl.s, 3(s):536-540, 2008. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 161-171 antenna arrays principle and solutions: robust control approach florin hutu, sebastien cauet, patrick coirault abstract: this paper treats solutions on the ability of a chain of non identical oscillators to drive antenna arrays. frequency approaches were studied in order to solve the problem of synchronization of the oscillators. however, in this article, a new structure of chain of oscillators is introduced. secondly, lyapunov theory of stability is used to design a dynamical controller guarantying the oscillators synchronization. the problem of synchronization is transformed into a problem of asymptotic stabilization for a nonlinear system. it is formulated as a system of linear matrix inequalities where the parameter variations of the two oscillators and their differences are modeled by polytopic matrices. the theoretical result is successfully applied to an array of transistor-based oscillators used in "smart antenna" systems. keyword : nonlinear systems, control applications, antenna arrays 1 introduction the demand of mobile communication services is in a continuous growth, moreover, it is estimated that the rate will be maintained in the next years. this continuous development has stimulated the research of new hardware and software solutions in order to increase the volume of exchanged data and a better management of the emitted or received electromagnetic field. smart antenna arrays comprise a number of antennas that work in conjunction with an intelligent system that processes the received and transmitted data. the processing can be realized in a hardware or in a software way and allows smart antenna arrays to focus beams into particular directions. this problem can be partially solved by using several directional antennas. this solution divides the 360-degree coverage area into sectors. however, smart antenna arrays provide a much more effective solution by focusing the transmitted power toward user and only looking in the direction of the user for the up link signal. this ensures that the user receives the optimum quality of service and the maximum coverage from a base station. the new technologies development increases the antenna array performances and minimizes the costs of production and the occupied space. it makes them implementable in domains like wireless or satellite communications, radar systems, missile defense systems, automobile industry, etc. smart antennas or antenna arrays are a part of communication systems that can improve their global performances. this technique can increase the spectral efficiency and reduce the multi path fading, bit error rate (ber), the co-channel interferences (cci) and the system complexity [1]. this is possible by electronically adjusting the beam pattern of the antenna array in order to provide important gain for the desired signals and small gain for interference signals. at emission, the purpose of smart antennas is to minimize the interference between the different transmitters who works on the same communication channel and, thus to more efficiently use the emitted power. for this reason, the beam shape must be controlled in order to minimize the amplitude of the side lobes and to maximize the energy in the main lobe. moreover, the direction of the main lobe must be controlled. the focused application is inter-vehicle communication. the bandwidth will be, first of all, in the area of 24ghz and finally around 79ghz. at these frequencies, technique like "software defined radio" can not be used. one of the main objectives that is pointed out is to develop a structure which will extend in both space and time the safety information available to drivers by using the infrastructure and vehicles as sources. copyright © 2006-2008 by ccc publications 162 florin hutu, sebastien cauet, patrick coirault when the smart antennas are used in reception systems, the signals coming from interference directions must be rejected and those which comes from the desired directions must be privileged. for this reason, different phases and amplitudes must be assured by the carrier signals locally generated [2, 3, 4]. the work that has been done in the field of dynamics of coupled nonlinear systems using the frequency approach [5][6, 7][8] shows that they offer methods of phase control among array elements and beam scanning capabilities but also implies problems of stabilization. the proposed structure of the array of antennas is based on unidirectional coupled oscillators. in details, this paper treats the synchronization of a system made by two oscillators with an unidirectional coupling and this problem of synchronization is transformed in a problem of stabilization for a nonlinear system. the strategy chosen is to find an output feedback dynamic controller using lyapunov functions that assures a robust synchronization despite parameters variations of the oscillators. the problem of computing dynamic output feedbacks on lti (linear time-invariant) systems in term of matrix inequalities is difficult to solve. there are two known techniques: the iterative algorithms and the cancellation of variable products by using the matrix separation lemma. the reader can found some papers on treatment of this problem by lmi (linear matrix inequality)-s who can be numerically solved [9, 10, 11, 12, 13]. the variations of the parameters of the oscillators are taken into account by considering the state matrix as a polytopic one. the polytopic structure is easily tractable by linear matrix inequalities. once the stability of the vertices, defined for the polytope is proved, the stability and the synchronization of the two oscillators is assured for all systems inside the polytope. the nonlinear character of the oscillators allows the synchronization (if their free running frequencies are in a certain domain [6]) but also makes them dependent of initial conditions. the main objective is to cancel the nonlinear effect and to maintain the synchronization when the physical parameters of the oscillators and external conditions are modified. the originality of the method comes from the inclusion of the non-linear term and the undesired variations in a perturbation. this problem is transformed in a h∞ optimization. in section 2 is presented an overview of the antenna array theory. in section 3 a model of master and slave oscillators and the controller synthesis are introduced. section 4 presents the numerical results in the case of an array of coupled nonlinear oscillators. 2 antenna array theory overview 2.1 theoretical background a smart antenna is composed by an array of individual radiative elements (elementary antennas), which are placed in a particular configuration (linear, circular or matrix). by gathering these elementary antennas in such arrays and by changing the characteristics of the signals associated to each element, the array can present different gains according to the direction. let us consider an uniform linear array of n identical patch antennas placed at the same distance d between them as in fig. 1. for the theoretical study of this configuration, it is assumed that in the elementary antennas, harmonic signals of the same frequency but different amplitudes and phases are injected. the mathematical expression of the total electromagnetic field generated by the array in far-field regions (fraunhofer regions) can be written as the product of the electromagnetic field of the reference antenna (which is considered the first antenna in the array) and a term which depends on the amplitudes and phases of the injected signals etotal = ere f ∗ f (θ). (1) thereafter, the gain of the antenna array will be considered, knowing that it is a normalization of the antenna arrays principle and solutions: robust control approach 163 wm sin 2π f0tw1 sin 2π f0t w2 sin 2π f0t wn sin 2π f0t θ z0 d figure 1: an uniform antenna array amplitude of the electromagnetic field. the array factor can be written as f (θ) = n ∑ m=1 wme− j(m−1)k0d cos θ, (2) where wm = ame jϕm . in the easiest emission case, the amplitudes have the same value, the mathematical expression of the radiation pattern is f (θ ) = 1 n sin nγ2 sin γ2 , (3) where γ = ϕ − k0d cos(θ ), n the number of antennas, d the distance between them. it can be seen that a quantity of the radiated energy is lost in the side lobes which implies a certain weakening of the antenna array gain. it is obvious that in the emission case, both variations of the amplitudes and the phases of the carrier signals are in a large interval. this paper proposes a new technique to generate such signals, which have the same frequency and different phases and amplitudes. it can be concluded that both variations of the amplitudes and phases are in a large interval. 3 problem formulation 3.1 problem statement if the amplitude variation can be easily solved by using variable gain amplifiers, the problem of the phase variation is more constraining. there are several techniques which permits solving this problem. the main technical problem with beamforming for transmit is realizing the phase and amplitude of the signals in each antenna channel. the first step will be generating the reference signal with the selected or required frequency. it has to be modulated with the information to be transmitted (e.g. radar, communication). then it has to be amplified and distributed to all transmit channels. then the individual signals have to be weighted for beamforming, that means amplified or attenuated, according to the desired weighting amplitude. the desired phase has to be realized by a suitable steerable phase shifter or delay line. digital devices are now available, under the headline "software defined radio". this technique is not usable on frequencies over 400 mhz. here, techniques, which are pointed out, are designed for applications over 2ghz. techniques can be divided into both main approaches. the first approach uses the signal generated by one oscillator and the second which uses signals generated by array of coupled oscillators. signals with the same frequency but different phases and amplitudes can be built by delaying the signal generated with one master oscillator using high-frequency power dividers and variable delay lines or butler couplers. this approach is very useful when discrete-time systems are built. another approach 164 florin hutu, sebastien cauet, patrick coirault is to use polyphasic oscillators and a multiplexing system [5]. but in these techniques, it can not be obtained continuous phase variations. the second approach is based on the synchronization of arrays of oscillators having their free running frequencies with a weak dispersion. in [6, 8] it was demonstrated that arrays of coupled nonlinear oscillators can synchronize. moreover, according to the coupling strength and to free-running frequencies, phase variations can be made. recent works [14] shows how the phase variation can be guaranty by changing only the free-running frequencies of all coupled oscillators in the array. in order to generate these carrier signals, the following general schematic fig. 2 is proposed. ( f0 , an , ϕn ) + + + slave3slave2master slaven σcτn−1σcτ2σcτ1 gain1 gain2 gain3 gainn σσς ( f0 , a1 , ϕ1 ) ( f0 , a2 , ϕ2 ) ( f0 , a3 , ϕ3 ) figure 2: unidirectional coupling of a chain of oscillators this schematic is a variation of the york’s approach shown in [15]. because of the unidirectional coupling, each slave oscillator is driven only by its left neighbor. hence, the study of this configuration is reduced to the study of a pair of two non-linear systems (master-salve synchronization). the purpose is to design the parameters of the controller system σc in order to make the output ye(t) tends toward zero. when this objective is fulfilled, the delayed output of the master oscillator and the output of the slave oscillator become identical, so both oscillators are synchronized. generally, because of the technological realization, the oscillators don’t have the same free running frequencies. this is the reason why the feedback loop was introduced to guarantee the robust synchronization between both oscillators. the delay element and the variable gain amplifier will guaranty different phases and amplitudes for the output signals. the difference between the oscillators will be modeled as a variation of the slave oscillator parameters around those of the master oscillator parameters, which is considered as the reference. the variations due to the temperature or at the ageing of the components are modeled by a polytopic uncertainty of the master oscillator parameters around the nominal values. the oscillators are built using a double differential pair structure. in order to determine the parameters of the dynamical controller, the nonlinear oscillators is modeled using the van der pol model. in this article, we consider that the system is a perturbed van der pol model as: { ẋ = a(θ1)x + g(x,t, θ1) + bu y = cx , (4) where x = [ il v0 ] a(θ1) =   0 1 l0 − 1 c0 0   u = iin j c0 g(x,t, θ1) =   0 α c0 x2 − β c0 x2 3   b = [ 0 1 ] c = [ 0 1 ] , (5) with the uncertain parameters θ1 = [α, l0,c0]. antenna arrays principle and solutions: robust control approach 165 3.2 master-slave synchronization the structure is made up by two different systems which belong to the class previously described. the master system is considered independent (u = 0) and the dynamical controller σc drives the slave system using the error signal as reference. the error signal is constituted by the difference between a delayed version of the master output and the slave output. the state-space representation of the master system can be written as follows σm : { ˙xm = am(θ1)xm + gm(xm,t, θ1) ym = cxm . (6) for the slave system, the state-space representation can be written as σs : { ẋs = as(θ1)xs + gs(xs,t, θ1) + b2u ys = cxs . (7) between the parameters of the master and the slave oscillators, it is considered that there is the same difference δ    ls = lm (1 + δ ) cs = cm (1 + δ ) αs = αm (1 + δ ) βs = βm (1 + δ ) . (8) in that case, this notation can be introduced am(θ1) = as(θ1) + b1(θ2). (9) this difference is transformed into the difference between the state matrix of the master and the slave. with the assumptions in (8), b1(θ2) can be written as follows b1(θ2) =   0 − δ lm (1 + δ ) δ cm (1 + δ ) 0   . (10) if an error state is defined as e(t) = xm(t −τ)−xs(t), (11) a state-space representation can be written σe : { ė = am(θ1)e−b1(θ2)xs + eg(xm, xs,t, θ1)−b2u ye = ce , (12) where eg(xm, xs,t, θ1) = gm(xm,t, θ1)−gs(xs,t, θ1). (13) 3.3 nonlinear bound determination in order to determine the bounds of the nonlinearities difference, the scalar function f : d1 7→ d2 f (x) = −α x + β x3 is used. the bounds can be considered as the slopes of the tangents passing through x = xm and x = 0 of f (x). −α(x2 −x1) ≤ ( f (x2)− f (x1)) ≤ (−α + 3β xm2)(x2 −x1) ∀x1, x2 ∈ d1 (14) 166 florin hutu, sebastien cauet, patrick coirault consider both nonlinear oscillators and the domain d1 = [−1.35v, 1.35v ], then the bound of the nonlinearities difference (13) can be written as follows   0 − 1 c0 ( α + 3β−0.22 )   ≤ eg(xm, xs,t, θ ) ≤   0 α c0   . (15) 3.4 controller synthesis assume that am(θ1) resp. b1(θ2) are two matrices that belong to a polytope of matrices and it is represented by a convex combination of the extreme matrices ai resp. b1i with i = 1 . . . 2m . am = { am(θ1)| am(θ1) = 2m ∑ i=1 ξiai; ξi ∈ ∆1 } (16) and consider that the matrix eg(xm, xs,t, θ1) can be bounded with nb(θ1) being its upper bound eg(xm, xs,t, θ1) ≤ nb(θ1)e. (17) the worst case for our system is the superior limit, then the matrix an (θ ) = am(θ1) + nb(θ1). assume that the dynamical output controller of the system (12) is described by the following statespace representation and its dimension is nc. σc : { ẋc = acxc + bcye u = ccxc + dcye (18) the purpose of this controller is to make the slave system follow the delayed output of the master system. this condition is performed when the error signal defined in (11) tends toward zero. the term b1(θ2)xs, representing the difference between both systems, acts as a perturbation on the error state e. the synthesis of this controller has been made with a technique similar to [9, 10] the following theorem solves the problem of variable matrices product in the synthesis problem by introducing extra unknown variable matrices. theorem 1. if there exists a set of matrices pi > 0, a state feedback controller k0, an unknown variable square and nonsingular matrix g ∈ rnu+nc , an unknown variable matrix h ∈ r(nu+nc)×(nu+nc) and four unknown variables matrices f1, f4 ∈ r(nx+nc)×(nx+nc), f2 ∈ rnx×(nx+nc) and f3 ∈ r(n∞+nc)×(nx+nc) such that the inequality (19) is verified, then the dynamical controller k = g−1l makes the error system (12) asymptotically stable for all matrices an (θ1) and b1(θ2) described as a polytope. φ2 + 1sym      f1 f2 f3 f4 o   [ o o o o b̃2 ]    + sym      o o o o i   l [ c̃ o o o o ]    +sym      o o o o i   g [ −k0 o o o −i ]    < o; (19) antenna arrays principle and solutions: robust control approach 167 the matrix φ2 is defined as follows φ2 =   o o ccl t pi o o −γi o o o ccl o −γi o o pi o o o o o o o o o   + sym      f1 f2 f3 f4 o   [ ã0i b̃1 j o −i o ]    ∀i ∈ {1 . . . 2m} and ∀ j ∈ {1 . . . 2p} , (20) where ã0i = ãni + b̃k0 and k = [ dc cc bc ac ] . (21) the expression (16) can be numerically solved using matlab’s© "lmi toolbox". 4 numerical results in order to check the theoretical result, a transistor-based simulation has been done using agilent’s ads© software and mosfet transistors in 0.35µ m silicon technology. it was considered that all the parameters of an (θ ) have ±5% variation around their nominal values. this variation can be seen as the variation depending on the temperature of the oscillators that are built on the same integrated circuit substrate. this is mathematically transformed into the variation of the state matrix an (θ1) inside the polytope. using the matlab’s ”lmi toolbox” applied to the 8 vertices of the polytope, the following output-feedback controller was found k = [ dc cc bc ac ] = [ 2.66588·1011 22.3994 7.51499·109 −1.1885 ] . (22) it assures the synchronization of oscillators having δ = ±5% difference between parameters. this difference is represented by variation of the perturbation matrix b1(θ2) inside the polytope. variations between lm , cm and ls, cs parameters, corresponds to a possible difference between the free-running frequencies of both oscillators f0s ∈ [ f0m (1−|δ|)2 f0m (1 +|δ|)2 ] . (23) the difference between αm , βm and αs, βs stands for a possible difference between the transistor operating points of both nonlinear oscillators. this controller was applied to a pair of both non-linear oscillators. their free running frequencies are f0m = 2ghz and f0s = 2.2ghz. it has been chosen those frequencies in order to build a discrete component platform. in fig. 4 are presented both output voltages for master and slave oscillators and is divided into three sequences. a first sequence in which, the controller σc is not activated, both oscillators oscillates from their free-running frequencies. the second step at t = 55ns, the controller σc is activated. the obtained delay is closed to the imposed value (τ = t /4 = 1.25·10−10s). this delay will correspond to a orientation of the main lobe in θ = 120◦. finally, at t = 60ns, in order to verify the robustness of the dynamical controller, the free running frequency of the master oscillator was changed to fm = 2ghz. in fig. 3 the error between both output signals is presented. it can be seen that the error tends toward zero after a short period of time when the controller is started. 1sym{x} = x t + x ; ∀x ∈rn 168 florin hutu, sebastien cauet, patrick coirault figure 3: output voltages of both oscillators figure 4: the error between both signals provided by the oscillators 4.1 array of oscillators consider the situation where the θp = 60◦ direction must be privileged and θi1 = 90◦ and θi2 = 120◦ must be rejected. in table 4.1, the necessary and final values of the amplitudes and phases are shown for n = 8 antennas. figure fig.5 depicts the corresponding radiation pattern. the orientation of the main lobe is closed to the desired value θp = 58.14 and both interference directions θi1 = 90◦ and θi2 = 120◦ are rejected. 5 conclusion this paper presents a novel method to drive antenna arrays. it is based on unidirectionally coupled oscillators. an output feedback controller has been designed to assure synchronization with advanced control theory using lmi (linear matrix inequalities) tools. the result was successfully extended to a chain of eight unidirectionally coupled oscillators. additional research will be made to constrain the dynamical controller to realize the desired delay in order to eliminate the delay element. antenna arrays principle and solutions: robust control approach 169 amplitudes [v ] phases [◦] necessary simulated necessary simulated 0.269 0.21 0 0 0.21 0.2 143 138 0.14 0.14 180 179 0.4 0.4 -162 160 0.08 0.08 0 -2 0.14 0.13 63.1 57 0 0 0 7 0.3 0.29 -24.4 -30 table 1: computed and final values for the amplitudes and phases figure 5: the radiation pattern in the particular case of θp = 60◦ 170 florin hutu, sebastien cauet, patrick coirault bibliography [1] l. c. godara (ed.), applications of antenna arrays to mobile communications, part i: performance improvement, feasability and system consideration, vol. 85, proceedings of the ieee, 1997. [2] s. chandran, adaptative antenna arrays trends and applications, springer-verlag, 2004. [3] s. j. orfanidis, electromagnetic waves and antennas (2004). http://www.ece.rutgers.edu/ orfanidi/ewa/ [4] r. c. hansen, phased array antennas, wiley-interscience, 2001. [5] x. guan, h. hashemi, a. hajimiri, a fully integrated 24 ghz eight-element phased-array receiver in silicon, ieee journal of solid-state circuits 39 (12) (2004) 2311–2320. [6] p. liao, r. a. york, a six-element beam scanning array, ieee microwave and guided wave letters 4 (1) (1994) 20–22. [7] a. tombak, a. mortazawi, a novel low-cost beam-steering technique based on the extended resonance power dividing method, ieee transactions on microwave theory and techniques (2003) 1–7. [8] r. a. york, t. itoh, injection and phase-locking techniques for beam control, ieee transactions on microwave theory and techniques 46 (11) (1998) 1920–1929. [9] d. arzellier, d. peaucelle, s. salhi, robust static output feedback stabilization for polytopic uncertain systems: improving the guaranteed performance bound, in: rocond milan-italy, 2003. [10] d. mehdi, e. boukas, o. bachelier, static output feedback design for uncertain linear discrete time system, ima journal of mathematical control and information. [11] t. iwasaki, r. e. skelton, k. grigoriadis., a unified algebraic approach to linear control design, taylor and francis, 1998. [12] d. peaucelle, d. azellier, an efficient numerical solution for h2 static output feedback synthesis, europeen control conference. [13] s. boyd, l. e. ghaoui, e. feron, v. balakrishnan, linear matrix inequalities in system and control theory, vol. 15, studies in applied mathematics, usa, 1994. [14] t. heath, simultaneous beam steering and null formation with coupled, nonlinear oscillator arrays, ieee transactions on antennas and propagation 53 (6) (2005) 2031–2035. [15] r. a. york, nonlinear analysis of phase relationshiops in quasi-optical oscillator arrays, ieee transactions on microwave theory and techniques 41 (10) (1993) 1799–1809. florin hutu university of poitiers department : laii-esip 40 avenue du recteur pineau e-mail: florin.hutu@etu.univ-poitiers.fr received: november 28, 2007 antenna arrays principle and solutions: robust control approach 171 florin hutu was born in romania in 1977 and received the ph.d. degree in automatic control in 2007. he is currently a post doc at the university of poitiers where his interests are currently involved with the design of microwave antenna array. sébastien cauet was born in france in 1971 and received the ph.d. degree in automatic control in 1999. he is currently an associated professor of electrical and computer engineering at the university of poitiers where his interests are currently involved with the control of electrical power rotating motors, the design of microwave antenna array and application of control to chaos transmission. patrick coirault was born in poitiers, france, in 1965. he received the ph.d. degree from the university of poitiers in 1991. he was an assistant professor at the institute of technology of poitiers from 1992 to 1997. he is now professor at the institute of technology of chatellerault. his current research interests are in nonlinear identification and control, with applications to chaotic systems. international journal of computers, communications & control vol. ii (2007), no. 4, pp. 303-313 domino: trivalent logic semantics in bivalent syntax clothes boldur e. bărbat abstract: the paper describes a rather general software mechanism developed primarily for decision making in dynamic and uncertain environments (typical application: managing overbooking). domino (decision-oriented mechanism for "if" as non-deterministic operator) is meant to deal with undecidability due to any kind of future contingents. its description here is self-contained but, since a validation is underway within a much broader undertaking involving agent-oriented software, to impair redundancy, several aspects explained in very recent papers are here abridged. in essence, domino acts as an "if" with enhanced semantics: it can answer "yes", "no" or "undecidable in the time span given" (it renders control to an exception handler). despite its trivalent logic semantics, it respects the rigours of structural programming and the syntax of bivalent logic (it is programmed in plain c++ to be applicable to legacy systems too). as for most novel approaches, expectations are high, involving a less algorithmic, less probabilistic, less difficult to understand method to treat undecidability in dynamic and uncertain environments, where postponing decisions means keeping open alternatives (to react better to rapid environment changes). keywords: undecidability; open, heterogeneous, dynamic and uncertain environments (ohdue); decision-making; trivalent logic semantics; agent-oriented software engineering. 1 introduction despite the major changes taking place in the internet and globalization era and their increasing speed because of the geometrically increasing computing power (due to moore’s law, that is expected to hold at least other ten years) -, basic software mechanisms advanced much too slowly. as regards uncertain knowledge processing, the hindrance is obvious: available software tools are either hardly affordable (because of high complexity both cognitive and structural) or rather ineffective (designed for other environments, applied to ill-defined problems or lacking expected functionality). for instance, the very concept of "uncertainty" was treated inadequately regardless of its growing relevance for application domains (mainly where real-time decision-making is involved [14]), environments (even more dynamic and uncertain [19]), end-user expectations (requesting anthropocentric interfaces [4]), it paradigms (predominantly "computing as interaction" [1]) and so on. the main weaknesses: a) insufficient theoretical rigour (undecidability is considered primarily atemporal keeping its initial mathematical meaning); b) poor practical effectiveness (confusing "unknown" with "unknowable" and applying sophisticated prediction methods in inappropriate contexts); c) unfit apparatus (algorithmic approaches implying determinism, decidability, and bivalence). since the first two issues are investigated in very recent papers [8] [6] [9] [7], to reduce redundancy and to keep focusing on the very mechanisms, here the approach is an explicitly software engineering one: computer science aspects are dealt with only at the beginning (what for new mechanisms?) and at the end (what are the expectations?). in particular, the paper presents in detail domino, a mechanism developed primarily for decision making in dynamic and uncertain environments (a typical example for potential application area comes from the overbooking policy of carrier companies). the decision-oriented mechanism for "if" as non-deterministic operator (domino) is meant to deal with undecidability due to any kind of future contingents. as a rather general software mechanism, its description here is self-contained. however, since a validation is underway within a much broader undertaking involving agent-oriented software (including non-algorithmic approaches to treat uncertainty), several aspects explained in the papers mentioned above are here abridged or skipped copyright © 2006-2007 by ccc publications 304 boldur e. bărbat over. as a result, the paper is structured as follows: section 2 shows the rationale (i.e., premises and diagnosis) for developing new methods to handle uncertainty in decision support systems (dss). section 3 delimits the problem in both meanings: firstly it restricts it (narrowing the scope to undecidability due to future contingents) and secondly it defines it (as software engineering task). section 4 outlines the architecture, basically in search of the third value semantics. on this groundwork, section 5 explains the structure, in search of bivalent syntax clothes. since conclusions are prohibited for a bottom-up project, before its validation, section 6 lists the expectations, ranged in three time horizons (in fact, they are first conclusions). 2 rationale. premises and diagnosis since in this section the paper is to some extent also a position paper, for the sake of simplicity, the premises, opinions, criteria, motives, and their corollaries are not separated in conceptual categories but asserted clustered around two "attractor words": premises and diagnosis. thus, consensus is not mandatory to assess the research results. in other words, the utility of domino can be evaluated even when some of the claims made here are rejected. most of the assertions below are valid in any modern it context but dss are explicitly referred to because "if" is the basic tool (again in both senses: essential and simple) for decision-making. likewise, the emphasis is on the main changes affecting the essence of "if". to preserve both text autonomy and shortness, for topics dealt with recently, details should be found in the paper the quotation comes from. premises. they reflect the general context, representing a very simplified input vector: • environment. "present-day it environments, except for some irrelevant applications, are open and heterogeneous (the resources involved are unalike and their availability is not warranted), dynamic (the pace of exogenous and endogenous changes is high) and uncertain (both information and its processing rules are revisable, fuzzy, uncertain and intrinsically non-deterministic" [6]. • system. except trivial applications, the system exposed to decision-making is "man-machine system [...], highly complex (multi-distributed mainly in space, but also in time and organization), under real-time control (the subsystems act on each other at least, communicate intensely), almost always online" [7]. • user expectations. "since most decision makers are already familiar with google, most available general information is either known or easy accessed; now they need acceptable good answer, but very fast and with incomplete or even uncertain information" [7]. "intelligent system behaviour whatever that could mean becomes a crucial user expectation" [8]. • task. most aim at "managing situations"; main attributes are: "high complexity, multicriterial, pareto optimality, approximate, online, parallel, critical response time, high risk" [7]. • dss architectonics. the software process (not package) is "vaguely specified, validated against end-user expectations" and has "two new fundamental design-space dimensions: time and uncertainty" [7]. • it infrastructure and paradigms. "the it infrastructure is sufficiently advanced (in both facts and trends: nanoelectronics, broadband communication, semantic web, multimodal interfaces, etc.) to allow anthropocentrism for most it applications" [8]. the leading paradigm is "computing as interaction" [1] [19]. second echelon paradigms (prevalent in modern artificial intelligence) are assessed through an "affordability filter" in [6]. as regards software engineering, the paradigm that becomes dominant is agent-orientation. domino: trivalent logic semantics in bivalent syntax clothes 305 diagnosis. the main weaknesses of current it systems are investigated in [7], where the focus is on conventional modelling. since dss weaknesses are very similar, they are stated here adapted and abridged from [7]: they stem from inappropriate conceptualising, based on rigid, algorithmic (i.e., deterministic, almost sequential, "computational", and atemporal processing), meant for decision making as "step by step solving of arising sub-problems", not for decision making as "continuous process of dealing with unexpected, potentially risky, fast changing situations requesting immediate albeit not optimal response". sectorial aspects are: • poorly reflected (or absent) temporal dimension. limited parallelism (if any), ineffective multithreading, poor reactivity (scarce interrupt handling impairing proper reaction to environment stimuli); no exception propagation; no dynamic priorities; no proper thread synchronization). since the agent is a process now acknowledged as such by a formal standard [13] its temporality cannot be disregarded anymore. • poor concurrent programming. often such situations are handled by resource wasting "active wait loops" or counterproductive "mutexes" instead of a simple wait (for an event) with timeout. • misunderstood uncertainty. even if the fact that accurate numeric data are hard to get is accepted, the emphasis is on approximated, predicted, evaluated by rule of thumb, or even on intrinsically fuzzy data, rather than on missing ones (lacking sensor information, delayed previous decisions, server crash etc.). • distorted prediction. bayesian inferences are considered unsuitable to decision-making because "even if decision-makers could get all [ě] answers in due time, would they believe them strongly enough to make critical decisions only on their basis? humans are not "probabilistic beings" and are very prone to any sort of "gambler’s fallacy"." [9]. in short, the real-world decision-making challenge is: the situations are such that you have no time to solve (accurately, complex) problems. 3 delimiting the problem the multifaceted issue of handling uncertainty in dss must be first restricted to arrive at manageable complexity and afterwards defined as software engineering task. restricting the scope. the target was narrowed to deal with undecidability due to future contingents because of five reasons: • unaffordable complexity. uncertainty as epistemic concept, together with its species and degrees, was investigated in [9] starting from the 28 definitions found on the web. beside the overwhelming diversity of those definitions, ranging from "doubt" to "statistically defined discrepancy", the very meaning of uncertainty "depends on the professional background and on the task to carry out (better said, mostly on the time available to complete it)" [9]. thus, "uncertain" means practically (mainly, subconsciously) for mathematicians, unknowable, for software developers, undependable, and for end users (decision-makers), undecidable. recent related work attests the link between uncertainty and complexity: a terminology and typology of uncertainty "together with the role of uncertainty at different stages in the modelling processes. brief reviews have been made of 14 different (partly complementary) methods commonly used in uncertainty assessment and characterisation" is presented in [17]. a rare case when undecidability is discussed outside mathematics is in a sociological context where the authors "suggest that as well as being able to consider organizational decision-making as an instance of (albeit bounded) rationality or calculability, it can 306 boldur e. bărbat also be regarded as a process of choice amongst heterogeneous possibilities" [12]. "in this context could be found a common denominator for a general definition of uncertainty at least, acceptable to the three categories mentioned above? uncertainty, in its widest sense, comprises any unsure link in the chain of steps necessary to fulfil a task" [9]. much too complex to cope with. • avoidable complexity. on the other hand, from the 28 definitions "only a few are interesting, since they are anthropocentric, mirroring the common user (mainly decision-maker) stance: a) "doubt" [...]; b) "the fundamental inability to make a deterministic prognosis" [...]; c) "lack of knowledge of future events"." [9]. • intrinsic importance. "real-world problems show that the most important and ill-treated kind of uncertainty is that due to future contingents: decisions are difficult to make because a relevant event not happened yet, not because a result is imprecise. moreover, its pragmatic corollary highlights a key aspect in decision-making: since any statement about a future event is undecidable, how to proceed in this case? should it be predicted, circumvented, waited?" [9]. • time pressure. the geometrically increasing computing power due to moore’s law (mentioned in section 1) promotes factors tending to reduce radically the role of algorithms and (bivalent) logic in it [7]. two reasons are already manifest: "since deterministic applications are vanishing (because of ohdue), the conventional algorithm is not anymore program backbone. even when still useful, the conventional algorithm is not anymore the main programming instrument (being hidden in procedures easily reached in a host of libraries or being generated by 4gl)" [8]. • risky side effects. an algorithm is almost unable to feel time: no sense of future events, no such step as: "warning: i don’t know yet". worse: often the algorithm cheats, confusing undecidability with negation. defining the task. "since here the issue is to design a mechanism not a particular application, the cardinal concern, from a clear-cut software engineering perspective, is about reducing complexity, both structural (to make the mechanism useful to legacy systems too) and cognitive (to motivate system designers as well as to increase user acceptance)" [9]. software engineering constraints imply: simple tools, with immediate applicability in current designs; no sophisticated concepts or instruments (such as agents, temporal logics, explicit uncertain information processing, computability theory and computational complexity theory, bayesian methods, certainty factors, etc.); bottom-up design and testing; as much as possible conventional development (prevalent algorithmic reasoning, usual api functions, straightforward implementation, downward compatibility, etc.). while most restrictions are comprehensible albeit very tough -, prohibiting both temporal logics and explicit uncertain information processing seems counterproductive, since one of the premises claimed time and uncertainty as fundamental design-space dimensions. unfortunately, even most responsive and appropriate approaches ([14] included) are less applicable because they are sectorial (e.g., treating time without uncertainty or vice versa). other interesting temporal logics are too sophisticated: for instance, the "linear time" logic (used for specifying reactive systems) is based on the two modalities "since" and "until"; in [16], extensions of this logic are investigated from the perspective of undecidability for "x will happen within t unit of time" showing that the extension is undecidable, whenever t is irrational. although aspects of a primitive temporal dimension could be implemented using common api functions e.g., wait (for an event) with timeout as well as synchronization methods used in multithreading, no similar mechanism is available for uncertainty. here lies the innovative core of the undertaking with all its potential, openings and risks: the only mechanism on hand in common operating systems, able to shift initiative from algorithm to environment, is exception handling. thus, the algorithm gives up a morsel of its proactiveness deterministic par excellence to gain a touch of reactivity; this "small domino: trivalent logic semantics in bivalent syntax clothes 307 amount of non-determinism" is mandatory to be able to mirror (in real time) its epistemic facet: uncertainty. (in domino, when a conditional expression in if is undecidable, an exception is raised and control is handed over to its handler.) the idea to assign a new semantic value i.e., enabling a software entity (labelled or not as agent) to react prompt to asynchronous environment stimuli to a mechanism meant to increase robustness was advanced (and defended in detail) in [3] after testing it in expressing emotions of pathematic agents. later, using exceptions to achieve agent reactivity was suggested in the context of sub-symbolic inferences [8] and of emergence as leverage [9]: "even primeval animals move "algorithmically" ("if gap then avoid, else go on") only a few steps, in very hostile environments. moreover, reaction to stimuli cannot mean perpetual looking for the stimulus. the cardinal hindrance stems [...] from the mechanisms employed: neither nature, nor technology can afford in the long run mechanisms involving large amount of testing because they are too time-consuming tools". (currently exceptions are tested to help self-referencing agents to show some primitive form of self-awareness [5]. however, in recent related work exceptions are still regarded solely as a "mechanism for structuring error recovery in software systems so that errors can be more easily detected, signaled, and handled" [11]. one of the "fundamental motivations for employing exception handling in [...] robust applications" is to "improve the maintainability of the normal code and promote reuse of error handling code" [11]. in [10], the exception handling mechanism of a state-of-the-art industrial embedded software system is analysed and the fault-proneness of the return-code idiom for dealing with exceptions is evaluated.) as a result, since a conditional expression in an ordinary if has now a third exit variant (the exception), the very if acquires a trivalent logic semantics. then, why stay at the stage of "trivalent logic semantics" and not go further towards "trivalent logic"? because such logics are far to meet the challenge, despite the huge effort to conceptualise, develop and implement them. a three-valued logic is a "logical structure which does not assume the law of the excluded middle. three truth values are possible: true, false, or undecided. there are 3072 such logics" [18]. to avoid the 3073rd one1 , "for the sake of simplicity, the trivalent semantics should be grounded on a usual bivalent software infrastructure" [9]. indeed, the proposed solution for domino considers the revisited concept of undecidability [7] [9] filtered through the double sieve of relevance to usual decision-making (section 4) and design simplicity as vital software engineering request (section 5). 4 in search of the third value semantics since the key aspect in decision-making is to handle "don’t know"-like uncertainty [7] (e.g., when a relevant component of an if condition is undecidable because an expected event not happened yet), it is appropriate to a third value meaning something like "caveat: i don’t know (yet)", "unknowable" or "unknown". in many-valued logics it "is general usage [...] to assume that there are two particular truth degrees, usually denoted by "0" and "1", respectively, which act like the traditional truth values "falsum" and "verum"." [15]. "obviously, any decision-making needs those pillars of bivalence" [9]. thus, the third value should be added to the two boolean constants of if. in short, the three outputs are: yes, no, undecidable, where it must still be decided what should "undecidable" really mean. the investigation starts with the first and more relevant three-valued logics and their respective motivations and meanings of the third truth value: • łukasiewicz. the first intention was to use the third value for "possible" (to model modalities) to deal with future contingents (first of all, the "paradox of the sea battle" posed by diodorus cronus). ignoring the philosophical motivation and context (the ontological status of the future, is it determined or not, does free will actually exist, etc.), the third value "i" for "indeterminate", interpreted 1at least (supposing that in this century no other trivalent logic has been concocted) 308 boldur e. bărbat as "unknowable" or "problematical" is semantically very close to the real-world decision-making problems. (on the contrary, the "1/2" notation although elegant from a (meta)mathematical perspective is totally unacceptable in software because, for both theoretical and practical reasons, interpreting it as intermediate value of "half true and half false" is at least confusing and useless; moreover, it could lead to computational disaster.) • kleene. the third value in this logic is "u", interpreted as "undefined" or "undetermined" or "unknown" with two connotations: "permanently unknown" or "temporary lack of knowledge". the second meaning is helpful for postponing decisions and is actually used in data base applications. for instance, "sql implements ternary logic as a means of handling null field content. sql uses null to represent missing data in a database. if a field contains no defined value, sql assumes this means that an actual value exists, but that value is not currently recorded in the database. [...] comparing anything to null even another null results in an unknown truth state. for example, the sql expression "city = ’paris’" resolves to false for a record with "chicago" in the city field, but it resolves to unknown for a record with a null city field. in other words, to sql, an undefined field represents potentially any possible value: a missing city might or might not represent paris." (en.wikipedia.org/wiki/ ternary_logic). moreover, the kleene logic, as a natural sublogic of belnap’s four-valued logic [2], is an important framework for many paraconsistent logics major feature for application in computer science. • bochvar. inspired by the examination of semantic paradoxes, the third truth value "m" means "meaningless" or "paradoxical". this logic is useful when syntactic meaningfulness (rather than semantic one) is looked for (crucial for program verification but dispensable for decision-making). hence the semantics of the third value in a "three-output if" should be based on a blend of a łukasiewicz "i" interpreted as "unknowable" or "problematical"2 and a kleene "u" interpreted as "temporary lack of knowledge". thus, the semantics of "undecidable" is refined to "undecidable in the time span given". in fact, it gives a chance to the "yet" in "i don’t know (yet)", postponing the verdict of "undecidable" as much as possible (depending heavily on both the problem to solve and the decision-making strategies applied). of course, to be effective, such a procrastination strategy must be put to work only in a distributed environment (reflected in software through multithreading); otherwise, the user would be frustrated by the frequent wait periods. 5 in search of bivalent syntax clothes domino respects the rigours of structural programming and the syntax of bivalent logic, is programmed in plain c++ (to be applicable to legacy systems too), is based on a few functions of the windows32 api, was tested only within the toy problems (regarding real-time decisions in industrial control or in medical informatics) the examples are taken from, and is currently tested in a real-world problem (a simplified version of implementing overbooking policy). its flowchart is in figure 1 (the only symbol that is not among the common flowchart notation is the one for raising exceptions). the (windows 2000) api functions involved are: a) bool setevent(hevent) handle hevent; /* event-object handle */ example: setevent(g_hevent_phlimit); 2according to the ancient stoic perspective, updated by łukasiewicz domino: trivalent logic semantics in bivalent syntax clothes 309 exception handler raise exception resetevifcond domino evifcond ? yes no wait evifcond timeout? no yes usual if yes no usual then usual else usual if yes no usual then usual else undecidable (in the timespan given) warning or action end domino figure 1: domino: architecture expressed in bivalent logic 310 boldur e. bărbat b) bool resetevent(hevent) /* likewise */ c) dword waitforsingleobject(hobject, dwtimeout); handle hobject; /* handle of the event waited for*/ dword dwtimeout; /* maximal wait duration (ms) (infinite: unlimited wait) (0: testing the event state) */ example from an alarm-bell program: dwresult = waitforsingleobject(g_heventoverheating, infinite); d) dword waitformultipleobjects(cobjects, lphobjects, fwaitall, dwtimeout); dword cobjects; /* number of objects (maximum 64) */ const handle *lphobjects; /* handle table address */ bool fwaitall; /* flag for conjunction /disjunction (true: all events are waited) (false: only the first event is waited)*/ dword dwtimeout; /* likewise*/ example from a domotics program (for 5 boilers; uses multiple events): dwresult = waitformultipleobjects(5, hboilerpressure, true, 4000); remarks. 1. the exception handler can: a) give control to the human decision maker (after a warning); or b) act (for instance, propagating dynamically the exception from the callee to the caller). 2. time is not just explicitly present in "wait" but, more important, hidden in thread synchronization (setevent is employed in the thread providing information needed to make a decision). 3. uncertainty is dealt with through the intrinsically uncertain interrupts generated by the environment stimuli, expressed at the program level through the exception handler. 4. if dwtimeout = 0, the mechanism is a conventional "if" (however, a more robust one since evaluation is preceded by a real-time validation test). 6 expectations the three time horizons are roughly delimited by: a) validating domino in the overbooking application; b) designing and validating other (similar) mechanisms of the agorithm toolbox [9]; c) api functions for domino-like primitives. short range. a) domino addresses the main problem of current "if" in applications running in ohdue: "if" is inadequate not because it cannot say "probably 80b) it solves this problem in a simple way (for both designer and user). c) it is easy to implement due to its straightforward structure involving only common api functions: despite its enriched semantics the emulated "if" does not need a modified compiler. domino: trivalent logic semantics in bivalent syntax clothes 311 evifcond yes no usual then usual else undecidable (łukasiewicz semantics) raise exception figure 2: domino: semantics interpreted in trivalent logic middle range. a) corollary 1: being downward compatible, it should be useful for legacy systems. b) corollary 2: emulating a language primitive, it should be useful not only for dss, but for any application in ohdue. c) corollary 3: dealing with both time and uncertainty, it should be useful for any agent-oriented application: other agorithm mechanisms could be outlined similarly. d) hopefully it will start a "virtuous circle" able to adapt the dss to the "information age" requirements changing both the decision-makers expectations and the programming paradigm. long range. a) a new interpretation of domino: a three-valued if within the frame of bivalent logic b) the badly needed shift in software engineering towards exception handling: the stimulus causes an interrupt that is treated as exception. (real-world applications cannot afford large amount of "if temperature > n 0c then alarm" testing c) motivating applied research in ai logics, avoiding the gap between new logics (dealing at highly abstract mathematical levels with either time or non-determinism but rarely with both) and decisionsupport applications (either remaining at the level of rigid algorithmic approach or using approaches that ignore the fundamentals of human decision making). d) a new, "procrastination logic": less algorithmic, less probabilistic, less difficult to understand and to apply in ohdue, where postponing a decision means keeping open alternatives (to react better to rapid environment changes). bibliography [1] agentlink roadmap: overview and consultation report, agentlink iii. agent based computing, university of southampton, 2004. [2] anderson, a.r, n.d. belnap, j.m. dunn. entailment: the logic of relevance and necessity, volume 2. princeton university press, princeton, 1992. 312 boldur e. bărbat [3] barbat, b.e. agent-oriented intelligent systems. romanian academy publishing house, bucharest, 2002 (in romanian, "grigore moisil" prize of the romanian academy). [4] barbat, b.e. the impact of broad-band communication upon hmi language(s). (chapter 7.) communicating in the world of humans and icts. (chapter 8.) in cost action 269. e-citizens in the arena of social and political communication (l. fortunati, ed.), pp. 113-142, eur21803, office for official publications of the european communities, luxembourg, 2005. [5] barbat, b.e., a. moiceanu, i. pah. gödelian self-reference in agent-oriented software. proc. of the 11th wseas international conference on computers (iccomp ’07) (n.e. mastorakis et al, eds.), 92-97, agios nikolaos, crete, 2007. [6] barbat, b.e, a. moiceanu, s. plesca, s.c. negulescu. affordability and paradigms in agent-based systems. computer science journal of moldova, 2007. (in print.) [7] barbat, b.e., r.s. muntean, r. fabian. approximation versus undecidability in economic modelling. proc. of the international workshop new approaches, algorithms and advanced computational techniques in approximation theory and its applications (d. simian, ed.), 2007. (in print.) [8] barbat, b.e., s.c. negulescu. from algorithms to (sub-)symbolic inferences in multi-agent systems. international journal of computers, communications & control, 1, 3, 5-12, 2006. (paper selected from the proc. of icccc 2006.) [9] barbat, b.e., s.c. negulescu, s. plesca. emergence as leverage and non-algorithmic approaches in agent-oriented software. studies in informatics and control journal, 16, 4, 2007. (in print.) [10] bruntink, m., a. van deursen, t. tourwé. discovering faults in idiom-based exception handling. proc. of the 28th international conference on software engineering, 242 251, acm press, new york, 2006. [11] castor filho, f., a. garcia, c.m.f. rubira. error handling as an aspect. proceedings of the 2nd workshop on best practices in applying aspect-oriented software development, acm press, new york, 2007. [12] clegg, s., kornberger, m., rhodes, c. organizational ethics, decision making, undecidability. the sociological review, 55, 2, 393-409(17), blackwell publishing, 2007. [13] fipa tc agent management. fipa agent management specification. standard sc00023k (2004/18/03). http://www.fipa.org/specs/fipa00023/sc00023k.pdf, 2004. [14] fisher, m. temporal development methods for agent-based systems. autonomous agents and multi-agent systems, 10, 41-66, springer science + business media inc., 2005. [15] gottwald, s. many-valued logic. in stanford encyclopedia of philosophy (e.n. zalta, ed.). http://plato. stanford.edu/entries/logic-manyvalued/, 2004. [16] rabinovich, a. temporal logics with incommensurable distances are undecidable. information and computation, 205, 5, 707-715, elsevier, 2007. [17] refsgaard, j.c. et al. uncertainty in the environmental modelling process-a framework and guidance. environmental modelling & software, 1543-1556, elsevier, 2007. [18] weisstein, e.w. three-valued logic. from mathworld–a wolfram web resource. http://mathworld. wolfram.com/three-valuedlogic.html. crc press llc, wolfram research, 1999. domino: trivalent logic semantics in bivalent syntax clothes 313 [19] zambonelli, f., a. omicini. challenges and research directions in agent-oriented software engineering. autonomous agents and multi-agent systems, 9, 253-283, kluwer academic publishers, 2004. boldur e. bărbat "lucian blaga" university of sibiu department of computer science 5-7 ion raţiu st., 550012, sibiu, romania email: bbarbat@gmail.com received: march, 24, 2007 boldur barbat m.sc. in electronic engineering, postgraduate specialising in programming, ph.d. in digital computers ("politehnica" university bucharest). he is with "lucian blaga" university sibiu, faculty of sciences (full professor) and "politehnica" university timisoara, faculty of automation and computers (advisor for doctoral studies in computer science). over 20 books (romanian academy it prize, 2002). about 50 papers/articles in english in the last five years. current research interests: emergence in agent-based systems (self-awareness, stigmergy), human-agent interaction (transdisciplinary), agentoriented software engineering (non-algorithmic real-time software, uncertainty). international journal of computers communications & control issn 1841-9836, 10(5):746-759, october, 2015. multi-attribute collaborative filtering recommendation c. yu, y. luo, k. liu changrui yu school of information management and engineering, shanghai university of finance and economics, shanghai 200433, china yucr@sjtu.edu.cn yan luo* shu-uts silc business school, shanghai university, 20 chengzhong rd, shanghai 201800, china *corresponding author: luoyan@shu.edu.cn kecheng liu informatics research centre, henley business school, university of reading, reading, rg6 3xa, u.k. k.liu@reading.ac.uk abstract: currently researchers in the field of personalized recommendations bear little consideration on users’ interest differences in resource attributes although resource attribute is usually one of the most important factors in determining user preferences. to solve this problem, the paper builds an evaluation model of user interest based on resource multi-attributes, proposes a modified pearson-compatibility multiattribute group decision-making algorithm, and introduces an algorithm to solve the recommendation problem of k-neighbor similar users. this study addresses the issues on preference differences of similar users, incomplete values, and advanced converge of the algorithm, and realizes multi-attribute collaborative filtering. the algorithm is proved to be effective by an experiment of collaborative recommendation among multi-users in a virtual environment. the experimental results show that the algorithm has a high accuracy on predicting target users’ attribute preferences and has a strong anti-interference ability on deviation and incomplete values. keywords: personalized recommendation, group decision-making, multi-attribute, collaborative filtering, pearson-compatibility. 1 introduction a recommender system aims to generate meaningful recommendations to users for items or products that might interest them [1]. in many markets, consumers face a wealth of products and information from which they can make choices. to alleviate this problem, many web sites attempt to help users by incorporating a recommender system that provides users with a list of items and/or web pages that are likely to interest them. there are real-world operations of industrial recommender systems, such as the recommendations for books on amazon, or movies on netflix. as one of the most successful approaches to building recommender systems, collaborative filtering (cf) uses the known preferences of a group of users to make recommendations or predictions of the unknown preferences for other users [2]. the developers of one of the first recommender systems, tapestry [3] coined the phrase "collaborative filtering (cf)", which has been widely adopted regardless of the facts that recommenders may not explicitly collaborate copyright © 2006-2015 by ccc publications multi-attribute collaborative filtering recommendation 747 with recipients and recommendations may suggest particularly interesting items, in addition to indicating those that should be filtered out [4]. the fundamental assumption of cf is that if users x and y rate n items similarly, or have similar behaviors (e.g., buying, watching, and listening), and hence will rate or act on other items similarly [5]. studies in literature [3] and [4] have shown that users’ interest in a product or service is affected by user topic preferences, content preferences, user habits, public evaluation and other factors, and that these factors are decided by the different attributes of items. for example, users liking a new movie may be caused by one or more attributes of the movie, such as the director, star, theme, content, style, public comment and so forth. thus, in the application of collaborative filtering algorithm, it is necessary to use a multi-attribute analysis model, in which the user rating to an item is based on a different perspective (attributes) to describe their interest preferences. although user and resource clustering based on the attribute information has been widely discussed in the multi-attribute collaborative filtering literatures, the recommend method is still traditional [6]. such methods can only obtain a set of potential interest items of target users, but the reasons of such a recommendation are not given to the target user. in addition, the present studies scarcely consider the characteristics differences of similar users interested in the item attributes, which can lead to recommendation deviation [6]. for example, in a traditional way, user b is the most similar one to the target user a because a and b have the same degree of interest in the same film. however, if the film properties they prefer are completely different, it will lead to recommendation deviation when we give greater weight to b. based on our previous research, we propose that multi-attribute collaborative filtering can be treated as a group decision making process. by building the rating matrix of target items for the similar users, we remove the user who has a large attribute preference difference to target user from the nearest user set, and save the problem of recommendations deviation. in addition, we can analyze the user’s interest performance from the view of item attributes and give the descriptions for the recommendation. accordingly, this paper proposes a modified pearsoncompatibility multi-attribute group decision-making algorithm and introduces the algorithm to solve the recommendation problem of k-neighbor similar users. this paper has extended our previous research significantly with much more details of the theoretical model, such as the characters of the multi-attribute evaluation, the selection of the nearest neighbor of target user, and the group decision-making model of personalized recommendation. more importantly, we have enriched and refined the collaborative filtering recommendation algorithm which is the core of this paper. this paper is organized as follows. we review recommender systems and multi-attribute utility theory. we then introduce the establishment of user interest model using applied ontology method to describe user profile and illustrate the algorithm in specific steps. finally, we do an experiment and conclude with findings and discussions. 2 descriptions of basic model 2.1 user rating matrix a user’s comment on a certain item is usually an integration of multi-attribute comments made from different angles [6]. suppose an item is shown as follows: p = {a1,a2,a3, . . .an} based on the revised rating model, the paper establishes the user rating matrix. suppose the user set is denoted as u = {u1,u2, . . .up} and the user uj rating for item pi is denoted as 748 c. yu, y. luo, k. liu a(uj,pi): a(uj,pi) = a1 a2 a3 an−1 an    ω11 ω12 ω13 . . . ω1n−1 ω1n a1 ω21 ω22 ω23 . . . ω2n−1 ω2n a2 ω31 ω32 ω33 . . . ω3n−1 ω3n a3 . . . . . . . . . . . . . . . . . . . . . ω(n−1)1 ω(n−1)2 ω(n−1)3 . . . ω(n−1)(n−1) ω(n−1)n an−1 ωn1 ωn2 ωn3 . . . ωn(n−1) ωnn an where ωxy is the importance of attribute ax of product pi in comparison with attribute ay for user uj. here we use the 1-9 scale paired comparison method to analyze the compared importance level of each attribute of the product that a user evaluates [7]. the rating matrix of an item is mainly acquired through user scoring, or acquired through user behavior analysis, or acquired with the approaches of web semantic digging and fuzzy mathematics [6]. the present user rating system, such as movielens, only asks a user to make a synthetic rating for the movie he or she watched and give a quantitative scoring between 1 and 5. this approach is not accurate in identifying the similarity in the preference of two users. for example, if two users are interested in the same movie. when they rate it, they give it the same score. however, the angles of their preference for the movie are totally different. a user may like the star and the style. the other user prefers the theme and the content of the movie. therefore, we propose to build a multi-attribute rating system to evaluate a product, i.e., a product has many attributes. when evaluating the product, a user mainly gives the preference ratings of each product attribute. another notable character of the multi-attribute evaluation is the absolute sparsity of the judgment matrix. this is caused by users who only know a few attributes of the product. this matrix is like the incomplete value judgment matrix of group-decision making, which easily lead to obvious deviations for the prediction results. so we should take some adjusted measures to solve the problem. 2.2 user interest model suppose user uj has rated several items and the rating matrix set is as = {a(uj,p1),a(uj,p2), . . .a(uj,pt)}, where a(uj,pi)(i = 1,2, . . . t) is user uj rating matrix for product i (i.e., pi). this paper applies the rating matrix set to establishing the user interest model [6]. the specific steps are as follows. 1. calculating the feature weight vector of each rating matrix, and then acquire the feature weight vector set v s ={v p1uj (w1,w2,w3, . . .wsize(a(uj,p1))),v p2 uj (w1,w2,w3, . . .wsize(a(uj,p2))) . . . v ptuj (w1,w2,w3, . . .wsize(a(uj,pt)))}. where v piuj (w1,w2,w3, . . .wsize(a(uj,pi))) denotes the feature weight vector of the user rating matrix a(uj,pi)(i = 1,2, . . . t) and size(a(uj,pi)) denotes the length of the feature weight vector. 2. according to the category of each attribute, calculate the user interest weights of the relavant attribute in the related resource category. referring to the methods proposed multi-attribute collaborative filtering recommendation 749 by [8] and [9], we propose the following formula for calculating the degree of the user interest. v a(uj,ay,n) = n∑ k=1 a(uj,pk)×v pk uj (wy) n (1) where v a(uj,ay,n) denotes the degree to which user uj is interested in attribute ay. n is the number of the items which has attribute ay and user uj have rated. a(uj,pk)×v pk uj (wy) (k = 1,2,3, . . .n) denotes the degree of user uj interest in attribute ay of product pk, which indicates how user uj preference on item pk is mostly determined by attribute ay. 2.3 selection of the nearest neighbor of target user we define the target user as the online user which requires evaluations and preliminary recommendations. the set of nearest neighbors is composed of the users who have the most similar interest and preference to item with the target user. traditionally, researchers use k-nearest neighbor (knn) algorithm and pearson correlationbased similarity formula to do cluster analysis on the target user and the similar users, according to their similar interest and preference. through these methods, the similar user set with different group standards can be obtained. in the process of collaborative filtering recommendation with group decision-making method, we consider the characteristics of the target user preference and search the similar user sets. the specific steps are as follows. step 1. search the user set which has similar interest distribution with target user ut , i.e., to obtain the intersection set of the interest distribution of all users and the target user. two users can rate the same attributes in a number of categories and have similar interest weights. this approach can be applied to obtain the initial nearest neighbor set: iu = {(u1,ω1),(u2,ω2),(u3,ω3) . . . ,(uw,ωw)} where w is the number of users totally in the initial nearest neighbor set. uk denotes the kth user whose interest set is sk. ωk denotes the interest intersection between user uk and the target user ut . step 2. use pearson correlation-based similarity formula to calculate the similarity between target user ut and a random user uk. when the degree of similarity reaches the threshold, uk can be divided into sut which is the similar user set of ut . finally, sut = {u1,u2, . . .us} is obtained, i.e., s similar users meet the threshold. the set of the interest intersection between the target user ut and s similar users that meet the threshold is seut = ω1∪ω2∪ω3 . . . . . .∪ωs. 3 collaborative filtering recommendation algorithm based on multi-attribute group decision-making 3.1 group decision-making model of personalized recommendation after acquiring a similar user set sut , we need predict and recommend the items that target user ut has not commented yet. suppose the item set is source = {p1,p2,s3, . . .pn} and pk (k = 1,2, . . .n.) is the item that the target user has not commented yet. the traditional collaborative filtering recommendation algorithm is applied to calculate the overall evaluation value of the item a(ut ,pk) given by similar users and then obtain the initial recommended source sinitial. suppose a random item pk ∈ sinitial has n attributes denoted as a set spk = 750 c. yu, y. luo, k. liu {a1,a2, . . .an}, the set satisfies the condition spk ⊆ seut . the comment matrix is denoted as a1,a2,a3, . . .ap, which means similar users in sut commend pk. we suppose p users are similar with the target user and have made comments to the item. the algorithm proposed in this paper requires that p >= 3. when p < 3, refer to the article [10]. after obtaining the evaluation matrix a1,a2,a3, . . .ap, it vital for this research to use the information of comments to get preference matrix of the target users. the collaborative filtering recommendation of multi-attribute similar users is a typical group decision problem, in which many similar users make their decisions independently without any discussions and then the computer synthesizes their opinions to make recommendations to the target user. the result requires that all similar users’ comprehensive evaluation matrixes and comprehensive characteristics weight vector {w1,w2,w3, . . .wn } be calculated. wi denotes the comprehensive preference of the similar users to attribute ai, which is compared with other attributes of the product that has not been recommended. according to comprehensive characteristics weight vector, we can know which attribute determines the users’ interest on a specific item. applying the semantic analysis method and the semi-structured description language to the attributes, we can make better recommendation to users. a recommendation model can be transferred to group decision-making model in order to solve a problem. however, the traditional group decision-making algorithm still need be improved when applied since there exists differences between similar users and decision-making expert. the differences mainly exist in the following aspects: 1. it is hard to use the weight vectors to measure the influence of similar users in the recommendation processes mainly because of the complexity of user preferences. according to the traditional method, two users have a high similarity in their interest preferences. however, it is hard to identify the deviation existing in the preferences of the two users on a specific item. 2. there are a large number of incomplete values in user comment information because some users may make no comments on the unfamiliar attributes to ensure the accuracy of evaluations. in this situation, the application of some traditional group decision-making algorithms, such as weighted average method or weighted least squared logarithm method may result in a great deviation of the final result. to solve the two problems mentioned above, this paper makes improvements in group decisionmaking compatibility test algorithm and builds a collaborative correction algorithm based on pearson-compatibility model. the core of this algorithm is to simulate the expert group-decision making process, discover the common opinions of most experts via data analysis, and revise the opinions of each expert to realize the final consistent compatibility. moreover, to solve the problem of premature convergence, this paper adopts a mode of multi-user collaborative correction. in addition to the usual algorithms, when it calculates the value of each user’s impact, this paper uses the common opinion of all users rather than target user‘s opinion as a measurable index. the user whose opinion is more similar to the common opinion would be given a higher weight, which is different to traditional method. 3.2 the related definitions firstly, we introduce the calculation of the value of user impact weight. this value is an important indicator to measure the degree of evaluation information consistency between a user and the others [6]. the user matrix with higher group evaluation consistency will get higher multi-attribute collaborative filtering recommendation 751 weight. vise versa. this paper adopts the concept of user rating similarity [11, 12]. we turn all the similar n×n user rating matrixes into n2×1 one dimensional vector. the user uk judgment matrix ak could be denoted as v k = {ωk11,ω k 12,ω k 13 . . .ω k 1n,ω k 21,ω k 22,ω k 23 . . .ω k 2n . . .ω k n1 . . . . . .ω k nn}. pearson similarity formula to calculate the rating matrix between the user uk and the user ul is show as follows: si(ak,al) = n2∑ i=1 (v k(i)−v k)× (v l(i)−v l)√ n2∑ u=1 [v k(i)−v k]2 × √ n2∑ u=1 [v l(i)−v l]2 (2) v k is the average value of all elements of user uk rating matrix. v k = ωk11 + ω k 12 + . . . + ω k nn n2 . the similarity between user k and other users could be calculated as follows: sik = p∑ l=1,l ̸=k si(ak,al)/(p−1). where p denotes the number of users. we propose a formula dk = 1 −sik as the approximate measure of variance, which indicates the deviation degree of evaluation matrix. the approximate influence weight of user uk is shown as follows: θk = (1−max{sil, l = 1,2, . . .p})2 d2k (3) after acquiring the similar user influence weight, we suppose the group integrated approximate evaluation matrix of p users is a∗, and the value of each element ω∗ij in matrix a ∗ is as following: ω∗ij = p∑ k=1 θk ×ωkij/ p∑ k=1 θk (4) matrix a∗ is not a positive reciprocal matrix. suppose x is a positive reciprocal matrix composed of xij. this paper uses the least square method to modify x and propose the following formula: f(x) = min n∑ i=1 n∑ j=1 (xij −ω∗ij) 2 s.t  xij ×xji = 1xij > 0 (i,j = 1,2, . . .n) (5) the definition of compatibility and comprehensive compatibility are as follows: definition 1. suppose x is the group user comprehensive evaluation matrix obtained by using the method of the least squares. then the judgment matrix compatibility between user k and the other users is as follows: s(ak,x) = n∑ i=1 n∑ j=1 ω (k) ij ×xij max((ω (k) ij ) 2,(xij)2) n2 −α (6) 752 c. yu, y. luo, k. liu although paper [13] has defined expert judgment matrix compatibility in usual cases, it does not consider the incomplete value. formula (6) is a modified approach to solve the problem. firstly, the block that the user does not rate is processed and given the value 0. then α is used to indicate the number of 0. the aim of this approach is to eliminate the influence of user judgment matrix on compatibility indicator. definition 2. suppose a1′, a2′ . . .ap′ are the compatibility correction of matrixes of p users’ judgment matrixes. then we get the comprehensive consistency indicator s̄, as follows: s̄ = p∑ k=1 s(a,ak′) p (7) readers can refer to the simulation result of article [7]. when s(a,b) >= 0.8, the two evaluation matrixes is considered nearly compatible. when s̄ ≥ 0.8, evaluation matrixes of all p similar users is considered compatible. 3.3 collaborative correction algorithm based on pearson-compatibility pearson-compatibility model could be used to simulate the process of experts doing group discussions and finally making group decisions. the model mainly consists of two indicator calculation formulae: pearson similarity calculation and compatibility test. pearson similarity calculation formula is mainly used to calculate the information reservation degree of user rating matrix after the matrix has been revised. and compatibility test is used to test degree of consistency of user rating matrix after matrixes has been revised. the mainly function of pearsoncompatibility model is to build the associations between two variational indicators. based on this association, compatibility correction algorithm will choose the best revised matrix in each iteration process, which could make the user matrixes unanimous and most similar to the true value. referring to [14], based on the related method [15, 16], this paper proposes a pearsoncompatibility model as follows: ω(t) = si(t) 1−β ×s(t) 1+β (8) where ω(t) denotes the calculation result of pearson-compatibility model after t times iteration. with all the continuous revision of user matrixes, si(t) decreases from 1 to 0, and s(t) increases from 0 to 1. so each time of modification generates a better revised scheme which minimizes the change of si(t) while maximizes the change of s(t). this indicates that all the experts acquires a better compatibility with the least possible original information lose. this method is similar to the real decision processes [16] and can provide an effective way to approach the true value. in pearson-compatibility model, the best revised scheme in each iteration process is the one that maximizes ω(t). β is used to control the marginal diminishing rate and the marginal increasing rate of si(t) and s(t). the efficiency of this algorithm is low when the consistency of the evaluation matrixes is low. moreover, it is possible that the algorithm converges in advance, i.e., ω(t) reaches the max value at the beginning of calculation. at that time, if the value of β increases, the efficiency of the algorithm can be improved and simultaneously solve the problem of pre-mature convergence to some degree. regarding the designation and realization of compatibility correction algorithm based on pearson-compatibility, readers could refer to [17, 18]. in order to solve the problem of premature convergence, this paper introduces a multi-user collaborative correction mechanism which multi-attribute collaborative filtering recommendation 753 is based on simulated annealing algorithm (saa). the following experiments in this paper testify that this method can solve the problem of pre-mature convergence in advance, and further improves the accuracy of the experiment result. this algorithm is described as follows: step1: suppose u is the iteration times of compatibility test. zs is the number of users whose evaluation matrix could not be revised further in each step, which is given the original value 0. suppose original user matrixes of all p users are a1(0),a2(0) . . . . . .ap(0). then after u times compatibility correction iteration, p users evaluation matrixes are: a1(u),a2(u) . . . . . .ap(u) step2: use formula (2) and (3) to calculate the influence weights of the evaluation matrixes of p users. step3: use formula (4) and (5) to calculate the user comprehensive rating matrix x(u) after the uth compatibility correction. step4: use formula (6) to calculate the compatibility between the kth user ak(u) and x(u). then apply formula (7) to calculate the comprehensive consistency degree of s̄(u). step5: when zs = p and s̄(u) < 0.8, go to step7. when zs ̸= p and s̄(u) < 0.8, go to step6. when zs ̸= p and s̄(u) ≥ 0.8, we believe p users comprehensive consistency could pass the test, go on with step8. step6: referring to [17], we can revise x(u) and ak(u). suppose the deviation matrix of ak(u) is dk(u) = {ek(u)ij }, where e k(u) ij = x (u) ij −ω k(u) ij . suppose e k(u) wr = max(|x (u) ij −ω k(u) ij |) is the maximum deviation item after u times iteration, where ωk(u)ij is nonzero term. let u = u+1 and begin a new round of revision. the revised rating matrix is: ak(u) =   x (u−1) ij −e k(u−1) ij ×0.95 µ, when i = w,j = r 1/[x (u−1) ij −e k(u−1) ij ×0.95 µ], when i = r,j = w x (u−1) ij −e k(u−1) ij , when i ̸= w,i ̸= r,j ̸= r,j ̸= w (9) where u is the step length adjusting factor. this paper gives a limitation between 0 and 10 to u. thus, the range of 0.95µ is [0.5987, 1]. the larger u is, the faster the rate of convergence of rating matrix of user k will be. in order to prevent an oversized adjustment of a single user matrix and thus lose the information in the initial rating matrix, the maximum adjustment extent is set as 0.5987. if u is given an appropriate value in each iteration, the calculating speed and the accuracy of the algorithm result will be highly improved. however, the existing algorithm is not effective enough. this paper proposes an approach of building a multi-user collaborative filtering model based on simulated annealing algorithm (saa), i.e., applying saa to revise the maximum deviation item in each iteration and calculate the optimal correction factor µk for each user k(k = 1,2 . . .p). in the simulated annealing algorithm (saa), each point s of the search space is analogous to a state of some physical system. the goal is to bring the system, from an arbitrary initial state, to a state with the minimum possible energy. according to the principle of metropolis, the probability of solid particle at temperature t changed from the disordered state to the steady state is exp(− ∆e k×t ). ∆e is the internal energy change quantity when the solid temperature change to t and k means the boltzm-ann constant. when we apply saa method to solve the 754 c. yu, y. luo, k. liu combinational optimization problem, internal energy e means the value of target function and temperature t means the control factor. then we can get the simulated annealing algorithm. in the saa, we suppose the initial energy value of target function in the model is e and control factor is t . then we can control the attenuation amplitude in each iteration and use the random function to simulate the random motion of particle. and we calculate the objective function difference as ∆e, and according to metropolis principle to choose the result. when t decrease to the critical value or the model solution could not be better, we stop this algorithm and get the approximate optimal result. the saa applied to the multi-user collaborative correction algorithm could be described as following: step6.1: suppose it is the uth iteration. let formula (8) be the energy function. suppose c = 0 is the number of iterations for calculating µk, and sc = 0 is the verdict factor to judge whether to stop the iteration. step6.2: for user ak(u),(k = 1,2, . . .p), apply formula (9) to confirm the maximal deviation item and to calculate the evaluation set a1(u)c ,a 2(u) c ,a 3(u) c , . . .a p(u) c . randomly choose the initial state set [µ1c,µ 2 c, . . .µ p c] between 0 and 1. step6.3: run matlab software to generate p random numbers ∆1,∆2, . . .∆p, which are between 0 and 1. suppose µkc = ∆k (k = 1,2 . . .p, and ∆k in each iteration is different). let c = c + 1 and calculate the energy function ω(u)c . suppose t is the temperature schedule. its initial value t0 = 100. the attenuation function is tc = tc−1 × 0.95. suppose the counting variable is rt and rt = rt + 1. let ∆f = ω(u)c −ω (u) c−1. then we make the following judgment: when ∆f > 0, µ1c,µ 2 c, . . .µ p c is accepted as the new state solution and go on with step4. when ∆f < 0, there are two possibilities. if e( ∆f tc ) > random[0,1] holds, µ1c,µ 2 c, . . . µ p c is accepted as the new state solution and go on with step4. otherwise, let µkc = µ k c−1, sc = sc +1. step6.4: when sc > 10 or tc < 0.01, which means we reach the end condition and export the result µ1c,µ 2 c, . . .µ p c. otherwise, go on with step2 after the value of u is obtained. step7: popup dialog prompt whether to set a new threshold sxy which means the user acceptable level. if the user choose to reset, zs value would be zero. and we will let the value of pearson in each loop iteration compared with sxy and get the value of zs. then we execute step5. if the user choose not reset, we execute step8. step8: export the calculation result x(u), s (u) and p user final evaluation matrixes ak(u),(k = 1,2, . . .p). we have testify the algorithm is effective in the previous studies. if you are interested in the test process, you can refer to article [16] and [17]. 4 experimentation we build an experiment environment to execute our algorithm at current conditions to validate the effectiveness of this algorithm [6]. the environment is described as follows: we adopt ontology and the relevant methods in order to design and develop the movie information database. jena 2.6.2 is applied to store the movie information in rdf format and arq-2.2 is used to manage the movie information. we have imported 300 movies which involve 10 categories. a semantic analysis of each movie is conducted to get key words and form the initial attribute set. then the synonyms and the similar words in the initial set are combined. take some topical words as the characteristic attributes and use them to represent multi-attribute collaborative filtering recommendation 755 these movies. finally, 15 attributive categories and 282 concrete attributes are extracted. then an online multi-attribute rating system based on the movie database and a collaborative filtering recommendation system based on group-decision making are designed and developed. the concrete process that tests the algorithm is as follows [6]: 1. select four evaluated movies in which g(u,p) is comparatively big and use them as the testify set. they respectively include 6, 7, 8 and 9 attributes. then, use the target user evaluation matrixes which are further used as the real weight vectors to calculate the user interest vectors for each movie. 2. based on the user-evaluated movies set (excluding the 4 movies in the test set), apply the methods in sections 2.3 and 2.4 to searching the most similar user set for the target user (i.e., the similar interest distributions). take movie 1 with 6 attributes as an example. the real interest vectors are s = [3.7288, 2.7053, 1.9627, 0.4657, 0.3293, 0.3293]. the total score of this movie is 4.5 which indicates that the target user has a high preference to this movie. moreover, the preference is mainly determined by the first three attributes. totally, 9 similar users have evaluated this movie. firstly, the traditional collaborative filtering algorithm is applied to obtaining the weighted average of the total score of this movie and gets the result 3.94. we are not sure whether the target users have interests in this movie. thus, we need use the similar user evaluation matrixes to make judgments. the evaluation matrixes of six similar users are listed as follows: a =   1 2 2 5 7 9 1/2 1 1 6 5 6 1/2 1 1 7 7 6 1/5 1/6 1/7 1 1 2 1/7 1/5 1/7 1 1 3 1/9 1/6 1/6 1/2 1/3 1   b =   1 2 3 3 7 7 1/2 1 0 4 7 6 1/3 0 1 0 4 5 1/3 1/4 0 1 1 2 1/7 1/7 1/4 1 1 3 1/7 1/6 1/5 1/2 1/3 1   c =   1 2 2 4 0 0 1/2 1 1 3 0 0 1/2 1 1 2 0 0 1/4 1/3 1/2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1   d =   1 2 3 4 6 8 1/2 1 2 2 4 6 1/3 1/2 1 1/2 4 7 1/4 1/2 2 1 3 2 1/6 1/4 1/4 1/3 1 2 1/8 1/6 1/7 1/2 1/2 1   e =   1 2 0 7 8 0 1/2 1 2 8 7 7 0 1/2 1 0 7 8 1/7 1 0 1 1 2 1/8 1/7 1/7 1 1 1 0 1/7 1/8 1/2 1 1   f =   1 2 4 0 7 0 1/2 1 2 6 7 7 1/4 1/2 1 0 2 2 0 1/6 0 1 0 2 1/7 1/7 1/2 0 1 1 0 1/7 1/2 1/2 1 1   3. apply the four algorithms to calculate the score of the four movies and make comparisons on the deviations of the real weight vectors of the target users. the result is listed as follows: table 1: the comparison between algorithms movie 1 (6 order) movie 2 (7 order) movie 3 (8 order) movie 4 (9 order) arithmetic weighted average method 0.1589 0.0564 0.1985 0.1132 logarithmic least squares method 0.1054 0.0534 0.1398 0.0831 compatibility correction algorithm 0.0877 0.0556 0.1042 0.0687 our algorithm 0.0780 0.0543 0.0885 0.0683 756 c. yu, y. luo, k. liu when the scores of a part of similar users have a large deviation from those of the other users, the algorithm proposed in this paper can solve the problem of early convergence better than the other algorithms and obtain an accurate result, as shown in table 1. the core of our algorithm is the revised values of the comprehensive evaluation matrix determined by the majority of users. accordingly, the highly deviated evaluation values are revised. the result of seven order matrix experiment shows that the deviations of the result of any algorithms are not notable when all the similar users have unanimous evaluation matrixes, the result of nine order matrix experiment shows that the result of the proposed algorithm is similar to that of compatibility correction algorithm when all the similar users have unanimous evaluation matrixes, while still have some incomplete values, and is better than the other two algorithms obviously. when there are 5 similar users and six order evaluation matrix is executed with our algorithm, the change tendencies of the main indicators are shown in figure 1: 0 2 4 6 8 10 12 14 16 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 iterations p e a rs o n -c o m p a ti b il it y v a lu e compatibility value of five similar users pearson value of five similar users pearson-compatibility value of five similar users figure 1: the main indicators change in our example 4. for example, for the first movie with the six order evaluation matrix, the influence of the user number on the accuracy of recommendation results is examined. suppose the user number is 3, 5, 7 and 9. the accuracy and the number of iterations are calculated with different means of permutation and combination. part of the result is shown in table 2: table 2: the comparison of different similar user numbers user number 3 5 7 9 initial indicator of comprehensive consistency degree 0.5872 0.6890 0.6872 0.7081 deviation of result 0.1680 0.1093 0.0828 0.0780 number of iterations 12 16 28 37 more deviation items are generated as the user number increases. therefore, the iterations of this algorithm rise. this test indicates that the effectiveness of this algorithm is highly related to the initial consistency degrees of all users and the number of users. in general, when the initial consistency degree is low and the similar user set is limited (e.g. there are 3 users), it is hard for the algorithm to dig out the common information among the users. therefore, the result deviation is huge. however, when the number of similar users increases to a certain degree (e.g. the number is equal or bigger than 7), the algorithm still remains a good accuracy, even if the initial compatibility is low. regarding the provision of personalized services to the target users, this paper calculates the comprehensive evaluation weight vectors of each movie with the group-decision making model. multi-attribute collaborative filtering recommendation 757 take the first movie with 6 attributes as an example. the comprehensive evaluation score of nine similar users is g(u,p) = 3.94. the comprehensive evaluation vectors are v = [4.0653 2.9492 1.7630 0.3972 0.3044 0.3607]. each value of the weight vector represents the potential interest degree of the target user on the corresponding product attributes. thus, the total score calculation formula is tscore = g(u,p)× n∑ i=1 vi/n (10) where tscore denotes the total score, n denotes the number of attributes, and vi denotes the comprehensive evaluation value of the (i)th attribute of the product. the recommendation set can be fixed through the way of ranking or threshold setting. the total scores of the four movies is shown in figure 2: 0 1 2 3 4 5 6 7 t s c o re 6.4616 5.9400 5.6734 4.6622 movie1 movie1 movie3 movie4 figure 2: the tscore of four movies the first movie has the highest score with six attributes, as shown in figure 2. the characters of this movie are analyzed as follows using the user interest model. firstly, attribute vi of weight vector v is normalized and generate vector v = [0.4131,0.2997,0.1792,0.0404,0.0309,0.0367]. the three attributes whose values are bigger than the average value 0.1666 are picked out. when the attribute value is bigger than 0.1666, the majority of users have evident preference on movie one. in the target user interest model, there are 124 attributes totally. the 3 attributes of movie one that are bigger than the average value are connotation, characteristic and special efficiency are still larger than the average value (1/124 = 0.0081) among 124 target user attribute preferences. this result indicates that target user has evident preference to these 3 attributes and the popularity of this movie is mainly determined by these attributes. therefore, we could introduce movie one to target user and provide the reasons why this movie is introduced. we also could use semantic analysis technique to describe each attribute in detail and provide more personal service to target user. the comparison analysis histogram is shown in figure 3. m bar means the percentages which attributes are ranking at top 3 in movie one, u bar means percentages which attributes are ranking at top 3 in target user interest model. the analysis show us that target user may have larger interest preference to attribute one in movie one. 5 conclusion the traditional collaborative filtering personal recommended algorithms seldom consider the multi-attribute problem. our approach is based on group-decision making. we propose an 758 c. yu, y. luo, k. liu 0 0.1 0.2 0.3 0.4 0.5 0 0.01 0.02 0.03 0.04 0.05 u barm bar connotation special efficacyplot 0.4131 0.2997 0.1792 0.0450 0.0254 0.0326 figure 3: comparison analysis histogram of movie one with target user interest. improved pearson-compatibility algorithm which is applied to the collaborative filtering recommend field. we then build a virtual recommend environment and testify the effectiveness and feasibility of this algorithm. the advantages of the collaborative filtering personal recommended algorithm based on group-decision include: identifying a more suited similar users set for the target user. an accurate target user model could be set up via field subdivision according to field attributes. then the users who have similar interest distribution with target user can be found. the similar user set is generated. providing more accurate and personal recommend service to the target user. the traditional collaborative filtering method could neither recommend a result set to target user, nor provide analysis service [6]. this weakness is overcome by making an information integration to know what are mainly factors determining the user preference, so that we could handle the user need more accurate. considering evaluation deviation between the similar users and revising the user evaluation. instead of weighted mean, group-decision making method is used to calculate the comprehensive evaluation score. deleting the deviation item and revising the evaluation matrix could make the result have a better fitting effect [6]. the collaborative filtering method based on pearsoncompatibility is applied to the personal recommended field. the result of the experiment shows that the algorithm is stable when dealing with the deviation items and identifies the common preference information between similar users. acknowledgment this research work is supported by innovation program of shanghai municipal education commission (no. 12zz070, no. 12ys018) and humanity and social science youth foundation of ministry of education, china (no. 12yjc630136). bibliography [1] g. adomavicius, a. tuzhilin (2005); toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions, ieee trans. on knowl. and data eng., 17(6):734-749. multi-attribute collaborative filtering recommendation 759 [2] xiaoyuan su, taghi m. khoshgoftaar(2009); a survey of collaborative filtering techniques, advances in artificial intelligence, 2009:1-19. [3] d. goldberg, d. nichols, b. m. oki, d. terry(1992); using collaborative filtering to weave an information tapestry, communications of acm, 35(12):61-70. [4] p. resnick, h. r. varian(1997); recommender systems, communications of the acm, 40(3):56-58. [5] k. goldberg, t. roeder, d. gupta, c. perkins (2001); eigentaste: a constant time collaborative filtering algorithm, information retrieval, 4(2):133-151. [6] c. yu, y. luo, k. liu(2014); a multi-attribute collaborative filtering recommendation algorithm based on improved group decision-making, iciso 2014, ifip aict, 426:320-330. [7] f. herrera, e. herrera-viedma, f. chiclana (2001); multiperson decision-making based in multiplicative preference relation, european j. of operational research, 129:372-385. [8] a. shepitsen, j. gemmell, b. mobasher, r. burke (2008); personalized recommendation in social tagging systems using hierarchical clustering, proc. of the 2008 acm conference on recommender systems, lausanne, switzerland. [9] a. ypma, t. heskes (2002); categorization of web pages and user clustering with mixtures of hidden markov models, proc. of the webkdd 2002 workshop: web mining for usage patterns and user profiles, sigkdd 2002, edmonton, alberta, canada. [10] z.s. hua, b.g. gong, x.y. xu (2008); a ds–ahp approach for multi-attribute decision making problem with incomplete information, expert systems with applications, 34(3):22212227. [11] h. jeon, t. kim, j. choi (2010); personalized information retrieval by usingadaptive user profiling and collaborative filtering, aiss: advances in information sciences and service sciences, 2(4):134-142. [12] liu, a., yang, z.(2010); watching, thinking, reacting: a human-centered framework formovie content analysis, international journal of digital content technology and its applications, 4(5):23-37. [13] y. dong , y. chen, s. wang (2004); algorithm of solving weights for group decision making by improving compatibility, systems engineering-theory & practice, 2004-10. [14] c.-s. yu (2002); a gp-ahp method for solving group decision-making fuzzy ahp problems, computers & operations research, 29(14): 1969-2001. [15] y. zhang, h. wang (2002); development and application of p-s aided decision system, systems engineering-theory methodology application, 2002-04. [16] l. liang, l. xiong, g. wang (2004); a new method of determining the reliability of decisionmakers in group decision, systems engineering, 22(6):91-94. [17] j. barzilai, f. a. lootsma (1994); power relations and group aggregation in the multiplicative ahp and smart, proc. 3rd int. symp. ahp, 157-168. [18] j. sun, w. xu, q.d. wu(2005); a new algorithm for incomplete matrixes’ compatibility improvement and group ranking in group decision making, systems engineering-theory & practice, 10(10):89-94. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 910-918 a new model for cluster communications optimization a. rusan, c.-m. amarandei andrei rusan, cristian-mihai amarandei “gheorghe asachi” technical university of iaşi department of computer science and engineering, adress: bd. dimitrie mangeron, nr. 53a, 700050, iaşi, romania e-mail: andrei.rusan@tuiasi.ro, camarand@cs.tuiasi.ro abstract: performance losses of cluster applications can arise from various sources in the communications network of computer clusters. typically, cpu intensive applications generate a small amount of network traffic the overall influence of the network subsystem is minimal. on the other hand, a dataintensive and network aware application generates a large amount of network traffic and the influence of the network subsystem is significantly greater. this paper presents a model that aims to improve the cluster’s network performance by reducing the data transfer time, this solution having the advantage that doesn’t imply modifications of the original applications or of the kernel. keywords: cluster communications optimization, network performance 1 introduction the computing performance of a cluster is dependent on the performance of cluster components: computing nodes and communication infrastructure. the cluster communication infrastructure was built using network devices whose performance can be modified only by hardware changes, i.e. replacing 100mbps ethernet switches with gigabit switches; therefore this component of the cluster will be neglected. the performance of a computing node is defined by hardware and software performance, where the hardware performance can be considered a constant value and it can be influenced by the hardware changes only. the software can be separated in components: application and operating system. the computing performance of the cluster can be influenced by each of these components. cluster performance increasing by performing modifications at the applications level is a goal very hard to achieve, some applications requiring a complete rewrite for this task. of course, there are exceptions too, like network-aware applications, which are built exactly with this goal in mind and they do not require any optimizations. the last component that can influence the performance is the operating system through the kernel configuration and at the network layer optimizations. taking into account that clusters typical contains a large number of computing nodes, the solution for cluster performance improvements must be done with minimal modifications in the systems. these requirements are necessary to keep the administrative tasks at a decent level. there is a research work involving the network tuning mechanisms or network-aware applications trying to solve these issues. the projects developed so far, like wad (work around daemon) [1] or enable [2] don’t meet the imposed requirements, as for wad a modified kernel must be used, and for enable the applications must be rewritten. the wad project provides a transparent mechanism to work around a variety of network issues, including tcp buffer size, mtu size, packet reordering, and leaky network loss [1]. the wad goal is to eliminate the "wizard gap" representing the difference between the network performances achievable by manually handcrafting of the optimal tuning parameters, compared copyright c⃝ 2006-2010 by ccc publications a new model for cluster communications optimization 911 to an untuned application [1]. to attain this goal, wad requires a modified kernel from the web100 project. this solution could not be applied in our case, because of the different linux kernel versions the web100 project provides a kernel patch starting from the 2.6.12. through the use of a different kernel version that the provided one by the linux distribution, centos 4.5 in our case, problems in maintaining the operating system across clusters can occur. therefore our solution works fine no mater the kernel version used. the enable project, includes monitoring tools, visualization tools, archival tools, problem detection tools, and monitoring data summary and retrieval tools. enable provides an api that makes it very easy for application or middleware developers to determine the optimal network parameters [2]. however, the solution provided by this project was not applicable in our case, because applications could not be rewritten. this paper presents a model for self optimization of the network communications in order to improve cluster performance by shortening the data transfer time. the model implementation does not require applications and kernel structure modifications or adding new modules to the existing ones. also, the implementation uses only the tools provided by the operating system for runtime configuration and therefore the automatic operating system and kernel updates can be applied immediately. in the next section a brief review of the tcp transport protocol issues, linux kernel network subsystem and the netpipe network performance measurement tool are presented. section 3 describes the network self optimization model and the proposed algorithm. section 4 presents the test environment and the experimental results. the final section summarizes author’s efforts on tuning the cluster communications network and considers future extensions of the work. 2 background tcp protocol transmits new data into the network when old data has been received as indicated by acknowledgments from the receiver to the sender. the data rate is determined by the window size and is limited by the application, the buffer space at the sender or the receiver and by the congestion window. tcp adjust the congestion window to find an appropriate share of the network capacity of the path between source and destination. missing or corrupted data segments are repaired by tcp by retransmitting the data from the sender’s buffer. this process requires an entire window of data to fit into both sender and receiver buffers [1]. the largest tcp window can be 216=65kb because the tcp header uses 16 bits to report the receive window size to the sender. the window scale option was introduced defining an implicit scale factor used to multiply the windows size value from tcp header in order to obtain the real tcp window size, as described in [3]. these buffers have default values that may either be changed by the applications using system calls or by using tools provided by the operating system, i.e. sysctl tool from linux/unix. the second part of this section is focused on the network subsystem of the linux kernel. starting from the version 2.4 of linux kernel, an auto tuning technique is used to perform memory management. this technique simply increases and decreases buffer sizes depending on available system memory and available socket buffer space. by increasing buffer sizes when they are full of data, tcp connections can increase their window size performance improvements are an intentional side-effect [4]. on the other hand, this is done within the limitation of the available system memory and socket buffer space, and on the busy cluster that are valuable resource. the network subsystem of the linux operating system should be tuned in order to obtain an optimal performance of a computing system. in order to do that, changes can be operated at the following levels: network interface and kernel parameters. the kernel parameters allowing to change the network behavior can be tuned by modifying the following files located in 912 a. rusan, c.-m. amarandei /proc/sys/net: /proc/sys/net/core/rmem_max /proc/sys/net/core/rmem_default /proc/sys/net/core/wmem_max /proc/sys/net/core/wmem_default /proc/sys/net/ipv4/tcp_stack /proc/sys/net/ipv4/tcp_timestamps /proc/sys/net/ipv4/tcp_keepalive_time /proc/sys/net/ipv4/tcp_mem /proc/sys/net/ipv4/tcp_rmem /proc/sys/net/ipv4/tcp_wmem /proc/sys/net/ipv4/tcp_window_scaling the network interface can also be tuned by modifying the speed and duplex settings and the mtu size. two problems have to be addressed while setting up the cluster: • the default kernel values don’t provide the best performance for the custom environment, and • the number of communication devices needed to be set. since solutions to solve these two problems are missing an optimal value for each system in cluster to get the best possible performance is proposed. by using the right tools, the network settings related changes are available immediately, the optimization algorithm presented in this paper being based on these features. the values of the send/receive buffers (tcp_wmem and tcp_rmem) can be changed by specifying minimum size, initial size, and maximum size as follows: sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w net.ipv4.tcp_wmem="4096 87380 8388608" the third value must be the same as or less than the wmem_max and rmem_max values. the first value can be increased on high-speed, high-quality networks so that the tcp window starts out at a sufficiently high value [5]. also, the tcp window scaling is an option to enlarge the transfer window. performance measurements of the cluster network can be done using a wide area of tools like iperf [6], netperf [7] or netpipe (network protocol independent performance evaluator). because the performance measurements must be done for both tcp and mpi layer and the netpipe provides a complete measurement of the communication performance on both of them, the tests were performed using this tool. the netpipe utility performs simple ping pong tests, bouncing messages of increasing size between two computers. to provide a complete test, netpipe modifies the message size, with a slight perturbation, at regular intervals and measures the point-to-point communications performance between nodes [8]. because we want to determine of the maximum bandwidth available for different use cases, usage of different message size is a must. from all the performance measurements tools available, only netpipe had this feature by default, which defines it as a right tool for this kind of tests. an in depth description of the netpipe utility can be found in [8][10]. linux kernel network subsystem information gathered by running netpipe on the cluster were used in order to improve the throughput. 3 proposed model the proposed model implies the computation of a best possible set of values for a given set of parameters. figure 1 presents the model schematics composed from three parts: ”control logic”, a new model for cluster communications optimization 913 ”parameter computation” and ”network test tool”. the first component is responsible for sending starting set of values to ”parameter computation” and keeps the running flux under control. the second component computes the sets of values based on previously known sets of data and on the results of the current run received from the ”network test tool” and send it to the kernel in order to set the network subsystem. the ”network test tool” is responsible to run set of tests and provide the results to ”parameter computation” component. the optimization process is started by ”control logic”, which sends starting values to ”parameter computation” that are set in the kernel network subsystem and starts the first set of tests through the ”network test tool”. after the tests are finished, the results are sent to "parameter computation" which computes a new set of values and the process continues until meeting the end condition. compute node compute node network test tool network subsystem network device compute node network test tool network subsystem application kernel hardware control logic parameter computation network device network infrastructure network test tool network subsystem network device figure 1: the cluster communication optimization model the process provides self optimization of the kernel network subsystem, the only necessary interaction with the application being the configuration file that contains necessary values for the application startup and for the components behavior. these values can be set by administrators to meet the specific needs. an algorithm implementing model functionality is proposed. this algorithm performs the bandwidth measurements and adjusts the sets of parameters to obtain the highest bandwidth usage for each case and running tests. given l, the number of tests to be performed, let it be n = {n1, n2, . . . , nk} the set of nodes in cluster, t = {t1, t1, . . . , tl} the set of test variables (i.e. tcp_rmem, tcp_wmem, tcp_window_scalling), i = {i1, i2, . . . , il} the kernel network subsystem parameters start values and e = {e1, e1, . . . , el} be the set of computed values for each test ti. also, given m as the number of messages, ms = {ms1, ms2, . . . , msm} is defined as the set of message sizes used by the testing tool, x = {x1, x2, . . . , xm} as the best set of result value for each test tt, the results set ri = {r1, r2, . . . , rk}i one for each cluster node, s = {s1, s2, . . . , sm}, where si = ∑k j=i rij, and b = {b1, b2, . . . , bm} as the set of best values for each test ti. the algorithm computes the values for the test variables 914 a. rusan, c.-m. amarandei as follows: the algorithm has two main components: the network test component corresponding to ”network test tool” in figure 1 and implemented by lines 3-19 from the algorithm, and the computational component corresponding to ”parameter computation” in figure 1 and implemented by lines 20-30. the methods used in the algorithm implements the following actions: • generate_set: produce a new set of parameters used for network testing; • start_remote_testing_program: launches the remote component of the testing application (netpipe in our case); • prepare_local_testing_program: prepare the local component of the testing application, necessary to maximize the accuracy of the measured values; • execution_of_local_testing_programs: runs the testing application; • get_max_count: extract the parameter value corresponding to the maximal throughput. finally, the line 31 sequentially sets the kernel parameters to the best computed values on the entire cluster. 4 implementation and experimental results to improve the cluster communications, dynamic tests and adjustments for the following linux kernel network parameters are performed: tcp_window_scalling, tcp_rmem and tcp_wmem. bandwidth measurements and tcp parameters adjustments were carried out to obtain the highest bandwidth usage for each case and to determine the maximum bandwidth available for different use cases. the environment used to test the proposed model consists in a grid cluster with the following configuration: one front-end computer with 4 x 3.66 ghz intel xeon processors, 4 x 146 gb hard drive and 8 gb of ram and 12 computing nodes with 1 x 2.33ghz intel core2 duo cpu, 1 x 160gb hard drive and 2gb of ram with gigabit ethernet card connected with cat6 cables via a gigabit switch. first implementation of the algorithm was made in bash, but due the dificulties in working with data structures was switched to perl. also, to preserve measurement accuracy and performance the tests results were saved to files for further usage, like graphical presentation. the performance results were obtained based on a test array with three elements: one for a new model for cluster communications optimization 915 tcp windows scaling, a second one for tcp read buffer and the third one for the tcp write buffer kernel parameters. for each of this there is a graphical presentation, where on the x and y-axis the message size used during tests and the resulted bandwidth values are, respectively, presented. the results for the tcp windows scaling parameter are showed in figure 2(a), where one line is for net.ipv4.tcp_window_scaling=0, and the other one is for net.ipv4.tcp_window_scaling=1. for an easier reading of the results graph, we apply a bezier function in order to obtain the presentation from figure 2(b). the influence of tcp read/write buffer size over the available bandwidth are presented in figure 3(a)/figure4(a). in this case, there are a large number of graphic representations and the observation is very difficult, so a bezier function was applied on the results values to make the graphical presentation more readable, as shown in figure3(b)/figure4(b). the red line in the graphical representations corresponds to the default value for tcp_rmem (4kb) and the blue dotted line is the best value resulted using this model, with 100mbps more than the default value. by applying different values for tcp buffers and running tests bandwidth variation for each of them is presented (figure 5). tcp buffers size starts from 4kb and each algorithm step doubles the previous value. 0 100 200 300 400 500 600 700 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "scaling_disabled" "scaling_enabled" (a) 0 100 200 300 400 500 600 700 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "scaling_disabled" "scaling_enabled" (b) figure 2: tcp window scaling influence over bandwidth 0 100 200 300 400 500 600 700 800 900 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "4096" "8192" "16384" "32768" "65536" "131072" "262144" "524288" (a) 0 100 200 300 400 500 600 700 800 900 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "4096" "8192" "16384" "32768" "65536" "131072" "262144" "524288" (b) figure 3: tcp read buffer influence over bandwidth 916 a. rusan, c.-m. amarandei 0 100 200 300 400 500 600 700 800 900 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "4096" "8192" "16384" "32768" "65536" "131072" "262144" "524288" (a) 0 100 200 300 400 500 600 700 800 900 1 10 100 1000 10000 100000 1e+06 1e+07 b a n d w id th i n m b p s message size in bytes "4096" "8192" "16384" "32768" "65536" "131072" "262144" "524288" (b) figure 4: tcp write buffer influence over bandwidth figure 5: bandwidth achieved for different tcp buffer size a ram drive on all computers was built in order to test the results without any delays introduced by the hard disk drive. because of the 2gb memory limits on the computing nodes, the file transferred and the ram drive size was 512 mb. in the figure 6(a) transfer time for the file is shown. in this test the tcp buffers size was changed from 4kb to 512 kb and data transfer starts in both directions for each value, from the frontend to cluster nodes and back. 54.00 54.50 55.00 55.50 56.00 56.50 57.00 57.50 58.00 58.50 59.00 tr a n s fe r ti m e ( m s ) 40 96 81 92 16 38 4 32 76 8 65 53 6 13 10 72 26 21 44 52 42 88 buffer size tcp_wmem tcp_rmem (a) 547 724 480 715 371 695 0 100 200 300 400 500 600 700 800 before after b a n d w id th wscalling wmem rmem (b) figure 6: (a)transfer time for a 512mb file between cluster; (b)the benefits of parameters adjustments the best transfer time was obtained when both tcp_rmem and tcp_wmem values were 16kb a new model for cluster communications optimization 917 or 32kb. during the tests, this solution provides all values for the considered tcp parameters, which can be useful for other scenarios. in figure 6(b), the bandwidth improvement is presented. using only the default values, the cluster internal network available bandwidth is not optimally used with a strong impact on the overall computing performance. using this optimization model, the bandwidth available in the cluster is efficiently used. 5 conclusions and future work using the proposed model, the communication between cluster nodes has been improved. all results are considered for the specific needs of mentioned cluster, where a significant amount of data needs to be transferred between cluster nodes. for other applications, like a web server farm, the final results may be slightly different, but can be optimized by adjusting the test tool for those specific needs. the network kernel parameters computed can be used later if the use case is changed, i.e. a web server farm. the algorithm can be used for ipv6 too, however the authors doesn’t implemented nor tested. the further development of presented application will follow two directions: one is to extend its capabilities to support udp traffic performance adjustment; and the second one is to support tuning parameters other than the ones related to the linux kernel. bibliography [1] t. dunigan, m. mathis, b. tierney , a tcp tuning daemon, conference on high performance networking and computing, proceedings of the 2002 acm/ieee conference on supercomputing, baltimore, maryland, 2002 [2] b.l. tierney, tcp tuning guide for distributed application on wide area networks, usenix;login. http://www-didc.lbl.gov/tcp-wan-perf.pdf., 2001 [3] v. jacobson, r. braden, d. borman, rfc1323 tcp extensions for high performance, may 1992 [4] b.l tierney, d. gunter, j. lee, m. stoufer, j.b. evans, enabling network-aware applications, proceedings of the 10th ieee international symposium on high performance distributed computing, page: 281-288, 2001, isbn: 0-7695-1296-8 [5] netpipe, webpage: http://www.scl.ameslab.gov/netpipe/ [6] a. tirumala, l. cottrell, "iperf quick mode", http://www-iepm.slac.stanford.edu/bw/ iperfres.html [7] netperf homepage, http://www.netperf.org/netperf/netperfpage.html [8] d. turner, a. oline, x. chen, and t. benjegerdes,integrating new capabilities into netpipe, lecture notes in computer science, springer-verlag, september 2003, pp. 37-44. [9] d. turner, x. chen, protocol-dependent message-passing performance on linux clusters, proceedings of the ieee international conference on cluster computing, september 2002, pp. 187-194. [10] q.o. snell, a. mikler, j.l. gustafson, netpipe: a network protocol independent performance evaluator, asted international conference on intelligent information management and systems, june 1996. 918 a. rusan, c.-m. amarandei [11] h. sivakumar, s. bailey, r. l. grossman,psockets: the case for application-level network striping for data intensive applications using high speed wide area networks, proceedings of ieee supercomputing 2000, nov., 2000, http://www.ncdm.uic.edu/html/psockets. html [12] j. postel, rfc793 transmission control protocol, september 1981 [13] r. braden , rfc1122 requirements for internet hosts – communication layers, october 1989 [14] v. paxson, g. almes, j. mahdavi, m. mathis, rfc 2330 framework for ip performance metrics, may 1998 [15] e. ciliendo, t. kunimasa, b. braswell, linux performance and tuning guidelines, ibm, july 2007. http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 336-342 fuzzy szpilrajn theorem through indicators irina georgescu abstract: in this paper there are studied some numerical indicators which measure the degree to which a fuzzy relation verifies some properties (reflexivity, transitivity, etc. ).the main result is a fuzzy generalization of the szpilrajn theorem in terms of such numerical indicators and is applied to any fuzzy relation. keywords: fuzzy relation, szpilrajn theorem, similarity 1 introduction the classical szpilrajn theorem [10] asserts that any partial order can be extended to a total order. this result has been followed by refinements and generalizations and has been used in applications too (e. g. consumer theory [8]). the first fuzzy version of the szpilrajn theorem has been established by zadeh [11]. other fuzzy versions of this theorem can be found in [4], [6]. in [3] the topic is systematically studied in the framework of the fuzzy orders with respect to a left–continuous t–norm ∗ and a ∗–similarity relation ω. the idea of this paper is the following: instead of studying a property p of a fuzzy relation r (e. g. reflexivity, transitivity, etc.) to define numerical indicators which should express "the degree to which the fuzzy relation r verifies the property p". in this way, instead of considering a fuzzy order r on a set x we will have a number ord(r) which should measure "the degree to which r is a fuzzy order". the main result of the paper is a generalization of the szpilrajn theorem expressed in terms of such numerical indicators. it is a refinement of theorem 6.2 in [3] and it is applied to any fuzzy relation. 2 preliminaries in this section we shall recall some basic facts on the residuum associated with a left–continuous t–norm and on fuzzy relations ([1], [2], [4], [5], [7], [9]). for any a, b ∈ [0,1] we denote a ∨ b = max(a, b) and a ∧ b = min(a, b). more generally, for any set {ai}i∈i ⊆ [0,1] we denote ∨ i∈i ai = sup{ai|i ∈ i} and ∧ i∈i ai = inf{ai|i ∈ i}. let ∗ be a left–continuous t–norm [7], [5]. the residuum → associated with ∗ is introduced by a → b = ∨ {c ∈ [0,1]|a ∗ c ≤ b}. the biresiduum ↔ is denoted by a ↔ b = (a → b) ∧ (b → a). we fix a left–continuous t–norm ∗. lemma 1. [1], [5] for any a, b, c ∈ [0,1] the following properties hold: (1) a ∗ b ≤ c iff a ≤ b → c; (2) a ∧ b = a ∗ (a → b); (3) a ≤ b iff a → b = 1; (4) a = 1 → a; (5) 1 = a → a; (6) a ≤ a ∗ (a ↔ b). copyright © 2006-2008 by ccc publications fuzzy szpilrajn theorem through indicators 337 lemma 2. [1], [5] for any {ai}i∈i ⊆ [0,1] and a ∈ [0,1] the following properties hold: (1) ( ∨ i∈i ai) ∗ a = ∨ i∈i (ai ∗ a); (2) a → ( ∧ i∈i ai) = ∧ i∈i (a → ai); (3) ( ∨ i∈i ai) → a = ∧ i∈i (ai → a). let x be a non–empty subset. a fuzzy subset of x is a function a : x → [0,1]. denote by f(x ) the family of the fuzzy subsets of x. for any a, b ∈ f(x ) denote a ⊆ b if a(x) ≤ b(x) for any x ∈ x. a fuzzy relation on x is a function r : x 2 → [0,1]. r is said to be • reflexive if r(x, x) = 1 for any x ∈ x; • symmetric if r(x, y) = r(y, x) for any x, y ∈ x; • ∗–transitive if r(x, y) ∗ r(y, z) ≤ r(x, z) for all x, y, z ∈ x; • strongly complete if r(x, y) ∨ r(y, x) = 1 for any x, y ∈ x. a reflexive, symmetric and ∗–transitive fuzzy relation ω on x will be called ∗–similarity relation. let ω be a ∗–similarity relation on x and r a fuzzy relation on x. r is said to be: • ω–reflexive if ω(x, y) ≤ r(x, y) for any x, y ∈ x; • (∗, ω)–antisymmetric if r(x, y) ∗ r(y, x) ≤ ω(x, y) for any x, y ∈ x. a (∗, ω)–order is ∗–transitive, ω–reflexive and (∗, ω)–antisymmetric fuzzy relation r on x. let r, q be two (∗, ω)–orders on x. we say that q is an extension of r if r ⊆ q, i. e. r(x, y) ≤ q(x, y) for all x, y ∈ x. the following fuzzy generalization of the szpilrajn theorem was proved in [3]: theorem 3. let ω be a ∗–similarity relation on x . then any (∗, ω)–order on x has a strongly complete extension. 3 some indicators let ∗ be a left–continuous t–norm and ω be a ∗–similarity relation on x. definition 4. for any fuzzy relation r on x let us define: re f (r) = ∧ x∈x r(x, x); trans(r) = ∧ x,y,z∈x [r(x, y) ∗ r(y, z) → r(x, z)]; re fω(r) = ∧ x,y∈x (ω(x, y) → r(x, y)]; antω(r) = ∧ x,y∈x [r(x, y) ∗ r(y, x) → ω(x, y)]; sc(r) = ∧ x,y∈x (r(x, y) ∨ r(y, x)); ordω(r) = re fω(r) ∧ antω(r) ∧ trans(r). lemma 5. for any fuzzy relation r the following equivalences hold: (1) re f (r) = 1 iff r is reflexive; (2) trans(r) = 1 iff r is ∗–reflexive; 338 irina georgescu (3) re fω(r) = 1 iff r is ω–reflexive; (4) antω(r) = 1 iff r is (∗, ω)–antisymmetric; (5) sc(r) = 1 iff r is strongly complete; (6) ordω(r) = 1 iff r is a (∗, ω)–order. re f (r) will be called the degree of reflexivity of r, trans(r) the degree of ∗–transitivity of r, etc. the indicators introduced above refine the properties of reflexivity, transitivity, etc. of fuzzy relations. thus, instead of saying that the fuzzy relation r is reflexive, the real number re f (r) will measure "the degree to which r is reflexive". proposition 6. let r be a fuzzy relation on x and x, y, z ∈ x . then (1) re f (r) ≤ r(x, x); (2) trans(r) ∗ r(x, y) ∗ r(y, z) ≤ r(x, z); (3) re fω(r) ∗ ω(x, y) ≤ r(x, y); (4) antω(r) ∗ r(x, y) ∗ r(y, x) ≤ ω(x, y); (5) ordω(r) ≤ ω(x, y) ↔ (r(x, y) ∗ r(y, x)); (6) ordω(r) ≤ r(x, x). 4 main result in this section we shall prove a generalization of the theorem of szpilrajn formulated in terms of the indicators introduced in the previous paragraph. the result will be valid for any fuzzy relations and in particular one will obtain theorem 3. let ∗ be a left–continuous t–norm and ω a ∗–similarity relation on x. if r and q are two fuzzy relations on x then we denote r 4 q iff r ⊆ q and ordω(r) ≤ ordω(q). it is easy to see that 4 is a partial order on the set of the fuzzy relations defined on x. if q is a fuzzy relation on x then we denote by ext(q) the set of all fuzzy relations r on x with the property that q 4 r. lemma 7. if q is a fuzzy relation on x then the partially ordered set (ext(q), 4) admits a maximal element. proof. we prove that (ext(q), 4) is inductive. we consider a chain (ri)i∈i in ext(q): for any i, j ∈ i we have ri 4 r j or r j 4 ri. of course q 4 ri for any i ∈ i. we will denote r = ⋃ i∈i ri. it suffices to prove that r ∈ ext(q). it is obvious that q ⊆ r therefore we have to prove that ordω(q) ≤ ordω(r). we show first that (a) ordω(q) ≤ re fω(r). let x, y ∈ x and i ∈ i. since q ⊆ ri it follows immediately ordω(q) ≤ re fω(q) ≤ re fω(ri) ≤ ω(x, y) → ri(x, y). by applying lemma 1 (2) and the previous inequality ordω(q) ∗ ω(x, y) ≤ ω(x, y) ∗ (ω(x, y) → ri(x, y)) = = ω(x, y) ∧ ri(x, y) ≤ ri(x, y) ≤ r(x, y) from where according to lemma 1 (1), ordω(q) ≤ ω(x, y) → r(x, y). it follows fuzzy szpilrajn theorem through indicators 339 ordω(q) ≤ ∧ x,y∈x (ω(x, y) → r(x, y)) = re fω(r). we intend to prove that (b) ordω(q) ≤ antω(r) let x, y ∈ x. then ordω(q) ∗ r(x, y) ∗ r(y, x) = ordω(q) ∗ [ ∨ i∈i ri(x, y)] ∗ [ ∨ j∈i r j(y, x)] = = ∨ i, j∈i ordω(q) ∗ ri(x, y) ∗ r j(y, x). let i, j ∈ i. assume that ri 4 r j therefore ri ⊆ r j and ordω(ri) ≤ ordω(r j). then, according to q 4 r j and proposition 6 (4): ordω(q) ∗ ri(x, y) ∗ r j(y, x) ≤ ordω(r j) ∗ r j(x, y) ∗ r j(y, x) ≤ ≤ antω(r j) ∗ r j(x, y) ∗ r j(y, x) ≤ ω(x, y). since this inequality is valid for any i, j ∈ i it follows ordω(q)∗ r(x, y)∗ r(y, x) ≤ ω(x, y), therefore, according to lemma 1 (1), ordω(q) ≤ r(x, y) ∗ r(y, x) → ω(x, y). from here we deduce ordω(q) ≤ ∧ x,y∈x [r(x, y) ∗ r(y, x) → ω(x, y)] = antω(r). we still have to prove (c) ordω(q) ≤ trans(r). let x, y ∈ x. then ordω(q) ∗ r(x, y) ∗ r(y, z) = ∨ i, j∈i ordω(q) ∗ ri(x, y) ∗ r j(y, x) let i, j ∈ i. assume ri 4 r j therefore ri ⊆ r j and ordω(ri) ≤ ordω(r j). according to proposition 6 (2): ordω(q) ∗ ri(x, y) ∗ r j(y, z) ≤ ordω(r j) ∗ r j(x, y) ∗ r j(y, z) ≤ ≤ trans(r j) ∗ r j(x, y) ∗ r j(y, z) ≤ r j(x, z) ≤ r(x, z) from where, ordω(q) ∗ r(x, y) ∗ r(y, z) ≤ r(x, z). by applying lemma 1 (1) it follows that for any x, y, z ∈ x we have ordω(q) ≤ r(x, y) ∗ r(y, z) → r(x, z), from where ordω(q) ≤ ∧ x,y,z∈x [r(x, y) ∗ r(y, z) → r(x, z)] = trans(r). from (a), (b) and (c) one obtains ordω(q) ≤ ordω(r). we have shown that (ext(q), 4) is inductive. according to zorn’s axiom a maximal element exists in ext(q). in the following we will situate ourselves in the case of the gödel t–norm ∧. theorem 8. let q be a fuzzy relation on x . then there exists a fuzzy relation r on x such that q 4 r and ordω(q) ≤ sc(r). proof. according to lemma 7 there exists a fuzzy relation r on x maximal in (ext(q), 4). then q 4 r. it remains to prove that ordω(q) ≤ sc(r). we assume by absurdum that ordω(q) 6≤ sc(r) = ∧ x,y∈x (r(x, y) ∨ r(y, x)). therefore there exist a, b ∈ x such that ordω(q) 6≤ r(a, b) ∨ r(b, a) from where ordω(q) 6≤ r(a, b) and ordω(q) 6≤ r(b, a). assume r(a, b) ≤ r(b, a). according to the lines above, r(b, a) < ordω(q). we define a new fuzzy relation r′ on x by r′(x, y) = r(x, y) ∨ (r(x, b) ∧ r(a, y)) for any x, y ∈ x. we intend to prove that r 4 r′. it is obvious that r ⊆ r′ therefore it remains to prove that ordω(r) ≤ ordω(r′). from r ⊆ r′ it follows immediately (1) ordω(r) ≤ re fω(r′) we establish now the inequality: (2) ordω(r) ≤ antω(r′) let x, y ∈ x. then 340 irina georgescu ordω(r) ∧ r′(x, y) ∧ r′(y, x) = = ordω(r) ∧ [r(x, y) ∨ (r(x, b) ∧ r(a, y))] ∧ [r(y, x) ∨ (r(y, b) ∧ r(a, x))] = = [ordω(r) ∧ r(x, y) ∧ r(y, x)] ∨ [ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, x)]∨ ∨[ordω(r) ∧ r(y, x) ∧ r(x, b) ∧ r(a, y)] ∨ [ordω(r) ∧ r(x, b) ∧ r(a, y) ∧ r(y, b) ∧ r(a, x)] we will establish the following inequalities: (a) ordω(r) ∧ r(x, y) ∧ r(y, x) ≤ ω(x, y); (b) ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, x) ≤ ω(x, y); (c) ordω(r) ∧ r(y, x) ∧ r(x, b) ∧ r(a, y) ≤ ω(x, y); (d) ordω(r) ∧ r(x, b) ∧ r(a, y) ∧ r(y, b) ∧ r(a, x) ≤ ω(x, y). in order to obtain (a) we use proposition 6 (4): ordω(r) ∧ r(x, y) ∧ r(y, x) ≤ antω(r) ∧ r(x, y) ∧ r(y, x) ≤ ω(a, b). we treat now the other three cases. according to proposition 6 (5) we have ordω(r) ≤ ω(a, b) ↔ (r(a, b) ∧ r(b, a)) = ω(a, b) ↔ r(a, b) we consider first the case r(x, y) ≤ r(y, x). then ordω(r) ≤ ω(x, y) ↔ r(x, y) with the same argument as above. (b) results like this: ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, x) ≤ r(x, y) ∧ [ω(x, y) ↔ r(x, y)] ≤ ω(x, y) now we treat cases (c) and (d). first we notice that according to proposition 6 (2): ordω(r) ∧ r(y, x) ∧ r(x, b) ∧ r(a, y) ≤ trans(r) ∧ r(a, y) ∧ r(y, x) ∧ r(x, b) ≤ r(a, b) therefore ordω(r) ∧ r(y, x) ∧ r(a, y) ≤ r(a, b) ∧ [r(a, b) ↔ ω(a, b)] ≤ ω(a, b). analogously we obtain: ordω(r) ∧ r(x, b) ∧ r(a, y) ∧ r(y, b) ∧ r(a, x) ≤ ω(a, b). we consider the possible subcases: (i) ω(a, b) ≤ r(x, y); (ii) ω(a, b) > r(x, y). according to the proof above, in case (i) the inequalities (c) and (d) are immediate. we are situated now in case (ii). one notices that ordω(r) ∧ r(x, b) ∧ ω(a, b) ∧ r(a, y) ≤ ω(a, b) ∧ [ω(a, b) ↔ r(a, b)] ≤ r(a, b) ≤ r(b, a) therefore ordω(r) ∧ r(x, b) ∧ ω(a, b) ∧ r(a, y) ≤ ordω(r) ∧ r(x, b) ∧ r(b, a) ∧ r(a, y) ≤ trans(r) ∧ r(x, b) ∧ r(b, a) ∧ r(a, y) ≤ r(x, y) from ordω(r) ∧ r(x, b) ∧ ω(a, b) ∧ r(a, y) ≤ r(x, y) and ω(a, b) > r(x, y) it follows ordω(r) ∧ r(x, b) ∧ r(a, y) ≤ r(x, y). by using this last inequality we have ordω(r) ∧ r(y, x) ∧ r(x, b) ∧ r(a, y) ≤ ordω(r) ∧ r(x, b) ∧ r(a, y) ≤ r(x, y) from where ordω(r) ∧ r(y, x) ∧ r(x, b) ∧ r(a, y) ≤ r(x, y) ∧ [r(x, y) ↔ ω(x, y)] ≤ ω(x, y) thus (c) was proved and (d) follows analogously. the case r(y, x) ≤ r(x, y) is treated analogously. therefore the inequalities (a)–(d) are true, so ordω(r) ∧ r′(x, y) ∧ r′(y, x) ≤ ω(x, y). cf. lemma 1 (1) for any x, y, z ∈ x we have ordω(r) ≤ (r′(x, y) ∧ r′(y, x)) → ω(x, y) therefore ordω(r) ≤ ∧ x,y∈x [(r′(x, y) ∧ r′(y, x)) → ω(x, y)] = antω(r′) now we establish the inequality (3) ordω(r) ≤ trans(r′). let x, y, z ∈ x. we prove (4) ordω(r) ∧ r′(x, y) ∧ r′(y, z) ≤ r′(x, z). we notice that ordω(r) ∧ r′(x, y) ∧ r′(y, z) = fuzzy szpilrajn theorem through indicators 341 = ordω(r) ∧ [r(x, y) ∨ (r(x, b) ∧ r(a, y))] ∧ [r(y, z) ∨ (r(y, b) ∧ r(a, z))] = = [ordω(r) ∧ r(x, y) ∧ r(y, z)] ∨ [ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, z)]∨ ∨[ordω(r) ∧ r(y, z) ∧ r(x, b) ∧ r(a, y)] ∨ [ordω(r) ∧ r(x, b) ∧ r(a, y) ∧ r(y, b) ∧ r(a, z)]. then to prove (4) is equivalent with establishing the following inequalities: (e) ordω(r) ∧ r(x, y) ∧ r(y, z) ≤ r′(x, z); (f) ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, z) ≤ r′(x, z); (g) ordω(r) ∧ r(y, z) ∧ r(x, b) ∧ r(a, y) ≤ r′(x, z); (h) ordω(r) ∧ r(x, b) ∧ r(a, y) ∧ r(y, b) ∧ r(a, z) ≤ r′(x, z). (e) follows by applying proposition 6 (2): ordω(r) ∧ r(x, y) ∧ r(y, z) ≤ trans(r) ∧ r(x, y) ∧ r(y, z) ≤ r(x, z) ≤ r′(x, z). (f) and (g) follow like this: ordω(r) ∧ r(x, y) ∧ r(y, b) ∧ r(a, z) ≤ (trans(r) ∧ r(x, y) ∧ r(y, b)) ∧ r(a, z) ≤ r(x, b) ∧ r(a, z) ≤ r′(x, z); ordω(r) ∧ r(y, z) ∧ r(x, b) ∧ r(a, y) ≤ (trans(r) ∧ r(a, y) ∧ r(y, z)) ∧ r(x, b) ≤ r(x, b) ∧ r(a, z) ≤ r′(x, z). (h) follows similarly. we established (e)–(h), therefore (4) is true. cf. lemma 1 (1) for any x, y, z ∈ x we have ordω(r) ≤ (r′(x, y) ∧ r(y, z)) → r′(x, z), from where ordω(r) ≤ ∧ x,y,z∈x [(r′(x, y) ∧ r′(y, z)) → r′(x, z)] = trans(r′) from (1), (2) and (3) we deduce ordω(r) ≤ ordω(r′) therefore r 4 r′. we can see that r′(a, b) = r(b, a) ∨ (r(b, b) ∧ r(a, a)) and r(b, a) < ordω(q) ≤ ordω(r) (since q 4 r). then, by applying proposition 6 (6): r(b, a) < ordω(r) ≤ r(b, b) ∧ r(a, a) ≤ r′(a, b). it follows r 6= r′, contradicting the maximality of r. we conclude ordω(q) ≤ sc(r), therefore the theorem is proved. remark 9. by applying lemma 5 we see that theorem 3 is a particular case of theorem 8. bibliography [1] r. bělohlávek, fuzzy relational systems. foundations and principles, kluwer, 2002. [2] u. bodenhofer, similarity–based generalizations of fuzzy orderings preserving the classical axioms, international journal of uncertainty, fuzziness and knowledge based systems, vol. 3, pp. 593–610, 2000. [3] u. bodenhofer, f. klawonn, a formal study of linearity axioms for fuzzy orderings, fuzzy sets and systems, vol. 145, pp. 323–354, 2004. [4] s. gottwald, fuzzy sets and fuzzy logic, vieweg, braunschweig, 1993. [5] p. hájek, methamathematics of fuzzy logic, kluwer, 1998. [6] u. höhle, n. blanchard, partial ordering in l–undeterminate sets, information sciences, vol. 35, pp. 135–144, 1985. [7] e. p. klement, r. mesiar, e. pap, triangular norms , kluwer, 2000. [8] m. richter, revealed preference theory, econometrica, vol. 34, pp. 635–645, 1966. [9] i. j. rudas, j. fodor, information aggregation in intelligent systems using generalized operators, international journal of computers, communications and control, vol. 1, pp. 47–57, 2006. 342 irina georgescu [10] e. szpilrajn, sur l’extension de l’ordre partiel, fundamenta mathematicae, vol. 16, pp. 386–389, 1930. [11] l. a. zadeh, similarity relations and fuzzy orderings, information sciences, vol. 3, pp. 177–200, 1971. irina georgescu academy of economic studies department of economic cybernetics piata romana no 6, r 70167, oficiul postal 22 bucharest, romania e-mail: irina.georgescu@csie.ase.ro irina georgescu received her phd in economics (information systems) from abo akademi university, turku, finland in 2005. since then she is a teaching assistant at the department of economic cybernetics, academy of economic studies, bucharest, romania. between 2007–2008 she was a postdoctoral researcher at abo akademi university, turku, finland. she is the author of about 30 scientific publications and of a monograph issued by springer. her research interests are mainly in the area of soft computing techniques, consumer theory and social choice and welfare economics. international journal of computers, communications & control vol. iii (2008), no. 1, pp. 6-20 robust fuzzy sliding mode controller for discrete nonlinear systems hafedh abid, mohamed chtourou, ahmed toumi abstract: in this work we are interested to discrete robust fuzzy sliding mode control. the discrete siso nonlinear uncertain system is presented by the takgisugeno type fuzzy model state. we recall the principle of the sliding mode control theory then we combine the fuzzy systems with the sliding mode control technique to compute at each sampling time the control law. the control law comports two terms: equivalent control law and switching control law which has a high frequency. the uncertainty is replaced by its upper bound. inverted pendulum and mass spring dumper are used to check performance of the proposed fuzzy robust sliding mode control scheme. keywords: nonlinear systems, sliding mode, t-s fuzzy systems, reaching law. 1 introduction many of the industrial plants include nonlinearities or/and uncertainties. to reach the wanted performances, using the classical theories, nonlinearities must be identified to calculate the appropriate controller. the robust control theories is one of the techniques that permits to reach the desired performances in presence of external or/ and internal disturbances. in addition to the stability, the tracking problem must be solved independently of uncertainties. in the literature, many methods have been developed in continuous as well in discrete-time to solve the tracking problem for nonlinear systems. in the last decade many researches combine classical techniques with intelligent one, such as sliding mode with neuronal systems or sliding mode with fuzzy systems [3][4], to benefit from the advantages of the two control techniques. the sliding mode control (smc) was originally developed for variable structure systems in continuous domain. utkin [12] gives a thorough description of the sliding mode theory in continuous time. also, slotine and li [16] describe in detail continuous sliding mode controllers. at the end of the twentieth century, the research of discrete time smc has been attracted more attention, such as [6],[8],[9],[10], as for the implementation of the controller on a digital computer requires a sampling time and the assumption of an infinite switching time does not hold any more. the fuzzy systems have been combined with classical sliding mode control to provide robust stability to the fuzzy controller. the combination of the two control principles, is called fuzzy sliding mode control (fsmc), it provides an alternative to design a robust controller for nonlinear systems with uncertainties [15],[14]. our contribution in this work consists in presenting a new robust fuzzy sliding mode controller based on the takagi-sugeno fuzzy state model for discrete nonlinear systems. this paper is organised as follow. in section 2, we recall the discrete takagi-sugeno type fuzzy state model for nonlinear systems. then, we describe the sufficient and necessary reaching conditions of sliding mode control for discrete nonlinear systems in the first part of the third section ten, a fuzzy sliding mode controller for discrete time of nonlinear systems is developed in the second part and tracking robust fuzzy sliding mode control law is described in the third part. the simulation results of two nonlinear systems show performances of the proposed fsmc in section 4. conclusions are drawn in the final section. copyright © 2006-2008 by ccc publications robust fuzzy sliding mode controller for discrete nonlinear systems 7 2 problem statement and fuzzy systems 2.1 problem statement consider a class of discrete nonlinear siso systems described by the following equations:    x1 (k + 1) = x2(k) xi (k + 1) = xi+1(k) xn (k + 1) = f (x (k)) + g (x (k)) u(k) y (k) = cx (k) (1) where, c=[1, 0, ..., 0], x (k) = [ x1(k) . . . xn (k) ]t ∈ rn it is the state vector that is assumed to be observable. we note that f (x (k)) and g(x (k)) represent two discrete bounded nonlinear functions of the nonlinear siso systems . they can be obtained from the continuous form by the first order discretized system using eulers approximation. in order for (1) to be controllable, it is required that g(x (k)) 6=0. if both functions f (x (k)) and g(x (k)) in (1) are available for feedback, the feedback linearization control can be used to design a well-defined controller, which is usually given in the form: u (k) = 1 g (x (k)) ( −kt e (k)− f (x (k)) + xnd (k + 1) ) (2) where, the state vector x (k)and the desired state vector xd (k) are defined as: x (k) = [ x1(k) . . . xn (k) ]t ∈ rn ; xd (k) = [ x1d (k) . . . xnd (k) ]t ∈ rn e (k) represents the state tracking error, it is defined as: e (k) = x (k)− xd (k), the vector k (k) =[ kn kn−1 . . k1 ]t ∈ rn will be chosen such that all roots of the following polynomial h (s) = sn +k1sn−1 +...+ kn are situated inside the unit complex disc. in general case, the functions f (x (k)) and g(x (k)) are badly known nonlinear functions so, the control law (2) cannot be implanted. to overcome this difficulty, many approaches are used such as adaptive control, linearization around operating points, fuzzy control. . . etc. 2.2 discrete takagi-sugeno type fuzzy systems the advantage of the t-s type fuzzy models is that their description permits the utilization of the state representation, and by consequence to exploit the maximum of the potential relative to this representation. the takagi-sugeno (t-s) type fuzzy model can be viewed as a natural expansion of piecewise linear partition for nonlinear systems. the nonlinear system is represented as a collection of the fuzzy if-then rules, where each rule describes the local dynamics by a linear system model. the general fuzzy model is achieved by fuzzy amalgamation of the linear systems models [1][2]. the ith rule of the discrete fuzzy model has the following form: ith plant rule : if z1is µi1and...and zn is µin t hen x (k + 1) = (adi + ∆adi) x (k) + (bdi + ∆bdi) u (k) (3) where { µi j } are the fuzzy sets, adi ∈ rnxn and bdi ∈ rnxm are recpectively the ith state matrix and the input matrix, c is the number of the if-then fuzzy rules; u(k) is the input vector, z (k) =[ z1(k) . . . zn (k) ] are the premise variables they represent some measurable system variables, they can be chosen as a state variables. for each rule ri is attributed a weight wi(z(k)) which depends on the grade of the membership function of the premise variables z j(k) in fuzzy sets µi j : 8 hafedh abid, mohamed chtourou, ahmed toumi wi (z (k)) = n ∏ j=1 µi j (z j (k)) ; wi (z (k)) â 0 ;for i = 1, ..., c; c ∑ i=1 wi (z (k)) â 0. where, µi j (z j (k)) is the grade of the membership function of z j (k) to the fuzzy set µi j. the discrete takagi-sugeno type fuzzy model is inferred as follows: x (k + 1) = c ∑ i=1 wi (z (k)) ((adi + ∆adi) x (k) + (bdi + ∆bdi) u (k)) c ∑ i=1 wi (z (k)) (4) the normalized weight is defined as which is presented as follow: hi(z (k)) = wi(z(k)) c ∑ i=1 wi(z(k)) ; 0 ≺ hi(z (k)) ≺ 1; i = 1, ..., c; c ∑ i=1 hi (z (k)) = 1. the output of the discrete takagi-sugeno type fuzzy model for the uncertain nonlinear systems can be inferred as:    x (k + 1) = c ∑ i=1 hi (z (k)) ((adi + ∆adi) x (k) + (bdi + ∆bdi) u (k)) y (k) = c ∑ i=1 hi (z (k))cix (k) (5) where ci = [1, 0, 0, . . . , 0]. it is required that all bdi(k) are different from zero to assure the controllability of (5). 3 sliding mode control law and reaching conditions sliding mode control, first appeared in the soviet literature, it has been widely recognized as a potential approach to uncertain dynamical non-linear systems that are subject to external disturbances and parameter variations [12]. in sliding mode control (smc), the control action forces the system trajectories to cross a manifold of the state space which is called the sliding surface designated by the designers [12]. the system trajectories are then constrained to the sliding surface for all subsequent time via the use of high speed switching controls. the most significant advantage of the sliding mode is robustness against changes in system parameters or disturbances. the major disadvantage associated to the sliding mode control is the chattering phenomena, because it can excite undesirable high frequency dynamics. the sliding mode control comports three modes, namely, the reaching mode (rm), sliding mode (sm), and steady-state mode (ss). let us describe the discrete sliding mode control however, only a few researches are interested by discrete-time systems. a discrete version of smc has a big importance when the implementation of the control is realized by numerical components which need a sampling period to compute the appropriate controller. it must be pointed out that the discrete version of smc cannot be obtained from their continuous counterpart by means of simple equivalence. among the first which are interested by smc problem and used an equivalent form of the continuous reaching condition to give a discrete reaching condition are dote and hoft [5]. [s (k + 1)−s (k)] s (k) ≺ 0 (6) milosavljevic [6] recommended the concept of the quasi-sliding mode and signalled hat condition (6) is not sufficient for a discrete sliding mode control. robust fuzzy sliding mode controller for discrete nonlinear systems 9 sarpturk, et al. [7], used the following reaching condition. |s (k + 1)| ≺ |s (k)| (7) furuta [8] used the equivalent form of a lyapunov-type of continuous reaching condition to give the discrete version. v (k + 1)−v (k) ≺ 0 with v (k) = 1 2 (s (k))2 (8) weibing gao et al. [9] pointed out that all these forms of reaching conditions are incomplete for a satisfactory characterization of a discrete-time sliding mode. he suggests that the state trajectory of a discrete sliding mode control system must have some attributes which form the basis of the discrete sliding mode control, for more information see [9]: 3.1 discrete fuzzy sliding mode control law for a discrete smc the following reaching law has been chosen: s (k + 1) = s (k)−qt s (k)−ε t sgn (s (k)) , with1−qt â 0, ε â 0, q â 0. (9) the sliding surface is defined as: s (k) = gt x (k) where gt is a constant row vector gt = [g1, ..., gn−1, 1] such that all the roots of the following polynomial are situated in the left-half open complex plane: h (s) = sn−1 + gn−1sn−2 + ... + g1 the sliding mode control comports two terms which are:equivalent control term and switching control term[3][5][7][12]. ug = ue + us (10) the equivalent control law in the first part we assume that : ∆adi = 0nxn and ∆bdi = [0, ..., 0]t . the switching function is defined as: s (k) = gt x (k) the ideal quasi sliding mode satisfies: s (k + 1) = s (k) = 0 we deduct : 0 = gt c ∑ i=1 hi (z (k)) (adi (k + 1) x (k) + bdi ue (k)) ; k = 0, 1, ... (11) the equivalent control term is given by: ue (k) = − ( c ∑ i=1 hi (z (k)) g t bdi )−1 [ gt c ∑ i=1 hi (z (k))adi (k + 1) x (k) ] (12) we assume that condition is hold: ( c ∑ i=1 hi (z (k)) gt bdi ) 6= 0 the switching control law from the reaching law we can write:s (k + 1)−s (k) = −qt s (k)−ε t sgn (s (k)) s (k + 1)−s (k) = gt c ∑ i=1 hi (z (k)) (adi (k + 1) x (k) + bdi u (k))−gt x (k) (13) 10 hafedh abid, mohamed chtourou, ahmed toumi if we compare the two latest equations we deduct the global control law: ug (k) = −z−1 [ c ∑ i=1 hi (z (k)) ( gt adi (k + 1) ) x (k)−(1−qt ) s(k) + ε t sgn (s (k)) ] (14) where z = ( c ∑ i=1 hi (z (k)) gt bdi ) from equations and we obtain the switching control term: us (k) = − ( c ∑ i=1 hi (z (k)) g t bdi )−1 [−(1−qt ) s (k) + ε t sgn (s (k))] (15) 3.2 robust fuzzy sliding mode control law consider the discrete system in the perturbed condition. it will be described by the t-s type fuzzy model . where ∆adi represents system parameters variation and ∆bdi is the external disturbance for each sub-model. we assume the matching conditions are satisfied: ∆adi = bdi ^ adi and ∆bdi = bdi ^ bdi where, ^ adi is a row vector and ^ bdi is a scalar . they should be written as: ^ adi = [ −∆ai1 −∆ai2 . . . −∆ain ] ^ bdi = −∆bi. then the equation (5) becomes: x (k + 1) = c ∑ i=1 hi (z (k)) ( adix (k) + bdiu (k) + ^ adix (k) + ^ bdi ) (16) however, the global control law will be expressed as: ug (k) = −z−1 [ c ∑ i=1 hi (z (k)) ( gt adi (k + 1) ) x (k) + γ−(1−qt ) s (k) + ε t sgn (s (k)) ] (17) where γ = gt bdi ( ^ adix (k) + ^ bdi ) in general case and are unknown, but their upper bound are known, so the last global control law can not be implemented. however, to over com this difficulty we replace respectively the unknown terms and by the following expressions: ai = (√( eig ( ^ atdiup ^ adiup )))t ; bi = ∆bi max. ^ adiup = [ −∆ai1 max −∆ai2 max . . . −∆ain max ] ^ bdiup = −∆bi max we define a new set of perturbations and control parameters as follow:. sig = gt bdiaix (k); fig = gt bdibi; the choice of sig and fig is done to ensure that the sign of the incremental s(k) is opposite to the sign of s(k). the global control law will be expressed as: ug (k) = −z−1 [ c ∑ i=1 hi (z (k)) ( gt adi ) x (k) + qi −(1−qt ) s (k) + ε t sgn (s (k)) ] (18) where qi = (sig + fig)−(sig + fig) sgn (s(k)) robust fuzzy sliding mode controller for discrete nonlinear systems 11 3.3 tracking robust fuzzy sliding mode control law the tracking problem will be transformed into the stability problem. indeed,s (k) = 0 represents an equation whose unique stationary solution is . the tracking problem of the desired vectorxd comes back to locate inside the quasi-sliding band width the sliding surface for all sampling time. the sliding surface will be expressed as: s (k) = gt x̃ (k) where, x̃ (k) = x (k)−xd (k) the control law will be expressed as: ug (k) = −z−1 [ c ∑ i=1 hi (z (k)) ( gt adi ) x̃ (k) + qi −(1−qt ) s (k) + ε t sgn (s (k)) ] (19) 4 illustration to illustrate the performance of the presented approach, we choose inverted pendulum and mass spring damper which are widely used in the control literature of nonlinear system. 4.1 inverted pendulum the equations of system in continuous form are given by (20) [18]: where, x1 is the angle in radian of the pendulum from the vertical axis; x2 is the angular velocity in rad/s; g is the gravity acceleration; m and 2l are respectively the mass and the length of the pendulum; m is the mass of the cart and u is the force applied to the cart. the nominal values of the parameters are: g= 9.81m/s2, m = 2 kg, m = 8 kg, 2l =1m.    . x1(t) = x2(t) . x2(t) = f (x1, x2) + g(x1, x2)u + d(t) f (x1, x2) = mlx22 sin x1 cos x1−(m+m)g sin x1 ml cos2 x1− 4l3 (m+m) ; g(x1, x2) = cos x1 ml cos2 x1− 4l3 (m+m) (20) the membership functions for xi ∈ ]−π/2, π/2[are: µ1i(xi) = 1− ∣∣∣ xi(k)π/2 ∣∣∣ and µ2i(xi) = ∣∣∣ xi(k)π/2 ∣∣∣ , the state matrices and input vectors for sub-systems are: ad1 = [ 1 0.01 0.1729 1 ] ; ad2 = [ 1 0.01 0.0936 1 ] , bd1 = [ 0 0.0018 ] , bd2 = [ 0 0.000052 ] ∆ad1u p = [ 0 0 0.05229 0 ] , ; ∆ad2up = [ 0 0 0.028 0 ] , ∆bd1up = 0.0005; ∆bd2up = 0.00002; we have been chosen: q = 70; t = 0.01; ε = 0.1; gt = [10 1]; the figure 1 presents the simulation results of the behavior of variable state x1(k)and s(k) of inverted pendulum for nominal system. the initial conditions are given by:x (0) = [π/3; 0]. we present by the figures2, 3, 4, 5, 6 and 7 the simulation results of the behavior of the state variables x1(k), x2(k), the position and velocity error e1(k) and e2(k), the sliding surface and the control law respectively of the inverted pendulum with parameters vary of an uncertain way in time.the initial conditions are given by: x (0) = [−π/60; 0] ; gt =[15 1], q=80, ε =1.5; the function sign is replaced by the well known sat function which is defined as: { if s ≺ 1φ ; sat = s if s º 1φ ; sat = sgn(s) 12 hafedh abid, mohamed chtourou, ahmed toumi 0 50 100 150 200 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 evolution of x1(k) and s(k) (k) x1(k) s(k) figure 1: stabilization of x1(k) and the sliding surface s(k) 4.2 mass spring damper the mass-spring-damper system is described in continuous time by the following equation [17]: m1ẍ1(t) + c1x1 (t) + c2 · x1 (t) + c3x1 (t) + c4x21 (t) = ( 1 + c5 ( · x1 )3 (t) ) u (t) thet-s fuzzy model is discribe by the following rules: rule 1: ifx1 is m11 and x2 is m12 then x (k + 1) = ad1x (k) + bdi1u (k) rule 2: if x1 is m21 andx2 is m22 then x (k + 1) = ad2x (k) + bdi2u (k) rule 3: if x1 is m31 and x2 is m32 then x (k + 1) = ad3x (k) + bdi3u (k) rule 4: if x1 is m41 and x2 is m42 then x (k + 1) = ad4x (k) + bdi4u (k) for nominal values of m1, c2, c3 and c4, matrices ai and bi are given by: ad1 = ad2 = [ 1 0.01 −0.0001 0.99 ] ; ad3 = ad4 = [ 1 0.01 −0.0023 0.99 ] ; bd1 = bd3 = [ 0 0.0143 ] , bd2 = bd4 = [ 0 0.0056 ] ; ∆ad1up = ∆ad2up = [ 0 0 0 0.003 ] , ∆ad3up = ∆ad4up = [ 0 0 0.0007 0.003 ] , ∆bd1up = ∆bd3up = 0.043; ∆bd2up = ∆bd4up = 0.0017; the initial condition and parameters are chosen as:x (0) = [−π/60; 0] ; gt =[15 1], t=0.01; q=70, ε =0.15. we present by the figures 8and 9 the simulation results of the behavior of the state variables x1(k), x2(k), of the mass spring damper with parameters vary of an uncertain way in time. we present by the figures 10, 11, 12 and 13 the simulation results of the behavior of the position and velocity error e1(k) and e2(k), the sliding surface and the control law respectively of the mass spring damper with parameters vary of an uncertain way in time. robust fuzzy sliding mode controller for discrete nonlinear systems 13 0 1000 2000 3000 4000 5000 6000 7000 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 evolution of x1 and x1d k x1(k) x1d(k) figure 2: evolution of x1 and x1d 0 1000 2000 3000 4000 5000 6000 7000 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 evolution of x2 and x2d k x2(k) x2d(k) figure 3: evolution of x2 and x2d 14 hafedh abid, mohamed chtourou, ahmed toumi 0 1000 2000 3000 4000 5000 6000 7000 −0.01 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 evolution of the position error k figure 4: evolution of the position error 0 1000 2000 3000 4000 5000 6000 7000 −0.2 −0.15 −0.1 −0.05 0 0.05 evolution of the speed error k figure 5: evolution of the speed error robust fuzzy sliding mode controller for discrete nonlinear systems 15 0 1000 2000 3000 4000 5000 6000 7000 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 evolution of the sliding surface k figure 6: evolution of the sliding surface 0 1000 2000 3000 4000 5000 6000 7000 −50 −40 −30 −20 −10 0 10 20 30 40 50 evolution of the control law u k figure 7: evolution of the control law 16 hafedh abid, mohamed chtourou, ahmed toumi 0 200 400 600 800 1000 1200 1400 1600 1800 2000 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 evolution of x1 and x1d k x1(k) x1d(k) figure 8: evolution of x1 and x1d. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 −0.5 0 0.5 1 1.5 evolution of x2 and x2d k x2(k) x2d(k) figure 9: evolution of x2 and de x2d. robust fuzzy sliding mode controller for discrete nonlinear systems 17 0 20 40 60 80 100 120 140 160 180 200 −0.25 −0.2 −0.15 −0.1 −0.05 0 0.05 evolution of the position error k figure 10: evolution of the position error 0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 0.5 1 1.5 2 2.5 evolution of the speed error k figure 11: evolution of the speed error 18 hafedh abid, mohamed chtourou, ahmed toumi 0 200 400 600 800 1000 1200 1400 1600 1800 2000 −2 −1.8 −1.6 −1.4 −1.2 −1 −0.8 −0.6 −0.4 −0.2 0 evolution of the sliding surface k figure 12: evolution the sliding surface 0 200 400 600 800 1000 1200 1400 1600 1800 2000 −20 0 20 40 60 80 100 evolution of the control law u k figure 13: evolution of the control law robust fuzzy sliding mode controller for discrete nonlinear systems 19 5 conclusions in this paper we present a robust fuzzy sliding mode controller for discrete nonlinear systems. first, we recall the discrete takagi-sugeno type fuzzy model, then the principe of the sliding mode control in discrete time. the uncertainty are assumed to be verifie the matching conditions. we develop a robust controller based on the sliding mode and the dynamic t-s fuzzy state model. the uncertainties are replaced bye the bigger eigen-value of the upper bound matrices of uncertainties. the expressions in discrete time of both equivalent control term and hitting term are developed. the tracking control law is developed. simulation results for inverted pendulum and mass spring damper with parameters variation show the performance of the proposed control law. bibliography [1] michio sugeno "on stability of fuzzy systems expressed by rules with singleton consequents, (ieee transaction on fuzzy systems,vol 7 n 2 feb 1999). [2] t.takagi and m.sugeno, fuzzy identification of systems and its applications to modeling and control ieee trans syst. man,cybern. vol15. 116-132 jan/feb1985. [3] w.chang, j.bae park, y.hoan joob and g.chen design of robust fuzzy model-based controller with sliding mode control for siso non-linear systems fuzzy sets and systems 125 (2002) pp 1-22. [4] hafedh abid mohamed chtourou et ahmed toumi, a sliding mode based robust fuzzy controller for a class of uncertain systems ssd05, mrach 2005 sousse tunisia. [5] y. dote and r.g..hoft, microprocessor based sliding mode controller for dc motor drives presented at the industrial application. soc. annu. meeting, cincinnati, oh, 1980. [6] d. milosavljevic, general conditions for the existence of a quasi-sliding mode on the switching hyperplane in discrete variable systems automat. remote contr., vol. 46, pp(307-314) 1985. [7] s. z. sarpturk, y istefanopulos, and o. kaynak, on the stability of discrete-time sliding mode control systems ieee trans. automat. contr., vol. 32, n 10, pp(930-932) 1987.. [8] k. furuta, sliding mode control of a discrete system" , systems and control letter, volume 14, pp145-152. [9] weibing gao, yufu wang and abdollah homaifa, discrete-time variable structure control systems ieee transactions on industrial, electronics, volume 42, n 2, april 1995, pp(117-122). [10] weibing gao., and hung, j.c., variable structure control of nonlinear systems: a new approach ieee transactions on industrial electronics, 40, 45, 1993 [11] h. lee, e. kim, h.j. kang et m. park, a new sliding-mode control with fuzzy boundary layer fuzzy sets and systems 120 (2001), pp. 135-143 [12] utkin, v. i, sliding modes and their application in variable structure systems (moscow: nauka) 1974 (in russian, and also, 1978, mir, in english). [13] utkin, v. i, variable structure systems with sliding mode” ieee transactions on automatic control, vol. ac-22, no. 2, pp 212-222, april., (1977). [14] yu, x. h., man, z. h. and wu, b. l design of fuzzy sliding-mode control systems, fuzzy sets and systems, 95, pp.295-306. ., (1998) 20 hafedh abid, mohamed chtourou, ahmed toumi [15] ting, c. s., li, t. h. s, and kung, f. c., an approach to systematic design of the fuzzy control system fuzzy sets and systems, 77, pp. 151-166. (1996). [16] slotine, j. j. e. and li. w., applied nonlinear control , prentice hall, englewood cliffs, nj.(1991), [17] kazuo tanaka, takayuki ikeda and hua o.wang, robust stabilization of a class of uncertain nonlinear systems via fuzzy control: quadratic stability, h∞ control theory, and linear matrix inequalities ieee trans on fuzzy system, vol 4 n 1 feb 1996. [18] mehrdad hojati and saeed gazor hybrid adaptive fuzzy identification and control nonlinear systemsieee transactions on fuzzy systems vol 10, n 2. april 2002 pp 198-210. hafedh abid1,3, mohamed chtourou2, ahmed toumi3 1institut supérieure des études technologiques de sfax laboratoire d’automatique, génie informatique et signal cité scientifique, bp 48, 59651 villeneuve d’ascq, france 2unité de commande intelligente, design et optimisation des systèmes complexes(icos) enis, b.p. w, 3038 sfax, tunisie 3unité de procédés industriels unité de commande automatique (ucpi) enis,b.p. w, 3038 sfax, tunisie e-mail: hafedh.abid@isetso.rnu.tn mohamed.chtourou@enis.rnu.tn ahmed.toumi@sta-tn.com received: june 13, 2007 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 172-182 analytical model for a multiprocessor with private caches and shared memory angel vassilev nikolov abstract: we develop an analytical model of multiprocessor with private caches and shared memory and obtain the following results: the instantaneous state probabilities and the steady-state probabilities of the system. both transient behaviour and equilibrium can be studied and analyzed. we showed that results can be applied to determine the output parameters for both blocking and non-blocking caches. keywords: invalidate cache-coherence protocol, queuing system, discrete transform 1 introduction shared memory multiprocessors are widely used as platforms for technical and commercial computing [2]. performance evaluation is a key technology for design in computer architecture. the continuous growth in complexity of systems is making this task increasingly complex [7]. in general, the problem of developing effective performance evaluation techniques can be stated as finding the best trade-off between accuracy and speed. the most common approach to estimate the performance of a superscalar multiprocessor is through building a software model and simulating the execution of a set of benchmarks. since processors are synchronous machines, however, simulators usually work at cycle-level and this leads to enormous slowdown [9]. it might take hours even days to simulate. for memory structures relatively accurate analytical models were developed [3, 7, 9, 10] through extensive use of various queuing systems. open queue system with poisson arrivals and exponential service times is considered quite good for description of memory hierarchies [7]. our focus is on the impact of the cache-coherence protocols on the overall system performance. the most commonly used technique for this purpose is the mean value analysis (mva) [3, 5, 7, 8, 9]. it allows the total number of the customers to be fixed (closed queue system), and this seems to be more adequate representation of the processes of self-blocking requestors [5]. calculations of output parameters such as residency times, waiting times and utilization are shown in [3, 8, 9]. mva is based on the forced flow that means in equilibrium output rate equals input rate. however, instantaneously, we can have input rate different from output rate, so that the instantaneous probabilities could be different from equilibrium [7]. mva offers no possibility to study transient effects. moreover, the assumption of exponential service times is not realistic, in fact all bus access times and memory access times are constants. it will be seen later in this paper that state probabilities depend on the server’s time density function. we use the technique of markov processes to describe the behaviour of the multiprocessor implementing cache-coherence protocols. 2 definition and analysis of the model a multiprocessor consists of several processors connected together to a shared main memory by a common complete transaction bus. each processor has a private cache. when a processor issues a request to its cache, the cache controller examines the state of the cache and takes suitable action, which may include generating bus transaction to access main memory. coherence is maintained by having all cache controllers "snoop" on the bus and monitor the transaction. snoopy cache-coherence protocols fall in two major categories: invalidate and update [2, 3, 10]. invalidating protocols are studied here but the concepts can be applied with some modifications to updating protocols too. transactions may copyright © 2006-2008 by ccc publications analytical model for a multiprocessor with private caches and shared memory 173 or may not include the memory block and the shared bus. typical transaction that does not include memory block is invalidate cache copy which occurs when a processor requests writing in the cache. all other processors simply change the status bit(s) of their on copies to invalid. if the memory block is uncached or not clean it can be uploaded from the main memory, but in today’s multiprocessors it is rather uploaded from another cache designated as owner (o) (cache-to cache transfer). memory-tocache transfer occurs when the only clean copy is in the main memory. a cache block is written back (wb) in the main memory (bus is used) when a dirty copy is evicted [6]. the bus and the main memory are also used when synchronization procedures are executed [2]. apparently the bus can be considered as the bottleneck of the system. in terms of the queuing theory processors can be viewed as customers (clients) and the bus can be viewed as a server. inter-arrival times are exponentially distributed with parameter λ . this assumption is adequate for most applications [7]. requests are served on first come first served (fcfs) basis. immediately after issuing a request for cache-to-cache transfer or synchronization procedure the customer blocks itself. the service time for blocking request has a density function f1(x). when service is completed the processor (customer) resumes processing with probability p or resumes processing and generates a new request with probability q (p+q=1). details on how to obtain the input parameters are given in [2, 3, 8, 9]. this new request has a different density function f2(x) and corresponds to wb transaction. it does not block the customer but the server is held until completion of wb transaction therefore adding to the queue. the system can be in one of the following states: 1) n: all n customers are doing internal processing; 2) j, 1: j customers are doing internal processing (n-j are blocked respectively) and all requests are of type 1(0≤j≤n-1), 3) j ,2: j customers are doing internal processing , the server is serving request of type 2, and n-j customers are waiting in the queue for service of type 1 (0≤j≤n). the transitions between these states are illustrated in fig. 1. throughout this paper we use the following notations pn (t) probability[all n customers are doing internal processing at time t] p j,i(t,x) probability[j customers are doing internal processing, n-j are in the queue and/or in the server, and the server is busy doing service of type i at time t and the elapsed service time lies between x and x+dx ] p j,i(x) probability[in the equilibrium state j customers are doing internal processing, n-j are in the queue and/or in the server, the server is busy doing service of type i and the elapsed service time lies between x and x+dx ] p j,i(t) probability[j customers are doing internal processing, n-j are in the queue or in the server, the server is busy doing service of type i at time t] pn , p j,i steady-state probabilities. pn = limt→∞ pn (t), pj,i = ∫ ∞ 0 pj,i(x)dx βi = jλ fi(x) cumulative distribution function (c.d.f.) of the service time of type i ; i=1,2 fi(x) probability density function (p.d.f.) of the service time of type i ; i=1,2 δ m,n kronecker delta 1 µi = ∫ ∞ 0 xfi(x)dx i=1,2 hi(x) = fi(x) 1−fi(x) service rate for type i; i=1,2 fi(s), fi(s+βn), fi(βn) laplace transforms (lt) of fi(x) t.u. time unit viewing the nature of the system, we obtain the following set of integro-differential equations [ d dt + βn ] pn = p ∫ t 0 pn−1(t, x)h1(x)dx + ∫ t 0 pn,2(t, x)h2(x)dx (1) 174 angel vassilev nikolov figure 1: state-transition diagram of the model. 1 ≤ j ≤ n [ d dt + ∂ ∂ t + βn−1 + h1(x) ] pn−1,1(t, x) = 0 (2) [ d dt + ∂ ∂ t + βn + h2(x) ] pn,2(t, x) = 0 (3) [ d dt + ∂ ∂ t + β j + hi(x) ] pj,i(t, x) = β j+1pj+1,i(t, x) (4) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ d dt + ∂ ∂ t + hi(x) ] p0,i(t, x) = β1p1,i(t, x) (5) for i=1,2 having the following boundary and initial conditions pj,1(t, 0) = (1−δ j,0)p ∫ ∞ 0 pj−1,1(t, x)h1(x)dx + ∫ ∞ 0 pj,2(t, x)h2(x)dx + δ j,n−1βn pn (t) (6) for 0 ≤ j ≤ n −1 pj,2(t, 0) = q ∫ ∞ 0 pj−1,1(t, x)h1(x)dx (7) for 1 ≤ j ≤ n pn (0) = 1, p0,2(t, 0) = 0, pj,i(0, 0) = 0 (8) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n by using laplace transform and discrete transform [4, 8] the above equations are transformed as follows (s + βn) pn = 1 + p ∫ ∞ 0 pn−1(s, x)h1(x)dx + ∫ ∞ 0 pn,2(s, x)h2(x)dx (9) analytical model for a multiprocessor with private caches and shared memory 175 [ s + d dx + β j + hi(x) ] u j,i(s, x) = 0 (10) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ s + d dx + +hi(x) ] p0,i(s, x) = β1p1,i(s, x) (11) for i=1,2 where u j,1(s, x) = ∑n−1n= j ( n j ) pn,1(s, x), pj,1(s, x) = ∑n−1n= j (−1)n− j ( n j ) un,1(s, x) for 1 ≤ j ≤ n − 1, and u j,2(s, x) = ∑nn= j ( n j ) pn,2(s, x), pj,2(s, x) = ∑nn= j(−1)n− j ( n j ) un,2(s, x) for 1 ≤ j ≤ n. let v j,i(s, x) = u j,i(s,x) 1−fi(x) and p ′ 0,1(s, x) = p0,1(s,x) 1−fi(x) . then from (10 and 11) we have after some transformations [ s + d dx + βi ] v j,i(s, x) = 0 for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n and [ s + d dx ] p ′ 0,i(s, x) = β1p1,i(s, x) for i = 1, 2. hence the solutions of (9-11) are u j,i(s, x) = [1−fi(x)]u j,i(s, 0)e−(s+βi)x (12) pn (s) = 1 + p f1(s + βn−1)un−1,1(s, 0) + f2(s + βn )un,2(s, 0) s + βn (13) p0,1(s, x) = [1−f1(x)]β1e−sx [ p0,1(s, 0) + n−1 ∑ n=1 (−1)n−1n 1−e −βnx βn un,1(s, 0) ] (14) p0,2(s, x) = [1−f2(x)]β1e−sx [ n ∑ n=1 (−1)n−1n 1−e −βnx βn un,2(s, 0) ] . (15) by integrating (12, 14, and 15) we obtain the lt of the instantaneous probabilities pj,1(s) = n−1 ∑ n= j (−1)n− j ( n j ) [ 1− f1(s + βn) s + βn ] un,1(s, 0) (16) for 1 ≤ j ≤ n −1 pj,2(s) = n ∑ n= j (−1)n− j ( n j ) [ 1− f2(s + βn) s + βn ] un,2(s, 0) (17) for 1 ≤ j ≤ n p0,1(s) = p0,1(s, 0) [ 1− f1(s) s ] + β1 n−1 ∑ n=1 (−1)n−1n [ 1− f1(s) s − 1− f1(s + βn) s + βn ] un,1(s, 0) βn (18) 176 angel vassilev nikolov p0,2(s) = β1 n ∑ n=1 (−1)n−1n [ 1− f2(s) s − 1− f2(s + βn) s + βn ] un,2(s, 0) βn . (19) taking lt of (6-7) and using (8 and 12-15) we get after some transformations the following system of linear equations n−1 ∑ n= j (−1)n− j ( n j ) un,1(s, 0) = p n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f1(s + βn)un,1(s, 0) (20) + n ∑ n= j (−1)n− j ( n j ) f2(s + βn)un,2(s, 0) + δ j,n−1βn pn for 2 ≤ j ≤ n −1 n ∑ n= j (−1)n− j ( n j ) un,2(s, 0) = q n−1 ∑ n= j−1 (−1)n− j+1 ( n j −1 ) f1(s + βn)un,1(s, 0) (21) for 2 ≤ j ≤ n n−1 ∑ n=1 (−1)n−1 ( n j ) un,1(s, 0) = pp0,1(s, 0) f1(s) + pβ1 [ n−1 ∑ n=1 (−1)n−1n f1(s)− f1(s + βn) βn un,1(s, 0) ] (22) n ∑ n=1 (−1)n−1 ( n j ) un,2(s, 0) = qp0,1(s, 0) f1(s) + qβ1 [ n−1 ∑ n=1 (−1)n−1n f1(s)− f1(s + βn) βn un,1(s, 0) ] (23) coefficients u j,i(s,0) can now be determined from the above equations. we can apply the final-value theorem to (16-19) to obtain the steady-state probabilities but it will require use of the l’hopital rule and seems difficult and impractical [11]. instead we set the following differential equations βnpn = p ∫ ∞ 0 pn−1(x)h1(x)dx + ∫ ∞ 0 pn,2(x)h2(x)dx (24) [ d dx + βn−1 + h1(x) ] pn−1,1(x) = 0 (25) [ d dx + βn + h2(x) ] pn,2(x) = 0 (26) [ d dx + β j + hi(x) ] pj,i(x) = β j+1pj+1,i(x) (27) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ d dx + hi(x) ] p0,i(x) = β1p1,i(x) (28) for i=1,2. equations (24-28) are to be solved under the following boundary conditions and normalizing condition pj,1(0) = (1−δ j,0)p ∫ ∞ 0 pj−1,1(x)h1(x)dx + ∫ ∞ 0 pj,2(x)h2(x)dx + δ j,n−1βn pn (29) analytical model for a multiprocessor with private caches and shared memory 177 for 0 ≤ j ≤ n −1 pj,2(0) = q ∫ ∞ 0 pj−1,1(x)h1(x)dx (30) for 1 ≤ j ≤ n −1 p0,2(0) = 0 (31) pn + n−1 ∑ j=0 pj,1 + n ∑ j=0 pj,2 = 1. (32) the solutions of (2.29-2.32) are pn = 1 + p f1(βn−1)un−1,1(0) + f2(βn )un,2(0) βn (33) pj,1 = n−1 ∑ n= j (−1)n− j ( n j ) [ 1− f1(βn) βn ] un,1(0) (34) for 1 ≤ j ≤ n −1 pj,2 = n ∑ n= j (−1)n− j ( n j ) [ 1− f2(βn) βn ] un,2(0) (35) for 1 ≤ j ≤ n −1 p0,1 = p0,1(0) µ1 + n−1 ∑ n= j (−1)n− jn [ 1 µ1 − 1− f1(βn) βn ] un,1(0) (36) p0,2 = n ∑ n= j (−1)n− jn [ 1 µ2 − 1− f2(βn) βn ] un,2(0) (37) for u j,i(0) and p0,1(0) we have n−1 ∑ n= j (−1)n− j ( n j ) un,1(0) = p n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f1(βn)un,1(0) + δ j,n−1βn pn (38) for 2 ≤ j ≤ n −1 n−1 ∑ n= j (−1)n− j ( n j ) un,2(0) = q n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f2(βn)un,2(0) (39) for 2 ≤ j ≤ n −1 p0,1(0) = β1 n ∑ n=1 (−1)n−1n [ 1− f2(βn βn ] un,2(0) (40) n−1 ∑ n=1 (−1)n−1nun,1(0) = pp0,1(0) + pβ1 n ∑ n=1 (−1)n−1n [ 1− f1(βn βn ] un,1(0) + n ∑ n=1 n f2βnun,2(0) (41) n ∑ n=1 (−1)n−1nun,2(0) = qp0,1(0) + qβ1 n ∑ n=1 (−1)n−1n [ 1− f1(βn βn ] un,1(0) (42) the coefficients u j,i(0) can be determined from (32) and (38-42). 178 angel vassilev nikolov 3 examples in order to obtain the transient state probabilities first we have to determine pn (s) and pj,i(s) from (1619) and (20-24) and then to apply the inverse laplace transform to them. we used the packages of maple 8 on a standard pc platform under windows xp for these computations [12]. results were produced and printed in less than a second. for n=4 the instantaneous probabilities are listed in appendix a. various performance characteristics can be computed using the steady-state probabilities. for example, the average number of blocked customers (anbc) in the case of blocking caches will be given by anbc = 2 ∑ i=1 n ∑ j=0 (n − j)pj,i. (43) in the case of non-blocking caches anbc will be anbc = n ∑ j=0 (n − j −1 + k)pj,1 + n−1 ∑ j=0 (n − j)pj,2. (44) where k is the ratio of average memory stall time [2] . k depends strongly on the application. (1-k) actually refers to the fraction time the processor is consuming data while cache-to-cache or memory-tocache transfer is in progress. in appendix b we list the anbc for two popular service time distributions: exponential and erlangian [1], for blocking and fully non-blocking caches (k=0). the time to solve (33-42) and calculate anbc was meaninglessly short. 4 concluding remarks this work presented a model for a shared bus, shared memory multiprocessor with private caches and captures the whole spectrum of invalidate type cache coherence protocols. although we started with fairly sophisticated set of integro-differential equations, the output of the model is a set of few linear equations from which the state probabilities can be determined. the approach eliminates the main drawbacks of the most commonly used mva analysis: inability to deal with transients and constraint on the service time distribution. the model gives insights into the transient behaviour of the system. moreover, the assumption of exponentially distributed service times can be dropped; any continuous distribution can be used. the ease of obtaining performance measures in a meaningless time makes very feasible the incorporation of the model in a multiprocessor design tool. bibliography [1] s. k. bose, introduction to queuing systems, kluwer/plenum publishers, 2001 [2] j. l. hennessy, d. a. patterson; computer architecture: a quantitative approach, pearson publishers, 2003 [3] m. c. chiang, memory system design for bus based multiprocessor, phd thesis, university of wisconsin, 1991 [4] t. itoi, t. nishida, m. kodama and e. ohi, n-unit parallel redundant system with correlated failures and single repair facility, microelectronics and reliability, vol. 17, pp. 279-285, 1978 analytical model for a multiprocessor with private caches and shared memory 179 [5] e. lazowska, j. zahorjan, g. graham, and k. sevcik, quantitative system performance, computer system analysis using queuing network models, prentice-hall, englewood clis, nj, may 1984 [6] a. louri, a.k. kodi, an optical interconnection network and a modifying snooping protocol for the design of large-scale symmetric multiprocessors (smps), ieee transactions on parallel and distributing systems, vol. 15, no. 12, dec. 2004, pp. 1093-11047. [7] r. e. matick, comparison of analytic performance models using closed mean-value analysis versus open-queuing theory for estimating cycles per instruction of memory hierarchies, ibm journal of research and development, jul 2003 [8] d. j. sorin et. al., a customized mva model for ilp multiprocessors, technical report no.1369, university of wisconsin-madison, 1998 [9] d. j. sorin et. al., evaluation of shared-memory parallel system with ilp processors , proc. 25th int’l symp. on computer architecture, june 1998, pp. 180-191 [10] j. sustersic, a. hurson, coherence protocol for bus-based and scalable multiprocessors, internet and wireless distributed computing environments: a survey , advances in computers, vol.59, 2003, pp. 211-278 [11] schiff, joel l., the laplace transform, springer, 1999 [12] waterloo maple inc., introduction to maple 8, 2002 appendix a for n=4, λ =0.001[1/t.u.], f1(x)=0.1exp(-0.1x), and f2(x)=0.01exp(-0.01x) the instantaneous probabilities are p4(t) =0 .9211361286+0.8058476879e-2*exp(-0.1248619627*t) +0.8535072295e-2*exp(-0.1089825679*t)+0.9049529656e-2*exp(-0.9494144284e-1*t) +0.9696074769e-2*exp(-0.8072343638e-1*t)+0.1774027054e-3 exp(-0.1510201407e-1*t) +0.1728181365e-2*exp(-0.1398702636e-1*t) +0.5618533851e-2*exp(-0.1256085210e-1*t) +0.1211910345e-1 exp(-0.1067946234e-1*t)+0.2388149701e-1*exp(-0.8161235321e-2*t), p31(t) =0.3792913471e-1-0.1093143496e-1*exp(-0.1248619627*t) -0.1007354818e-1 *exp(-0.1089825679*t)-0.9271731350e-2*exp(-0.9494144284e-1*t) -0.8405607569e-2*exp(-0.8072343638e-1*t)+0.2658572506e-2 *exp(-0.1510201407e-1*t)-0.2212663963e-5*exp(-0.1398702636e-1*t) -0.3015750621e-3*exp(-0.1256085210e-1*t)-0.6739486112e-3 *exp(-0.1067946234e-1*t)-0.9276492013e-3*exp(-0.8161235321e-2*t), p21(t) = 0.1420742616e-2+0.2324288902e-2*exp(-0.1248619627*t) +0.2986557798e-3* exp(-0.1089825679*t)-0.1243034332e-2 *exp(-0.9494144284e-1*t)-0.2544948528e-2*exp(-0.8072343638e-1*t) -0.5329230583e-2*exp(-0.1510201407e-1*t)+0.6737760872e-2 *exp(-0.1398702636e-1*t)+0.4442015626e-3*exp(-0.1256085210e-1*t) -0.5688666731e-3*exp(-0.1067946234e-1*t)-0.1539483112e-2 *exp(-0.8161235321e-2*t), p11(t) =0 .7684028624e-4-0.2290986748e-3*exp(-0.1248619627*t) +0.3160128043e-3*exp(-0.1089825679*t)+0.2148505581e-3 *exp(-0.9494144284e-1*t)-0.3252577041e-3 180 angel vassilev nikolov *exp(-0.8072343638e-1*t)+0.3775725072e-2*exp(-0.1510201407e-1*t) -0.8400171763e-2*exp(-0.1398702636e-1*t)+0.4974831098e-2 *exp(-0.1256085210e-1*t)+0.5143708805e-3*exp(-0.1067946234e-1*t) -0.9181578239e-3*exp(-0.8161235321e-2*t), p01(t) = 0.9242283829e-5*exp(0-.1248619627*t)-0.3513395647e-4 *exp(-0.1089825679*t)+0.4257071327e-4*exp(-0.9494144284e-1*t) -0.1688587212e-4*exp(-0.8072343638e-1*t)-0.9200675435e-3 *exp(-0.1510201407e-1*t)+0.2810623081e-2*exp(-0.1398702636e-1*t) -0.3183584754e-2*exp(-0.1256085210e-1*t)+0.1611954912e-2 *exp(-0.1067946234e-1*t)-0.3239077071e-3*exp(-0.8161235321e-2*t) +0.5218152790e-5, p42(t) = 0.2709223908e-1+0.9859983387e-3*exp(-.1248619627*t) +0.1060558367e-2*exp(-0.1089825679*t)+0.1145474465e-2 *exp(-0.9494144284e-1*t)+0.1259769099e-2*exp(-0.8072343638e-1*t) -0.2412466943e-1*exp(-0.1510201407e-1*t)-0.1705507775e-2 *exp(-0.1398702636e-1*t)-0.2095511260e-2*exp(-0.1256085210e-1*t) -0.2029637013e-2*exp(-0.1067946234e-1*t)-0.1588776483e-2 *exp(-0.8161235321e-2*t), p32(t) = -0.2421204825e-3*exp(-0.1248619627*t)-0.7509940526e-4 *exp(-0.1089825679*t)+0.9576676158e-4 *exp(-0.9494144284e-1*t)+0.3013803504e-3 *exp(-0.8072343638e-1*t)+0.7126069503e-1*exp(-0.1510201407e-1*t) -0.6135152996e-1*exp(-0.1398702636e-1*t)-0.8971987351e-2 *exp(-0.1256085210e-1*t)-0.5950006752e-2*exp(-0.1067946234e-1*t) -0.4494935895e-2*exp(-0.8161235321e-2*t)+0.9428952497e-2, p22(t) =0 .2421271696e-2+0.2626333487e-4*exp(-0.1248619627*t) -.3154175021e-4*exp(-0.1089825679*t)-0.2945613244e-4 *exp(-0.9494144284e-1*t)+0.3412946115e-4*exp(-0.8072343638e-1*t) -0.8108903801e-1*exp(-0.1510201407e-1*t)+0.1349032466 *exp(-0.1398702636e-1*t)-0.4071010637e-1*exp(-0.1256085210e-1*t) -0.9622074403e-2*exp(-0.1067946234e-1*t)-0.5904604182e-2 *exp(-0.8161235321e-2*t), p12(t) = -0.1765308077e-5*exp(-0.1248619627*t)+0.4800731626e-5 *exp(-0.1089825679*t)-0.4448905932e-5*exp(-0.9494144284e-1*t) +0.1599282603e-5*exp(-0.8072343638e-1*t)+0.4177917201e-1 *exp(-0.1510201407e-1*t)-0.9973555226e-1*exp(-0.139870263e-1*t +0.7256040480e-1*exp(-0.1256085210e-1*t)-0.9747995399e-2 *exp(-0.1067946234e-1*t)-0.5300997812e-2*exp(-0.8161235321e-2*t) +0.4449749927e-3, p02(t) = -0.4618227199e-6*exp(-0.1248619627*t)-0.2203030325e-6 *exp(-0.1089825679*t)+0.4881890483e-7*exp(0-.9494144284e-1*t) -0.1699392257e-7*exp(-0.8072343638e-1*t)-0.8188760719e-2 *exp(-0.1510201407e-1*t)+0.2501502200e-1*exp(-0.1398702636e-1*t) -0.2833447693e-1*exp(-0.1256085210e-1*t)+0.1434663085e-1 *exp(-0.1067946234e-1*t)-0.2882912592e-2*exp(-0.8161235321e-2*t) +0.4449749927e-4. in the above expressions e-i means 10-i for i=1,7. analytical model for a multiprocessor with private caches and shared memory 181 appendix b table 1: n=8, f1(x)=0.1exp(-0.1x), f2(x)=0.01exp(-0.01x) λ [1/t.u.] p anbc for blocking anbc for fully caches nonblocking caches 0.001 0.9 0.154099881194466 0.075640880006411 0.002 0.9 0.441552853804251 0.290383910880334 0.003 0.9 0.822750601431095 0.607433119474025 0.004 0.9 1.253944990222998 0.984102789831906 0.001 0.8 0.230012889507952 0.152313018403034 0.002 0.8 0.729883782777377 0.584481458432927 0.003 0.8 1.382033782478873 1.183494795953230 0.004 0.8 2.063720956300253 1.826269794552253 table 2: n=8, f1(x)=0.13x2ex p(−0.1x)/2!, f2(x)=0.013x2ex p(−0.01x)/2! λ [1/t.u] p anbc for blocking anbc for fully caches nonblocking caches 0.001 0.9 0.384839057891723 0.211437492029451 0.002 0.9 1.313451009452606 0.582993712839022 0.003 0.9 2.390481400874492 1.782339618354729 0.004 0.9 3.691834116720534 2.882438452093385 0.001 0.8 0.614956120345239 0.400820549913285 0.002 0.8 2.611487230549326 1.722034656332087 0.003 0.8 4.062557145097248 3.429652938504840 0.004 0.8 5.899361833023557 5.394204692051840 angel vassilev nikolov national university of lesotho department of mathematics and computer science roma 180 lesotho e-mail: av.nikolov@nul.ls received: december 17, 2007 182 angel vassilev nikolov angel vassilev nikolov received the beng degree in electronic and computer engineering from the technical university of budapest, hungary in 1974 and the phd degree in computer science from the bulgarian academy of sciences in 1982 where he worked as a research associate. in 1989 he was promoted to associate research professor in bulgaria. dr nikolov also served as a lecturer of computer science at the national university of science and technology, bulawayo, zimbabwe and at the grande prairie regional college, alberta, canada and as an associate professor at sharjah college, united arab emirates. his research interests include computer architecture, performance evaluation of multiprocessors, and reliability modeling. he has published numerous journal and conference articles and holds four patents on the above topics. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 1, pp. 8-19 introducing collaborative practices in small medium enterprises d. antonelli, p. chiabert dario antonelli, paolo chiabert politecnico di torino department of production systems and economics corso duca degli abruzzi 24, 10129 torino, italy e-mail: {dario.antonelli,paolo.chiabert}@polito.it abstract: in an enterprise, collaborative working schemes are obtained only by adopting a suitable organization of the enterprise functions. at the informative level collaboration can be enabled by using suitable project management tools for the exchange of information that is the basis of collaboration. one of these tools is product lifecycle management (plm). on the basis of an exhaustive analysis of the plm impact on the different aspects of the enterprise, the paper proposes an original methodology to evaluate the possibility of using plm as framework in which exploit collaboration links within the enterprise. the methodology is not founded on the formal declared organization but on the actual data flows that are induced by the relations among the documents used to develop a project. data are collected on the field using questionnaires. the links are made explicit by applying the hierarchical clustering with single linkage agglomerative technique. the attitude to the implementation of plm is then analysed with respect to the organization and to the informative system. such methodology is general and can be profitably applied to assist the plm implementation in the enterprises. keywords: product life-cycle management, concurrent engineering, business process management, cluster analysis, collaboration. 1 introduction small and medium enterprises (smes) are companies with a turnover of less than 50meuro and a number of employees below 250, as for the eu recommendation 2003/361/ec. in the european countries they are the backbone of the economic system [7]. concurrent engineering (ce) is an effective strategy to shorten ’time to market’ of innovative products. the key for its accomplishment stays in the collaboration among all the enterprise personnel appointed to the project. the goal is accomplished by the parallel development of different activities obtained by the integration of several company functions in a multidisciplinary group in order to anticipate the constraints generated by the industrial dynamics [14]. the core aspect of ce is therefore the creation of tight co-operation links among all the industrial actors involved in the definition of product and process. a significant tool to assist the ce effectiveness is plm. unfortunately, plm implementation inside smes is scarce. the reason goes beyond implementation difficulties or excessive costs of it systems. it derives from the poor conformity of the ordinary sme organization of work to the requirements of ce in term of strategy, organization and technology [13]. it is useful to remark that often in literature the term collaboration is given the same significance as the term coordination. collaboration means working with the others for the success of an activity. coordination can refer to optimisation of the work by finding the best division of activities to be performed by humans and machines. the definition put forth by malone and crowston [15] is: "coordination is managing dependencies between activities". coordination also, recalling the theory of systems, implies the presence of a coordinator, then some hierarchical shape on the organisation [18]. instead, collaboration is the process of various individuals, groups or systems working together on a voluntary basis without the need for a manager or a work program [16]. obviously collaboration works only if some behaviour rules are respected, as the ones proposed in [21] in the case of collaborative software agents. in the organization oriented to ce, different coordination mechanisms have been adopted [10]. they differ mainly on the instant of application of the coordination: predetermined before starting the work or determined during the work as a result of a negotiation. a discussed list of co-ordination systems is given in [20]: information workflow, copyright c© 2006-2010 by ccc publications introducing collaborative practices in small medium enterprises 9 negotiated objectives, milestones, professional rules, mapped parameters, design space sharing, joint parameters, data coherency. some coordination systems need the active participation of a coordinator, e.g. the project manager. conversely other systems like design space sharing and data coherency must be enforced by the use of appropriate software tools, e.g. the plm. a comprehensive definition of product lifecycle management is "a strategic business approach for the effective management and use of corporate intellectual capital" where "corporate intellectual capital" consists of products definition, products history and best practices" [6]. several plm systems already operates in large companies demonstrating their effectiveness. they range from the ford project c3p (cad/cae/cam and product information management) started in 1996 and based on sdrc’s i-deas and metaphase software to the boeing 7e7 dreamlinear airplane entirely designed in the dassault systemes plm software platform, to the siemens teamcenter suite largely adopted in automotive industries. presently new lighter software suites, based on the "out of the shelf" commercial policy, make plm systems affordable to smes. despite the availability of software, plm do not have an adequate diffusion among them. in authors’ opinion the most important justification of enterprises’ interest in plm should be the competitive edge provided by collaboration. as a matter of fact, plm assures the most effective control of enterprise’s projects by increasing the efficiency in information management along three directions: • increase of efficiency in the management of technical product information. product data represent the core of manufacturing enterprise. they should be protected against unauthorized accesses but, at the same time, should be promptly shared for design activities as well as for many other functions in the enterprise. • easiness of product data exchange by establishing proper interfaces towards enterprise functions (manufacturing, maintenance ...) and, vice versa, by defining communicational channels to gather any relevant information for the upgrading. • management of the enterprise knowledge database for storing and retrieving historical products. the carry over process, widely adopted to speed up the time to market of new products, benefits from the use of plm tools. the reasons of its inadequate diffusion are uniformly spread over enterprise organization and information technology system: • accessing product data from enterprise functions not directly involved in product development is a functionality provided by it tools like erp that are seldom present inside the smes. • product/process development is historically a self-governed function, with human resources, activities and hardware/software tools sharply separated by other industrial functions. • the implementation of it tools linking different enterprises areas requires a clear definition of decisional and informational processes. the idea behind this research is that the work organization inside a sme is based on spontaneous collaboration that overcomes the attempts to organize the activities by introducing coordination mechanisms, as in the case of plm implementation. spontaneous collaboration works well as far as the dimensions of the firm are small enough to allow everyone to know where to find the information they need. as far as the enterprise grows a technology like plm becomes necessary to assist the information retrieval. to assess the validity of this supposition we need to find a way to measure the extent of collaboration. the paper illustrates an original approach to the analysis of management processes of sme’s product data. using simple data-driven procedures, it is possible to forecast the impact of collaboration on sme organization without inferring formal models in any case available in literature [4]. in detail, the proposed analysis evaluates the sme readiness to plm implementation, by matching the collaborative network with the functional organization of the enterprise. 2 product and process information in sme: dataflow it is useful to distinguish among products and processes to develop products. innovative and competitive products increase enterprise’s market share whilst efficient and robust industrial processes allows the enterprise emerging over the competitors. as a consequence, the information on enterprise products and processes, in terms of data and metadata (table 1), has to be as efficient as possible along the whole product lifecycle. 10 d. antonelli, p. chiabert table 1: enterprise information product data processes business metadata (step, pdm) enterprise content management engineering data (gps, step) manufacturing planning pdm/plm systems were born to control data proliferation in design activities, therefore their primary function is the control of product data in terms of integrity, protection and modification. a second important function regards data availability: user-friendly, simultaneous and multi-point access to product data [20]. plm systems do not limit their function to database repository, but actively support product data development by tracking design activities, maintaining configuration of evolving products, and allowing the re-use of the data in the development of new products [9]. the enlargement of the scope of product data, which are no more property of design function but become capital of the whole enterprise, requires a redefinition of their accessibility and modifiability, with regard to other it systems like erp. the redistribution of the responsibilities on product data among enterprise functions represents the most innovative aspect of plm systems. obviously it is also the most difficult aspect to be addressed in plm implementation and it justifies the lateness of plm diffusion in the smes. plm systems have an impact on the entire enterprise and require a structured organization where informative flows, interfaces and decision makers are well identified. this is normal in large companies, but it is not predictable in smes, where the same person often provides different functions and where decision makers are individuated more on the basis of capital share than on the basis of organizational role and technical competence. the intrinsic complexity of plm systems and the informal organization of small companies represent a real difficulty in the implementation of plm in smes [1]. 2.1 sme organizational model the technical literature widely illustrates case studies related to the implementation of plm in large and well structured organizations. unfortunately few experiences are available on plm implementation in smes, where informal organizational structure does not allow the application of standard methodologies, based on the development of a detailed ontological model (sap, uml, ...), in order to perform an efficient description of enterprise processes [8], [17], [25]. a preliminary analysis of enterprise organization should rely on the generic product lifecycle functions [2] schematized in figure 1: • direction: the overall project management, this function is transversal to the others. • design concept: idea for new product or, more often, product design enhancement is recognized, based on market knowledge. • market demand analysis: manufacturer studies need for the new product design and estimates demand and feasibility of meeting demand. • engineering: design engineers create the product design using all available information from the plm system, including after-market factors, manufacturability data, customers’ needs/preferences, and more. • sourcing: procurement carry out preliminary work required to acquire parts, materials, components, equipment, and anything else is required to manufacture the product. • production: product is built to design specifications established by engineering and using parts and materials acquired by sourcing. conformance to specification is checked through quality control/assurance or process control methodologies. • distribution: product is shipped to either distributors, who store it until order is received from customer, or directly to final customer. • after market: products are maintained, serviced, or repaired under warranty or as a value-added service. using a unique repository of various after-market data ensures that after-market factors are taken into account in subsequent design projects, increasing the value of the product to the customer. introducing collaborative practices in small medium enterprises 11 figure 1: product lifecycle analysis (from aberdeen [1]). the experimental data used in the paper were collected from a sme which designs, manufactures, installs and maintains industrial choppers all around the world. the enterprise structure, according to a functional point of view, adheres to the proposed model. 2.2 sme investigation procedure there is a widespread commonplace saying that every sme works without any notable organization. actually, the organization exists but it is usually not explicitly formalized: it is a natural organization based on significance relationships and spontaneous collaboration. therefore, it makes no sense to look at classical organization devices, like organization charts, information systems, team management tools (pert, gantt) [23]. there are four basic principles which make the organization of a sme efficient: • process-based cooperation, without a fixed separation of tasks. • extended sharing of knowledge, unfortunately transmitted in a informal way. • small teams with continuous communications and interchanges of information. • potential for outside development by having recourse to the networks of enterprises. these same principles represent the hardest obstacle to an efficient description of the enterprise data, functions, processes and related managing tools. researchers adopt a simple data-driven approach focused on the investigation of enterprise documents in order to overcome the obstacle. a set of questionnaires submitted to enterprise people are used to collect information on produced and consulted documents thus providing an unbiased objective description of the true organization, processes and hierarchies operating in the enterprise. the questionnaires play a fundamental role in diminishing the noise involuntarily introduced by interviewed people: the focus on documents and their management and not on sensible data regarding the enterprise organization, defines the search field and the required information. researchers submitted questionnaires to enterprise personnel during the development of a new project and transformed the enterprise in a living laboratory where researchers interacted with employers during the questionnaires filling, observed the product development process and analyzed the documents identifying their dependence relationships as well as their format. 12 d. antonelli, p. chiabert 2.3 sme information reorganization several operations applied to the information collected by questionnaires, provide a more structured description of enterprise and its organization, functions, processes and hierarchies: • analysis and evaluation of plm functionalities in the enterprise context; • analysis and definition of product data: quantity, relationships, applicability, supporting media; • definition of enterprise functions and analysis of their role in product data management; • analysis of enterprise’s acquaintance with informatics; • development of the dlsm (data lifecycle simulation matrix) representing the lifecycle of product data and their dependencies within the enterprise functions; • development of the dism (data interchange simulation matrix) representing the interfaces used to communicate the product data among the different functions; • creation of a metric to exploit the enterprise position, according to technological and organizational aspects, against the best practice. the dlsm and dism matrices provide a complete picture of product data management across the enterprise functions and along the product lifecycle. on this basis it is possible to evaluate the organizational and informational structure by detailing the interactions with each enterprise function. moreover, analyzing the dlsm and dism matrix it is possible to extrapolate useful indicators which address the reorganization of the enterprise. 3 reorganizing the data: dlsm and dism matrices the core of the methodology is the building of a dlsm (data lifecycle simulation matrix), a square matrix containing a complete description of the enterprise organization based on its documents. the dlsm matrix represents the dependence relationship among the data/documents inside different enterprise functions. the rows of the dlsm matrix, contain the enterprise documents classified according to the enterprise function responsible for their production and maintenance. the columns of the dlsm matrix contain the same documents presented in the same order. the dependence relationships among documents are made explicit by activating the cells at the intersection of the row and of the column corresponding to the associated documents. when a cell is activated, the document along the column will make use/reference to the document identified in the row. a formal description of dlsm matrix is: dlsm(i, j = ) = {enterprise documents source} dlsm(i = , j) = {enterprise documents access} (1) dlsm(i, j) = {  when document i is accessed by document j  otherwise figure 2 shows a pattern view of the 160x160 sparse dlsm matrix representing the documents required to describe product lifecycle within the analysed case study. the grey areas placed on the matrix diagonal highlight the enterprise functions: direction, marketing, administration, design, planning, supply, manufacturing and assembling, inventories, after sale services. figure 3 shows the upper and left corner of dlms matrix including some documents produced by the two functions direction and marketing. some interesting results can be extracted from simple operations performed on the dlsm matrix. the dism (data interchange simulation matrix) is a square matrix having the same structure of dlsm, but now the cells are activated when the format and the support used to save two inter-dependent documents are the same. the core of the method is the transformation of the dlsm into the dism. for every intersection activated in the dlsm, the document formats and supports are compared: if they agree (i.e. both ms word format, or excel format, or paper support, ...) the cell in the dism is activated. obviously there are quite less occurrence in the dism with respect to dlsm. figure 4 represents the upper and left corner of the dism matrix including some documents produced by the introducing collaborative practices in small medium enterprises 13 s tr a te g y : m a rk e ts a n d c o m p e ti to rs a n a ly s is m a rk e t o p p o rt u n it ie s a n a ly s is n e w c o n c e p ts d e s ig n a n a ly s is t a rg e t m a rk e ts a n a ly s is t a rg e t p ri c e s a n a ly s is t a rg e t c o s ts a n a ly s is t im e t o m a rk e t a n a ly s is e c o n o m ic a l ri s k s a n a ly s is f u n d in g s o u rc e s b u d g e ti n g a ll o c a ti o n a n a ly s is p ro to ty p e t a rg e ts c li e n ts r e q u ir e m e n ts r e p o rt in g c li e n t in te rv ie w s k e y p e rf o rm a n c e c o m p e ti to r p ro d u c ts t a rg e t s e ll in g p ri c e d e m a n d f o re c a s t h is to ri c a l e c o n o m ic a l a n a ly s is e c o n o m ic f o re c a s t p ro d u c ts p o rt fo li o m a rk e t s h a re e x te rn a l lo g is ti c s p ri c e p o li c ie s p ro d u c ts g u a ra n te e s a p p li c a ti o n p ro d u c ts s e ll in g p la n p o rt fo li o a c tu a l o rd e rs o ff e ri n g , s a le s p ro d u c t a g re e m e n t m t o : c o n fi g u ra ti o n , ti m e to m a rk e t a d v e rt is in g m a te ri a ls p ro d u c ts e c o n o m ic a l p e rf o rm a n c e h is to ri c a l e c o n o m ic a n a ly s is e c o n o m ic a n a ly ti c a l re p o rt e c o n o m ic e v a lu a ti o n o f p ro to ty p e s a n a ly s is p ro d u c t c o s ts s e n s it iv it y a n a ly s is p ro d u c t b il li n g s u p p li e rs p a y m e n ts a rc h iv io p ro g e tt i c o n c lu s i e s tu d i e le n c o p ro g e tt i in e s s e re s it u a z io n e d e i p ro g e tt i in e s s e re l is te " m e tr ic h e " p e r le s p e c if ic h e o b ie tt iv o d i p ro d o tt o s p e c if ic h e o b ie tt iv o c o n c e tt i d i p ro d o tt o a lt e rn a ti v i d is ti n ta m a te ri a li a p p ro x d e i m o d e ll i c o n c e tt u a li d is ti n ta a p p ro x l a v o ra z io n i d e i m o d e ll i c o n c e tt u a li p ia n o a p p ro x d i a s s e m b la g g io d e i m o d e ll i c o n c e tt u a li c a ra tt e ri s ti c h e f u n z io n a li d e i m o d e ll i c o n c e tt u a li c a ra tt e ri s ti c h e t e c n ic h e d e i m o d e ll i c o n c e tt u a li d e fi n iz io n e p ro to ti p o s p e c if ic h e t e c n ic h e f in a li s p e c if ic h e e s te ti c h e f in a li s p e c if ic h e f in a li d i m a n u te n ib il it à s p e c if ic h e f in a li d i a ff id a b il it à s p e c if ic h e f in a li d i d u ra ta a rc h iv io a n a li s i e c o n o m ic h e s ti m a e c o n o m ic a ( d i c o m p e te n z a ) d e i c o n c e tt i e la b o ra ti p ia n o d i c o n d iv is io n e d e l p ro d o tt o d is e g n i 3 d p a rt ic o la ri d e l p ro to ti p o d is e g n i 2 d p a rt ic o la ri d e l p ro to ti p o d is e g n i 3 d c o m p le s s iv o p ro to ti p o d is e g n i 2 d c o m p le s s iv o p ro to ti p o d is e g n i e s p lo s i d e l p ro to ti p o m a te ri a li p a rt ic o la ri p ro to ti p o d e fi n iz io n e d e ll e la v o ra z io n i s u l p ro to ti p o d e fi n iz io n e d e ll e t o ll e ra n z e p a rt ic o la ri p ro to ti p o a rc h iv io r is u lt a ti d e i te s t e le n c o t e s t d a e ff e tt u a re r is u lt a ti t e s t s u l p ro to ti p o c o s ti p ro to ti p o d is e g n i 3 d p a rt ic o la ri p ro d o tt o d is e g n i 2 d p a rt ic o la ri p ro d o tt o d is e g n i 3 d c o m p le s s iv o p ro d o tt o d is e g n i 2 d c o m p e s s iv o p ro d o tt o d is e g n i d e g li e s p lo s i e le n c o e d e s c ri z io n e m o d if ic h e d is e g n i d e l p ro d o tt o d e fi n iz io n e d e ll e t o ll e ra n z e d e l p ro d o tt o c o d ic i p a rt ic o la ri c o d ic e p ro d o tt o d e n o m in a z io n e p a rt ic o la ri d is ti n ta m a te ri a li p ro d o tt o d im e n s io n i e p e s o d e i g re z z i d im e n s io n e e p e s o d e i fi n it i c a ra tt e ri s ti c h e p a rt ic o la ri c o m m e rc ia li t ra tt a m e n ti te rm ic i/ g a v a n ic i/ e tc . d is ti n ta b a s e e le n c o t e s t d a e ff e tt u a re s u l p ro d o tt o ( p re s e ri e ) r is u lt a ti t e s t s u l p ro d o tt o ( p re s e ri e ) p ro c e d u ra c o n tr o ll o q u a li tà in te rn a ( p a rt ic o la ri / a s s e m b la ti / p ro d o tt o ) p ro c e d u re c o n tr o ll o q u a li tà in a c c e tt a z io n e ( p a rt ic o la ri / a s s e m b la ti / p ro d o tt o ) p ro c e d u ra c o n tr o ll o q u a li tà p re s s o i l fo rn it o re s c h e m i e le tt ri c i c e rt if ic a z io n i d e l p ro d o tt o n o rm a ti v e v ig e n ti s c h e m a a s s e m b la g g io p ro d o tt o d e fi n iz io n e d e ll e c o n fi g u ra z io n i m a n u a li d 'u s o e m a n u te n z io n e d is ti n ta e c a ra tt e ri s tc h e d e ll e m a c c h in e u te n s il i d a u ti li z z a re p e r o g n i s in g o lo p ro d o tt o s e le z io n e /p ro g e tt a z io n e d e ll e a tt re z z a tu re u te n s il i d a u ti li z z a re p e r le la v o ra z io n i p a ra m e tr i d i la v o ra z io n e c ic li d i la v o ra z io n e p ro g ra m m i p e r i c n c d e fi n iz io n e d e i c o s ti d i la v o ra z io n e r is u lt a ti a n a li s i "m a k e o r b u y " c o s ti d i p ro d u z io n e b u d g e t d i p ro d u z io n e p ia n o p ri n c ip a le d i p ro d u z io n e ( m p s ) p ia n if ic a z io n e d e i fa b b is o g n i ( te c n ic h e p u s h o p u ll ) p ro g ra m m a z io n e o p e ra ti v a ( g a n tt , e tc . ) p o rt a fo g li o f o rn it o ri c o d ic e f o rn it o re a n a g ra fi c a f o rn it o re p re v e n ti v i fo rn it o ri o rd in e d i a c q u is to d o c u m e n ta z io n i te c n ic h e d e i fo rn it o ri c o s to d e l p a rt ic o la re c o m m e rc ia le ( c o n c o rd a to c o n i l fo rn it o re ) c o s to d e l p a rt ic o la re n o n c o m m e rc ia le ( c o n c o rd a to c o n i l fo rn it o re ) l o tt o m in im o d i a c q u is to d e l p a rt ic o la re ( c o n c o rd a to c o n i l fo rn it o re ) d a ta d i c o n s e g n a r ig a d 'o rd in e l e a d t im e f o rn it o re c o n d iz io n i d i p a g a m e n to c o n d iz io n i p e r il t ra s p o rt o c o n d iz io n i d i g a ra n z ia e v e n tu a li p e n a li tà p e r ri ta rd a ta c o n s e g n a t ip o lo g ia d 'im b a ll o s e q u e n z a f o rn it o ri s u i p a rt ic o la ri r ie p il o g o s o ll e c it i d is ti n ta d o c u m e n ti i n v ia ti a fo rn it o ri a n a li s i te m p i e c o s ti d i a s s e m b la g g io p ia n o a s s e m b la g g io c o m m e s s e p ia n o a s s e m b la g g io p ro d o tt o s c h e d a a v a n z a m e n to la v o ro s c h e d a r il e v a m e n to d if e tt o s it à b o ll a d i c a ri c o b o ll a d i s c a ri c o b o ll a d i re s o b u o n o d i p re li e v o i n te rn o b u o n o d i v e rs a m e n to in te rn o q u a n ti tà d is p o n ib il e d i o g n i s in g o lo p a rt ic o la re q u a n ti tà i m p e g n a ta d i o g n i s in g o lo p a rt ic o la re v a lo re q u a n ti tà d is p o n ib il e d i o g n i s in g o lo p a rt ic o la re s ta tu s d e l p a rt ic o la re ( c o n tr o ll a to -n o n c o n tr o ll a to ) s ta tu s d e l m a te ri a le ( g re z z o -s e m il a v o ra to la v o ra to -c o m m e rc ia le ) c o d ic e d i p re li e v o la v o ra z io n e i n te rn a c o d ic e d i p re li e v o la v o ra z io n e e s te rn a c o d ic e d i p re li e v o v e n d it a c o d ic e r e s o c o o rd in a te d i s to c c a g g io d i o g n i s in g o lo p a rt ic o la re a n a li s i a b c s to ri c o i n te rv e n ti s u i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti s to ri c o i n te rv e n ti s u l p ro d o tt o d u ra n te i l p e ri o d o d i a tt iv it à a rc h iv io m o d if ic h e s u i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti a rc h iv io m o d if ic h e s u l p ro d o tt o d u ra n te i l p e ri o d o d i a tt iv it à a rc h iv io d if e tt o s it à s u i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti a rc h iv io d if e tt o s it à s u l p ro d o tt o d u ra n te i l p e ri o d o d i a tt iv it à s ta ti s ti c h e d e i g u a s ti s u i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti s ta ti s ti c h e d e i g u a s ti s u l p ro d o tt o d u ra n te i l p e ri o d o d i a tt iv it à a rc h iv io d e i re c la m i in e re n ti a i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti r e p o rt d e i re c la m i in e re n ti a l p ro d o tt o a rc h iv io o s s e rv a z io n i s u i p ro d o tt i s im il i, g ià c o m m e rc ia li z z a ti r e p o rt o s s e rv a z io n i s u l p ro d o tt o ,d e i c li e n ti strategy: markets and competitors analysis market opportunities 1.0 analysis new concepts design 1.0 1.0 analysis target markets 1.0 analysis target prices 1.0 analysis target costs 1.0 1.0 analysis time to market 1.0 1.0 1.0 analysis economical risks 1.0 1.0 1.0 1.0 1.0 1.0 analysis funding sources budgeting allocation analysis prototype targets 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 clients requirements 1.0 1.0 1.0 1.0 reporting client interviews key performance competitor products 1.0 target selling price 1.0 1.0 1.0 demand forecast 1.0 1.0 1.0 historical economical analysis economic forecast 1.0 1.0 1.0 1.0 1.0 products portfolio 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 market share external logistics price policies products guarantees application 1.0 1.0 1.0 1.0 products selling plan 1.0 portfolio actual orders offering, sales product agreement mto: configuration, time to market advertising materials products economical performance historical economic analysis economic analytical report 1.0 1.0 1.0 1.0 1.0 1.0 economic evaluation of prototypes analysis product costs sensitivity analysis product billing suppliers payments projects historical library projects currently active active projects status qfd analysis for active projects 1.0 1.0 1.0 target functionalities / requirements 1.0 1.0 1.0 1.0 1.0 collection of conceptual alternative solutions 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 bill of materials of conceptual solutions 1.0 1.0 1.0 1.0 manufacturing bom of conceptual solutions 1.0 engineering bom of conceptual solutions 1.0 1.0 functional characteristics of conceptual solutions 1.0 technical characteristics of conceptual solutions 1.0 design prototype 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 final technical specifications 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 final shaping specifications 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 final maintenance specification 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 final reliability specifications 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 final product lifecycle specifications 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 economic analysis stima economica ( di competenza ) dei concetti elaborati 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 piano di condivisione del prodotto 1.0 1.0 1.0 1.0 1.0 disegni 3d particolari del prototipo 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 disegni 2d particolari del prototipo 1.0 1.0 disegni 3d complessivo prototipo 1.0 1.0 disegni 2d complessivo prototipo 1.0 disegni esplosi del prototipo 1.0 materiali particolari prototipo 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 definizione delle lavorazioni sul prototipo 1.0 1.0 1.0 definizione delle tolleranze particolari prototipo 1.0 1.0 1.0 1.0 1.0 archivio risultati dei test elenco test da effettuare 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 risultati test sul prototipo costi prototipo 1.0 1.0 1.0 1.0 1.0 disegni 3d particolari prodotto 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 disegni 2d particolari prodotto 1.0 1.0 disegni 3d complessivo prodotto 1.0 1.0 1.0 disegni 2d compessivo prodotto 1.0 disegni degli esplosi 1.0 elenco e descrizione modifiche disegni del prodotto 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 definizione delle tolleranze del prodotto codici particolari 1.0 1.0 1.0 codice prodotto denominazione particolari distinta materiali prodotto 1.0 1.0 1.0 1.0 1.0 1.0 dimensioni e peso dei grezzi 1.0 1.0 1.0 dimensione e peso dei finiti 1.0 1.0 1.0 caratteristiche particolari commerciali 1.0 1.0 1.0 1.0 1.0 1.0 trattamenti termici/gavanici/etc. 1.0 1.0 1.0 1.0 1.0 1.0 distinta base elenco test da effettuare sul prodotto ( pre serie ) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 risultati test sul prodotto ( pre serie ) procedura controllo qualità interna ( particolari / assemblati / prodotto ) 1.0 1.0 1.0 1.0 1.0 1.0 procedure controllo qualità in accettazione ( particolari / assemblati / 1.0 1.0 1.0 1.0 1.0 1.0 procedura controllo qualità presso il fornitore schemi elettrici 1.0 certificazioni del prodotto 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 normative vigenti schema assemblaggio prodotto 1.0 1.0 1.0 1.0 1.0 1.0 1.0 definizione delle configurazioni 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 manuali d'uso e manutenzione 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 distinta e caratteristiche delle macchine utensili da utilizzare 1.0 1.0 1.0 1.0 1.0 1.0 selezione/progettazione delle attrezzature 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 utensili da utilizzare per le lavorazioni 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 parametri di lavorazione 1.0 1.0 1.0 1.0 1.0 1.0 cicli di lavorazione 1.0 1.0 1.0 1.0 1.0 1.0 1.0 programmi per i cnc 1.0 1.0 1.0 1.0 definizione dei costi di lavorazione 1.0 1.0 1.0 1.0 1.0 1.0 1.0 risultati analisi "make or buy" 1.0 1.0 1.0 costi di produzione 1.0 1.0 budget di produzione 1.0 1.0 1.0 piano principale di produzione ( mps ) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 pianificazione dei fabbisogni ( tecniche push o pull 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 programmazione operativa ( gantt, etc. ) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 portafoglio fornitori codice fornitore anagrafica fornitore preventivi fornitori 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 ordine di acquisto 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 documentazioni tecniche dei fornitori costo del particolare commerciale ( concordato con il fornitore ) 1.0 1.0 1.0 1.0 costo del particolare non commerciale ( concordato con il fornitore ) 1.0 1.0 1.0 1.0 lotto minimo di acquisto del particolare ( concordato con il fornitore ) data di consegna riga d'ordine lead time fornitore condizioni di pagamento condizioni per il trasporto condizioni di garanzia eventuali penalità per ritardata consegna tipologia d'imballo sequenza fornitori sui particolari riepilogo solleciti distinta documenti inviati al fornitori analisi tempi di assemblaggio piano assemblaggio commesse piano assemblaggio prodotto scheda avanzamento lavoro scheda rilevamento difettosità bolla di carico bolla di scarico bolla di reso documento di prelievo interno documento di versamento interno quantità disponibile quantità impegnata valore quantità disponibile status del particolare ( controllato-non controllato ) status del materiale ( grezzo-semilavoratolavorato-commerciale ) codice di prelievo lavorazione interna codice di prelievo lavorazione esterna codice di prelievo vendita codice reso coordinate di stoccaggio analisi abc storico interventi sui prodotti simili, già commercializzati storico interventi sul prodotto archivio modifiche sui prodotti simili, già commercializzati archivio modifiche sul prodotto archivio difettosità sui prodotti simili, già commercializzati archivio difettosità sul prodotto statistiche dei guasti sui prodotti simili, già commercializzati statistiche dei guasti sul prodotto archivio dei reclami inerenti ai prodotti simili, già commercializzati report dei reclami inerenti al prodotto archivio osservazioni sui prodotti simili, già commercializzati report osservazioni sul prodotto dei clienti dlsm figure 2: overview of the complete dlsm. s tr a te g y : m a rk e ts a n d c o m p e ti to rs a n a ly s is m a rk e t o p p o rt u n it ie s a n a ly s is n e w c o n c e p ts d e s ig n a n a ly s is t a rg e t m a rk e ts a n a ly s is t a rg e t p ri c e s a n a ly s is t a rg e t c o s ts a n a ly s is t im e t o m a rk e t a n a ly s is e c o n o m ic a l ri s k s a n a ly s is f u n d in g s o u rc e s b u d g e ti n g a ll o c a ti o n a n a ly s is p ro to ty p e t a rg e ts c li e n ts re q u ir e m e n ts r e p o rt in g c li e n t in te rv ie w s k e y p e rf o rm a n c e p ro d u c ts t a rg e t s e ll in g p ri c e strategy: markets and competitors analysis market opportunities 1 analysis new concepts design 1 1 analysis target markets 1 analysis target prices 1 analysis target costs 1 1 analysis time to market 1 1 1 analysis economical risks 1 1 1 1 analysis funding sources budgeting allocation analysis prototype targets 1 1 1 1 1 1 1 1 1 clients requirements 1 1 1 reporting client interviews key performance products 1 target selling price 1 1 d i r e c t i o n dlsm m a r k e t i n g figure 3: sample of a portion of dlsm including some documents of the function "direction". 14 d. antonelli, p. chiabert enterprise function "direction". for every intersection activated in the dism, the compatibility of the adopted applications and their publication on the firm’s network is verified and the sum over the rows and the columns occurrence are generated in order to deduce the integration in the product data flow. s tr a te g y : m a rk e ts a n d c o m p e ti to rs a n a ly s is m a rk e t o p p o rt u n it ie s a n a ly s is n e w c o n c e p ts d e s ig n a n a ly s is t a rg e t m a rk e ts a n a ly s is t a rg e t p ri c e s a n a ly s is t a rg e t c o s ts a n a ly s is t im e t o m a rk e t a n a ly s is e c o n o m ic a l ri s k s strategy: markets and competitors analysis market opportunities 1 analysis new concepts design 1 analysis target markets analysis target prices analysis target costs 1 analysis time to market 1 analysis economical risks 1 1 d i r e c t i o n dism figure 4: sample of a portion of dism including some documents of the function "direction". the activated cells in the dism play a relevant role from a plm perspective when the document format and the support are electronic. taking in account only the interfaces based on electronic format, the distance of dism from dlsm addresses the investments in the informational infrastructure the enterprise needs. 3.1 analysing the dlsm matrix the sum α and β of the occurrences along the rows and the columns of dlsm allows to determine quantitatively the amount of functional dependencies among the documents in the information flow. table 2 presents the α and β values for the document "analysis target prices" produced by the enterprise function "direction": table 2: dependencies of "analysis target prices" document. document α β price target 1 7 the document is consulted by only another document ("analysis of market opportunities", produced by the function direction) and requires the existence of other seven documents belonging to the direction, marketing and design functions. it is noteworthy that the same document can be shared among different functions inside the enterprise, therefore another important parameter is the percentage of occurrences of every document (i) inside every function (j), associated to the matrix dlsm(i,j). as an example figure 5 shows the percentage use of all the documents generated by the function "direction". in the collaboration network, the function "direction" behaves as a supplier, the other enterprise functions are then the clients. the analysis can be profitably reverted in figure 6 that shows the percentage use of documents, generated by other functions, through the function "direction", which now acts as the client for the other functions. different analyses of dlsm structure bring to light unpredicted outcomes. 4 clustering the dlsm: multivariate analysis the scope of this section is illustrating the motivations behind the choice of the clustering method used to group the project documents. clustering of the documents is the main application of the dlsm matrix. produced documents have already a taxonomy, belonging to one of the product lifecycle functions, that correspond directly introducing collaborative practices in small medium enterprises 15 analysis engineering design production direction sourcing figure 5: use of direction documents by different enterprise functions including direction (labels represents the destinations). analysis engineering design production assembly sourcing direction ’ figure 6: use of enterprise data by the direction function (labels represents the origins). to the enterprise departments. nevertheless, a typical sme structure is by far different and usually simpler than what appears from the organizational chart. therefore it is noteworthy to test if the clustering of the document based on their correlations matches the official taxonomy. we remark that the clustering performed here has nothing to do with the known study field of information science that goes under the name of document classification. this latter can be defined in the following way [24]: "document clustering is a fundamental operation used in unsupervised document organization, automatic topic extraction, and information retrieval. it provides a structure for organizing large bodies of text for efficient browsing and searching". in our case, document clustering, based on the dlsm matrix of correlations, is only a pretext to analyse the enterprise organization from an unbiased point of view. in common with the ordinary document classification is the choice of unsupervised clustering methods. as there are reasonable doubts that the real structure of the collaboration network would match the enterprise structure it is convenient not to use the knowledge about the existing organization and leave the classification of the documents to an unsupervised method: the statistical cluster analysis. cluster analysis investigates grouping by minimizing a suitable distance measure among the data. the distance function should give a way to measure the similarity between two documents. euclidean distance is obviously improper for measuring the similarity in the correlations among documents. for the research aims the best suited is the hamming distance that calculates the percentage of attributes that differ between two objects. given the dlsm, the element dlsm(i,j) represents the attribute j of the document i. the number of documents and of attributes is the same, n. for every two documents r, s the hamming distance dh is: dh = dlsm(r, j) − dlsm(s, j) n (2) 16 d. antonelli, p. chiabert hierarchical clustering is the more appropriate technique for working with ordinal metrics. it creates a cluster tree, which is not a single set of clusters, but rather a multi-level hierarchy, where clusters at one level are joined as clusters at the next higher level. the decision of the most appropriate level of clustering is found by choosing the threshold of the inconsistency coefficient for each link of the hierarchical cluster tree. there are different agglomerative techniques [3], among which the nearest neighbour or single linkage. two clusters are joined together on the basis of the minimum distance between the two nearest elements among all the existing clusters. if cluster a is made of documents ai (i=1,...,m) and cluster b is made of documents b j (j=1,...,r), the distance between the two clusters is: dsl = min(dh(ai, b j))∀i,∀ j (3) single linkage is seldom selected among the techniques because it has the drawback of creating elongated cluster (in a spatial visualization of the distance measure) if there is a long chain of documents each one differing from the successive for some attribute. in present study the attributes are the dependencies of documents and it is reasonable to expect that every document be the starting point for a successive document. before to apply the clustering, a pre-processing has been executed on the dlsm to reduce the search space [5]. after a binary sorting, the void rows and columns have been excluded from the clustering. these represent documents which have been produced independently the ones from all the others. it is possible that most of them be useless documents and be requested by internal bureaucratic procedures. the result of the application of the hierarchical clustering to the modified dlsm is the dendrogram graph represented in figure 7. the dashed line represents a threshold inconsistency value chosen to group the documents in ten clusters which correspond to the nine divisions actually present in the enterprise. figure 7: dendrogram of the hierarchical tree for the dlsm matrix. a number of considerations can be drawn on the result of this clusterization: • one cluster (document index from 1 to 67) is by far larger than the others and includes documents belonging to nearly all the divisions; • with the exception of the fourth cluster (document index from 71 to 74), all the others have only one document inside; • these one-document clusters have an high unconsistency value, therefore they cannot be attributed to a larger one changing the agglomerative technique. the first consideration describe a positive situation. the majority of documents have strict reciprocal dependencies. a possible explanation is that the sme applies implicitly a concurrent engineering strategy in the introducing collaborative practices in small medium enterprises 17 management of new projects. as a matter of fact every project is carried on by an unstructured working team made usually of few persons if not just one, who are responsible for the production of the key documents which are used by all the divisions to produce their own documents. second and third considerations indicate the presence of dead end documents, i.e. documents that get their data from other documents but are no longer used to produce new documents. this is not necessarily an issue as it seems natural that every division produces a final report on the project done. the fourth cluster instead represents a small number of documents totally independent from the others. the issue is not in the presence of a cluster but in the high value of the inconsistency index (measured by the length of the dendrogram branches) that denotes an excessive distance between this cluster and every other. from a plm perspective the results of the dlsm clustering suggests the need of investments in the sharing of documents. under the hypothesis of a working team operating in a concurrent engineering framework is essential to increase the accessibility of documents by all the enterprise functions. in a sme, the issues related to the condivision of product data are strictly related to the possibility of access to the different database and data formats. inside the large majority of the smes, the integration of the enterprise documentation is not considered a critical issue [11]. 5 evaluating the attitude to change the questionnaires provide a picture of product data management across the enterprise functions and along the product lifecycle. such information can be reorganized according to the dism in order to gain a better knowledge on enterprise organization. on this base it is possible to evaluate the impact of plm on the informational structure by detailing the effects on each enterprise function. the evaluation of attitude to collaborative working in the ce context should be expressed in terms of costs and benefits, which depend on enterprise readiness and propensity to accept innovation [19]. the test case focused on the analysis of two attitude indexes: attitude to organizational changes and attitude to informational changes. the attitude to innovation assumes different characteristics depending on enterprise functions. authors extracted from technical literature a set of criteria to be applied to the most relevant functions, as identified on the basis of dslm and dism. different evaluating scales and different weights have been applied according to criteria nature [17]. the results of evaluation of both organizational and informational indexes for the most relevant enterprise functions (p1 marketing, p2 design, and p3 supply) are summarized in figure 8, which represents a pictorial description of the enterprise global attitude to innovation. figure 8: global attitude index for the test case. 18 d. antonelli, p. chiabert 6 conclusions the paper focuses on the development of a method for the evaluation of enterprise readiness to collaborative product and process design, with particular attention to the implementation of plm in the smes. data collection relies on questionnaires focused on the document management process adopted in the enterprise. the questionnaires are submitted to enterprise personnel while researchers integrates knowledge and analysis of decisional processes. in order to evaluate the amount of business process management required to upgrade the enterprise organisation to plm pre-requisites, the authors developed an analysis tool consisting of a classification of product data flows and their supporting formats. subsequent refinements of the gathered information allow to benchmark the enterprise propensity to the implementation of plm. the simple approach proposed in the paper seems to solve some of the problems related to the introduction of information technology systems in smes: insufficient awareness of organizational issues, insufficient involvement of end users, inadequate traininig of users. bibliography [1] aberdeen, "plm it’s for any manufacturer striving for product excellence", an executive white paper, aberdeen group, inc., www.aberdeen.com, 2002. [2] r.w. bagshaw, s.t. newman, "structured approach to the design of a production data analysis facility part 1: conceptual design and information requirements", int. j. prod. res., vol. 39, no. 10, pp. 2121-2141, 2001. [3] a. cevahir, "clustering of correlated documents into designated number of clusters: a practical approach", www.cs.bilkent.edu.tr, 2005. [4] d. chen, g. doumeingts, "developing a theory of design a tentative approach using mathematics", studies in informatics and control, vol.11, no.1, 2002, ici, bucharest. [5] g. czibula, g. serban, "hierarchical clustering based design patterns identification", int. j. of computers, communications & control, vol. iii, pp. 248-252, 2008, ccc publications. [6] datamation limited, "understanding product lifecycle management", rep. no. plm-11, rev. no. 1.0, september 2002, cambridge, uk. [7] european commission, sme and cooperation, observatory of european smes, 2003, enterprise pubblication, brussels. [8] b. eynard, t. gallet, p. nowak, l. roucoules, "uml based specifications of pdm product structure and workflow", computers in industry, vol.55, pp. 301-316, 2004. [9] b. fagerström, l. olsson, "knowledge management in collaborative product development", systems engineering, vol. 5, no. 4, pp. 274-285, 2002. [10] f.g. filip, "decision support and control for large-scale complex systems", annual reviews in control, vol.32, no.1, pp. 61-70, 2008. [11] f. franceschini, advanced quality function deployment, boca raton, st. lucie press, 2002. [12] h. kaschel, l.m. sánchez y bernal, "importance of flexibility in manufacturing systems", int. j. of computers, communications & control, vol. i (2), pp. 53-60, 2006, ccc publications. [13] j. krauth, introducing information technology in small and medium sized enterprises, studies in informatics and control, vol.8, no.1, 1999, ici, bucharest. [14] a. kusiak, concurrent engineering: automation, tools, and techniques, wiley, usa, 1992. [15] t.w. malone, k. crowston, "the interdisciplinary study of coordination", acm computing surveys (csur), vol. 26, no. 1, pp.87-119, 1994. [16] s.y. nof, g. morel, l. monostori, a. molina, f. filip, "from plant and logistisc control to multi-enterprise collaboration", annual reviews in control, vol.30, no.1, pp. 55-68, 2006. introducing collaborative practices in small medium enterprises 19 [17] k. schmid, i. john, "a customizable approach to full lifecycle variability management", science of computer programming, vol.54, pp. 259-284, 2004. [18] m.g. singh, a. titli, systems decomposition, optimisation and control, pergamon press, 1988. [19] r. sudarsan, s.j. fenves, r.d. sriram, f. wang, "a product information modelling framework for product lifecycle management", computer aided design, vol.37, pp.1399-1411, 2005. [20] j. stark, product lifecycle management 21st century paradigm for product realisation, 2005, springerverlag, london, uk. [21] s.n. talukdar, "collaboration rules for autonomous software agents", decision support systems, vol. 24, pp.269-278, 1999. [22] s. tichkiewitch, d. brissaud, "co-ordination between product and process definitions in a concurrent engineering environment", annals of cirp, vol. 49, pp. 75-78, 2000. [23] a. tiwana, b. ramesh, "a design knowledge management system to support collaborative information product evolution", decision support system, vol.31, pp.241-262, 2005. [24] c. xiaohui, g. jinzhu, t.e. potok, "a flocking based algorithm for document clustering analysis", j. of systems architecture, vol.52, pp. 505-515, 2006, elsevier. [25] s. zina, m. lombard, l. lossent, c. henriot, "generic modeling and configuration management in product lifecycle management", int. j. of computers, communications & control, vol. i (4), pp. 126-138, 2006, ccc publications. dario antonelli italy 1966, holds a m.s. degree in mechanical engineering from the politecnico di torino, 1990. he worked at fiat research center until 1992. he is currently associate professor at the department of production systems and economics of politecnico di torino. his scientific activity is mainly related to numeric finite element simulation of metalworking processes, to experimental identification of process parameters and to supply chain management. paolo chiabert (b. june 28, 1963). m.sc. degree in electronic engineering, politecnico di torino (1993), ibm consultant (1994), researcher in design and methods of industrial engineering at the politecnico di torino (1995-2003), associate professor in technology and manufacturing systems (2004). according to the product lifecycle management perspective, the research interests range from design methods, to manufacturing technologies, to production planning and control, to quality management. since 1997 italian expert in the iso technical committee 213 geometrical product specifications and verification, he is member of the gps technical commission at uni. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 149-158 blind steganalysis: estimation of hidden message length sanjay kumar jena, g.v.v. krishna abstract: steganography is used to hide the occurrence of communication. discovering and rendering useless such covert message is an art of steganalysis. the importance of techniques that can reliably detect the presence of secret messages in images is increasing as images can hide a large amount of malicious code that could be activated by a small trojan horse type of virus and also for tracking criminal activities over internet. this paper presents an improved blind steganalysis technique. the proposed algorithm reduces the initial-bias, and estimates the lsb embedding message ratios by constructing equations with the statistics of difference image histogram. experimental results show that this algorithm is more accurate and reliable than the conventional difference image histogram method. it outperforms other powerful steganalysis approaches for embedded ratio greater than 40% and comparable with rs steganalysis technique for shorter hidden message length. keywords: steganography, steganalysis, hidden message extraction 1 introduction steganography is the art of passing information through apparently innocent files in a manner that the very existence of the message is unknown. the term steganography in greek literally means, “covered writing”. the innocent files can be referred to as cover text, cover image, or cover audio as appropriate. after embedding the secret message it is referred to as stego-medium. a stego-key is used to control the hiding process so as to restrict detection and/or recovery of the embedded data. while cryptography is about protecting the content of messages (their meaning), steganography is about hiding the message so that intermediate persons cannot see the message. historically, steganography has been a form of security through obscurity where the security lies in that only sender and receiver know the method in which the message is hidden. this is in violation of kirchoff’s principle, which states that the security should lie in key alone. steganography can be either “linguistic steganography”or “technical steganography”[1]. the ancient techniques that hide messages physically are called as technical steganographic systems. they include microdots, tattoos, invisible inks and semagrams. recent techniques belong to the linguistic steganography. these techniques hide message in the cover images, which are of digital form. steganalysis is the process of detecting the existence of the steganography in a cover medium and rendering it useless. current trend in steganalysis [4] seems to suggest two extreme approaches (a) little or no statistical assumptions about the image under investigation where statistics are learnt using a large database and (b) a parametric model is assumed for the image and its statistics are computed for steganalysis detection. the messages embedded into an image are often imperceptible to human eyes. but there exists some detectable artifacts in the images depending on the steganographic algorithm used [2,5]. the steganalyst uses these artifacts for the detection of the steganography. by far the most popular and frequently used steganographic method is the least significant bit embedding (lsb). it works by embedding message bits as the lsb’s of randomly selected pixels. several techniques for the steganalysis of the images for lsb embedding are present. fridrich and goljan [6,7] proposed lsb steganography dual detection method, named rs method, based on probability statistics in the color or grayscale images. the basic idea is that lsb plane seems random in the typical cover images, but to some extent the other 7 bit planes could predict it. this method is suitable for detection of the non-sequential steganography reliably. pfitzmann and westfeld [8] introduced a method based on statistical analysis of pairs of values (povs) copyright © 2006-2007 by ccc publications 150 sanjay kumar jena, g.v.v. krishna that are exchanged during message embedding this method, which became known as the χ 2 attack, is quite general and can be applied to many embedding paradigms besides the lsb embedding. it provides very reliable results when the message placement for sequential embedding. fridrich et al. [9] developed a steganographic method for detecting lsb embedding in 24-bit color images-the raw quick pairs (rqp) method. the new method is based on analyzing close pairs of colors created by lsb embedding. on the condition that the number of unique colors in the cover image will be less than 30 percent that of the total pixels, it works reasonably well. when the number of unique colors exceeds about 50 percent that of total pixels, the results gradually become unreliable. this frequently happens for high resolution raw scans and images taken with digital cameras stored in an uncompressed format. another disadvantage of the rqp method is that it can’t be applied to grayscale images. there are few papers in the field of the detecting pixels that contain the hidden message. ian davidson and goutam paul [10] proposed the hidden message location problem as outlier detection using probability/energy measures of images. pixels contributing the most to the energy calculations of an image are deemed outliers. though results for grayscale images are quite accurate; they are not as good as for color images. the algorithm can be defeated if the steganography algorithm has knowledge of probability/energy function or if the message is carefully embedded in the high-energy regions of an image. the difference image histogram proposed by t.zhang and x.ping [10] consists of an initial-bias. the proposed algorithm constructs the embedding ratio-estimate equations using the difference image histogram and reduces the initial bias. experimental results show that the novel algorithm is more accurate than the conventional difference image histogram method and other steganalysis techniques. in the following section, we review principle of the difference image histogram method, and then in section 3, describe the improved difference image histogram method (idih) algorithm. sections 4 show the experimental results and conclude this paper in section 5. 2 principles of difference image histogram tao zhang and xijian ping introduced the difference image histogram method, which uses the measure of weak correlation between successive bit planes to construct a classifier for discrimination between stego-images and cover images. considering the property of lsb steganography, the difference image histogram is used as a statistical analysis tool. the difference image is defined as d(i, j) = i(i + 1, j)−i(i, j). (1) where i(i, j) denotes the value of the image i at the position (i, j). t.zhang and x.ping found that there exists difference between the difference image histograms for normal image and the image obtained after flipping operation on the lsb plane. this fact is utilized to realize the steganalysis technique. to explain the details of difference image histogram method (dih), we need to define some notions, let i be the test image, which has m ×n pixels. the embedding ratio p is defined as the percentage of the embedded message length to the maximum capacity. if the difference image histogram of an image is represented by hi, that of the image after flipping all bits in the lsb plane by fi, and that of the image after setting all bits in the lsb plane to zero by gi, there exist the following relationships between hi, fi and gi. h2i = f2i = a2i,2ig2i, h2i+1 = a2i,2i+1g2i + a2i+2,2i+1g2i+2, (2) f2i+1 = a2i,2i−1g2i + a2i+2,2i+3g2i+2 in which a2i,2i+ j is defined as the transition coefficient from the histogram gi to hi. when j = 0, 1,−1 then 0 < a2i,2i+ j < 1, otherwise a2i,2i+ j = 0, and they satisfy a2i,2i−1 + a2i,2i + a2i,2i+1 = 1 (3) blind steganalysis: estimation of hidden message length 151 h2i a2i,2i−1 a2i,2i 2i+1h a2i,2i+1 g2i h2i−1 g2i f 2i+12i−1f f 2i a2i,2i a2i,2i−1a2i,2i+1 figure 1: the transition diagram from gi to hi, fi starting from the approximate symmetry of the difference histogram about i = 0, we first get a0,1 ∼ a0,−1 from the above equations (2) we obtain the following iterative formula for calculating transition coefficients for all positive integers i: a0,1 = a0,−1 = g0 −h0 2g0 , a2i,2i = h2i g2i , (4) a2i,2i−1 = h2i−1 −a2i−2,2i−1g2i−2 g2i , a2i,2i+1 = 1−a2i,2i −a2i,2i−1. assuming the embedded hidden message forms a random bit sequence, for the stego-image with the lsb plane fully embedded (i.e.p = 100%) the lsb plane is independent of the neighboring bit planes. therefore, for such stego-images we have a2i,2i+1 ≈ 0.25, a2i,2i+1 ≈ 0.5, a2i,2i+1 ≈ 0.25. the h2i+1 consists of two parts: a2i,2i+1g2i and a2i+2,2i+1g2i+2. statistical tests show that for natural images these two parts make an approximately equal contribution to h2i+1, that is a2i,2i+1g2i ≈ a2i+2,2i+1g2i+2 (5) if αi = (a2i+2,2i+1)/(a2i,2i+1), βi = (a2i+2,2i+3)/(a2i,2i−1) and γi = g2i/g2i+2 then the statistical hypothesis of the steganalytic method is that for a natural image the following equation should be satisfied: αi ≈ γi (6) while for stego-images with the lsb plane fully embedded αi ≈ 1. (7) the physical quantity αi, can be viewed as the measure of the weak correlation between the lsb plane and its neighboring bit planes. from further experiments they got that for a given i the value of αi, decreases monotonically with the increasing length of embedded secret messages (p) and when the embedding ratio p increases to 100%, αi decreases to 1 approximately.figure-2 shows the functional relation between αi and the embedding ration p when i = 0 for the “lena”image. the relationship between α , and the embedding ratio p will be modeled using a quadratic equation y = ax2 + bx + c. the following four critical points p1 = (0, γi), p2 = (p, αi), p3 = (1, 1), and p4 = 152 sanjay kumar jena, g.v.v. krishna 0 0.5 1 1.5 2 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 1.3 embedded ratio(p) α i (0,γ i ) (p,γ i ) (1,1) (2−p,β i ) α i = 0.0624p2−0.2885p+1.2366 figure 2: the functional relation between αi and p(i = 0) (2− p, β i). now the following equation set is obtained: c = γi, ap2 + bp + c = αi, (8) a + b + c = 1, a(2− p)2 + b(2− p) + c = βi. assume d1 = 1−γi, d2 = αi −γi, d3 = βi −γi, then above equation set (8) can be simplified to 2d1 p 2 + (d3 −4d1 −d2)p + 2d2 = 0 (9) the embedding ratio p can be obtained from the root of above whose absolute value is smaller. if the discriminant is smaller than zero, then p ≈ 1. 3 principles of improved difference image histogram steganalysis the difference image histogram algorithm was primarily based on the statistical hypothesis that for the natural images αi ≈ γi (10) and for a stego-images with the lsb plane fully embedded αi ≈ 1. (11) obviously, the hypotheses given in equations(10) and (11) will affect the precision of the difference image histogram method. once in these hypotheses there exists some initial bias, the estimate value via the equation(9) will not be reliable. when the embedding ratio is low, the bias of these hypotheses will lead the incorrect decision, and if there are no embedding messages in images, the false alarm rate is high. table 1 will show the mean and variance of the γi to α i value. with the increase in i the variance increases and the mean begins to deviate from 1. in some cases the detection lead to an incorrect decision blind steganalysis: estimation of hidden message length 153 i=0 i=1 i=2 i=3 mean 1.0013 1.0034 1.0079 1.0443 variance 7.6e-04 1.4e-03 2.8 e-03 4.9e-03 table 1: statistical data on the ratio of γi to α i for natural images of estimating more than 1% embedding, for the normal images. the figure "proposed" shows the initial value of difference between αi and γi for a lena image and figure "proposed (b)" shows a close look at the αi and γi at p = 0 values. this initial deviation may lead a serious estimate error. the initial-bias in detection of the message in the normal image is affecting the detection of stego-images, as the error present in the normal image will effect the estimation of the hidden message length for stego-image. if the stego-image created with embedded embedding ratio p is denoted as sp, and the image created by flipping all bits in the lsb plane of sp as rp, the value of αi can be calculated for the images sp and rp(note that the value of αi for the images rp is equal to the value of βi for the image sp). moreover, we note that in sp only p/2 of the pixels are flipped by message embedding, while in rp about 1−(p/2) of pixels are flipped. therefore, rp is equivalent to a “stego-image”with “embedding ratio”2− p. so given a stego-image we can calculate the values of αi at p and 2 − p/2, as the value of βi at p is equal to the value of αi at value 2−(p/2). 0 0.5 1 1.5 2 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 embedded message ratio(p) α i γ i α i figure 3: proposed let αi(0) be the initial value of αi and γi(0) be the initial value of γi (i.e. when embedding ratio is zero). the error ‘ε ’be the initial-bias between the γi and αi. so we have ε = γi(0)−αi(0). (12) from the difference image histogram method, γi = g2i/g2i+1 where g is the difference image histogram after setting all bits in lsb plane to zero. the grayscale value of pixels in the image will be even as the lsb are set to zero. when the image is embedded with hidden message using the lsb insertion and then performing the operation of setting all lsb plane bits to zero for the stego-image will result in the values of g2i and g2i+1 unmodified. hence γi(0) = γi ∀ p (13) so the value of error ε will become ε = γi −αi(0). (14) 154 sanjay kumar jena, g.v.v. krishna 0 0.05 0.1 0.15 0.2 0.25 1.21 1.215 1.22 1.225 1.23 1.235 1.24 1.245 1.25 embedded message ratio(p) α i γ i α i figure 4: proposed-(b) the difference image histogram models the relationship between αi and the embedded ratio (p) using a quadratic equation y = ax2 + bx + c. considering the statistical hypotheses given in equation (15) to be correct initially, we can find (p,αi), (1,1), (2 − p,βi) are the three points on the curve y = ax2 + bx + c. now we obtain the following equation set: ap2 + bp + c = αi, a + b + c = 1, (15) a(2− p)2 + b(2− p) + c = βi. assume e1 = 1− p, e2 = 1−αi, e3 = 1−βi and then constant value “c”in equation 4.21 can be simplified to c = 2e21 −2e1e2 −(e2 + e3)(1−e1) 2e21 . (16) the value of ‘c”in equation (15) will give the αi(0) for an image. hence subtracting the error from the estimated ratio p will remove the initial bias in the image. hence the new estimated ratio “pmodi f ied ”will be pmodi f ied = p−ε (17) 4 description of idih algorithm we now describe our detection algorithm input: a set of bmp images for detecting. output: the embedded ratio estimate pmodi f ied for each image. step 1. select one image in the image set; step 2. obtain difference image histogram of the image before (hi) and after flipping the lsb bit planes to “zero”(gi); step 3. do from the step 4 to 8 for each value of i= 0,1,2; step 4. calculate the statistical values for the image i.e αi = (a2i+2,2i+1)/(a2i,2i+1), βi = (a2i+2,2i+3)/(a2i,2i−1) blind steganalysis: estimation of hidden message length 155 and γi = g2i/g2i+2, where the transition co-efficient can be estimated using the following equation a0,1 = a0,−1 = g0 −h0 2g0 , a2i,2i = h2i g2i , a2i,2i−1 = h2i−1 −a2i−2,2i−1g2i−2 g2i , a2i,2i+1 = 1−a2i,2i −a2i,2i−1. step 5. obtain the value of “p” from the root of the below equation whose absolute value is smaller. 2d1 p 2 + (d3 −4d1 −d2)p + 2d2 = 0 where d1 = 1−γi, d2 = αi −γi, d3 = βi −γi; step 6. calculate the value αi(0) which represents the estimation of αi for zero embedded message length using the following equation αi(0) = 2e21 −2e1e2 −(e2 + e3)(1−e1) 2e21 where e1 = 1− p, e2 = 1−αi and e3 = 1−βi; step 7. calculate the initial bias ‘ε ”as ε = γi −αi(0). step 8. subtract the error ‘ε ’from the p to obtain the modified estimation ratio pmodi f ied (i). pmodi f ied (i) = p−ε step 9. the average of pmodi f ied (i) for i= 0,1,2 will give the final embedded ratio pmodi f ied . 5 experimental results we select 150 standard 512 × 512 test images (such as lena, peppers and so on). applying random and sequential lsb replacement to embed the images with the ratio of p= 0, 10%, 20%,. . . , 90%,100% respectively with 10% increments we created two databases. then we have use the rs method [7], dih method [11] and gefr method [12] to estimate the embedding ratio of secret information respectively. the mask used in the rs method is [1,0; 0,1]. the testing results of the test images got by dih method and the proposed method (idih) are shown in table 2. the leftmost column in table 2 is the real embedding ratio, and column “idih”, “dih”represent the estimate embedding ratio got by improve difference image histogram method (proposed method) and difference image histogram method (dih) respectively. it can be seen in table 2 that the estimate precision of idih is higher than dih obviously. figure [4] and [5] shows the corresponding plot of the embedded message length to the mean absolute error of the estimated values for random embedding and sequential embedding. figure [4] indicates that the proposed algorithm (idih) algorithm outperforms the other three steganalysis techniques for embedded ratios greater than 40%. improved difference image histogram algorithm has performance comparable to the rs steganalysis for short messages (when p is smaller than 40%). however, because it is harder to detect smaller messages than large messages, the accuracy of the estimate is far more important for smaller message embedding. the proposed algorithm proves to be effective and reliable when complete range of embedding lengths is considered and compared to the existing algorithms. 156 sanjay kumar jena, g.v.v. krishna embedding random sequential ratio(%) idih dih idih dih 0% 0.3052 1.6855 0.3052 1.6855 10% 14.7804 15.3881 15.6703 16.0368 20% 20.38 20.80 27.98 28.11 30% 20.3764 20.8017 27.9818 28.1124 40% 40.1524 42.9062 44.3258 44.922 50% 48.6793 52.2864 49.7154 48.5228 60% 62.245 63.8 60.5394 56.5979 70% 72.7311 66.67118 69.7919 68.726 80% 84.6388 73.4632 80.8796 72.2582 90% 90.9915 85.8664 84.8516 81.955 100% 98.6088 92.5193 98.6088 92.5193 table 2: comparison between idih and dih 0 10 20 30 40 50 60 70 80 90 100 0 2 4 6 8 10 12 embedded ratio (p) m e a n e rr o r idih dih gefr rs figure 5: comparison with other steganalytic techniques for random lsb embedding in case of sequential embedding (as shown in figure ??), the accuracy is much higher than the case of random embedding for the embedded ratios of greater than 40%. it is having a higher performance to all the other steganalytic techniques for entire range of possible embedding lengths. 6 summary and conclusions this paper proposes a new detection algorithm, which is an improved algorithm to the difference image histogram algorithm and performed tests on a group of raw lossless images. experimental results show that the improved difference image histogram steganalysis method is more accurate and reliable than the conventional difference image histogram method. the proposed algorithm reduces the mean error by 50% for embedding ratios greater than 40% when compared to the dih algorithm. references [1] f.a.p.petitcolas, r.j.anderson and m.g.kuhn, “information hiding-a survey”, proceedings of the ieee, vol.87(7), special issue on protection of multimedia content, june 1999, pp.1062-1018. blind steganalysis: estimation of hidden message length 157 0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 embedde ratio (p) m e a n e rr o r idih dih gefr rs figure 6: comp. with other steganalytic techniques for sequential lsb embedding [2] n.f.johnson and s.jajodia, “steganalysis of images created using current steganography software”, lecture notes in computer science, vol.1525, springer, berlin, april 1998, pp.273-289. [3] n.f.johnson, and s.jajodia, “exploring steganography: seeing the unseen ”, ieee, computer, february 1998, pp. 26-34. [4] r.chandramouli and k.p.subbalakshmi, “current trends in steganalysis: a critical survey ”, international control, automation, robotics and vision conference 2004, volume 2, december 2004, pp.964 967 [5] neil f. johnson and sushil jajodia, “steganalysis: the investigation of hidden information”, ieee information technology conference, september 1998, pp.113-116. [6] j.fridrich, m.goljan and r.du, “detecting lsb steganography in color and grayscale images”, ieee, vol.8(4) multimedia, october-december 2001, pp.22-28. [7] j. fridrich, m. goljan, r. du, “reliable detection of lsb steganography in grayscale and color images”, proceeding of acm, special session on multimedia security and watermarking, ottawa, canada, 2001, pp. 27-30. [8] a.westfeld, a. pittzmann, “attacks on steganographic systems”, information hiding, third international workshop, ih’99, dresden, germany, 29 september-1 october, 1999. [9] j.fridrich, r.du and m.long, “steganalysis of lsb encoding in color images’, in proceedings of icme 2000, july-august 2000. [10] t.zhang and x.ping, “reliable detection of lsb steganography based on the difference image histogram”, ieee international conference on acoustics, speech, and signal processing, volume 3, april 2003, pp.545-548. [11] li zhi and sui ai fen, “detection of random lsb image steganography”, vehicular technology conference ieee 60th , vol.3, september 2004, pp.2113 2117. [12] a.pinet, securengine professional v1.0, 2004, http://securengine.isecu qrelabs.com. [13] cbir image database, university of washington, available at http://www.cs.washington.edu/research/imagedatabse/groundtruth/. 158 sanjay kumar jena, g.v.v. krishna [14] the usc-sipi image database, available at: http://sipi.usc.edu/ser vices/databse/database.html. sanjay kumar jena national institute of technology department ff computer science and engineering rourkela, orissa india, 769008 e-mail: skjena@nitrkl.ac.in g.v.v. krishna national institute of technology department ff computer science and engineering rourkela, orissa india, 769008 e-mail: gvvkrishna@yahoo.co.in received: august 18, 2006 dr. s.k. jena was born in 28 april, 1954. he received his ph.d. from indian institute of technology, bombay and m.tech from indian institute of technology, kharagpur. he has joined national institute of technology as professor in the department of computer science and engineering in 2002. currently he is working as professor and head of computer science and engineering department. he has more than 35 publications in international journals and conferences. his research areas of interest are database engineering, distributed computing, parallel algorithm, information security and data compression. mr. g.v.vamsi.krishna was born in 17 june, 1985. he received his m.tech in computer science & engineering from national institute of technology, rourkela in 2006 and b.tech in computer science & engineering from sarada institute of science, technology and management, hyderabad in 2004. currently he is working as software engineer in ibm india pvt. ltd., bangalore. international journal of computers communications & control issn 1841-9836, 11(2):259-272, april 2016. a multi-objective approach for a multihoming load balancing scheme in whn c. lozano-garzon, m. molina, y. donoso carlos lozano-garzon* universidad de los andes, bogotá, colombia, south america & universitat de girona, girona, spain. *corresponding author: calozanog@ieee.org miguel molina, yezid donoso universidad de los andes bogotá, colombia, south america mf.molina35@uniandes.edu.co, ydonoso@uniandes.edu.co abstract: the telco operators face up to challenges related to the need of ensuring a quality of service to the user in a planning, maintenance and resource allocation in their complex networks. these challenges are directly related with the need to ensure an user’s service with a good level of quality in a highly dynamic environment in terms of changes in the radio access technologies, growth in the number of mobile users, technical requirements of the new services and applications, and the possibility to connect to different networks at the same time, among others. in this paper, we address the problem of the user’s service allocation into the different feasible networks in order to reduce the network overloading. we present a multihoming load balancing scheme that allows the re-allocation of services according to their qos requirements and the availability of network resources. we propose a multi-objective optimization model of this problem together with an evolutionary algorithm to solve it. through simulation in different scenarios, we show that our algorithm is efficient, sensitive, scalable and provides optimal solutions. keywords: heterogeneous networks, load balancing, multihoming, multi-objective optimization, multi-objective evolutionary algorithms, vertical handover. 1 introduction given the continuous advances in network technologies, the growth in the number of mobile users and the increasing demand of the new services and applications, the mobile network operator are confronted with multiple challenges in the planning, maintenance and operation of their complex infrastructure. in many cases, these networks are composed by multiple radio access technologies, which allows to the user the access to different services by using simultaneously one or more their network interfaces. in some cases during the network operation, it is possible that some radio access channels could be overloaded because of a traffic growth caused by the increased of the number of user’s services connected to these channels. therefore, the mobile operators need some mechanisms that allows a balanced distribution of the traffic load over the available networks. note that this process could involve could involve the reallocation of some users. the main goal of this mechanism is the optimal use of the available network resources whilst the technical requirements needs of each service are guaranteed. from the viewpoint of the mobile network operators, one of the most appropriate ways to achieve this goal is that the deployed infrastructure must be capable to perform the user’s reallocation for one network to another, this process is called vertical handover (vho). due to standards such as ieee 802.21 [1] only provide the framework for vho, the decision making copyright © 2006-2016 by ccc publications 260 c. lozano-garzon, m. molina, y. donoso algorithm that allow establish the best connection for each user is an open challenge [2]. in this algorithms, the re-allocation must be based on different metrics obtained from the mobile devices and/or from the performance parameters of the available networks [3]. also, it is important that this network changes process should be transparent for the user. based on the recent advances in the mobile phones, nowadays these devices could establish connections to multiple networks in a simultaneously way, which is referred to as multihoming [4]. this characteristic facilitates a seamless vho process while it is seamless to the user [5] and allows the simultaneous transmission of multiple services across multiple network interfaces [6]. several research projects use the multihoming strategy over a heterogeneous environment in order to achieve a load balancing [4]; [7–9] or to make a better distribution of the bandwidth charge [10,11]. in other studies this strategy was used as a decision tool for the vho process [12–15]. considering the aforementioned problems, we addressed our study about the always best connected (abc) problem in heterogeneous wireless networks (hwn) in [16]. in this work we designed a proactive vertical handover decision algorithm (vho-da) based on user preferences, qos requirements, and network conditions. later in [17], we presents a load balancing optimization scheme; this scheme is composed by one mathematical model and a two-step algorithm based on the anchor-adjustment heuristic. in this paper, we also address the problem of load balancing across heterogeneous networks from the viewpoint of the operator. we present a multi-objective optimization model to solve the traffic load balancing problem into hwn using a multihoming strategy, and an evolutionary algorithm to solve it. the remainder of this paper is structured as follows. in section 2 we introduce the mathematical model that encodes the multi-objective function in order to obtain a global load balancing among hwn. in section 3 the load balancing algorithm based on strength pareto evolutionary algorithm is presented. the experimental results about the performance of our proposal are shown in section 4. finally, concluding remarks and directions for further research are given in section 5. 2 load balancing mathematical model as it was mentioned in [17], the load balancing is an important strategy used by the mobile operators in order to allocate, in a fair way, the available resources in a network. however, this strategy implies, in many cases, the reallocation of mobile devices; therefore, it is necessary to consider the cost of connecting services to the new networks and the energy consumption of the mobile device. considering the above statements and the possibility of the simultaneous use of multiple network interfaces by each mobile device [6], in this section we proposed a multiobjective multihoming mathematical model. 2.1 decision variable by assuming that mobile devices are able to perform multihoming in the network, we define the decision variable x as a binary variable that specify if the service s of the mobile k is connected to the network j or not (see figure 1). the variable is represented as follows: x k,s j = { 1 if the service is connected to the network 0 otherwise a multi-objective approach for a multihoming load balancing scheme in whn 261 figure 1: multihoming cellular system 2.2 objective functions in order to design an efficient load balancing algorithm, the mathematical model is formulated under the premise of achieving an overall load balance in the wireless heterogeneous networks, whilst the connection cost and the energy consumption is also minimized. this function is expressed as: min(α,β,γ), where α represents the load balancing function, β the connection cost function, and γ the energy consumption function. load balancing function the load balancing function (α) is the main function of this model. this function determines the network traffic load by considering the demand of the services of the mobile devices in relation to the theoretical available bandwidth of the network. for this model, the load function is defined as: α = max(αj),∀j ∈ n, where j represents the destination network of the mobile device, n the set of access networks and αj the load of the network j. we calculate αj as the sum of demanded bandwidth (ds) of each connected service (s), for each mobile (k) over the theoretical available bandwidth of the network (bwj) αj = ∑ k ∑ s ds ·x k,s j bwj ,∀j connection cost function the function determines the maximum monetary cost of the mobile devices that are connected to the network. if a mobile device has at least one service connected to the network, its cost is taken into account to access the network. the connection cost function is expressed as: β = max(βj),∀j ∈ n, where j represents the network and βj the maximum cost of connected mobile devices to this network (costj). βj is defined as: βj = ∑ k maxs(costj ·x k,s j ),∀j 262 c. lozano-garzon, m. molina, y. donoso energy consumption function this function determines the energy consumption of the mobile devices that are connected to the network. if a mobile device has at least one service connected to the network, the consumption that generates for being connected to the network is taken into account in our model. we defined the energy function as: γ = max(γj),∀j ∈ n. whilst γj is determined as the maximum consumption that is generated by mobile device k for being connected to the jth network γj = ∑ k maxs{cons(rssk,j) ·x k,s j },∀j finally, in order to guarantee consistency in our model, we consider that when a services s is active in the device, it will generate a traffic demand ds. following the work presented in [18], the values of received signal strength are discretized at three levels: low, medium and high. note that the power consumption is inversely proportional to the received signal strength (rss) and therefore, a high signal level results in a low power consumption by the mobile radio interface through which communication is established. because multiple network interfaces can be used in a multihoming scenario, it is a privilege to be connected to those network which you receive better signals from, i.e. where less energy is consumed for being connected. consumption levels derived from the rss are modeled in the cons(rssk,j) function. cons(rssk,j) =   1 rssk,j > rssth2 2 rssth1 ≤ rssk,j < rssth2 3 0 < rssk,j < rssth1 0 rssk,j = 0 2.3 model constraints through the model constraints, we intend to guarantee the adjustment of this model to the real-life telco networks. in this case, the model only allows the service connection to those networks that are in the coverage area, comply with the cost the user can assume to connect to the network, and offer enough bandwidth to meet the demand of service and an adequate power consumption according to the level of battery charge that the mobile device has. demand constraint the demand constraint states that the service can be only connected to a network that has enough bandwidth to meet its demand. ds ·x k,s j ≤ bwj,∀j cost constraint the cost constraint states that the overall cost to access network j (costj), i.e. the cost to connect any service to network j must be less or equal to the cost incurred by the user in the contract of the mobile device k (costk). costj ·x k,s j ≤ costk,∀k a multi-objective approach for a multihoming load balancing scheme in whn 263 access constraint through the access constraint it is ensured that each service s that is active on the mobile device k is connected to a n network and can only be connected to one network. ∑ j x k,s j = yk,s,∀k,∀s reach constraint this constraint ensures that only networks that exceed the defined signal strength threshold (rssth) are considered in the model assessment. rssk,j ≥ rssth,∀j,∀k power consumption constraint the power consumption constraint ensures that services only can be connected to those networks that offer lower power consumption, according to the current battery level of the mobile device. cons(rssk,j) ·x k,s j ≤ batk,∀j,∀k where batk is defined as: batk =   1 chargek < batth1 2 batth2 ≤ chargek ≤ batth1 3 chargek > batth2 a service s of a mobile device k is considered active when the constraints are satisfied at least for one of the networks; i.e. if the service can be connected to at least one of the networks available for the device. when the service s is active, it consumes the traffic demand in the network that it is connected. 3 multi-objective evolutionary algorithm in order to solve the multi-objective model, several strategies can be used. one of them is to evaluate each objective function in the model separately (mono-objective approach). the weight sum method is one of these strategies. however, it has several disadvantages, including not finding all optimal solutions if the solution set is not convex, and the need to normalize the functions so that no one predominates over the others [7]. for this reason we propose the use of an multi-objective evolutionary algorithm (moea) to find the best set of solutions for all objective functions at the same time. the chosen algorithm is the elitist type evolutionary algorithm spea (strength pareto evolutionary algorithm) proposed by zitzler and thiele [7,19]. the time complexity of this algorithm is upper bounded by o(nm2) in each generation, where m is the population size and n is the number of objectives. 264 c. lozano-garzon, m. molina, y. donoso algorithm 1: spea algorithm pseudo-code 1: generate a random population m 2: while not max number of generation do 3: evaluate population according objective function 4: calculate the fitness of each of the individuals 5: classification population based on fitness (m,m′) 6: generate new population mt+1 7: apply binary tournament selection 8: apply crossover operator 9: mutation operator 10: end while 11: find pareto optimal set. 3.1 chromosome representation as starting point for implementing the evolutionary algorithm it is necessary to define the chromosome, i.e. the data representation of the solutions in the model. in the proposed mathematical model, the solutions can be expressed in a matrix representation (see fig. 3). the rows represent mobile devices and the columns represent services; whilst the cell values represent the network in which the service will be connected, the value of zero is given when the service is not active and it is not connected to any network. node s node i1 node s node i1 node s node i1 node s node i1 ... ... node s node i1 node s node i1 node 1 ... node i2 node i3 node 2 ... node i2 node 3 ... node i2 ... node 4 node i2 node i3 node n-1 node i2 ... node n figure 3: chromosome representation of the solution the decision variables of the mathematical model can be directly obtained from the chromosome, for example if service 2 of the mobile device 3 is connected to network 4, it means that x 3,2 4 = 1 and for the remaining j networks the variable is 0. 3.2 genetic operators the crossover function takes two initial solutions (i.e. chromosomes), called parent solutions, and then created a new one from them. we define a crossover function based on the well-known a multi-objective approach for a multihoming load balancing scheme in whn 265 (a) crossover function (b) mutation function figure 4: genetic operators single-point strategy proposed in [19]. the new solutions are generated by combining the first p rows of the first parent solution with the last k −p rows of parent second parent solution, and vice-versa. the figure 4(a) shows an example of this operator. since the solution of each mobile device in the parent chromosomes meets the constraints of the model, the solutions of the mobile devices that are part of the child solutions also meet the constraints since each mobile device represented in a row conserves its signal strength and battery level conditions as it moves from one chromosome to another. also note that the inactive services are the same in the different solutions so they are conserved. the mutation strategy is based on a random function that takes a mobile device service from its current to a new one as long as the constrains are met, i.e. the network will be connected to a feasible network. the function takes into account only the services that are activated and have more than one feasible network. figure 4(b) shows an example of the mutation strategy. in this case, the service 3 of the mobile 2 is moved from network 3 to network 4 3.3 generation of scenario parameters once the genetic operators are defined, the algorithm starts to generate pseudo-randomly parameters for each mobile. this parameters are the maximum cost that the user can assume to connect to one network (costk), the percentage values and battery charge levels (batk and chargek), the signal strength values that each mobile perceives to each network j (rssk,j), with its corresponding power consumption level parameter (consk,j). when the scenario is created, we proceed to validate all constraints of model for each available network: demand, cost, reach and power consumption. after this validation, we store in a vector the networks that can be used to connect each service of each mobile device or the zero value ([0]) 266 c. lozano-garzon, m. molina, y. donoso if the service cannot be connected to any network. the result is a feasibility matrix (factk,s), this matrix is used to computed a matrix of active services yk,s, where it is defined the probability of use for a mobile service, for each service that can be connected to at least one network. once the active services are defined, a population of m initial solutions and an m′ elite (or external) population are randomly generated from both the feasibility and active services matrix. in our implementation, the value of m and m′ are set to 20 and 4, respectively. 4 experimental results in order to verify the correct operation of the proposed algorithm, we define four different experimental scenarios. for each one of them, we execute 500 iteration of the algorithm with different number of networks, mobile devices and services. 4.1 first experimental scenario the aim of this scenario is to compare the quality of the solution obtained by our algorithm with respect to the optimal solutions obtained by solving each function separately. the optimal solutions were computed using gams system [20]. for this purpose, the scenario is composed by five mobile devices that will connect three services in three different available access networks. tables 1 and 2 describe the parameters of bandwidth, cost, distribution of active services and network coverage for each mobile device. table 1: network parameters network technology theoretical bandwidth (mbps) costj (monetary units) lte 70 80 wifi g 54 0 hspa+ 15 40 table 2: bandwidth demand parameters service voice video web demand (mbps) 0.1 3 0.5 to solve a multi-objective mathematical model through a general optimization software such as gams [20], it is necessary to convert the optimization problem into a single objective one. in this case, each objective function was optimized separately obtaining the solutions shown in table 3. on the other hand the proposed algorithm converges rapidly to a set of 4 optimal solutions; three of them are unique. the results are presented in table 4. based on the feasible solutions obtained, we plot three different graphics in order to identify the pareto-optimal front. these graphics are: load (α) vs. cost (β), cost (β) vs. consumption (γ), and load (α) vs. consumption (γ), as you can see in figure 4:(a). in the load (α) vs. cost (β) graph, the optimal pareto front can be seen, because as the load decreases the cost grows. the cost (β) vs. consumption (γ) graph shows that solutions move in cost values of 80, 120 and 160, and zero-cost solution is quite atypical. finally, in the load (α) vs. consumption (γ) graph can be seen that some optimal solutions are on value 4 and others on power consumption value 7. making a comparison between the two sets of solutions obtained (table 3 and 4), the proposed algorithm found several intermediate solutions belonging to the pareto optimal front. these solutions cannot be found under mono-objective approaches because they are clearly not a linear a multi-objective approach for a multihoming load balancing scheme in whn 267 table 3: mathematical model solutions obtained using gams lte (load) wifi g (load) hspa+ (load) α β γ solution 1 0.086 0.080 0.080 0.086 160 4 solution 2 0 0.213 0 0.213 0 7 solution 3 0.103 0.080 0 0.103 160 4 table 4: solution results for the first study case lte (load) wifi g (load) hspa+ (load) α β γ solution 1 0.051 0.115 0.113 0.115 120 7 solution 2 0.051 0.124 0.080 0.124 80 4 solution 3 0.086 0.080 0.080 0.086 160 4 combination of the objective functions. by looking at the solutions obtained by gams, it is possible to see that the solution 3 is dominated by solution 1, so that the solution 3 is not part of the pareto optimal front. moreover, it is highly improbable that the zero solution cost (found with gams) can be found by our algorithm, because this solution must connect all the services to the same network that goes against the main objective of our proposal. finally, in order to evaluate the quality of the solutions found by the algorithm, a performance metric called spacing was calculated. this metric, as its name implies, analyze the distribution of the solutions in a pareto front. s = √√√√ 1 |q| · |q|∑ i=1 (di −d)2 where: di = mink∈q∧k∧≠i m∑ m=1 |fim −f k m| d = |q|∑ i=1 di |q| it is important to note that di are the distance measure, d is the mean value of the above distance measure, and fkm is the mth objective function value of the kth member of the population [7]. for our implementation the value of s obtained was 21.505. this value was influenced in a strongest way by the difference in the cost values. 4.2 second experimental scenario we proceed to perform of the algorithm with the same external and elite population size m = 20, m′ = 4; but changing to 20 mobile devices, 5 services for each device, and 7 access networks. this scenario was randomly generated according to the characteristics presented in table 5 and 6. the feasible solutions obtained are presented in table 7. the solutions obtained show that the services present a tendency to be allocated into the networks with the highest capacity restricted only by the cost that each mobile could pay. the 268 c. lozano-garzon, m. molina, y. donoso table 5: network parameters network technology lte wifi n wifi g wimax hspa+ hsdpa umts theoretical bandwidth (mbps) 70 300 54 15 15 2 0.3 costj (monetary units) 80 0 0 60 40 20 10 table 6: bandwidth demand of services for second study case service voice video web game chat demand (mbps) 0.1 3 0.5 2 0.2 table 7: network parameters lte wifi n wifi g wimax hspa+ hsdpa umts α β γ solution 1 0.057 0.205 0.652 0.527 0.447 0.4 0.667 0.667 160 29 solution 2 0.086 0.205 0.585 0.587 0.493 0.467 0.587 0.587 240 27 solutions obtained by our algorithm show that if the model constrains are met, then the algorithm trends to allocate the mobile services in those networks with the highest capacity and low cost in addition, we plot three same graphics as the previous scenario (see figure 5:(a)). in the first two graphs it is observed the optimal pareto fronts. these first two graphs shows that in order to achieve a better load distribution across networks and to reach a lower power consumption of mobile devices, the services should be grouped into the higher-cost networks. however, it can be said that the load variations are little in comparison with the cost difference that can be obtained; so that the operator may prefer the solution which means lower cost. the value of the spacing metric (s) was 35.542, despite having three repeated solutions. the difference in the values of cost and load shows that the solutions are not equally distant. 4.3 third experimental scenario for this scenario, we only change the number of mobile devices to 500 in comparison with the latest scenario. the solutions obtained are shown in table 8. based on the achieved solutions for this scenario we can assert that our algorithm present a good grade of sensitivity. we can observe that small changes in the main parameters are reflected in the services allocation, which mean changes in the set of optimal solutions. in figure 6:(a) you can see, well defined, the optimal pareto fronts in the first two graphs. this scenario also shows how small changes in load balancing produce appreciable changes in the cost function. the value of s for this scenario was 30.168, again due to the wide differences in cost values. 4.4 fourth experimental scenario in this last scenario we increased the number of mobile devices to 10000 in order to validate the scalability of the algorithm. the other scenario parameters are kept as the scenario 2. the feasible solutions are shown in table 9. figure 6:(b) shows the optimal solutions found by our algorithm. it is possible to see that solutions trend to maintain the the same power consumption in both graphs, cost (β) vs. consumption (γ) and load (α) vs. consumption (γ). the s metric value was 1.0, so that the solutions are fairly well spaced, being an unique solutions. the algorithm is fully adaptable to any situation within the proposed mathematical model designed. a multi-objective approach for a multihoming load balancing scheme in whn 269 (a) first study case (b) second study case figure 5: 2d perspectives of solution distribution table 8: solution results for the third study case solution 1 solution 2 solution 3 solution 4 lte 1.531 1.517 1.544 1.544 wifi n 3.161 3.163 3.153 3.165 wifi g 18.113 18.219 18.302 18.237 wimax 16.62 16.58 16.533 16.547 hspa+ 27.247 26.947 26.747 26.747 hsdpa 48.6 48.467 48.6 48.533 umts 64.667 64.667 65.333 65 α 64.667 64.667 65.333 65 β 7560 7500 7440 7440 γ 732 734 732 733 after running the algorithm on this scenario, we prove that the algorithm maintains its characteristics of high sensitivity in the searching for optimal solutions regardless of the number of mobile devices on the problem. that means our algorithm is scalable. 270 c. lozano-garzon, m. molina, y. donoso table 9: solution results for the fourth study case solution 1 solution 2 solution 3 solution 4 lte 30.46 30.26 30.263 30.463 wifi n 65.56 65.63 65.62 65.57 wifi g 358.61 358.64 358.61 358.55 wimax 329.43 328.86 328.69 329.6 hspa+ 537.59 537.41 537.79 537.34 hsdpa 934.93 936.67 937.13 934.53 umts 1730 1730.33 1729 1731.33 α 1730 1730.33 1729 1731.33 β 152760 152520 152600 152680 γ 15024 15027 15027 15022 (a) first study case (b) fourth study case figure 6: 2d perspectives of solution distribution a multi-objective approach for a multihoming load balancing scheme in whn 271 5 conclusions and future work we have presented a multihoming load balancing model in heterogeneous wireless networks based on a multi-objective approach. in this model we take as objective functions the network load, connection cost, and energy consumption; with the aim of performing an efficient use of the capacity resources in the available networks. based on this model it was designed a vertical handover algorithm (vho) using evolutionary algorithms, specifically the strength pareto evolutionary algorithm (spea). through the proposed environments we validate the correct operation of our algorithm; in the first scenario we validate the exactitude of the feasible solutions obtained by our algorithm in comparison to the solutions of the mathematical model using gams. in the other scenarios, we validate the sensibility and scalability of our evolutionary algorithm. the results obtained by our proposal were satisfactory and provided a starting point for the mobile network operator to run a vho processes in their networks. with this process they could get an efficient use of their network resources, reduce the connection costs, and extend the battery life of mobile devices. due to we proposes a multi-objective optimization algorithm, the model is opens up to incorporate additional parameters as objective functions; these parameters could be obtained from both the available access networks and the mobile devices. as future work we propose to continue this research, we want to introduce the concept of fairness in the load balance optimization and also include the concept of quality of experience (qoe) in the objective functions. 6 acknowledgment the authors would like to thank to administrative department of science, technology and innovation (colciencias) for the financial support to carlos lozano-garzon through the 528 2011 national call for doctoral studies in colombia bibliography [1] ieee computer society (2008); ieee 802.21: media independent handover services, ieee-sa standards board available at https://standards.ieee.org/getieee802/download/802.21-2008.pdf. [2] yan, x.; şekercioğlu, y. a.; narayanan, s. (2010); an overview of vertical handover techniques: algorithms, protocols and tools, comput. netw., issn 1389-1286, 54(11):1848-1863. [3] marquez-barja, j.; calafate, c.t.; cano, j.c.; manzoni, p. (2011); a survey of vertical handover decision algorithms in fourth generation heterogeneous wireless networks, computer communications, issn 0140-3664, 34(8):985-997. [4] sousa, b.m.; pentikousis, k.; curado, m. (2011); multihoming management for future networks, mob. netw. appl., issn 1383-469x, 16(4):505-517. [5] paasch, c.; detal, g.; duchene, f.; raiciu, c.; bonaventure, o. (2012); exploring mobile/wifi handover with multipath tcp, proceedings of the 2012 acm sigcomm workshop on cellular networks: operations, challenges, and future design, new york, ny, usa: acm, 31-36 (available at http://doi.acm.org/10.1145/2342468.2342476). [6] hyun-dong, c.; hyunjung, k.; seung-joon, s. (2013); flow based 3g/wlan vertical handover scheme using mih model, 2013 international conference on information networking (icoin), 658-663. 272 c. lozano-garzon, m. molina, y. donoso [7] donoso, y.; fabregat, r. (2007); multi-objective optimization in computer networks using metaheuristics, auerbach publications, boston, ma, usa. [8] capela, n.; sargento, s. (2012); optimizing network performance with multihoming and network coding, 2012 ieee globecom workshops (gc wkshps), pp. 210-215. [9] yang, r.; chang, y.; sun, j.; yang, d. (2012); traffic split scheme based on common radio resource management in an integrated lte and hsdpa networks, 2012 ieee vehicular technology conference (vtc fall), 1-5. [10] sungwook, k.; varshney, p.k. (2002); an adaptive bandwidth reservation algorithm for qos sensitive multimedia cellular networks, 2002 ieee vehicular technology conference (vtc fall), 1475-1479. [11] sungwook, k.; varshney, p.k. (2003); adaptive load balancing with preemption for multimedia cellular networks, 2003 ieee wireless communications and networking (wcnc), 1680-1684. [12] li, m.; fei, y.; leung, v.; randhawa, t. (2003); a new method to support umts/wlan vertical handover using sctp, 2002 ieee vehicular technology conference (vtc fall), 1788-1792. [13] bin, l.; boukhatem, n.; martins, p.; bertin, p. (2010); multihoming at layer-2 for interrat handover, 2010 ieee international symposium on personal indoor and mobile radio communications (pimrc), 1173-1178. [14] eun, k.p.; si, y.h.; hanlim, k.; jong-sam, j.; seong-choon, l.; sang-hong, l. (2008); seamless vertical handover using multihomed mobile access point, ieee global telecommunications conference, 2008 (ieee globecom 2008), 1-4. [15] folstad, e.l.; helvik, b.e. (2009); managing availability in wireless inter domain access, international conference on ultra modern telecommunications workshops, 2009. (icumt ’09), pp. 1-6. [16] lozano-garzon, c.; ortiz-gonzalez, n.; donoso, y. (2013); mobile network a proactive vhd algorithm in heterogeneous wireless networks for critical services, international journal of computers, communications & control, issn 1841-9836, 8(3):425-431. [17] donoso, y.; lozano-garzon, c.; camelo, m.; vila, p. (2014); a fairness load balancing algorithm in heterogeneous wireless networks using a multihoming strategy, international journal of computers, communications & control, issn 1841-9836, 9(5):555-569. [18] mittal, r.; kansal, a.; chandra, r. (2012); empowering developers to estimate app energy consumption, proceedings of the 18th annual international conference on mobile computing and networking, 317-328. [19] deb, k. (2001); multi-objective optimization using evolutionary algorithms, john wiley & sons, inc., new york, ny, usa. [20] rosenthal, r. e. (2015); gams a user’s guide, gams development corporation., available at http://www.gams.com/dd/docs/bigdocs/gamsusersguide.pdf. ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 253-262 mutation based testing of p systems florentin ipate, marian gheorghe florentin ipate the university of pitesti department of computer science, faculty of mathematics and computer science str targu din vale 1, 110040 pitesti e-mail: florentin.ipate@ifsoft.ro marian gheorghe the university of sheffield department of computer science regent court, portobello street, sheffield s1 4dp, uk e-mail: m.gheorghe@dcs.shef.ac.uk received: april 5, 2009 accepted: may 30, 2009 abstract: although testing is an essential part of software development, until recently, p system testing has been completely neglected. mutation testing (mutation analysis) is a structural software testing method which involves modifying the program in small ways. in this paper, we provide a formal way of generating mutants for systems specified by context-free grammars. furthermore, the paper shows how the proposed method can be used to construct mutants for a p system specification. keywords: mutation testing, p systems, kripke structures, context-free grammars 1 introduction membrane computing, the research field initiated by gheorghe păun in 1998 [12], aims to define computational models, called p systems, which are inspired by the behaviour and structure of the living cell. since its introduction in 1998, the p system model has been intensively studied and developed: many variants of membrane systems have been proposed, a research monograph [13] has been published and regular collective volumes are annually edited. furthermore, a comprehensive bibliography of p systems can be found at [16]. of the many variants of p systems that have been defined, in this paper we consider cell-like p systems without priority and membrane dissolving rules [13]. testing is an essential part of software development and all software applications, irrespective of their use and purpose, are tested before being released. testing is not a replacement for a formal verification procedure, when the former is also present, but rather a complementary mechanism to increase the confidence in software correctness [5]. although formal verification has been applied to different models based on p systems [1], until recently testing has been completely neglected in this context. the main testing strategies involve either (1) knowing the specific function or behaviour a product is meant to deliver (functional or black-box testing) or (2) knowing the internal structure of the product (structural or white-box testing). in black-box testing, the test generation is based on a formal specification or model, in which case the process could be automated. a number of recent papers devise black-box testing strategies for p systems based on rule coverage [4], finite state machine [8] and stream x-machine [7] conformance techniques. in this paper, we propose an approach to p system testing based on mutation analysis. mutation testing (mutation analysis) is a structural software testing method which involves modifying the program in small ways [14], [9]. the modified versions of the program are called mutants. copyright c© 2006-2009 by ccc publications 254 florentin ipate, marian gheorghe consider, for example, the following fragment of a java program: if (x ≥ &&a) y = y + ; else y = y + ; then mutants for this code fragment can be obtained by substituting: (i) && with another logic operator, e.g., ||; (ii) ≥ with another comparison operator, e.g., >, =; (iii) + with another arithmetic operators, e.g., −; (iv) substituting one variable (e.g., x) with another one, e.g., y (we assume that the two variables have the same type). some (not all) mutants of the above code fragment are given below. if (x ≥ ||a) y = y + ; else y = y + ; if (x > &&a) y = y + ; else y = y + ; if (x ≥ &&a) y = y − ; else y = y + ; if (x ≥ &&a) y = y + ; else y = y − ; if (x ≥ &&a) x = y + ; else y = y + ; if (x ≥ &&a) y = y + ; else x = y + ; a variety of mutation operators (ways of introducing errors into the correct code) for imperative languages are defined in the literature [9], [10] (a few examples are given above). these are called traditional mutation operators. beside these, there are mutation operators for specialised programming environments, such as object-oriented languages [10]. a popular tool for generating mutants for java programs is mujava [15], [10]. the underlying idea behind mutation testing is that, in practice, an erroneous program either differs only in a small way from the correct program or, alternatively, a bigger fault can be expressed as the summation of smaller (basic) faults and so, in order to detect the fault, the appropriate mutants need to be generated. if the test suite is able to detect the fault (i.e., one of the tests fails), then the mutant is said to be killed. two kinds of mutation have been defined in the literature: weak mutation requires the test input to cause different program states for the mutant and the original program; strong mutation requires the same condition but also the erroneous state to be propagated at the end of the program. mutation analysis has been largely used in white-box testing, but only a few tentative attempts to use this idea in black-box testing have been reported in the literature [11]. offutt et al. propose a general strategy for developing mutation operators for a grammar based software artefact, but the ideas that outline the proposed strategy for mutation operator development are rather vague and general and no formalisation is provided. in this paper we provide a formal way of generating mutants for systems specified by context-free grammars. given such a specification, a derivation (or parse) tree can be associated with it. based on the tree, we formally describe the process of generating the mutants for the given specification. furthermore, the paper shows how the proposed method can be used to construct mutants for a p system specification. 2 preliminaries for an alphabet v = {a, ..., ap}, v ∗ denotes the set of all strings over v ; λ denotes the empty string. for a string u ∈ v ∗, |u|ai denotes the number of ai occurrences in u. each string u has an associated vector of non-negative integers (|u|a , ..., |u|ap ). this is denoted by ψv (u). the concept of context-free grammar is assumed to be known, for details we refer to a classical textbook [6]. only proper context-free grammar, i.e., with no useless symbols and no λ or renaming productions, will be used in this paper. for any derivation from the start symbol to a string of terminal symbols, w, a derivation (or parse) tree with the yield, the string of terminals obtained by concatening the leaves from left to right, w, is associated. the set of terminal strings derived from the start symbol mutation based testing of p systems 255 is called the language generated by the language. a grammar is said to be ambiguous if there exists a string and in any leftmost derivation (always the leftmost nonterminal is rewritten) this can be generated by more than one derivation (parse) tree. in the sequel possibly ambiguous grammars will be considered. 2.1 p systems a basic cell-like p system is defined as a hierarchical arrangement of membranes identifying corresponding regions of the system. with each region there are associated a finite multiset of objects and a finite set of rules; both may be empty. a multiset is either denoted by a string u ∈ v ∗, where the order is not considered, or by ψv (u). the following definition refers to one of the many variants of p systems, namely cell-like p systems, which uses non-cooperative transformation and communication rules [13]. we will call these processing rules. since now onwards we will refer to this model as simply p system. definition 1. a p system is a tuple π = (v, µ, w, ..., wn, r, ..., rn), where v is a finite set, called alphabet; µ defines the membrane structure, which is a hierarchical arrangement of n compartments called regions delimited by membranes these membranes and regions are identified by integers 1 to n; wi,  ≤ i ≤ n, represents the initial multiset occurring in region i; ri,  ≤ i ≤ n, denotes the set of processing rules applied in region i. the membrane structure, µ , is denoted by a string of left and right brackets ([, and ]), each with the label of the membrane it points to; µ also describes the position of each membrane in the hierarchy. the rules in each region have the form u → (a,t)...(am,tm), where u is a multiset of symbols from v , ai ∈ v , ti ∈ {in, out, here},  ≤ i ≤ m. when such a rule is applied to a multiset u in the current region, u is replaced by the symbols ai with ti = here; symbols ai with ti = out are sent to the outer region or outside the system when the current region is the external compartment and symbols ai with ti = in are sent into one of the regions contained in the current one, arbitrarily chosen. in the following definitions and examples all the symbols (ai, here) are used as ai. the rules are applied in maximally parallel mode which means that they are used in all the regions in the same time and in each region all the symbols that may be processed, must be. a configuration of the p system π , is a tuple c = (u, ..., un), where ui ∈ v ∗, is the multiset associated with region i,  ≤ i ≤ n. a derivation of a configuration c to c using the maximal parallelism mode is denoted by c =⇒ c. in the set of all configurations we will distinguish terminal configurations; c = (u, ..., un) is a terminal configuration if there is no region i such that ui can be further derived. for the type of p systems we investigate in this paper, multi-membranes can be equivalently collapsed into one membrane through properly renaming symbols in a membrane. thus, for the sake of convenience, subsequently we will only focus on p systems with only one membrane. 2.2 kripke structures definition 2. a kripke structure over a set of atomic propositions ap is a four tuple m = (s, h, i, l), where s is a finite set of states; i ⊆ s is a set of initial states; h ⊆ s × s is a transition relation that must be left-total, that is, for every state s ∈ s there is a state s′ ∈ s such that (s, s′) ∈ h; l : s −→ ap is an interpretation function, that labels each state with the set of atomic propositions true in that state. usually, the kripke structure representation of a system results by giving values to every variable in each configuration of the system. suppose var, . . . , varn are the system variables, vali denotes the set of values for vari and vali is a value from vali,  ≤ i ≤ n. then the states of the system are s = {(val, . . . , valn) | val ∈ val, . . . , valn ∈ valn}, and the set of atomic predicates are ap = {(vari = vali) |  ≤ i ≤ n, val ∈ vali}. naturally, l will map each state (given by the values of variables) onto the corresponding set of atomic propositions. additionally, a halt (sink) state is needed when h is not lefttotal and an extra atomic proposition, that indicates that the system has reached this state, is added to ap. for convenience, in the sequel ap and l will be omitted from the definition of a kripke structure. 256 florentin ipate, marian gheorghe 3 mutation testing from a context-free grammar in this section we provide a way of constructing mutants for systems specified by context-free grammars. given the system specification, in the form of a parse tree, we formally describe the generation of mutants for the given specification. consider a context-free grammar g = (v, t, p, s) and l(g) the language defined by g. we assume that, for every production rule p : a −→ x . . . xk, we have defined a set mut(p), called the set of mutants of p. a mutant p′ of p is a production rule of the form a −→ x ′ . . . x ′ n such that each symbol x ′ , . . . , x ′ n is either a terminal or is found among x, . . . , xk. furthermore, p ′ is either a production rule of g itself or has the form a −→ a, a ∈ v ; this condition ensures that the yield of the mutated tree is syntactically correct. among the mutants of p, the following types of mutants can be distinguished: • a terminal replacement mutant is a production rule of the form a −→ x ′ . . . x ′ k if there exists j,  ≤ j ≤ k, such that x j, x ′ j ∈ t , x j 6= x ′ j and x ′ i = xi,  ≤ i ≤ n, i 6= j. • a terminal insertion mutant is a production rule of the form a −→ w where w is obtained by inserting one terminal into the string x . . . xk (at any position). • a string deletion mutant is a production rule of the form a −→ w where w is obtained by removing one or more symbols from x . . . xk. • a string reordering mutant is a production rule of the form a −→ w where w is obtained by reordering the string x . . . xk. given any parse tree tr for g, the set of mutants of tr is defined as follows: • a one-node tree has no mutants. • let tr be the tree with root a and subtrees tr, . . . , trk having roots, nodes x, . . . , xk, respectively and p ∈ p the corresponding production rule of g, of the form a −→ x . . . xk. this is denoted by tr = maketree(a, tr, . . . , trk). let tr ′ denote a mutant of tr. then either – (subtree mutation) tr ′ = maketree(a, tr ′, . . . , tr ′ k ), where there exists j,  ≤ j ≤ k, such that tr ′j is mutant of tr j and tr ′ i = tri,  ≤ i ≤ k, i 6= j, or – (rule mutation) tr ′ = maketree(a, tr ′, . . . , tr ′ n), where there exists a mutant p ′ of p of the form a −→ x ′ . . . x ′ n such that for every i,  ≤ i ≤ n, there exists ji,  ≤ ji ≤ k, such that tr ′i = tr ji . according to [11] these operations can be made such as to keep the result produced by them in the same language or in a larger one. in the first case a much simpler approach can be considered whereby each rule having a certain nonterminal in the left hand side is replaced by another different rule having the same nonterminal as left hand side. however the above set of operations provide a two stage method which generates mutants by considering first the rule level and then the derivation (parse) tree. if these operations are restricted to produce strings in the same language then we have the following result. lemma 3. every mutant of a parse tree from g is also a parse tree from g. proof. follows by induction on the depth of the tree. thus, the yield of any mutant constructed as above belongs to the language described by g and so only syntactically correct mutants will be generated. syntactically incorrect mutants are useless (they do not produce test data) and so the complexity of the testing process is reduced by making sure that these are ruled out from the outset. mutation based testing of p systems 257 let us consider the grammar g = (v, t, p, s) where v = {s}; t = {, . . . , n} ∪ {+, −}, with n a fixed upper bound; p = {p, p}∪{p i  |  ≤ i ≤ n}, with p : s −→ s + s, p : s −→ s − s, p i  : s −→ i,  ≤ i ≤ n. suppose we have the following rule mutants: • for p : s −→ s − s (terminal replacement), s −→ s (string deletion) • for p : s −→ s + s (terminal replacement), s −→ s (string deletion) • for pi : s −→ i −  and s −→ i +  if  < i < n, s −→  if i =  and s −→ n −  if i = n. the mutants of pi are of terminal replacement type and are based on a technique widely used in software testing practice, called boundary value analysis. according to practical experience, many errors tend to lurk close to boundaries; thus, an efficient way to uncover faults is to look at the neighbouring values consider the string  +  −  and a parse tree for this string as represented in figure 1 (leaf nodes are in bold). the construction of mutants for the given parse tree is illustrated in figures 2, 3 and 4. thus, the mutated strings are  +  − ,  +  − ,  +  − ,  +  − ,  − ,  − ,  +  − ,  +  − ,  +  + ,  −  − ,  + , . some of these produce the same result as the original string; these are called equivalent mutants. since no input value can distinguish these mutants from the correct string, they will not affect the test suite when strong mutation is considered. s + s s 3 1 2 s s figure 1: example parse tree 4 p system mutation testing consider a 1-membrane p system π = (v, µ, w, r), where r = {r, . . . , rm}; each rule ri,  ≤ i ≤ m, is of the form ui −→ vi, where ui and vi are multisets over the alphabet v . in the sequel, we treat the multisets as vectors of non-negative integers, that is each multiset u is replaced by ψv (u) ∈ nnn k, where k denotes the number of symbols in v . in order to keep the number of configurations finite we will assume that each component of a configuration u cannot exceed an established upper bound denoted max. we denote u ≤ max if ui ≤ max for every  ≤ i ≤ k and n k max = {u ∈ nnn k | u ≤ max}. analogously to [3], the system is assumed to crash whenever u ≤ max does not hold (this is different from the normal termination, which occurs when u ≤ max and no rule can be applied). under these conditions, the 1-membrane p system π can be described by a kripke structure. in order to define the kripke structure equivalent of π we use two predicates, maxparal and apply, defined by: 258 florentin ipate, marian gheorghe s 1 s 2 s 3 tree 1 st level mutants s 0 s 1 s 2 s 2 s 3 s 4 figure 2: 1st level mutants maxparal(u, u, v, n, . . . , um, vm, nm), u ∈ n k max, n, . . . , nm ∈ nnn signifies that a derivation of the configuration u in maximally parallel mode is obtained by applying rules r : u −→ v, . . . , rm : um −→ vm, n, . . . , nm times, respectively; apply(u, v, u, v, n, . . . , um, vm, nm), u ∈ n k max, n, . . . , nm ∈ nnn, denotes that v is the result of applying rules r, . . . , rm, n, . . . , nm times, respectively. then the kripke structure equivalent m = (s, h, i, l) of π is defined as follows: s = nkmax ∪{halt,crash} with halt,crash /∈ nkmax, halt 6= crash; i = w; h is defined by: • (u, v) ∈ h, u, v ∈ nkmax, if ∃n, . . . , nm ∈ nnn · maxparal(u, u, v, n, . . . , um, vm, nm) ∧ apply(u, v, u, v, n, . . . , um, cm, nm); • (u, halt) ∈ h, u ∈ nkmax, if ¬∃v ∈ n k max, n, . . . , nm ∈ nnn· apply(u, v, u, v, n, . . . , um, vm, nm); • (u,crash) ∈ h if ¬∃v ∈ nkmax ∪ {halt} · (u, v) ∈ h; • (halt, halt) ∈ h, (crash,crash) ∈ h. it can be observed that the relation h is left-total. in order to use mutation analysis in p system testing we first have to describe an appropriate contextfree grammar, such that the p system specification can be written as a string accepted by this grammar. the parse tree for the string is then generated and the procedure presented in the previous section is used for mutant construction. the grammar definition will depend on the level at which testing is intended to be performed. at a high level (for instance in integration testing) the predicates maxparal and apply will normally be assumed to be correctly implemented and so they will be presented as terminals in the grammar; obviously, they can be themselves described by context-free grammars and appropriate mutants will be generated in a similar fashion. on the other hand, it is possible to incorporate the definitions of the two predicates mutation based testing of p systems 259 s s + s 1 2 tree 2 nd level mutants s s + s 0 2 s s + s 2 2 s s + s 0 1 s s + s 2 3 s s + s 1 2 s s 1 s s 2 figure 3: 2nd level mutants into the definition of the transition relation h; in this case the corresponding grammar will be much more complex and system testing will be performed in one single step. the following (simplified) example illustrates the above strategy for high-level testing of p systems. example 4. consider a 1-membrane p systems with 2 rules r : u −→ v, r : u −→ v. then the transition of the kripke structure representation of π is given by the formulae: • (u, v) ∈ h, u, v ∈ nmax, if ∃n, n ∈ n · maxparal(u, u, v, n, u, v, n) ∧ apply(u, v, u, v, n, u, c, n); • (u, halt) ∈ h, u ∈ nmax, if ¬∃v ∈ n  max, n, n ∈ nnn· apply(u, v, u, v, n, u, v, n); • (u,crash) ∈ h if ¬∃v ∈ nmax ∪ {halt} · (u, v) ∈ h; • (halt, halt) ∈ h, (crash,crash) ∈ h; then such a system can be described by a context-free grammar g = (v, t, p, s) where v = {s, s, s,u,v,u,v,u,v}; t contains (bounded) vectors from nnn , the additional states halt and 260 florentin ipate, marian gheorghe s s 3 left tree mutant s + s 1 2 s s right tree mutant s + s s 3 1 2 + s s s s 3s + s 1 2 s s 3 rd level mutants of the original tree figure 4: 3rd level mutants crash, predicates maxparal and apply, the "true" logical value, logical operators, quantifiers and other symbols, i.e., t = nmax ∪ {halt,crash, maxparal, apply,true, ∧, , ∨, ¬,∃,∀, n, n,·, (, )}. the set of production rules consists of: p : s −→ ¬s; p : s −→ s ∧ s; p : s −→ s ∨ s; p : s −→ true; p : s −→ ∃n · s; p : s −→ ∃n · s; p : s −→ s ∧ s; p : s −→ apply(u,v,u,v, n,u,v, n); p : s −→ maxparal(u,u,v, n,u,v, n); rules that transform nonterminals u,u,v,u,v into vectors from nnn. the following mutants can be defined for the rules p to p: p ′  : s −→ s; p ′  : s −→ s ∨s, p ′′  : s −→ s; p′ : s −→ s ∧ s, p ′′  : s −→ s; p ′  : s −→ ¬true; p ′  : s −→ ∀n ·s; p ′  : s −→ ∀n ·s. p ′  : s −→ s ∨ s, p′′ : s −→ s. for p mutants can be defined by negating de predicate, changing parameters such that the obtained formula is syntactically correct, e.g., switch u and u. similarly, mutants for p are obtained by negating de predicate, changing parameters such that the obtained formula is syntactically correct. for the remaining rules mutants are generated by adding  to or subtracting  from each integer value. mutation based testing of p systems 261 5 conclusions in many applications based on formal specification methods the test sets are generated directly from the formal models. the same applies to formal models based on grammars. however the approach presented in [11], although novel and with many practical consequences, lacks a rigorous method of defining the process of generating the mutants. in this paper a formal method is introduced to rigorously define operations with rules and subtrees of derivation trees for context-free grammar formalisms. this is then extended to p systems and some examples are provided to illustrate the approach. in this paper, the mutation operators are applied to the kripke structure equivalent of the p system rather than to the p system itself. the advantage of this approach is that test values can be simply generated using a model checking tool (these are the counterexamples returned by the tool). future work may investigate the application of the mutation operators directly to the p system and the associated test generation process. acknowledgment. this work is supported by the cncsis grant idei 643/2009 (evomt). the authors are grateful to reviewers for their comments. bibliography [1] f. bernardini, m. gheorghe, j. j. romero-campero, n. walkinshaw, a hybrid approach to modelling biological systems, workshop on membrane computing 2007, lecture notes in computer science, vol. 4860, pp. 138–159, 2007. [2] g. ciobanu, gh. păun, m. j. pérez-jiménez (eds.), applications od membrane computing, springer, 2006. [3] z. dang, o. h. ibarra, c. li, g. xie, on the decidability of model-checking for p systems, journal of automata, languages and combinatorics, vol. 11, pp. 279–298, 2006. [4] m. gheorghe, f. ipate, on testing p systems, workshop on membrane computing, lecture notes in computer science, vol. 5391, pp. 204–216, 2008. [5] m. holcombe, f. ipate, correct systems: building a business process solution, springer, 1998. [6] j. e. hopcroft, r. motwani, j. d. ullman, introduction to automata theory, languages, and computation (2nd edition), addison-wesley, 2001. [7] f. ipate, m. gheorghe, testing non-determinstic stream x-machine model and p systems, electronic notes in theoretical computer science, vol. 227, pp. 113–126, 2009. [8] f. ipate, m. gheorghe, finite state based testing of p systems, natural computing, to appear, 2009. [9] j. offutt, a practical system for mutation testing: help for the common programmer, international test conference, pp. 824–830, 1994. [10] y.-s. ma, j. offutt, y. r. kwon, mujava: an automated class mutation system, software testing, verification and reliability, vol. 15, pp. 97–133, 2005. [11] j. offutt, p. ammann, g. mason, l. (ling) liu, mutation testing implements grammar-based testing, proceedings of the second workshop on mutation analysis, 2006. [12] gh. păun, computing with membranes, journal of computer and system sciences, vol. 61, pp. 108–143, 2000. [13] gh. păun, membrane computing: an introduction, springer-verlag, berlin, 2002. 262 florentin ipate, marian gheorghe [14] http://en.wikipedia.org/wiki/mutation_testing [15] http://cs.gmu.edu/ offutt/mujava/ [16] http://ppage.psystems.eu florentin ipate was born on 4th december 1967 in constanta. fi holds a phd and msc degrees with the university of sheffield and a bsc with politehnica university of bucharest, all in computer science. he is now a professor of computer science and phd supervisor with the university of pitesti. he has been awarded in hoc signo vinces prize for research and publications, by the national research council for higher education, romania, 2002 and copyro publishing prize for computer science, romania, 2000. fi’s research interests are in specification and model based testing, formal specification languages for software systems, agile modelling and testing, modelling and testing biology-inspired computing systems. his main research results have been published in a research monograph with springer and in high profile journals. marian gheorghe was born on 2nd february 1953 in bucharest. mg holds a phd and a bsc with the university of bucharest. he is now senior lecturer with the university of sheffield and head of the verification and testing group. mg’s research interests are in formal computational models, verification and testing, modelling biological systems, agent technologies, artificial life, empirical software engineering. he has published in important international journals and is featured in the main computer science publications database, dblp, with around 60 items. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 374-385 an immuno-genetic hybrid algorithm e. nabil, a. badr, i. farag emad nabil misr university for science and technology,information technology faculty, computer science department. e-mail: emadnabilcs@gmail.com amr badr, ibrahim farag cairo university,computers and information faculty, computer science department. 5 dr. ahmed zewail street, postal code: 12613, orman, giza, egypt e-mail: ruaab@rusys.eg.net, i.farag@fci-cu.edu.eg abstract: the construction of artificial systems by drawing inspiration from natural systems is not a new idea. the artificial neural network (ann) and genetic algorithms (gas) are good examples of successful applications of the biological metaphor to the solution of computational problems. the study of artificial immune systems is a relatively new field that tries to exploit the mechanisms of the natural immune system (nis) in order to develop problemsolving techniques. in this research, we have combined the artificial immune system with the genetic algorithms in one hybrid algorithm. we proposed a modification to the clonal selection algorithm, which is inspired from the clonal selection principle and affinity maturation of the human immune responses, by hybridizing it with the crossover operator, which is imported from gas to increase the exploration of the search space. we also introduced the adaptability of the mutation rates by applying a degrading function so that the mutation rates decrease with time where the affinity of the population increases, the hybrid algorithm used for evolving a fuzzy rule system to solve the wellknown wisconsin breast cancer diagnosis problem (wbcd). our evolved system exhibits two important characteristics; first, it attains high classification performance, with the possibility of attributing a confidence measure to the output diagnosis; second, the system has a simple fuzzy rule system; therefore, it is human interpretable. the hybrid algorithm overcomes both the gas and the ais, so that it reached the classification ratio 97.36, by only one rule, in the earlier generations than the two other algorithms. the learning and memory acquisition of our algorithm was verified through its application to a binary character recognition problem. the hybrid algorithm overcomes also gas and ais and reached the convergence point before them. keywords: genetic algorithms, artificial immune system, fuzzy logic, breast cancer diagnosis, memory acquisition. 1 introduction computing and engineering have been enriched by the introduction of the biological ideas to help developing solutions to various problems. this can be exemplified by the artificial neural networks (ann), evolutionary algorithms (ea) [11], artificial life (alife), and cellular automata (ca) [13]. there exist three different approaches; the first is: biologically motivated computing, under this umbrella the ea, ann and artificial immune system (ais) [21]; the second is computationally motivated biology, where computing provides models and inspiration for biology (i.e. alife and ca). the third approach is computing with biological mechanisms, which involves the use of information processing capabilities of biological systems to replace or supplement the current silicon-based computers (e.g. membrane copyright c© 2006-2009 by ccc publications an immuno-genetic hybrid algorithm 375 computing, quantum computing and dna computing) [8], [9] [14], [18]. our research point will be under the umbrella of the first approach. in this paper, we combine two methodologies which are genetic algorithms and artificial immune system (ais), so as to automatically produce a fuzzy system for breast cancer diagnosis. the major advantage of fuzzy systems is that they favor interpretability [3], [4] and provide what is called confidence measure which means, in our case, the degree of benignity or malignancy. finding good fuzzy systems is quite a hard task. so, this is where ga and ais algorithms work, enabling the automatic production of fuzzy systems, based on a database of training cases. in this paper we also ensure the ability of memory acquisition and learning of the algorithm by applying it to a binary pattern recognition problem. the paper is organized as follows: in the next two sections we provide an overview of the clonal selection algorithm and the genetic algorithm. in section [4] we present our proposed hybrid algorithm between ga and ais that will be tested on the wisconsin breast cancer diagnosis (wbcd) problem described in section [5]. evolving fuzzy system of the wbcd, parameters setup and testing also included in section [5]. section [6] speaks about the learning and memory acquisition of the hybrid algorithm. the algorithm testing is delineated also in section [6], followed by concluding remarks in section [7]. 2 the clonal selection algorithm the standard clonal selection algorithm clonalg [5], [6], [15], [16], [17] can be summarized as follows. begin t=0; initialize the initial population p(t) randomly; identify antigen s; evaluate affinity p(t)versus s; while (not finished) do begin t= t+1; select c(t) from p(t-1); proportional cloning of c(t) forming c’(t); mutation c’(t) forming c"(t); select p(t) from c"(t) and p(t-1); select memory cell from p(t); metadymanics; end. end. 3 the genetic algorithm (ga) the standard genetic algorithm [7], [23] can be summarized as follows. begin t=0; initialize the initial population p(t) randomly; evaluate structures in p (t); while (not finished) do begin t= t+1; select parents c(t) from p(t-1); crossover and mutate structures in c (t) forming c’ (t); 376 e. nabil, a. badr, i. farag replace c’ (t) by p (t-1); end. end 4 the proposed hybrid algorithm d = l∑ i= δ where { , abi 6=agi , otherwise } (1) the affinities of individuals are measured using the hamming distance depicted in equation 1. the proposed algorithm modifies clonal selection algorithm mutation method. the mutation in nature occurs at small percentage value = 0.002 and this is rational from the computational point of view to ensure that the good solutions are not distorted too much. however, researches have shown that an initial large mutation rate that decreases exponentially as a function of the generation number improves the convergence speed and accuracy [1]. the initial large mutation rate ensures that a large space is covered, while the mutation rate becomes smaller when the individuals start to converge to the optimum. this is accepted solution for the trade off between the exploration and exploitation we used the time-decaying formula in equation (2) [18], [22], [24] where τ is a positive constant, m() is the initial large mutation rate and t is the generation number. the equation is depicted in figure 1. we have imported the crossover operator from the genetic algorithms in order to increase the exploration of the landscape and to add a recombination operator in the clonal selection algorithm. m(t) = m()e−t/τ  (2) figure 1: the effect of the degraded function on mutation value the proposed algorithm can be summarized as follows. begin t=0; initialize the initial population p(t) randomly; identify antigen s; evaluate fitness p (t) versus s; while (not finished) do begin 1. t= t+1; 2. select c(t) from p(t-1); 3. proportional cloning of c(t) forming c’(t); an immuno-genetic hybrid algorithm 377 table 1: the wcbd data representation case v v ... v diagnosis 1 1 2 ... 8 benign 2 2 4 ... 3 benign ... ... ... ... ... ... 683 4 8 ... 1 malignant 4. degraded proportional mutation c’(t) forming c"(t); 5. crossover c"(t) forming c*(t); 6. select p(t) from c*(t) and p(t-1); 7. select memory cell from p(t); 8. metadymanics; end. end. the proposed algorithm will be tested on the famous wisconsin breast cancer diagnosis problem (section 5) and simple binary pattern recognition problem (section 6) to ensure the memory acquisition ability of the algorithm. 5 the wisconsin breast cancer diagnosis problem in this section, we present the wisconsin breast cancer diagnosis problem [3] which is the test case of our proposed algorithm. breast cancer is the most common cancer among women, excluding skin cancer. the presence of a breast mass is an alert sign of a cancer, but it does not always indicate a malignant one. fine needle aspiration (fna) is an outpatient procedure that involves using a small-gauge needle to extract fluid directly from a breast mass. fna procedure over breast masses is a cost-effective, non-traumatic, and mostly non-invasive diagnostic test that obtains information needed to evaluate malignancy. the wisconsin breast cancer diagnosis (wbcd) database [4] is the result of the efforts made at the university of wisconsin hospital for accurately diagnosing breast masses based solely on an fna test. nine visually assessed characteristics of an fna sample considered relevant for diagnosis were identified, and assigned an integer value between 1 and 10. the measured variables are as follows: 1. clump thickness (v); 2. uniformity of cell size (v); 3. uniformity of cell shape (v); 4. marginal adhesion (v); 5. single epithelial cell size (v); 6. bare nuclei (v); 7. bland chromatin (v); 8. normal nucleoli (v); 9. mitosis (v). 378 e. nabil, a. badr, i. farag the database itself consists of 683 cases. the general form of the database is described in table 1. there exist some previous systems that achieved high classification ration, but these systems look like black boxes and with no explanation or interpretation about how the decision was taken. further, the degree of benignity or malignancy is not provided. these two points are covered in this study besides high performance classification ratio. 5.1 evolutionary fuzzy modeling evolutionary algorithms are used to search large, and often complex, search spaces. they have proven worthwhile on numerous diverse problems and are able to find near-optimal solutions with an adequate performance measure. fuzzy modeling can be seen as an optimization problem where part or all of the parameters of a fuzzy system constitute the search space. 5.2 applying evolution to fuzzy modeling three of the four types of fuzzy parameters can be used to define targets for evolutionary fuzzy modelling: structural parameters, connective parameters, and operational parameters. logical parameters are usually predefined by the designer based on experience. the evolutionary algorithm is used to tune the knowledge contained in the fuzzy system by finding membership function values (p, d values) and the relevant variables. evolutionary structure learning is carried out by encoding within the genome an entire fuzzy system. this is known as the pittsburgh approach. figure 2: the proposed diagnosis system. note that the fuzzy subsystem displayed to the left is the fuzzy inference system in figure 3. figure 3: basic structure of a fuzzy inference system 5.3 evolving fuzzy systems for the wbcd problem the solution scheme we propose for the wbcd problem is depicted in figure 2, note that the fuzzy subsystem displayed to the left of figure 2 is the fuzzy inference system of figure 3 [10], [20]. figure 2 consists of a fuzzy system and a threshold unit. the fuzzy system computes a malignancy value of the an immuno-genetic hybrid algorithm 379 malignancy of a case, based on the input values, the threshold unit then outputs a benign or malignant diagnostic according to the fuzzy system’s output. if the malignancy value is less than or equals 3, it is considered a benign case. other than that, it is diagnosed as a malignant one. 5.4 fuzzy system parameters according to information obtained from previous work [3], we have deduced the following points. • small number of rules: systems with no more than four rules have been shown to obtain high performance [2], [19]. • small number of variables: rules with no more than 4 antecedents have proven to be adequate[2]. • nature of the input variables: higher-valued variables are associated with malignancy. some fuzzy models forgo interpretability in the interest of improved performance. where medical diagnosis is concerned, interpretability, also called linguistic integrity, is the major advantage of fuzzy systems. this motivated us to take into account the following semantic criteria, defining constraints on the fuzzy parameters [12]: • distinguishability: to what extent the system is understood and has interpretability. • justifiable number of elements: the number of membership functions of a variable. this number should not exceed the limit of ± distinct terms. the same criterion is applied to the number of variables in the rule antecedent; this is to be familiar for humans. • orthogonality. for each element of the universe of discourse, the sum of all its membership values should be equal to one. 5.5 the fuzzy system setup logical parameters • reasoning mechanism: singleton-type fuzzy system, i.e. output membership functions are real values, rather than fuzzy ones. • fuzzy operators: min. • input membership function type: orthogonal, trapezoidal. • defuzzification method: weighted average. structural parameters • relevant variables: there is insufficient a priori knowledge to define them; therefore, this will be one of the algorithm’s objectives. • number of input membership functions: two membership functions denoted low and high. • number of output membership functions: two singletons are used, corresponding to the benign and malignant diagnostics. • number of rules: in our approach, this is a user-configurable parameter. will there be only one rule? the rule itself is to be found by the genetic algorithm. connective parameters 380 e. nabil, a. badr, i. farag • antecedents of rules: to be found by the algorithm. • consequent of rules: the algorithm finds rules for the benign diagnostic; the malignant diagnostic is an else condition. • rule weights: active rules have a weight of value 1 and the else condition has a weight of 0.25. operational parameters • input membership function values: to be found by the evolutionary algorithm. • output membership function values: following the wbcd database, we used a value of 2 for benign and 4 for malignant. 5.6 the evolutionary algorithm setup we apply pittsburgh-style structure learning, using our algorithm to search for three parameters. the relevant variables, the input membership function values, and the antecedents of rules. they are constructed as follows: • membership function parameters. there are nine variables (v-v), each with two parameters p and d, defining the start point and the length of the membership function edges, respectively. • antecedents. the ith rule has the form: if (v is ai )and...and (v is ai ) then (output is benign) where aij represents the membership function applicable to variable vj. a i j can take the values: 1 (low), 2 (high), or 0 or 3 (other). • relevant variables are searched for implicitly by letting the algorithm choose non-existent membership functions as valid antecedents; in such a case, the respective variable is considered irrelevant. table 2: parameters encoding of a genome, total genome length is 54+18= 72 parameter values bits quantity total bits p 1-8 3 97 27 d 1-8 37 9 27 a 0-3 2 9 18 the parameters encoding are described in table 2, which form a single individual’s genome. table 3 shows a sample genome. we used a genetic algorithm with a fixed population size of 200 individuals to evolve the fuzzy inference system, and fitness-proportionate selection. the algorithm terminates when the maximum number of generations is reached. an example of a genome for a rule system depicted in table 3, the first 18 positions encode the parameters p and d for the nine variables v -v. the rest encode the membership function applicable for the nine antecedents of the rule; table 4 is an interpretation of the database and the rule base of the rule system encoded in table 3. 5.7 testing the proposed algorithm has been tested on the wsbc problem. the three algorithms have been implemented and have been tested in wisconsin database. the three algorithms have reached a valid classification ratio equal to 97.36% i.e. 665 valid diagnosis cases from 683 cases. and the results of the an immuno-genetic hybrid algorithm 381 three algorithms were depicted in figure 4. it is clear that the hybrid algorithms reached the maximum classification ratio in the earlier generations before the ga and the ais. also the ais reached before the ga. table 3: database p d p d p d p d p d p d p d 3 5 4 1 2 8 5 1 7 7 2 5 5 5 p d p d a a a a a a a a a 7 2 4 7 1 1 3 3 3 1 3 1 1 table 4: rule base rule if ((v is low) and (v is low) and (v is low) and (v is low) and (v is low)) then( output is benign ) default else(output is malign) figure 4: the execution of the three algorithms 6 the pattern recognition problem the learning and memory acquisition was verified through its application to a binary character recognition problem. in this case, we assumed that the antigen population was represented by a set of ten binary characters (n = 10) to be learned. each character is represented by a bit string of length l = 121. the population size =200. the original characters are depicted in figure 5. figure 6 illustrates the initial memory set. figure 7 illustrates the input patterns. (i.e. the antigens) for which the learning will takes place. figures 8,9 and 10 represent the maturation of the memory set through 200 generations. the affinity here refers the degree of matching of the antigens, i.e. the affinity measure is the hamming distance (discussed in section 4) between the antigens and antibodies, the. note that the exact matching is not important for recognition; partial matching is enough. the hybrid algorithm converged at generation 200. figure 8, 9 and 10 presents the application of the ga, ais and the hybrid algorithm to the binary character recognition problem respectivily where (a) presents memory set after 50 cell generations; (b) 382 e. nabil, a. badr, i. farag figure 5: the original digits figure 6: the initial input patterns figure 7: the input patterns (i.e. the antigens) for which the learning will take place figure 8: application of the ga to the binary character recognition problem figure 9: application of the ais to the binary character recognition problem an immuno-genetic hybrid algorithm 383 figure 10: application of the hybrid algorithm to the binary character recognition problem. presents memory set after 100 cell generations; (c) presents memory set after 150 cell generations and (d) presents memory set after 200 cell generations.it is clear that the hybrid algorithm overcomes the other two algorithms. we have used static mutation values, also proportional to affinity, in the binary recognition problem because results showed that static mutation is better than dynamic one. figure 11 represents the affinity of ga, ais and the hybrid algorithms in recognition of the pattern zero, note that the affinity refers the degree of matching with antigens. i.e. the hamming distance with antigens. figure 11: the affinity of ga, ais and the hybrid algorithms in recognition of the pattern zero 7 conclusions in this research, artificial immune system is combined with genetic algorithms in one hybrid algorithm. a modification is proposed to the clonal selection algorithm which is inspired from the clonal selection principle and affinity maturation of the human immune responses. the adaptability of the mutation rate is introduced by simple degrading function. also, the crossover is merged into the clonal selection algorithm, two-point crossover applied after the mutation process, to increase the exploration of the landscape. the hybrid algorithm is combined with fuzzy logic and applied to the well-known wisconsin breast cancer diagnosis problem. we claim that our evolved system exhibits two important characteristics; first, it attains high classification performance, with the possibility of attributing a confidence measure to the output diagnosis; second, the system has a simple fuzzy rule system; therefore, it is interpretable. the hybrid algorithm overcomes both the genetic algorithm and the artificial immune system and reached the highest classification ratio 97.36, by only one rule, in the earlier generations than the two other algorithms. the proposed system also applied to a binary character recognition problem. the mutation in the hybrid algorithm was adapted using a degraded function so that the mutation decreases with time, but in 384 e. nabil, a. badr, i. farag the binary character recognition problem, the results showed that it is better to keep the mutation value small and static through all generations. the hybrid algorithm overcomes the other two algorithms. the hybrid system can solve the wbcd problem with more than one fuzzy rule. this is to increase the classification accuracy. also, there are many gene representation techniques that can be used instead of the pittsburgh approach like the michigan approach, the iterative rule learning approach and hybridization between them. this can be considered as a future work. we claim that our hybrid algorithm is highly effective and better than gas and ais, for sure not in all cases, future experiments may prove that gas or ais separately is better, but at least in memory acquisition, the wcdb and similar problems we claim that our algorithm is better. bibliography [1] a.p. engelbrecht, computational intelligence: an introduction, england, john wiley & sons; 2003. [2] c.a. pena reyes, m.a. sipper, evolving fuzzy rules for breast cancer diagnosis, proc nonlinear theory and applications, 2, pp 369-372, 1998. [3] c.a. pena reyes, m.a. sipper, fuzzy-genetic approach to breast cancer diagnosis,artificial intelligence in medicine; vol: 17, num:2, 131-155, 1999. [4] c.j. merz, p.m. murphy, uci repository of machine learning database, http:/www.ics.uci.edu/m̃learn/mlrepository.html, 1996. [5] d. dasgupta , artificial immune systems and their applications, springer-verlag, inc., 1999. [6] d. dasgupta, n. attoh-okine, immunity-based systems, ieee international conference on systems, man, and cybernetics, orlando, florida, pp 363-374, october 12-15,1997. [7] d.a. coley, an introduction to genetic algorithms for scientists and engineers, world scientific publishing co.,inc., 2001. [8] e. gutuleac, descriptive timed membrane petri nets for modelling of parallel computing, international journal of computers, communications & control, vol. i, no. s: suppl. issue, pp. 256-261, 2006. [9] g. ciobanu, a programming perspective of the membrane systems,international journal of computers, communications & control, vol. i, no. s: suppl. issue, pp.13-22, 2006. [10] h. zhang, d. liu, fuzzy modeling and fuzzy control, birkhauser, 2006. [11] j. rennard, genetic algorithm viewer: demonstration of a genetic algorithm, http://www.rennard.org/alife/english/gavgb.pdf, 2000. [12] j.j. espinosa, j. vandewalle, constructing fuzzy models with linguistic integrity, ieee transactions on fuzzy systems; vol. 7, no. 4, pp. 377-393, 1999. [13] l.n. de castro, fundamentals of natural computing: basic concepts, algorithms, and applications, crc press llc; 2007. [14] l.n. de castro, f.j. zuben, artificial immune systems: part i – basic theory and applications, eec/unicamp, campinas, sp, tech. rep. – rt dca 01/99, p. 95. 1999. [15] l.n. de castro, f.j. zuben, learning and optimization using the clonal selection principle ,ieee transactions on evolutionary computation , vol.:6, num.:3, pp 239-251, jun, 2002. an immuno-genetic hybrid algorithm 385 [16] l.n. de castro, f.j. zuben, the clonal selection algorithm with engineering applications, artificial immune system workshop, genetic and evolutionary computation conference , a. s. wu (ed.), pp. 36-37, 2000. [17] l.n. de castro, j. timmis, artificial immune systems (a new computational approach) , springer verlag, 2002. [18] l.n. de castro, natural computing,information science and technology, idea group, inc., 2005. [19] r. setiono, extracting rules from pruned neural networks for breast cancer diagnosis,artificial intelligence in medicine, vol. 8, no. 1, pp. 37-51, feb. 1996. [20] r.r. yager, l.a. zadeh, fuzzy sets, neural networks, and soft computing, new york, van nostrand reinhold, 1994. [21] s. forrest, s.a. hofmeyrt, a. somayajit, architecture for an artificial immune system,evolutionary computing, vol. 8, no. 4, pp 443-473, 2000. [22] t. back, d. fogel, z. mechalewicz, glossary, evolutionary computation 1: basic algorithms and operators, institute of physics publishing, bristol and philadelphia, 2000. [23] t. back, the interaction of mutation rate, selection & self-adaptation within a genetic algorithm, in proc. 2nd int. conf. on parallel problem solving from nature, north-holland, amsterdam, pp. 85-94, 1992. [24] w. m. spears, adapting crossover in genetic algorithms, artificial intelligence center internal report aic-94-019, naval research laboratory, washington, dc 20375, 1994. emad nabil received his bsc and msc degrees in computer science from computers and information faculty, cairo university in 2004 and 2008 respectively; his main research interests are in the natural computing area including p systems, ga, ais and ann.now i am working in my ph.d. in p systems and their applications in optimization. amr badr currently he is an associate professor of computer science, computers and information faculty,cairo university. his research interests include computational intelligence, petri nets, bioinformatics and medical imaging. he has published about 50 journal research papers in these areas and supervised nearly 50 msc and phd students. he is currently on the editorial boards and a reviewer at several journals. ibrahim farag professor of computer science, computers and information faculty,cairo university. he is the founder of the faculty of computers and information at cairo university and one of the pioneers of computer science in egypt. he has supervised more than 200 msc and phd students at cairo university. international journal of computers, communications & control vol. iii (2008), no. 1, pp. 90-102 a formal description of the systemic theory based e-learning gabriela moise abstract: this paper aims at presenting the systems theory-based approach to the learning (instructional) process. such as approach is necessary, if one takes into consideration the the complex and holistic nature of the learning process. the presented modeling is based on the definition of an automatic regulation system and artificial intelligence techniques. for this purpose, an intelligent instructional system (iis) is defined using the concepts: inputs, outputs, perturbations factors, regulation, feedback and ai learning techniques. the contextual environment of learning plays the major role in this system and it establishes the perturbation factors. the regulation consists in ai learning techniques, so the iis is a flexible and adaptive system. the process’ behaviour is described using pseudo-boolean and linear equations. this kind of approach enables solving the problems of the complexity and uncertainty of the learning (instructional) systems and, particularly, those of the e-learning (online and offline). applications of the proposed approach may be found in e-learning courses for mathematics, computing, architecture, archaeology, cultural heritage, etc. keywords: online learning, system theory, feedback, intelligent instructional system. 1 introduction the theoretical bases of the instructional process design are formed of a set of theories such as the instruction and learning theory, the communication theory, the systems’ theory. the system theory and the systemic thinking have a major influence on the field of the instructional design. the systemic approach of the instruction process design was issued by james finn [7], who applied the systems theory in the educational technology. in 1978, walter dick and lou carey published the book entitled "the systemic design of instruction". the model built by dick and carey [5] doesn’t follow a linear approach, each level of the instructional process being revised for certainty of achieving the objectives of instructional process. the model is presented in figure no. 1. figure 1: dick and carey’s model any learning (instructional) form may be tackled from the point of view of the general systems theory, distance learning forms included. a system is defined by a set of elements that interact and work together in order to achieve an objective. moore and kearsley [15] present the importance of the copyright © 2006-2008 by ccc publications a formal description of the systemic theory based e-learning 91 systemic approach of the distance educational process. the distance educational system has to be viewed as a system within which all the elements are interdependent and interconnected. the consequence of this fact is that any change of an element of the system will affect the whole instructional process. moore (1983) defined the concept of transactional distance, in that he rigorously presented the relation between the teacher and the student: the distance between teacher and student is a geographical, an educational and a psychological one.[16] saba [17] refined the theory of moore and proved trough experiments, that the transactional distance is a measure of the relation existing between the teacher and the student. saba asserts: "transactional distance varies by rate of dialogue and structure", so that when dialogue increases, the structure and transactional distance decrease; when the structure increases, the transactional distance increases and the dialogue decreases (see figure 2). figure 2: stella modeling of dynamic of saba’s system transactional distance(t) = transactional distance(t −dt) + (dialogue−structure)∗dt norbert wiener [20] has introduced the cybernetic concept in the paper "the human use of human beings": "when we desire a motion to follow a given pattern the difference between this pattern and the actually performed motion is used as a new input to cause the part regulated to move in such a way as to bring its motion closer to that given by the pattern." the notion of instructional system was introduced by robert glaser in 1962. the levels of the system defined by glaser are represented in the figure no. 3. the individualized instruction is viewed as a continuous cycle of diagnose, specification and evaluation. the output condition is defined as follows: the student has learned all the proposed objectives. figure 3: glaser’s instructional model with feedback banathy (1996) [2] comprised the educational system in the human activity systems (has). he defined the term of "system view of education": "we learn to think about education as a system, we can understand and describe it as a system, we can put the systems view into practice and apply it in educational inquiry, and we can design education so that it will manifest systemic behavior". the 92 gabriela moise systemic approach of the educational system facilitates the exploration of the process according to the subsystems constituents: teacher, student, institution, administration etc. banathy (1992) [1] proposed two phases of the systemic development of education, which are considered the principles of systems’ design. (see figure 4) figure 4: the phases of the development of a systemic approach of education (banathy) in 1992, banathy [1] proposed three models of social systems namely the systems-environmental model, the functions-structure model and the process-behaviour model. these models were be used to describe the educational systems "open, dynamic and complex social systems". the systems-environmental model enables one to see the learning (instructional) systems into the context of the relationships, interactions and interdependencies between the system and the environment. the functions-structure model enables one to describe the goals of the systems and the functions that have to be implemented in order to achieve these goals. also it defines the components of the system and the relations between them, thus defining the very structure of the system. the process-behavior model enables one to understand the behaviour of the system: which are the inputs of the system, how these inputs have transformed to produce the expected output. also, banathy identified four domains: systems’ philosophy, theory, methodology, and application, constituting the conceptual system of systems inquiry in educational systems. a detailed report of the systems view of the distance learning may be found in [6]. the e-courses have to be design to incorporate active and cooperative learning techniques in a systematic way that addresses all aspects of the course: delivery, management, and assessment.[9] in this paper, the author proposes a new model of the learning (instructional) process based on the systems theory. the model focuses on the regulation, so that the system will produce the expected results. the behaviour of the system is described using a mathematical model, based on the pseudoboolean equations and linear equations, which was called "quasi-boolean system". the concept of the "quasi-boolean system" is introduced to portray the behaviour of the e-learning system. the genesis of the "quasi-boolean system" is the idea that the students are evaluated at the end of a training session and they get a grade: a number or a truth value (true or false). in the traditional learning (instructional) process, the teacher takes care of achieving the objectives of the learning (instructional) process. in the e-learning system, one uses a combined regulation: a feedback regulator and a predictive regulator. the predictive regulator uses ai learning techniques (q-learning [13]). the remaining part of the paper is organized as follows: in section 2, a systematic model of the learning (instructional) process is presented; in section 3, a mathematical model is given; in section 4, an application is developed; in section 5 the complexity of the instructional (learning) process is identified and finally, in section 6 summary and conclusions, the advantages using the proposed model are presented. a formal description of the systemic theory based e-learning 93 2 a systemic model of the learning (instructional) process the multidisciplinary nature of the systems theory facilities the implementation of the system thinking in the learning (instructional) process.[3] in this paper, the learning (instructional) process is modeled starting from the definition of an automatic regulation system. definition 1. an automatic regulation system (s,r,a) is defined according to the schema presented in figure no. 5.[11] figure 5: an automatic regulation system y∗ is the reference value, y is the output value, v are the perturbation factors, u is the input value, ε is the error between the reference value and the output value. definition 2. an intelligent instructional system (iis) with a feedback regulator is defined according to the schema: figure 6: the intelligent instructional system the instructional system is a system with inverse connection that decides the behavior view to nullify the error. definition 3. an intelligent instructional system (iis) with a combined regulation is defined according to the schema presented in the figure no. 7. 94 gabriela moise figure 7: intelligent instructional system the input of the system represents the reference value, what the students have to realize after the learning (instructional) process has finished. the state at k step (the system is sequential) is defined by the students’ knowledge and skills at step k. the instruction context may be referred as a social, an emotional, a mental, school, technological, knowledge context.[14] in this approach, all factors that affect the learning motivation, goals, previous knowledge, interest, teaching styles, learning styles, classroom climate, parents, preoccupations, hobbies, etc represent the perturbations. definition 4. an intentional model of instruction is a structure with the form: (com, con, cri), where com, con, cri have the following meanings: • com defines the behaviour • con describes the conditions in which the students prove learning • cri is a precise setting of acceptable standards and performance the teacher has to consider the inferences in the learning process, starting from measurable pieces of evidence that can be measured, while the learning can not be measured directly. the goals of learning are formulated according to the domains of learning: the cognitive domain, the affective domain and the psychomotor one. the teacher and the instructional designer have the major role in defining the goals of learning. definition 5. the input values of iis are defined by the goals of the instructional process, the intentional models of behaviour. the goals of a course describe the intention of the teacher referring to the students, who attend the course. the goals define what is expected from the students after the instructional process has finished. y∗re f = (com ∗ re f , con ∗ re f , cri ∗ re f , gradere f ), where • com∗re f defines the reference behaviour • con∗re f describes the reference conditions in which the students prove learning • cri∗re f is the setting of the reference standards and performance • grade∗re f is the reference grade (the accepted grade) a formal description of the systemic theory based e-learning 95 for example: y∗re f = (behaviour : write aprogram, conditions : usingc + + language in 15 minutes, criteria : program runs without errors and display correct results, 8) or y∗re f = (write a program, c + + language, 15 minutes, programs run without errors, display correct results, 10) y∗re f = ( com∗re f , con ∗ re f , cri ∗ re f , grade ∗ re f ) ,    com∗re f = write a program con∗re f = { language = c + + time = 15 min cri∗re f = { run without errors display correct results grade∗re f = { 10 meaning: at the end of the module, the student will be able to write a program to sum the first n integer numbers, using c++ language, in 15 minutes, the program will run without errors and the result will be correct, the reference grade is 10. definition 6. the outputs of the iis system are defined as follows: y = (y1, y2, ..., ym) , where yi are defined according to gagne [8] • declarative knowledge; • procedural knowledge; • cognitive strategies; • attitudes; • psychomotor abilities. the outputs (the students’ knowledge) are measured (y∗) in a way that allows them to be compared with the reference values. in order to evaluate the outputs of the iis system, a measuring system (ms) is to be established. ms : y → m, y is the possible outputs’ sets. the measuring system has to take into account goals of the instruction (the reference value of the iis system). the behaviour of the student has to be evaluated in the conditions defined by the goals of the instruction and has to satisfy a set of criteria. the measuring system evaluates the outputs of the system (what the student realize in the evaluation phase) and produces feedback, so the measuring system establishes an output behaviour model. y∗ = (com∗, con∗, cri∗, grade∗) ,    com∗ = write a program con∗ = { language = c + + time = 30 min cri∗ = { run without errors display incorrect results grade∗ = { 8 meaning: at the end of the module, the student has to write a program to sum the first n integer numbers, using c++ language, in 30 minutes, the program runs without errors and the result is correct, the grade is 8. 96 gabriela moise the output of the iis system is evaluated according to the ms and has the following values: y∗ = ms(y) = (com, con, cri, grade) the error is defined as a difference between two models (patterns). to determine the difference between two behaviour patterns, a patterns’ analyzer (defined through a procedures collection) will be used.(see figure 8) figure 8: patterns’ analyzer the analysis of the behaviors’ patterns imply the following steps: 1. the criteria will be decomposed in primitive criteria; 2. the primitive criteria are analyzed according to some rules based procedures; 3. the analysis procedures are updated according to learning techniques taken from artificial intelligence. in the example above: cri∗ = { run without errors display correct results −cri∗re f = { run without errors display incorrect results the criteria analysis establishes that the program written by the student has a logical error. the value of the error: invalid logical program. definition 7. the perturbation factors are defined by the contextual environment of the learning (instructional) process. the contextual learning is built on all conditions that affect the instructional process. cole and griffin have shown the complexity of this concept.[4] the predictive regulator of the iis system decides what kind of instructional techniques and information will be used in the learning process, analyzing the contextual factors. the predictive regulation contains ai techniques to instruction of the iis system. the predictive commands are rules having the following structure: r = (c1 ∧c2 ∧...∧cn ) → (a1; a2; ...; ak) , where ci, i = 1, ..., n are the conditions and ai, i = 1, ..., k are the actions in the iis system, the conditions are perturbation factors and they are inputs of the system. the feedback regulator of the iis system checks the value of the error and provides a corrective command. while the iis system is not a numeric system, the behaviour of the system cannot be described using equations with real numbers. a formal description of the systemic theory based e-learning 97 3 a mathematical model of the instructional system definition 8. a vector of n elements, where the elements are real numbers and logical values, is called a quasi-boolean vector. x = ( x1, x2, ..., xk, xk+1, .., xn ) where xi ∈ r, i = 1, k and xi ∈ b2, i = k + 1, n the real part of x is noted with r(x) and the boolean part of x is noted b(x) and they are defined as: r(x) = ( x1, x2, ..., xk ) b(x) = ( xk+1, xk+2, ..., xn ) definition 9. it is called a quasi-boolean sequential system a pair of functions ( f = ( f1, f2, f3), g) defined as: xik = f i 1(b(xk−1), b(uk−1), b(vk−1)) + f i 2(r(xk−1), r(uk−1), r(vk−1)), i = 1, n1 xik = f i 3(b(xk−1), b(uk−1), b(vk−1)), i = n1 + 1, n yik = g i 1(b(xk), b(uk)) + g i 2(r(xk), b(uk)), i = 1, p1 yik = g i 3(r(xk), r(uk)), i = p1 + 1, p where: x ∈ x = rn1 ×bn22 , n1 + n2 = n represent the set of the states of the system, u ∈ u = rm1 ×bm22 , m1 + m2 = n represent the set of the input signals of the system, v ∈ v = rr1 ×br22 , r1 + r2 = r represent the set of the perturbations of the system, y ∈ y = rp1 ×bp22 , p1 + p2 = p represent the set of the output signs of the system, f i1, i = 1, n1 are pseudo-boolean functions, f i2, i = 1, n1 are linear functions, f i3, i = n11, n are boolean functions, gi1, i = 1, p1 are pseudo-boolean functions, gi2, i = 1, p1 are linear functions, gi3, i = p1 + 1, p are boolean functions. remarks: the signs of the quasi-boolean system are vectors with real numbers and boolean values elements. the complexity of the system is described through linear, pseudo-boolean and boolean functions. the informational state of the system is described using real numbers and truth values. any boolean function can be expressed using a pseudo-boolean function. in order to model the learning (instructional) process, there will be used integer numbers from an interval, instead of real numbers, so the instructional system will become a finite states system. using the interpolation formula for pseudo-boolean functions [10], the equations of the system become: xki = ∑ cγ x αn1+1 k−1 , ..., x αn k−1, u αm1+1 k−1 , ..., u αm k−1, v αr1+1 k−1 , ..., v αr k−1 + f i 2(r(xk−1), r(uk−1), r(vk−1), i = 1, n, cγ = f i1(αn1+1, ..., αn, αm1+1, ..., αm, αr1+1, ..., αr) yki = ∑ bδ x δn1+1 k−1 , ..., x δn k−1, u δm1+1 k−1 , ..., u δm k−1 + g i 2(r(xk−1), r(uk−1)), i = 1, n, bδ = g i 1(δn1+1, ..., δn, δm1+1, ..., δm) the equations of the system can be expressed using linear polynomial dependent on the states, the perturbations and the inputs of the system. if the pseudo-boolean functions are linear pseudo-boolean functions, they can be expressed as follows: t (x) = c1x1 + c2x2 + ... + cnxn + d, where c1, c2, ..., cn, d are coefficients (in the system described in the paper, the coefficients are integer number). the topic of the paper is not to describe the quasi-boolean systems. these quasi-boolean of systems (in particular cases) are observable, controllable and there may be defined regulation laws (feedback regulation and predictive regulation). the methods of solving linear pseudo-boolean equations could be found in [10]. 98 gabriela moise example: one considers an online course with three modules. the initial state is: x0 = (0, 0, 0) i.e. there is no teaching the inputs (commands) of the system are: u0 = (0, 0, 0) i.e. there is no teaching process u1 = (1, 0, 0) i.e. the system teaches module no. 1 u2 = (0, 1, 0) i.e. the system teaches module no. 2 u3 = (0, 0, 1) i.e. the system teaches module no. 3 the perturbations are: (0, 0) i.e. the electrical power is interrupted (0, 1) i.e. the internet connection failed (1, 0) i.e. the computer is failed the equation of the system is: xk+1 = (x1k v 1 k v 2 k + u 1 k v 1 k v 2 k −x1k u1k v1k v2k , x2k v1k v2k + u2k v1k v2k −x2k u2k v1k v2k , x3k v1k v2k + u3k v1k v2k −x3k u3k v1k v2k ) the reference value is: y∗re f = (1, 1, 1) if there is no perturbation, the evolution of the system is: x1 = (0, 0, 0) x2 = (1, 0, 0) x3 = (1, 1, 0) x(4) = (1, 1, 1) the regulator verifies the obtained value (1, 1, 1) with the reference value (1, 1, 1). if there is a difference between them (considering a perturbation), the output value could be (0, 1, 1). the error formula is: y∗re f = (y 1 re f , y 2 re f , y 3 re f ) y∗ = (y∗1, y∗2, y∗3) e = (y1re f y ∗1, y2re f y ∗2, y3re f y ∗3) the patterns’ analyzer described in section 2 is expressed as a boolean equation. in the former case, the error is e = (0, 0, 0) and the process finished with success. in the latter case, the error is e = (1, 0, 0) and the feedback regulation has to order to teach the first module. 4 an application example the objective of the learning(instructional) process: at the end of the teaching session, students will be able to design a simple web page using html language and the web page will be written correctly. in order to achieve this goal, the system have to teach: (1) module no. 1: the structure of the web pages, (2) module no.2: the < html >, < head >, < title >, < body >, < p > tags, (3) module no. 3: applications. for each module, the learning (instructional) system has a set of pedagogical resources. the reference value is: y∗re f = (1, 1, 1, 10), where 1 is the true value=the student has written a web page, 1 is the true value=the student has used the html language, 1 is the true value=the structure of the web page is correct the perturbation considered are defined by the learning styles (visual, auditive, kinesthetic) and the age categories (three categories). (1, 0, 0, 1, 0, 0) i.e. learning style=visual and age category=1 (0, 1, 0, 1, 0, 0) i.e. learning style=auditive and age category=1 (0, 0, 1, 1, 0, 0) i.e. learning style=kinesthetic and age category=1 (1, 0, 0, 0, 1, 0) i.e. learning style=visual and age category=2 (0, 1, 0, 0, 1, 0) i.e. learning style=auditive and age category=2 (0, 0, 1, 0, 1, 0) i.e. learning style=kinesthetic and age category=2 (1, 0, 0, 0, 0, 1) i.e. learning style=visual and age category=3 a formal description of the systemic theory based e-learning 99 (0, 1, 0, 0, 0, 1) i.e. learning style=auditive and age category=3 (0, 0, 1, 0, 0, 1) i.e. earning style=kinesthetic and age category=3 the instructional system has to teach three modules; for each module there is a set of pedagogical resources (noted with prk=pedagogical resources with identification k). the commands of the system are: (0, 0, 0, 0) i.e. invoke a virtual meeting between the teacher and the student (1, 0, 0, pr1) i.e. teach module no. 1 using the pedagogical resource with identification 1 (1, 0, 0, pr2) i.e. teach module no. 1 using the pedagogical resource with identification 2 (1, 0, 0, pr3) i.e. teach module no. 1 using the pedagogical resource with identification 3 (1, 0, 0, pr4) i.e. teach module no. 1 using the pedagogical resource with identification 4 (1, 0, 0, pr5) i.e. teach module no. 1 using the pedagogical resource with identification 5 (0, 1, 0, pr6) i.e. teach module no. 2 using the pedagogical resource with identification 6 (0, 1, 0, pr7) i.e. teach module no. 2 using the pedagogical resource with identification 7 (0, 1, 0, pr8) i.e. teach module no. 2 using the pedagogical resource with identification 8 (0, 0, 1, pr9) i.e. teach module no. 3 using the pedagogical resource with identification 9 (0, 0, 1, pr10) i.e. teach module no. 3 using the pedagogical resource with identification 10 (0, 0, 1, pr11) i.e. teach the module no. 3 using the pedagogical resource with identification 11 (0, 0, 1, pr12) i.e. teach module no. 3 using the pedagogical resource with identification 12 so, there are five pedagogical resources for module no. 1, three pedagogical resources for module no. 2, and four pedagogical resources for module no. 3. the equations of the system are: x1k = x 1 k−1 + u 1 k−1 −x1k−1u1k−1 x2k = x 2 k−1 + u 2 k−1 −x2k−1u2k−1 x3k = x 3 k−1 + u 3 k−1 −x3k−1u3k−1 x4k = x 4 k−1 + u 1 k−1u 4 k−1 x5k = x 5 k−1 + u 2 k−1u 5 k−1 x6k = x 6 k−1 + u 3 k−1u 6 k−1 a state of the form (1, 1, 0, 4, 7, 0) means that the student has followed the modules no.1 and 2 using the pedagogical resources no. 4 and 7. the output is: y = (x1k x 2 k x 3 k , x 1 k x 2 k x 3 k , x 1 k x 2 k x 3 k , α x 1 k x 2 k x 3 k + β x 1 k x 2 k x 3 k + γ x 1 k x 2 k x 3 k ), where α + β + γ = 10 are given coefficients. this means that a student may obtain at the evaluation the grade=10, if the behaviour has the value 1, the conditions have the value 1 and the criteria have the value 1. a scenario of the system’s behavior is: a new student has to learn web pages. the student has a learning style and an age category. the predictive controller has learned which pedagogical resources fit with the profile of the student. this can be realized using ai learning techniques [13] or the algorithm proposed in [18]. the error is: e = y4∗re f −y4∗ + α y1∗re f y1∗ + β y2∗re f y2∗ + γ y3∗re f y3∗ if the error is too big, the feedback controller provides a command to invoke a virtual meeting between the teacher and the student. 5 problems of the online instructional systems the major problems connected to the online instructional systems are posed by their complexity and uncertainty. generally speaking, the uncertainty refers to the impossibility of exact prediction. the uncertainty is a feature of the human behaviour. the human factor is a part of the online instructional systems and the instructional process act on humans (figure no. 9). so, an online instructional system has 100 gabriela moise to be viewed from the point of its complexity and uncertainty. the uncertainty of the system means that the inputs of the system don’t determine exactly the outputs of the system. the outputs of the system have figure 9: inputs and outputs of the instructional process to satisfy the standards knowledge according to the objectives of the instructional process. the authors of the paper "defining uncertainty a conceptual basis for uncertainty management in model-based decision support" [19] define the uncertainty concept taking into consideration three dimensions: • the location of the uncertainty; • the level of uncertainty; • the nature of the uncertainty the source of uncertainty, the imperfection of the knowledge, the diversity of the values, etc. at a macro level, there may be distinguished two sources of the uncertainty: 1. the variability; 2. the limit of the knowledge. the instructional systems are developing from the new scientific perspective of the analysis of their uncertainty. if we consider an instructional system with perturbation factors having null values, the outputs of the system cannot be predicted with accuracy. the instructional process is unpredictable and can not be reduced at linear sequences to produce predictable outputs. considering the perturbation factors and the complexity of the relations between the parts of the system and the relations between system and the environment, the instructional system is a complex system. to obtain a reference value, the instructional system has to be defined as a complex adaptive system. a complex adaptive system (cas) is a system with a lot of internal and external relations; the system can adapt itself and evaluate according to changes from the environment. it is important to see that there is not a precise boundary between the system and the environment. the system influences and changes the environment. an instructional system is linked with other systems, so that the changes have to be considered in terms of a co-evolution with other systems. an instructional system has to be designed from the viewpoint of the internal variable side and external variable side. the system records information about the environment, this information determines the behaviour of the system, the system transmits information to the environment and acts in accordance with the environment. another viewpoint of instructional process is the hermeneutic aspect, in which the learning is defined as an interpretation act, inseparable from the cultural and historical context. jonassen [12] states that the instructional design theory has to consider the learning as an open system, which receives inputs from many sources, such as individual differences, emotional states, social and economical factors, demographical factors and so forth. the instructional designers have to understand the complex and holistic nature of the learning process and have not to isolate this kind of systems in closed systems. 6 summary and conclusions in the perspective of the evolution of the whole society, it is necessary to approach the instructional process from the viewpoint of the systems theory. this perspective enables to solve the problems of a formal description of the systemic theory based e-learning 101 the instructional process, in special considering the distance learning process. practically, the distance instructional process, speaking about online learning process, can be successfully applied only using the techniques from systems theory and artificial intelligence. in this paper, the author has modeled the learning (instructional) process using the general systems theory. in this paper, the term of "quasiboolean system" was introduced in order to provide a mathematical model describing the behaviour of the instructional system. the ai techniques are used in the regulation of the system. the possible applications of the proposed approach may be found in the instructional system to teach mathematics, computer science, architecture [21], physics, chemistry, etc. this kind of approach enables solving the problems of the complexity and uncertainty of the instructional systems, especially those of the online instructional systems. bibliography [1] b. h. banathy, a systems view of education: concepts and principles for effective practice. englewood cliffs, n.j.: educational technology publications, 1992. [2] b. h. banathy, systems inquiry and its application in education, in d. h. jonassen (ed), handbook of research for educational communication and technology, new york: macmillan library reference, 1996. [3] d. chen and w. stroup, toward a conceptual framework for science and technology education for all, journal of science education and technology, volume 2, no.3, 1993. [4] m. cole., p. griffin, contextual factors in education. information analyses report. prepared for committee on research in mathematics science, and technology education, commission on behavioral and social sciences and education, national research council. wisconsin center for education research, madison, 1987. [5] w. dick, l. carey, the systematic design of instruction, glenview,il.:scott,foresman, 1978. [6] r.r. du mont, distance learning: a systems view an assessment and review of the literature, research report, grant awarded by the ohio learning network in cooperation with research center for educational technology kent state university, 2002. [7] j.d. finn, automation and education: i. general aspects, av communication review, 5(1), 1957. [8] r. gagné, l. briggs, w.w. wager,principles of instructional design,(3rd ed.). new york, ny: holt, rinehart and winston, inc., 1988. [9] g. gonzalez, a systematic approach to active and cooperative learning in cs1 and its effects on cs2, technical symposium on computer science education, proceedings of the 37th sigcse technical symposium on computer science education, 2006. [10] p.l. hammer(ivanescu), s. rudeanu, methodes booleennes en recherche operationelle, dunod, paris, 1970. [11] c. ilas, teoria sistemelor de reglare automata, matrix rom, bucuresti, 2006. [12] d.h. jonassen, et al. certainty, determinism, and predictability in theories of instructional design: lessons from science, educational technology, (37)1, 1997. [13] g. moise, a software system for online learning applied in the field of computer science, ijccc, volume: ii, no: 1, 2007. 102 gabriela moise [14] g. moise, a rules based on context methodology to build the pedagogical resources, proceedings of the 2nd international conference on virtual learning, bucharest university press, 2007. [15] m.g. moore and g. kearsley, distance education: a systems view, belmont, ca:wadsworth publishing co., 1996. [16] m.g. moore,theory of transactional distance, in d. keegan (ed.) theoretical principles of distance education. new york: routledge, 1993. [17] f. saba, r.l. shearer,verifying key theoretical concepts in a dynamic model of distance education, the american journal of distance education, 8 (1), 1994. [18] a.d. styliadis, i. d. karamitsos, d. i. zachariou, personalized e-learning implementation the gis case, international journal of computers, communications & control, vol. i, no.1, 2006. [19] w.e. walker, p. harremöees, j. rotmans, j.p. van der sluijs, m.b.a. van asselt, p. janssen and m.p. krayer von krauss, defining uncertainty a conceptual basis for uncertainty management in model-based decision support, integrated assessment , vol. 4, no. 1, 2003. [20] n. wiener, the human use of human beings : cybernetics and society, second edition revised, doubleday anchor, 1954. [21] a.d. styliadis, e-learning documentation of historical living systems with 3d modeling functionality, informatica, vol. 18, no. 3, pp. 419-446, 2007. gabriela moise petroleum-gas university of ploiesti computer science department no. 39 bd. bucuresti, ploiesti, romania e-mail: gmoise@upg-ploiesti.ro received: february 13, 2007 gabriela moise (born on february 13, 1969) graduated the faculty of mathematics, specialization informatics of the bucharest university. she worked in the software industry, developing it solutions. since 2003 she is lecturer at petroleum-gas university of ploiesti. her research fields are: e-learning, graph theory, pedagogical agents, knowledge representation, e-health. she has (co)authored seven books and more than twenty research papers. she has participated to many international conferences in the elearning and e-business area. international journal of computers, communications & control vol. i (2006), no. 2, pp. 7-14 development of a matlabr toolbox for the design of grey-box neural models gonzalo acuña, erika pinto abstract: a matlab toolbox is developed for the design, construction and validation of grey-box neural network models. this toolbox, available in www.diinf.usach.cl/gacuna has been tested in simulations with a continuously stirred reactor process. the grey-box model performs well for validation data with 5% additive gaussian noise for one-step-ahead (osa) and model-predictive-output (mpo) estimations. keywords: grey-box model, neural networks, one-step-ahead estimation, multiple prediction output, time variant parameter identification. 1 introduction in the development of dynamic system models it is best to take advantage of the a priori knowledge of a process, generally expressed in terms of a set of ordinary differential equations which represent mass or energy balances. in complex biotechnological processes, the most difficult task is the modeling of the time-varying parameters, such as specific kinetics. in order to address this problem [1], proposed the use of grey-box models which combine a priori knowledge expressed in terms of a phenomenological, or white-box model, with a black-box model such as neural network. these models have proved to be satisfactory for dynamic systems, they have better generalization characteristics, and they can be identified with a smaller amount of data [1]. [2] classified these grey-box models into two principal categories: those which deliver intermediate values (of parameters or variables) for use in phenomenological models (serial grey-box models), or those in parallel with the dynamic model, adjusted to compensate for modeling errors (parallel grey-box models). [3] showed that the series strategy resulted in grey-box models with superior results. more recently [4] and [5] have employed and analyzed this type of model demonstrating their performance and their use in complex processes. matlabr is well known as a completely integrated application development environment, oriented to projects that involve complex mathematical calculations and graphic visualizations. this software has a large variety of toolboxes which are specialized packets which can carry out different functions according to the area of development, for example; optimization, image processing, neural networks, simulations and statistics among others. thus, the present work deals with the creation of a group of functions integrated in a matlabr toolbox which allows the development of an grey-box neural model (gbnm) for complex systems in general. the present document is organized as follows: section 2 details some of the aspects of the gbnms used, section 3 examines the design and construction of the toolbox; section 4 looks at the applications of the toolbox; and section 5 outlines the conclusions reached. 2 grey-box neuronal models as mentioned previously gbnms take advantage of the combination of the a priori knowledge of a given process -expressed in terms of a set of differential equations that represent the first principles that govern the processwith neural networks. the latter are responsible for modeling the interaction between variables that are relevant to the system, and certain time-varying. it is a well established fact that neural networks are capable of approximating non-linear functions. in particular, it has been demonstrated that perceptrons, with only one hidden layer and an adequate number of neurons in their internal layer, are copyright c© 2006 by ccc publications 8 gonzalo acuña, erika pinto universal approximators [6]. for the purposes of the present work it is important to distinguish between two training modes for neural networks included in gbnms. the first type, also known as the direct learning mode [5], uses the error generated at the output of the neural network for the correct determination of its weights (figure 1). figure 1: grey-box neural model in its direct learning mode. the second type corresponds to an indirect mode by which the error generated at the output of the gbnm is used for the training of the neural network [5] (figure 2). figure 2: grey-box neural model in its indirect learning mode. the toolbox developed in the present work is based on the direct learning mode of the neural network. the neural networks used are multi-layered perceptrons with only one hidden layer. the training algorithm is error retropropagation combined with a levenberg-marquardt optimization. the validation of the results obtained is carried out with tests that consist in evaluating the error produced when using the gbnm for a one step ahead (osa) prediction, and for model predictive output (mpo) prediction, [7]. the error indices used are three: the root mean square (rms) error, the relative standard deviation (rsd) and the adecuation index (ia), which are presented below [7]: rms = √ ∑ni=1(oi − pi)2 ∑ni=1 o 2 i ; rsd = √ ∑ni=1(oi − pi)2 n ; ia = 1− ∑ n i=1(oi − pi)2 ∑ni=1(|o′i|+|p′i|)2 where oi and pi are the observed and predicted values respectively, in time i, and n is the total number of data. p′i = pi −om and o′i = oi −om, where om is the median value of the observations. 3 development of the matlab toolbox this toolbox consists of two principal parts: a neural network and serial grey box model, either with osa or mpo estimates. development of a matlabr toolbox for the design of grey-box neural models 9 the methodology used corresponds to the modified cascade model which has the following stages: • definition of requirements. • system design. • implementation and testing of units. • integration and testing of system. the details of the methodology can be found in [8]. 3.1 neural network this is the first part of the toolbox, and its principal function is to create and train the network that the serial grey-box model uses for estimating the unknown parameter or parameters which are then combined with the phenomenological part of the model. for this reason it is necessary to run this part of the program before running the serial grey-box model. the principal functions of the neural network are the following: • verify the existence of data: this function’s role is to verify the existence of the data necessary for the functioning of the neural network. • verify dimensions: this function verifies that the quantity of input output data is equal. • verify layers: this function verifies that the total number of neurons in hidden layers is correct. • divide data: this function divides input and output data that have been entered by the user into training and validation data, (70% and 30% respectively). • create and train the network: this function creates and trains the neural retropropagation network based on the data input by the user. this is carry out using the matlabr neural network toolbox functions. for the creation of the neural network the “trainlm” function is used which applies the levenberg-marquardt method for optimizing weights. • simulate network outputs: this function simulates network outputs for the purpose of validation. • graph network inputs: this allows the visualization of the behavior of the entered input. 3.2 serial grey box model this is the second part of the toolbox which allows the development of general serial grey-box models either with osa or mpo estimations. the principal functions of the serial grey-box model applied either to osa or mpo estimations are the following: • verify the existence of the files: this function verifies the existence of the files necessary for the functioning of the serial grey-box model. • verify the existence of data: among these data are the number of iterations, the initial values for the status vector, the value of delta t, and where applicable to input u and the real values of the status vector variables for each instant of time used. 10 gonzalo acuña, erika pinto • verify dimensions: this function verifies that the dimensions of the input vector be the same as the number of iterations. for estimating osa the quantity of real values of the status variables must be equal to the number of iterations. for mpo it only returns the results for the output of the system, but cannot evaluate said output with real data. • develop model: this function is in charge of developing the grey-box model which consists of estimating the unknown parameter or parameters by using the neural network created and trained previously in order to develop the different equations entered. • return different graphs: graphs the inputs of the system, each of the components of the status vector for the total number of iterations, the validation of the unknown parameter or parameters, and the output of the system together with its validations. • calculate the error indices: calculates rsd, rms and ia for the output. • display results: returns the last iteration both for the status vector and the output vector, and for the error indices that correspond to the unknown parameter or parameters or the output or outputs of the system. 4 aplications and results 4.1 description of the process in the simulation of a cstr process a first order exothermic reaction is used [9], in which the inputs to the system correspond to the temperature of the cooling sleeve and the system output corresponds to the degree of completion of the reaction. the systems is described by the following status equations: x′1 = −x1 −da ·(1−x1)·e ( x2 1+ x2 γ ) (4.1) x′2 = −x2 −b.da ·(1−x1)·e ( x2 1+ x2 γ ) + β .(u−x2) (4.2) y = x1 (4.3) where: x1 : degree of completion of the reaction; x2 : adimensional temperature of the reactor contents; u : input that corresponds to the adimensional flow rate of the heat-transfer fluid through the cooling sleeve, and y is the output of the system. for the purposes of this simulation the following values are used for the model’s constants: da = 0, 072; b = 8, 0; β = 0, 3; γ = 20, 0 because grey-box models are made up of two parts, one of which is the phenomenological model represented by the different differential equations, and the other of which corresponds to the empirical model represented by the neural network, the equations that represent the phenomenological model of the serial grey-box model are the following: x′1 = −x1 + 0, 072.(1−x1).ρ (4.4) x′2 = −x2 + 8.0, 072.(1−x1).ρ + 0, 3.(u−x2) (4.5) y = x1 (4.6) development of a matlabr toolbox for the design of grey-box neural models 11 where ρ is the parameter that is difficult to obtain: ρ = e ( x2 1+ x2 20 ) when equations 4.4 through 4.6 are discretized in the interval between t and t+1, the following equations are obtained: x1(t+1) = x1(t) + (−x1(t) + 0, 072.(1−x1(t)).ρ).∆t (4.7) x2(t+1) = x2(t) + (−x2(t) + 8.0, 072.(1−x1(t)).ρ + 0, 3.(u−x2(t))).∆t (4.8) thus the equations that constitute the phenomenological part of the serial grey-box model, either with osa or mpo estimations, are the following: x1(t+1) = x1(t) + (−x1(t) + 0, 072.(1−x1(t)).ρ).∆t (4.9) x2(t+1) = x2t + (−x2(t) + 8.0, 072.(1−x1(t)).ρ + 0, 3.(u−x2(t))).∆t (4.10) y = x1(t+1) (4.11) 4.2 osa estimation with 5% noise the validation obtained for the unknown parameter with 5% noise can be seen in figure 3. figure 3: validation of the unknown parameter with osa estimation and 5% noise. the validation obtained from the output of the system can be seen in figure 4. figure 4: validation of the output of the system with osa estimation and 5% noise. 12 gonzalo acuña, erika pinto the error indices obtained from the serial grey-box model with osa estimation and 5% noise, for parameter ρ and the output of the system are presented in table 4.1. table 4.1. error indices for parameter and the output of the system with an osa estimation and 5% noise. parameter ρ system output rsd 4.368098e-2 2.756748e-3 rms 1.733075e-2 1.944067e-2 ia 9.111975e-1 9.846065e-1 the error indices obtained are quite acceptable given that the acceptability values are rsd < 0.1, rms < 0, 1 and ia > 0.9 , as explained in section 2.6 this indicates that the serial grey-box model developed for the simulation of a cstr process, with osa estimation and 5% noise, is quite good. 4.3 mpo estimation with 5% noise the validation obtained for the unknown parameter with 5% noise can be seen in figure 5. figure 5: validation of the unknown parameter with mpo estimation and 5% noise. the validation obtained from the output of the system can be seen in figure 6. figure 6: validation of the output of the system with mpo estimation and 5% noise. the error indices obtained from the serial grey-box model with mpo estimation and 5% noise, for parameter ρ and the output of the system are presented in table 4.2. table 4.2. error indices for parameter ρ and the output of the system with an mpo estimation and 5% noise. parameter ρ system output rsd 4.368098e-2 3.441815e-3 rms 1.733075e-2 2.427178e-2 ia 9.111975e-1 9.764686e-1 development of a matlabr toolbox for the design of grey-box neural models 13 the error indices obtained are quite acceptable given that the acceptability values are rsd < 0.1 , rms < 0, 1 and ia > 0.9. this indicates that the serial grey-box model developed for the simulation of a cstr process, with mpo estimation and 5% noise, is quite good. 5 conclusions grey-box models constitute a real alternative for those real world processes for which the available a priori knowledge is incomplete, for example in a variety of industrial processes. as in grey-box models only some of the physical and/or chemical laws that represent the model are known, and there are unknown parameters that must somehow be estimated, multi-layered perceptron neural networks have been employed for their notable capacity to approximate complex functions on the basis of observed data. one of the advantages of this toolbox, with reference to the creation and training of neural networks, is that neuron transfer functions for each of the hidden and output layers that make up the neural network, can be determined by the user, who can then create and train the neural network in a manner that is in keeping with the specific problem that is to be modeled. concerning the estimation of unknown system parameters, the developed toolbox has the capacity to estimate as many parameters as necessary as long as the necessary data are available. the developed toolbox (available at www.diinf.usach.cl/gacuna), allows the creation of serial greybox models, either with osa (one step ahead) or mpo (model predictive output) estimations, depending on what is to be modeled. with the creation of this matlabr toolbox, the end user has access to a simple, trustworthy and fast tool which allows the development and subsequent manipulation of different serial grey-box models, either with osa or mpo estimations for solving a particular problem. this tool will become part of the matlabr toolboxes such that the user can access it at will simply by downloading matlabr. thus this new tool becomes a real and simple alternative for modeling those real work processes for which a priori knowledge available is incomplete. the error indices obtained are good, both for the unknown parameters and for each of the outputs of the system, even when the level of noise applied to the various input data was 5%, which indicates that the models developed are of good quality. acknowledgements the authors wish to thank partial financing provided by fondecyt project 1040208. references [1] psichogios, d.; ungar, l. (1992). “a hybrid neural network-first principles approach to process modeling”, computers & chemical engineering, 38(10): 1499-1511. [2] thompson, m.; kramer, m. (1994). “modeling chemical processes using prior knowledge and neural networks”, computers & chemical engineering , 40(8):1328-1340. [3] van can, h; hellinga, c.; luyben, k.; heijnen, j. (1996). “strategy for dynamic process modeling based on neural network in macroscopic balances”, aiche journal, 42:3403-3418. [4] thibault, j, acuña, g., pérez-correa, r., jorquera, h., molin, p., agosin, e., (2000) “a hybrid representation approach for modelling complex dynamic bioprocesses” bioprocess engineering, 22(6):547-556. [5] acuña g.; cubillos, f.; thibault, j.; latrille, e. (1999). “comparison of methods for training greybox neural network models”, computers & chemicals engineering supplement, 23:561-564. 14 gonzalo acuña, erika pinto [6] hornik k. stinchcombe m., white h., (1989) “multilayer feedforward networks are universal approximators”, neural networks, 2:359-366. [7] billings s.a., jamaluddin h. b. y chen s., (1992) “properties of neural network with applications to modeling non-linear dynamical system”, int. j. control, 55(1):193-224. [8] pinto armijo, erika (2004), “a matlab based application for developing grey-box models”, memoria de título de ingeniería civil informática, universidad de santiago de chile (in spanish). [9] hernández e.; arkun, y. (1992). “study of the control-relevant properties of backpropagation neural network models of nonlinear dynamical systems”, computers & chemical engineering, 16(4):227-240. gonzalo acuña, erika pinto universidad de santiago de chile departamento de ingeniería informática avda. ecuador no 3659 casilla 10233; santiago, chile e-mail: gacuna@usach.cl international journal of computers, communications & control vol. ii (2007), no. 1, pp. 74-83 a methodology for providing individualised computer-generated feedback to students michael lambiris abstract: the traditional way of providing feedback to students after tests or assignments is labour-intensive. this paper explains the concepts and techniques used by the author to build computer-based applications that analyse students’ answers and generate individualised, detailed and constructive feedback. the paper explains how the data gathered from a student’s answers can be combined with other knowledge about the subject matter being taught, and the specific test questions, to create computerised routines that evaluate the individual student’s performance. this information can be presented in ways that help students to assess their progress, both in relation to their acquired knowledge in specified areas of study, and with regard to their ability to exercise relevant skills. in this way, appropriate feedback can be provided to large numbers of students quickly and efficiently. the same techniques can be used to provide information to the instructor about the performance of the group as a whole, with a degree of detail and accuracy that exceeds the impressions usually gained through traditional marking. the paper also explains the role of the subject instructor in designing and creating feedback-generating applications. the methodologies described provide insight into the details of the process and are a useful basis for further experimentation and development. keywords: teaching technology, computer-generated feedback, methodology and design, teaching large classes 1 difficulties with providing good feedback it is widely recognised by educators that detailed, constructive, prompt and individualised feedback is an important aspect of good teaching and effective learning. see [1]. but providing feedback to students in the traditional form, that is, by reading the students’ answers, evaluating them and writing comments, can be very time-consuming, especially with large classes. i teach a subject called principles of business law that attracts enrolments of up to 700 students each semester. assessment in this subject consists of four computerised tests, each comprising 30 to 40 multiple-choice questions. the tests are done under examination conditions. scores are posted a day or two afterwards. it was in this context that i wished to provide individualised feedback after each test to the students. with classes of this size, it is impractical for an instructor to write comments for each student. a way was needed to produce feedback by means of a computer program. 2 what should feedback consist of? one way of providing feedback would be to publish the test questions together with the correct answers. this is often what students expect, but it may not be the best approach to learning. thirty or forty questions cannot comprehensively test everything a student should know. a test is usually only a sampling of the student’s knowledge and skills. when students correctly answer questions in a test, this indicates a probability that they know the relevant subject area well. similarly, when they answer questions wrongly, this indicates a probability that they have an inadequate grasp of the subject area. if a student’s answers demonstrate a weakness, they will likely need to revise that whole area of study rather than being given the correct answers to specific questions. accordingly, my aim is to provide feedback in the form of general analysis, comment and advice. see [2]. copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 a methodology for providing individualised computer-generated feedback to students 75 3 extracting useful information from basic data instructors who are knowledgeable in their own specialist area may not also be competent computer programmers and will need to employ specialist help to create application software. but the instructor needs to understand some basic programming concepts and techniques to be able to participate effectively in the process of designing and shaping feedback-generating software appropriately. in this paper i explain in detail one way in which such software can be created. the starting point of is to identify what basic data is available. in each of the assessment tests that i use in teaching my subject, the students answer the questions by selecting a letter that represents their chosen answer (a, b, c, etc.). this letter is recorded in an electronic database so that the student’s record consists of a sequence of 30 to 40 individual letters. a symbol (-) is used to indicate unanswered questions. a typical string of answers looks like this: baabebccaecb-dabbab-abbceabaccaabaeadac. to create effective feedback, techniques are needed to extract more information from such basic data. how can this be done? essentially, the process involves combining three types of information. the first is the particular answer the student chose for each question. the second is what the instructor knows generally about the subject area and skills being tested. the third is the focus or intent of each particular question in the test. the computer application can be designed to take proper account of these three factors and to draw specified conclusions from them. in this way, it is possible to build a useful picture of how the student has performed, and to identify their particular strengths and weaknesses. this information, properly presented with comments and advice, forms the basis for individualised feedback. to fully envisage what is possible, it helps to understand the computer processes that are involved. an easy example of this is working out whether or not a particular answer is correct or incorrect. essentially, the student’s answer must be compared to the correct answer, to see if they are the same. a computer program compares data by using variables. variables can be thought of as an electronic slots in which specified information can be stored. to compare a student’s chosen answer with the correct answer, the data representing a student’s answer can be retrieved from the database where it is permanently stored, and temporarily placed in a specified variable. the data representing the correct answer can be placed in another variable. the computer program then compares the contents of the two variables. if they match, it follows that the student has answered the question correctly and the ok result can be stored in a third variable, in the form of an increasing number or score. if there is no match, the student’s answer is wrong and this not ok conclusion can be stored in a fourth variable (or by adjusting the number in the third variable downwards). using a process like this for all the student’s answers, it is possible to work out how many answers were right or wrong. but a difficulty immediately emerges. it is apparent that the results obtained do not disclose why a student has chosen a particular answer. there can be many reasons for getting an answer wrong. for example, the student may have simply misread the question; or failed to understand the significance of a particular term used in the question; or not have had the necessary knowledge or skill to answer correctly. similar possibilities exist in respect of correct answers. taken individually, therefore, a student’s correct and incorrect answers do not provide a sufficiently reliable basis for giving feedback and advice. but, given sufficient data, it is possible to look for significant patterns in a studentšs right and wrong answers. when all of the student’s answers are analysed in the light of the particular knowledge and skills that the various questions are designed to test, distinct patterns emerge that can be useful as the basis for providing that student with helpful feedback. 4 identifying categories of skill and knowledge to develop a computer-based application that carries out the necessary analysis of the student’s answers requires careful thought and planning. the first step is to analyse each of the questions on the test, to identify, describe and name the particular categories of knowledge and skill involved. to do this 76 michael lambiris the instructor must combine their subject-matter expertise, teaching experience and examining skills. it may initially seem difficult to categorise each question in a specific and uncompromising way some questions defy any neat classification. but, when classifying questions in one or more specified ways, it quite often happens that fresh insight is gained into what a question is truly attempting to do, and how that question might be improved so that it achieves its objectives more clearly and precisely. this is not a bad thing to happen. examples taken from specific tests illustrate the way in which categories may be defined. in the first test written by pbl students, analysis shows that each of the 40 questions involves one of three different generic skills. one is an ability to recall and apply acquired knowledge. another is the ability to find specified information in a statute and a law report. the third is the ability to understand, analyse, and draw conclusions from specific facts. each question can also be categorised according to the area of knowledge involved. in the test being discussed, the areas of knowledge are: (1) constitutional arrangements and the organs of government in australia; (2) the law-making powers of specified organs of government; (3) the processes and procedures for enacting legislation; (4) the hierarchy of the federal and state court systems; (5) the nature and organisation of law; (6) understanding and appropriate use of legal terms and concepts; (7) the interpretation and application of statutory law; (8) the interpretation and application of case-law; and (9) recognition and understanding of judicial reasoning. when each category of skill and knowledge has been identified, it needs to be given a brief but distinctive name. using the example above, the three categories of skill can be named qt1; qt2 and qt3. the nine categories of knowledge can be named: ch; lmp; nol; cs; lc; leg; sti; cl; and jr. these names can be used (with some modification) to identify variables in a computer program. to carry out an analysis, the program will need three separate variables for each named category of skill and knowledge. this allows us to take account of whether the student answered that question rightly (r) or wrongly (w), or left it unanswered (n). using this naming regime, the name of the first category above qt1 is transformed into three variables named qt1r, qt1w or qt1n. similarly, qt2 becomes qt2r, qt2w and qt2n; and so on. further named variables will be needed to track other important aspects of the results, for example: q1; q2; q3, etc to hold the student’s answer to each question; right to hold the correct answer being considered; wrong for the incorrect answer being considered; result for the result of comparing two variables; rans for the total number of correct answers; wans for the total number of incorrect answers; nans for the total number unanswered questions; tans for the total number of questions attempted; and score for the final score for the test. 5 developing routines for analysis to see what sort of information can now be extracted from the basic data requires some understanding of the computer-based processes involved. imagine that we want to begin by analysing a student’s answer to the first question in the test. the computer program begins by finding the particular student’s string of answers in the database. it then selects the answer chosen by that student to the first question, and places the appropriate letter (a,b or c) in the relevant named variable, for example, in q1. next, the program places the letter which represents the correct answer to that question (a, b or c) in the variable right. by comparing the letter stored in q1 with the letter stored in right, the program can decide whether or not the question was correctly answered. this result can then be stored in a third variable where the total number of correct answers is kept: rans. if the question was not answered, this fact can be recorded in the variable that stores the total number of unanswered questions: nans. and if the question was answered wrongly, this conclusion is stored in the variable that stores the total number of incorrect answers: wans. the program can now be made to classify the student’s answer to the first question by reference to a category of skill. for example, assume question 1 tested the student’s ability to understand, analyse, and draw conclusions from specific facts. recall that the relevant variable for this skill was named qt3. a methodology for providing individualised computer-generated feedback to students 77 if the student got the answer right, the program can store this conclusion in the variable that counts the student’s correct answers in this category qt3r. alternatively, if the question was answered wrongly, that conclusion can be recorded in the variable qt3w which shows the total of wrong answers in this category. unanswered questions in this category are recorded in the variable qt3n. the same procedure is followed to classify the student’s answer to this question in relation to the area of knowledge being tested, using the variables lmpr; lmpw; or lmpn. in this way, the student’s answer to question one is being evaluated in various ways. the same routines are then repeated for each of the remaining questions, with appropriate changes to the variables used to store the conclusions. once these basic routines have been carried out, further processes can be used to derive additional information from the data, or to organise it usefully. for example, the total number of questions answered by the student can be calculated by adding together the number of the student’s correct and incorrect answers (rans + wans), and placing the result in the variable tans (for total answers). similar processes add to the value of the available information. so far, the individual questions have been classified as belonging to one of nine different areas of knowledge. for the purpose of generating feedback, the areas of knowledge can usefully be grouped into a smaller number of broader categories. the point of doing this is that it often helps students to understand where their strengths and weakness might lie in general terms, before going on to a more detailed analysis. in the first test written by pbl students, the nine areas of knowledge can be grouped into three broader categories, represented by variables total1, total2 and total3, as shown below: in total1 the broad area of knowledge is organs, powers and processes of government and includes: constitutional arrangements and the organs of government in australia (ch); the law-making powers of specified organs of government (lmp); the processes and procedures for enacting legislation (leg); and the hierarchy of the federal and state court systems (cs). in total2, the broad area of knowledge is legal concepts and language and includes: the nature and organisation of law (nol); and understanding and appropriate use of legal terms and concepts (lc). in total3 the broad area of knowledge is the interpretation and application of law and includes: the interpretation and application of statutory law (sti); the interpretation and application of case-law (cl); and recognition and understanding judicial reasoning (jr). the totals in the relevant variables (shown in brackets above) are added together to show how the student has performed in each broad area of knowledge. this is done separately for right answers, wrong answers and unanswered questions. for example, the numbers in the variables chr; lmpr; legr; and csr are added together in total1r to show the correct answers in this broad area of knowledge, while chw; lmpw; legw; and csw are added together in ’total1w’ to show the incorrect answers in this same area. the variables chn; lmpn; legn; and csn are added together in total1n to show the unanswered questions in this area. the same type of process can be used to produce data in relation to other specified learning objectives. finally, we can calculate the student’s score for the test and place it in score. this is done by taking the number of correct answers (already contained in the variable rans) and doing whatever arithmetic calculation is needed to express it as a final mark. in the test now being discussed, a mark out of 15 is needed because the test counts for 15 per cent of the overall assessment for the subject. the number in rans is therefore divided by 2.667 and the result placed in score. 6 presenting information as feedback using routines to analyse the basic data and extract additional information in the way described above is only the initial stage of actually providing feedback to a student. the next step is to build an interface that presents this data appropriately. the information available is sufficient to provide quite detailed feedback if it is built into a careful sequence of explanation, coupled with comment and advice. this should be presented in a clear, friendly, constructive and flexible way. one possibility is to follow 78 michael lambiris a traditional web-page design, with a list of contents on the left of the screen to indicate the extent and structure of the available feedback, with direct hyperlinks different sections. see figure 2 below. as far as possible, the feedback should be individualised, by displaying the particular student’s own data. in addition, particular comments and advice can be displayed selectively, depending on whether the particular student has a good score, an average score, or a poor score. the screenshots below provide examples. to script a full range of alternative comments and advice requires considerable forethought but the result is worthwhile. the feedback can also include information about how the individual student’s performance compares to the class as a whole. and it can usefully include information and advice about future tests, for example, what new forms of question will be encountered, and what specific preparation may be needed. students are very receptive to such information in the immediate aftermath of a test. the feedback applications can be made available to students either on a local area network, or by providing a downloadable version, or by running them on-line. 7 providing feedback to the instructor so far, this paper has been concerned with providing feedback to the students but it is also important that the instructor get feedback on the effectiveness of their teaching, the validity of the questions set in the test, and the extent and accuracy of student learning. traditional marking, which involves reading the answers, provides this feedback because, if a significant number of students make the same mistake, the instructor quickly becomes aware of the problem. with computer-based testing it is harder to get a clear idea of these matters. the normal output of a computer based test is a list of final marks and these do not tell the instructor much about where specific problems might lie. however, it is possible to use the techniques described above (with appropriate modification) to provide an analysis of the group results. for a group analysis, the program begins by finding each student’s string of answers in the database and carrying out the same sort of analysis already described, classifying the answers as right or wrong, and categorising the right and wrong answers in various ways, for example, by area of knowledge or skill, or in relation to specified learning objectives. as each student’s string of answers is analysed, a cumulative total is built up, so that in the end it is known how many students in the entire group got each question right or wrong; what the distribution of marks is; what percentage of the answers were right or wrong in relation to particular areas of law; and what percentage of students satisfactorily demonstrated competency at particular skills. this type of analysis would be time-consuming to do manually but it is quickly and easily accomplished using the methodologies described. the results give an accurate and clear picture of group performance for example, see figures 6 and 7 below. if too many students appear to be answering a particular question wrongly, the instructor will quickly notice this and be able to investigate the different possibilities. it may be that the question is badly written; or that the topic is poorly taught; or that the student’s have prepared inadequately in that area of study. responding appropriately helps to improve the quality of the teaching and learning process. 8 conclusions by using appropriate techniques, and properly coordinating the skills and experience of instructors and computer-programmers, it is possible to automatically generate and deliver very satisfactory indivdualised feedback for students and instructors. although the examples discussed here use the data obtained from computer-based tests in multiple-choice form, the same ideas could be adapted to tests that are not computer based, or that do not consist of multiple-choice questions. all that is required is to work out a marking scheme where numbers or letters are used to record the marker’s evaluation of what the student has achieved. this data could be digitalised and used as the basis for computer-generated analysis a methodology for providing individualised computer-generated feedback to students 79 figure 1: a sample question from a test. this question involves case-law, more specifically the meaning of coded information in case citations (variable cl). the student must interpret and evaluate the significance of that information (variable qt3). and feedback, in much the same way as described in this paper. in essence, therefore, the techniques explained in this paper could find application in a wide range of situations. the screenshots illustrate various aspects of the ideas explained in this paper. they show how the information generated from the basic data can be presented in a constructive, meaningful and readable style, and within a well-contextualised framework. the last two screenshots present an analysis of group data and show how a clear and detailed overview can be gained by the instructor of class performance as a whole. references [1] johnstone r, patterson j and rubinstein k, improving criteria and feedback in student assessment in law, cavendish publishing, australia, 1998. [2] east r, effective assessment strategies in law, http: //www.ukcle.ac.uk/resources/ assessment/effective.html, 2005. [3] higgins, e. and tatham, l, assessing by multiple choice question (mcq) tests,http:// www.ukcle.ac.uk/resources /trns/mcqs/index.html, 2003. [4] lambiris m, assessment management software, australian law courseware pty ltd, australia, http://www.alcware.com, 2005 2006. 80 michael lambiris figure 2: in the feedback application, the topics are listed on the left of the screen with hyperlinks to the content of each section. this particular screen explains the scoring process, shows the individual student’s final score and grade, and provides an appropriate comment. figure 3: this screen provides a detailed analysis of the individual student’s performance in a specified area of law (organs, powers and processes of government) and selectively provides appropriate comment. the feedback is based on the variables total 1r; chr; lmpr; legr and csr. a methodology for providing individualised computer-generated feedback to students 81 figure 4: this screen uses the variables qt1r; qt2r and qt3r to analyse the individual student’s ability to perform tasks involving specified skills. appropriate comments are also displayed selectively, depending on the values in these variables. figure 5: this screen summarises all of the available data. presented in tabular form, it gives a concise overview of the student’s performance. it also shows how a substantial amount of meaningful information can be generated from the basic data. 82 michael lambiris figure 6: using the same variables as devised for the feedback application, the data for the entire group of students can be generated for the instructor. this screen shows how many students in one group answered particular questions correctly or not. figure 7: group data can also give the instructor an overview of performance in relation to areas of knowledge, or particular skills. this screen shows the percentage of correct answers for the entire group in relation to the eleven areas of knowledge being tested. a methodology for providing individualised computer-generated feedback to students 83 michael lambiris the university of melbourne, faculty of law victoria 3010 australia e-mail: m.lambiris@unimelb.edu.au received: november 6, 2006 editor’s note about the author: michael lambiris (born january 22, 1950) obtained an llb (hons) from the university of london in 1971, and a phd from rhodes university in 1988. he has held positions at the university of zimbabwe (1976-1982 and at rhodes university, south africa (1982-1991). he is presently an associate professor and reader in the faculty of law, the university of melbourne, victoria, australia. his main fields of teaching and research are commercial law and computer-based legal education. in addition to writing computer-based learning materials, he has developed computer-based testing and feedback software, written various papers and books and presented papers at many international conferences. he is the managing director of australian law courseware (pty) ltd which publishes computer-based learning materials for law students. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 185-197 quality control of statistical learning environments and prediction of learning outcomes through reproducible computing patrick wessa k.u.leuven association lessius, dept. of business studies belgium e-mail: patrick@wessa.net abstract: this article introduces a new approach to statistics education that allows us to accurately measure and control key aspects of the computations and communication processes that are involved in non-rote learning within the pedagogical paradigm of constructivism. the solution that is presented relies on a newly developed technology (hosted at www.freestatistics.org) and computing framework (hosted at www.wessa.net) that supports reproducibility and reusability of statistical research results that are presented in a so-called compendium. reproducible computing leads to responsible learning behaviour, and a stream of high-quality communications that emerges when students are engaged in peer review activities. more importantly, the proposed solution provides a series of objective measurements of actual learning processes that are otherwise unobservable. a comparison between actual and reported data, demonstrates that reported learning process measurements are highly misleading in unexpected ways. however, reproducible computing and objective measurements of actual learning behaviour, reveal important guidelines that allow us to improve the effectiveness of learning and the e-learning system. keywords: reproducible computing, learning environment, quality control, statistics education, psychometrics 1 introduction in education-related research it is common practice to investigate learning processes through measurements that are based on questionnaires. reported measures often reveal interesting information about a wide variety of aspects of computing-assisted learning such as: computer attitudes [22]; computer emotions and knowledge [17]; learner experiences and satisfaction [34]; etc... the importance of such measurements has been highlighted by many authors from various perspectives ([7], [15], [12]) especially from the perspective of the constructivist pedagogical paradigm ([35], [30], [11], [24]). these reported measures, while intrinsically interesting, may not always provide us with the information we need to assess and improve systems that support e-learning. moreover, the implementation of new learning technologies and data analysis tools open up a wide array of measurement opportunities which lead to new areas of research. an excellent example is the use of data mining tools in the open source e-learning environment called moodle [28]. even though it seems to be very difficult to measure and empirically prove [25], there is no doubt in my mind that the introduction of computers in homes and classrooms has led to an improvement of overall learning productivity, educational communication mechanisms, social constructivism, and collaboration. however, the use of computers and software in statistics education may unwillingly result in several types of adverse effects because the complex processes that are required to learn and (truly) copyright © 2006-2009 by ccc publications 186 patrick wessa understand statistical concepts are often mystified by technicalities and a variety of practical problems that have nothing to do with mathematics or statistics. it is within this context that i argue that a system for quality control should be embedded into the e-learning system, which is not limited to the virtual learning environment but extends to the statistical software, databases, and learning repositories (statistical learning environment). there is an important, additional benefit for implementing such a monitoring and control system it is directly related to the problem of irreproducible research which has received a great deal of attention within the statistical computing community ([9], [26], [29], [14], [13], [18], [10]). the most prominent citation about the problem of irreproducible research is called claerbout’s principle ([9]): an article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. the actual scholarship is the complete software development environment and that complete set of instructions that generated the figures... several solutions have been proposed ([5], [10], [19]) but have not been adopted in statistics education because they require students to understand the technicalities of scientific word processing (latex) or statistical programming (r code). based on a newly developed statistical learning environment (sle) i propose a solution that is feasible for educational purposes and allows us to monitor, research, and control the learning processes based on the dynamics of between-student communication and collaboration. 2 reproducible computing 2.1 r framework the r framework allows educators and scientists to develop new, tailor-made statistical software (based on the r language) within the context of an open-access business model that allows us to create, disseminate, and maintain software modules efficiently and with a very low cost in terms of computing resources and maintenance efforts [36]. the so-called r modules empower students to perform statistical analysis through a web-based interface that does not require them to download or install anything on the client machine. this permits students to focus primarily on the interpretation of the analysis however, the r framework also allows advanced students and scientists to inspect and change the r code that was coded by the original author. this results in the creation of so-called derived r modules that may be better suited for particular purposes. there are several important reasons why the r framework helps in controlling the quality of the statistical learning processes that are supported by the computer: • the r modules are web applications with an advanced session management which includes all aspects of the computations that are executed. in addition, the session manager uses attributes that identify the student and the course in which (s)he is enrolled. therefore all computations that are performed within the context of a statistics course can be associated with an individual student to implement this feature, the educator only needs to use certain html tags in the hyperlink that is inserted in the virtual learning environment. • every r module is uniquely described by an expandable set of meta data (incl. the actual statistical code) which can be stored and transmitted. this implies that every computation that is executed can be uniquely defined by the r module’s meta data and additional information about the data and the parameters that have been specified by the user. as a consequence, every computation can be uniquely described and archived with meta data. quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 187 • the r framework allows other servers (under certain conditions) to send meta data through an ordinary http request which allows it to rebuild and execute the r module with the specified data and parameters in real time. therefore it is possible to remotely store computational objects and send them back to the r framework such that the original computation can be reproduced and reused. • all the processes that are associated with the above items are automatically stored in a so-called process measurement database. this implies that all computer-assisted learning activities are objectively measured and stored for the purpose of analysis. 2.2 compendium platform if a derived r module contains generic improvements or if a computation needs to be communicated to other students/scientists then it is necessary to have a simple, transparent mechanism that allows one to permanently store the computation in a repository of computational objects that can be easily retrieved, recomputed, and reused. such a repository was recently created within the oof 2007/13 project of the k.u.leuven association and is called the compendium platform. the main reason for creating the r framework and the compendium platform, is that it allows anyone to create and use compendia of reproducible research. a compendium is defined as [37]: a research document where each computation is referenced by a unique url that points to an object that contains all the information that is necessary to recompute it. such documents can be easily created (even by students) and permit any reader to (exactly) recompute the statistical results that are presented therein. a few simple clicks are sufficient to have the r framework reproduce the results and to reuse them in derived work [37]. the practical implications of this technology will become obvious in section 3 because the three figures that are presented can be recomputed and reused through the compendium platform. 2.3 communication, feedback, and learning the concept of reproducible computing was implemented in several undergraduate statistics courses in order to thoroughly test the new system and to measure key aspects of the educational activities and experiences. two different student populations were investigated in detail: a group of (academic) bachelor students, and a group of so-called switching students. the second population is of particular interest because it consists of students who obtained a (professional) bachelor degree and decided to make the switch to an academic master which requires them to complete a preparatory year. on the one hand, switching students are highly motivated and more mature than the bachelor students. a priori, one would expect them to prefer practical activities (such as communication and computing) above theory and critical reflection. on the other hand, one might expect the bachelor students to have a more critical (scientific) attitude and better mathematical background than the switching students. students from both populations took a similar statistics course which covered topics from introductory statistics, regression analysis, and introductory time series analysis. the main learning activities in both statistics courses were based on a weekly series of workshops where each student was required to investigate practical, empirical problems. at the end of each week, students submitted their papers electronically. during the lecture i proposed a series of solutions and illustrated commonly made mistakes. after the lecture, students had to work on the next assignment and complete a series of peer reviews (assessments) about the work that was submitted the week before. the assessment grades did not count towards the final score however, each submitted peer review was accompanied by verbal feedback messages. i graded a (quasi random) sample of these messages in order to provide students with a strong incentive to take the review process seriously. there is strong empirical evidence that this approach had beneficial effects on non-rote learning of statistical concepts [38]. 188 patrick wessa 3 objective measurements versus reported data in a recent paper [37] it is illustrated how the compendium platform’s repository supports “technical” quality control of the statistical software and accompanying documentation for students. on the one hand, reproducible computing allows students to accurately communicate computational problems and questions without the need to understand the underlying technicalities. on the other hand, it allows the educator (and creator of the computational software) to analyze the reported problem (based on the detailed, raw output of the r engine that executed the request) and to transparently communicate the solutions to the students. moreover, the measurement of learning activities and experiences is a conditio sine qua non for controlling the “overall” quality of the sle. this will be illustrated, based on the data that have been collected from both student groups. at the same time, the importance of objective (as opposed to reported) measurements is illustrated based on a simple, comparative diagnostic tool. the reported measurements were obtained through questionnaires on a 5-point likert scale and should consequently be treated as ordinal data. the questions were based on well-known psychological surveys ([12], [8]) and the ibm computer system usability survey [20] which was adapted and extended [27]. useful data was obtained from a total of 111 bachelor students and 129 switching students the response ratio was very high (between 82.9% and 92% depending on the questionnaire). all observations of actual learning activities were measured on a ratio scale (the number of archived computations and the number of submitted feedback messages). a total number of 34438 meaningful, verbal feedback communications and 6587 archived computations were registered. in order to compare the actual and reported data, all measurements were converted to ordinal rank orders. in addition, the pearson’s rho correlations and kendall’s tau rank correlations ([1], [2], [16]) that represent the degree of linear association between the properties under investigation, were computed (these can be consulted in the archived computations about the figures). in electronic versions of this paper, one can simply (ctrl-)click the hyperlinks below figures 1, 2, and 3 to view the archived computation in the repository. readers of the printed version of this document, have to manually enter the respective urls into their internet browser to view the statistical computations that have been stored (at www.freestatistics.org). figure 1 displays the bivariate kernel density [21] between the rank order of the number of feedback messages that have been submitted in peer reviews about the workshops (x-axis) and the rank order of the number of (reproducible) computations that have been archived in the repository (y-axis). the rank orders have been computed within the bachelor population for the top panels, and within the switching population for the bottom panels. this implies that the ranks that are attributed to female and male students are expressed on the same axes and can be compared. figure 1 clearly demonstrates that female bachelor students are much more involved in feedback and computing than their male colleagues. at the same time, female switching students are more computing-oriented whereas the male switching students seem to have a slight preference for feedback communication. this information has important repercussions for controlling the quality of the learning environment and it provides clear guidelines towards actions that should be taken (by me) to improve participatory incentives towards male bachelor students in future courses. would i have been able to gain this insight based on reported measurements alone? the answer is clearly negative (as is illustrated in figures 2 and 3). it is quite obvious that male bachelor students highly over-estimate their performance in terms of feedback submissions (see figure 2) because the rank orders of reported measures (x-axis) are higher than the ranks of actual feedback submissions (y-axis). female bachelor students however, underestimate their involvement (relative to their male colleagues) because they are concentrated above the diagonal line. in the male switching student population several clusters of high density can be detected which leads us to conclude that we cannot treat them as one homogeneous group. in figure 3 the comparison between reported computing measures (x-axis) and actual computing (y-axis) leads to similar conclusions. male bachelor students highly exaggerate their efforts, whereas quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 189 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 female bachelor students # submitted messages # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.0 02 0.004 0.006 0.008 0.008 0.01 0.012 0.014 0.016 0.018 0.02 0.022 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 male bachelor students # submitted messages # r e p ro d u ci b le c o m p u ta tio n s 0.005 0.01 0.01 0.01 0.01 0.0 1 0.015 0.02 0.025 0.03 0 50 100 150 0 5 0 1 0 0 1 5 0 female switching students # submitted messages # r e p ro d u ci b le c o m p u ta tio n s 0.001 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0 .0 1 0.01 0.01 0.011 0.012 0.013 0 50 100 0 5 0 1 0 0 male switching students # submitted messages # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.004 0.006 0.006 0.008 0.01 0.01 0.01 0.012 0.014 0.014 0.016 0.016 figure 1: submitted feedback versus reproducible computations www.freestatistics.org/blog/date/2008/jun/30/t1214840420q0fyankop4x9ebf.htm female bachelor and switching students underestimate themselves. the group of male switching students is heterogeneous. overall, the testimony of students is extremely misleading and poorly correlated with actual observations. if we would have recomputed figure 1 with reported measures then the conclusions would have been the opposite of what is true. the reader can try out this experiment by simply reproducing the computation of figure 1 with reported measures on both axes. 4 quality control in order to be able to control (and improve) the quality of the sle, it is necessary to estimate the impact of key-aspects of the learning processes that are associated with the sle. the methodology that allows us to do this is based on a mathematical model which is described in [40] and relates the learning outcomes to objectively measured activities and reported experiences. typically, models that predict learning outcomes based on exogenous variables that are related to the learning (and computing) environment have an extremely low percentage of variance explained. in a recent and extensive study [25], six models were discussed that predicted the statistics subtest scores of the massachusetts comprehensive assessment system the variance explained ranged between 4% and 7%. it is obvious that any model that is used to control the quality of an sle should perform much better. there are three important requirements to build high-quality models: 1. high-quality exogenous variables (preferably based on objective measurements) [39]; 190 patrick wessa 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 female bachelor students reported feedback submissions a ct u a l f e e d b a ck s u b m is si o n s 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02 −20 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 male bachelor students reported feedback submissions a ct u a l f e e d b a ck s u b m is si o n s 0.002 0.002 0.004 0.006 0.008 0.01 0.012 0.012 0.014 0.014 0 50 100 0 5 0 1 0 0 1 5 0 female switching students reported feedback submissions a ct u a l f e e d b a ck s u b m is si o n s 0.001 0.001 0.002 0.003 0.004 0.005 0.006 0.006 0.007 0 .0 08 0.008 0.009 0.01 0. 01 1 0.011 0 50 100 150 0 5 0 1 0 0 male switching students reported feedback submissions a ct u a l f e e d b a ck s u b m is si o n s 0.002 0.002 0.004 0.006 0.008 0.008 0.01 0.01 0.01 0.012 0.012 0.012 0.014 0.014 figure 2: reported versus actually submitted feedback http://www.freestatistics.org/blog/date/2008/jun/30/t12148409608o0dnj2k4s04jil.htm 2. high-quality endogenous variable (c.q. test scores) based on optimal weights of the individual items (section 4.1, [40]); 3. homogeneous sample for which the model is computed. the third condition refers to the fact that student populations may consist of different types of students with specific learning behaviors. in the formentioned statistics course there were 4 groups with distinct characteristics. this is clearly illustrated in section 3 and in figures 1, 2, and 3. instead of computing separate models (for each of the sub populations) section 4.2 presents a comprehensive model with all combinations of interaction effects (male/female and bachelor/switching). this greatly improves the interpretation of the prediction model and allows us to perform differential quality control of the sle. 4.1 model first, a classical regression approach is used to predict the learning outcomes (c.q. exam scores) as a linear function of (k − 1) ∈ n0 exogenous variables of interest. let ~y represent an n × 1 vector for all n ∈ n students (with n > k), containing the weighted sum of g item scores (c.q. scores on individual exam questions): ~y ≡ ∑gj=1 ωj~yj with initial unit weights ωj ≡ 1. in addition, define an n × k matrix x that represents all exogenous variables (including a one-valued column which represents the constant), and a k × 1 parameter vector ~b that represents the weights of the linear combination of all columns in x that is used to describe ~y. the complete model is denoted m1 and is defined by ~y = x~b + ~e where ~e ← iid n(~0, σ2e) represents the prediction error. quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 191 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 female bachelor students reported intention to use # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.004 0.006 0.008 0.01 0.01 0.012 0.012 0.014 0.016 0 20 40 60 80 100 120 0 2 0 4 0 6 0 8 0 1 0 0 1 2 0 male bachelor students reported intention to use # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.00 2 0.002 0.002 0.004 0.006 0.008 0.01 0.01 0.012 0.012 0.014 0.014 0.016 0 .0 1 8 0 .0 2 0 50 100 0 5 0 1 0 0 1 5 0 female switching students reported intention to use # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.004 0.006 0.008 0.01 0.012 0 50 100 150 0 5 0 1 0 0 male switching students reported intention to use # r e p ro d u ci b le c o m p u ta tio n s 0.002 0.004 0.006 0.00 6 0.008 0.008 0.01 0.01 0.012 0.012 0.012 0.012 0.014 0.014 0.014 0.016 figure 3: reported versus actual reproducible computing http://www.freestatistics.org/blog/date/2008/jun/30/t1214841152sn6jlyhgseclgqm.htm in the second model m2, the prediction of the first model is specified by a linear combination of the individual items (questions) that made up the total exam score. let y represent the n × g matrix that contains all g item scores, then it is possible to define the model ~̂y = y~c + ~a where ~a ← iid n(~0, σ2a). note that there is no constant term in this model. the third model (m3) simply combines m1 and m2 by relating ^̂ ~y to x in the regression model ^̂~y = x~f+~u. the estimator for ~f can be shown to be ~̂f = (x′x)−1 x′^̂~y = (x′x)−1 x′y (y ′y)−1 y ′x (x′x)−1 x′~y ([40]). m3 is likely to yield different results from m1 unless the estimated parameters m2 are (nearly) equal to the original weights ~̂c = (ĉ1, ĉ2, ĉ3, ..., ĉg) ′ ' (ω̂1, ω̂2, ω̂3, ..., ω̂g)′. from a statistical point of view it is not possible to test the improvement that is induced by the objective exam score transformations. the reason for this is that the traditional f-test assumes that the endogenous variables in two models (m1 and m3) to be compared are identical. therefore it is necessary to use an auxiliary model (m∗3) which is based on m3 and includes ~y as an explanatory variable. this extended model ^̂~y = x~f + ~yg + ~u can be shown to be equivalent to ( y (y ′y)−1 y ′x (x′x)−1 x′ − gin ) ~y = x~f + ~u such that it can be concluded that m∗3 is equal to m1 with a transformed endogenous variable. the interesting aspect about this auxiliary regression is the limiting case when g → 0 and y (y ′y)−1 y ′x (x′x)−1 x′ → in because it leads to m1 with ~f = ~b and ~u = ~e. this result is important because it is now easy to test if it is necessary to apply the transformation to the endogenous variable. the null hypothesis is simply h0 : g = 0 versus h1 : g 6= 0 which can be tested with the conventional t-test. in other words, if the null hypothesis is rejected then the transformation is necessary and the estimated parameters ~̂c and ~̂f interpretable. the usefulness of this modeling approach is illustrated in the next subsection. 192 patrick wessa 4.2 empirical evidence the data that was collected from the implemented sle (as described in section 2.3) contained the following exogenous variables: • bcount: actual computations • gender: 0 = female / 1 = male • future: intention to use • pop: 0 = bachelor / 1 = switching • nnzfg: actually submitted feedback messages in peer review • reflection: reported feedback messages in peer review table 1 presents the empirical results of two models (m1 and m3). the endogenous variable in m1 is the sum of all exam questions with unit weights whereas m3 is based on objective exam score transformations (optimal weights of individual questions). table 1: empirical results variable estimate m1 sig. estimate m3 sig. (intercept) 6.935987 * 6.333557 *** bcount 0.033281 0.035939 *** gender -2.166419 -1.465320 pop -4.616769 -0.494553 nnzfg 0.027379 * 0.030161 *** future 0.625812 . 0.639711 *** reflection -0.167591 -0.167980 ** bcount:gender -0.027786 -0.036090 ** bcount:pop 0.018510 -0.007901 gender:pop 3.699211 2.116220 gender:nnzfg -0.001449 -0.013074 ** pop:nnzfg -0.020088 -0.024768 *** gender:future -0.274359 -0.354713 * pop:future -0.038318 -0.143013 gender:reflection 0.161042 0.225622 * pop:reflection 0.289011 0.160574 . bcount:gender:pop 0.019236 0.021735 gender:pop:nnzfg -0.002538 0.009896 . gender:pop:future -0.248325 -0.157158 gender:pop:reflection -0.128991 -0.160408 residual standard error 3.446 0.9593 degrees of freedom 179 179 adj. r-squared 0.1607 0.6626 f-statistic 2.995 *** 21.47 *** signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 from the results in table 1 it is clear that m3 provides unlike m1 a lot of interesting information about the relationship between optimally weighted exam scores and the exogenous variables which are quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 193 under the control of the educator. the percentage of variance explained (adjusted r2) in m3 is more than 66% which allows us to make much better predictions than what is usually reported in otherwise excellent academic articles [25]. as explained before, the traditional f-test cannot be used to test the significance of the improvement. however, the auxiliary regression’s null hypothesis h0 : g = 0 is rejected even if an extremely low type i error is chosen (the p-value is 3.23 × 10−11). this implies that m3 performs significantly better and the objective exam score transformations are necessary. in addition, several diagnostic tests about the final model (m3) are shown in figure 4 they indicate no statistical inadequacies. the most interesting aspects of this analysis are the estimated parameters of m3. with regard to quality control of the sle the following conclusions can be made: • there is a positive effect of performing reproducible, statistical computations (bcount). this effect is significant at the 0.1% type i error level and cannot be measured without optimal weights (m1). however, this effect is only relevant for female students because the parameter that is associated with bcount:gender is also significant and has a negative sign. • submitting feedback messages (in peer review) is very beneficial and improves exam scores (pvalue < 0.01%). this effect is about twice as large for female students than for males (the gender:nnzfg parameter partially offsets the effect for male students). in addition, students from the switching population benefit less from feedback submissions. • the reported “intention to use” (as measured in the usability survey) positively affects exam scores. this effect is strongest for female students. note that previous research has shown that intention is mainly related to student’s perception about the comparative advantage (of the software system) to learn statistics as compared to other alternatives (such as textbooks) [27]. • females who report a high number of submitted feedback messages have significantly lower exam scores. on the other hand, male students who exaggerate their efforts are not in danger of having lower exam scores. this implies that the female exaggeration bias is small but harmful the male exaggeration bias is big and harmless. based on these empirical results it is now possible to control (improve) the quality of the sle: • female students should be encouraged to generate more reproducible computations. • peer review (based on reproducible computing) is highly beneficial to learn statistics especially when it requires students to engage in submitting feedback messages to their peers. male students need to (at least) double their efforts (compared to females) in order to obtain the same effect. students from the switching population also need more feedback submissions than bachelor students. • it is important to explain the sle to students emphasizing the comparative advantages of the system and the potentially improved exam scores. however, male students need more (or better) arguments before they accept the new technology and exhibit an increased degree of “intention to use.” • female students who exaggerate their reported efforts should receive accurate feedback about their real performance which is based on objective measurements. self assessment and reflection about student’s actual efforts (as compared to perceived efforts) should be an integral part of the sle. 194 patrick wessa 6 8 10 12 − 3 − 2 − 1 0 1 2 3 fitted values r e si d u a ls residuals vs fitted 145 31 141 −3 −2 −1 0 1 2 3 − 3 − 2 − 1 0 1 2 3 theoretical quantiles s ta n d a rd iz e d r e si d u a ls normal q−q 31 145 141 6 8 10 12 0 .0 0 .5 1 .0 1 .5 fitted values s ta n d a rd iz e d r e si d u a ls scale−location 31 145 141 0.00 0.05 0.10 0.15 0.20 0.25 0.30 − 4 − 2 0 2 leverage s ta n d a rd iz e d r e si d u a ls cook’s distance residuals vs leverage 31 10368 figure 4: diagnostics of m3 5 summary and conclusions the good news is that we now have a technology and methodology to assess actual and reported learning activities for any student population that makes use of the new compendium technology. ultimately, this allows us to take control and improve the sle which includes the e-learning environment, the statistical software, the course materials, and the overall learning experiences of all students. bibliography [1] arndt s., turvey c., andreasen n. (1999), correlating and predicting psychiatric symptom ratings: spearman’s r versus kendall’s tau correlation, journal of psychiatric research, 33, 97-104 [2] arndt s., magnotta v. (2001), generating random series with known values of kendall’s tau, computer methods and programs in biomedicine, 65, 17-23 [3] attitudes to thinking and learning survey, (n.d.), retrieved december 22, 2004, from www.moodle.org [4] benson j. (1989). structural components of statistical test anxiety in adults: an exploratory study, journal of experimental education, 57, 247-261. [5] buckheit j., and donoho d. l. (1995), wavelets and statistics, springer-verlag, editor: antoniadis, a. [6] chambers j. m., cleveland, w. s., kleiner, b. and tukey, p. a. (1983), graphical methods for data analysis, wadsworth & brooks/cole. quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 195 [7] chen z. (2008), learning about learners: system learning in virtual learning environment, international journal of computers, communications & control, vol. iii, no. 1, pp. 33-40 [8] constructivist on-line learning environment survey, (n.d.), retrieved december 22, 2004, from www.moodle.org [9] de leeuw j. (2001), reproducible research: the bottom line, department of statistics papers, 2001031101, department of statistics, ucla., url http://repositories.cdlib.org/uclastat/papers/2001031101 [10] donoho d. l., and huo, x. (2005), beamlab and reproducible research, international journal of wavelets, multiresolution and information processing, 2(4), 391-414 [11] eggen p., and kauchak, d. (2001), educational psychology: windows on classrooms (5th ed.), upper saddle river, nj: prentice hall. [12] galotti k. m., clinchy b. m., ainsworth k., lavin b. and mansfield a. f. (1999), a new way of assessing ways of knowing: the attitudes towards thinking and learning survey (attls), sex roles, 40(9/10) p745-766 [13] gentleman r. (2005), applying reproducible research in scientific discovery, biosilico, url http://gentleman.fhcrc.org/fld-talks/rgrepres.pdf [14] green p. j. (2003), diversities of gifts, but the same spirit, the statistician, 52(4), 423-438 [15] hilton s., schau c., olsen j. (2004), survey of attitudes toward statistics: factor structure invariance by gender and by administration time, structural equation modeling, 11(1) [16] hollander m., and wolfe d. a. (1973), nonparametric statistical inference, new york: john wiley & sons., 185-194 (kendall and spearman tests). [17] kay r. h. (2008), exploring the relationship between emotions and the acquisition of computer knowledge, computers & education, 50, 1269-1283 [18] koenker r., and zeileis a.(2007), a., reproducible econometric research (a critical review of the state of the art), research report series, department of statistics and mathematics wirtschaftsuniversit wien [19] leisch f. (2003), sweave and beyond: computations on text documents, proceedings of the 3rd international workshop on distributed statistical computing [20] lewis j. r. (1993), ibm computer usability satisfaction questionnaires: psychometric evaluation and instructions for use, ibm corporation, technical report 54.786 [21] lucy d., aykroyd r. g. and pollard a. m.(2002), non-parametric calibration for age estimation, applied statistics 51(2), 183-196 [22] meelissen m. r. m., drent m. (2008), gender differences in computer attitudes: does the school matter?, computers in human behavior, 24, 969-985 [23] miller j. b., (n.d.), examining the interplay between constructivism and different learning styles, retrieved october 20, 2005 from http://www.stat.auckland.ac.nz/ĩase/publications/1/8a4_mill.pdf [24] mvududu n. (2003), a cross-cultural study of the connection between students’ attitudes toward statistics and the use of constructivist strategies in the course, journal of statistics education, 11(3) 196 patrick wessa [25] o’dwyer l. m., russell m., bebell d., seeley k. (2008), examining the relationship between students mathematics test scores and computer use at home and at school, journal of technology, learning, and assessment, 6 (5) [26] peng r. d., dominici f., and zeger s. l. (2006), reproducible epidemiologic research, american journal of epidemiology, 163(9), 783-789 [27] poelmans s., wessa p., milis k., bloemen e., and doom c. (2008), usability and acceptance of e-learning in statistics education, based on the compendium platform, proceedings of the international conference of education, research and innovation, international association of technology, education and development [28] romero c., ventura s., garcia e. (2008), data mining in course management systems: moodle case study and tutorial, computers & education, 51, 368-384 [29] schwab m., karrenbach n., and claerbout j. (2000), making scientific computations reproducible, computing in science & engineering 2(6), 61-67 [30] smith e. (1999), social constructivism, individual constructivism and the role of computers in mathematics education, journal of mathematical behavior, 17(4) [31] statistical computations at freestatistics.org (2008a), office for research development and education, retrieved mon, 30 jun 2008, url http://www.freestatistics.org/blog/date/2008/jun/30/t1214840420q0fyankop4x9ebf.htm [32] statistical computations at freestatistics.org (2008b), office for research development and education, retrieved mon, 30 jun 2008, url http://www.freestatistics.org/blog/date/2008/jun/30/t12148409608o0dnj2k4s04jil.htm [33] statistical computations at freestatistics.org (2008c), office for research development and education, retrieved mon, 30 jun 2008, url http://www.freestatistics.org/blog/date/2008/jun/30/t1214841152sn6jlyhgseclgqm.htm [34] sun p., tsai r. j., finger g., chen y., yeh d. (2008), what drives a successful e-learning? an empirical investigation of the critical factors influencing learner satisfaction, computers & education, 50, 1183-1202 [35] von glasersfeld e. (1987), learning as a constructive activity, problems of representation in the teaching and learning of mathematics, hillsdale, nj: lawrence erlbaum associates, 3-17. [36] wessa p. (2008a), a framework for statistical software development, maintenance, and publishing within an open-access business model, computational statistics, www.springerlink.com (doi 10.1007/s00180-008-0107-y) [37] wessa p. (2008b), learning statistics based on the compendium and reproducible computing, proceedings of the international conference on education and information technology, berkeley, san francisco, usa [38] wessa p. (2008c), how reproducible research leads to non-rote learning within a socially constructivist e-learning environment, proceedings of the 7th european conference on e-learning, cyprus [39] wessa p. (2008d), measurement and control of statistics learning processes based on constructivist feedback and reproducible computing, proceedings of the 3rd international conference on virtual learning, constanta, romania quality control of statistical learning environments and prediction of learning outcomes through reproducible computing 197 [40] wessa p. (2009a), discovering computer-assisted learning processes based on objective exam score transformations, proceedings of the world congress on educational sciences, cyprus int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 104-117 a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy răzvan andonie, lucian mircea sasu, angel caţaron răzvan andonie computer science department central washington university, ellensburg, usa and department of electronics and computers transylvania university of braşov, romania e-mail: andonie@cwu.edu angel caţaron department of electronics and computers transylvania university of braşov, romania e-mail: cataron@vega.unitbv.ro lucian mircea sasu applied informatics department transylvania university of braşov, romania e-mail: lmsasu@unitbv.ro abstract: fuzzy artmap with relevance factor (famr) is a fuzzy artmap (fam) neural architecture with the following property: each training pair has a relevance factor assigned to it, proportional to the importance of that pair during the learning phase. using a relevance factor adds more flexibility to the training phase, allowing ranking of sample pairs according to the confidence we have in the information source or in the pattern itself. we introduce a novel famr architecture: famr with feature weighting (famrfw). in the first stage, the training data features are weighted. in our experiments, we use a feature weighting method based on onicescu’s informational energy (ie). in the second stage, the obtained weights are used to improve famrfw training. the effect of this approach is that category dimensions in the direction of relevant features are decreased, whereas category dimensions in the direction of non-relevant feature are increased. experimental results, performed on several benchmarks, show that feature weighting can improve the classification performance of the general famr algorithm. keywords: fuzzy artmap, feature weighting, lvq, onicescu’s informational energy. 1 introduction the fam architecture is based upon the adaptive resonance theory (art) developed by carpenter and grossberg [7]. fam neural networks can analyze and classify noisy information with fuzzy logic, and can avoid the plasticity-stability dilemma of other neural architectures. the fam paradigm is prolific and there are many variations of carpenter’s et al. [7] initial model: art-emap [9], dartmap [8], boosted artmap [27], fuzzy artvar [12], gaussian artmap [28], probart [21], pfam [20], copyright © 2006-2009 by ccc publications a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 105 ordered fam [11], and µartmap [14]. the fam model has been incorporated in the mit lincoln lab system for data mining of geospatial images because of its computational capabilities for incremental learning, fast stable learning, and visualization [25]. one way to improve the fam algorithm is to generalize the distance measure between vectors [10]. based on this principle, we introduced in previous work [2] a novel fam architecture with distance measure generalization: fam with feature weighting (famfw). feature weighting is a feature importance ranking algorithm where weights, not only ranks, are obtained. in our approach, training data feature weights were first generated. next, these weights were used by the famfw network, generalizing the distance measure. potentially, any feature weighting method can be used, and this makes the famfw very general. feature weighting can be achieved, for example, by lvq type methods. several such techniques have been recently introduced. these methods combine the lvq classification with feature weighting. in one of these approaches, rlvq (relevance lvq), feature weights were determined to generalize the lvq distance function [16]. a modification of the rlvq model, grlvq (generalized rlvq), has been proposed in [18]. the srng (supervised relevance neural gas) algorithm [17] combines the ng (neural gas) algorithm [22] and the grlvq. ng [22] is a neural model applied to the task of vector quantization by using a neighborhood cooperation scheme and a soft-max adaptation rule, similar to the kohonen feature map. in [1], we introduced the energy supervised relevance neural gas (esrng) feature weighting algorithm. the esrng is based on the srng model. it maximizes onicescu’s ie as a criteria for computing the weights of input features. the esrng is the feature weighting algorithm we used in [2], in combination with our famfw algorithm . famr is a fam incremental learning system introduced in our previous work [4]. during the learning phase, each sample pair is assigned a relevance factor proportional to the importance of that pair. the famr has been successfully applied to classification, probability estimation, and function approximation. in famr, the relevance factor of a training pair may be user-defined, or computed, and is proportional to the importance of the respective pair in the learning process. in the present paper, we focus on the famr neural network, the esrng feature weighting algorithm, and the distance measure generalization principle. we contribute the following: 1. we introduce a novel famr architecture with distance measure generalization: famr with feature weighting (famrfw), adapting the famfw model for the famr case. 2. compared to [2], we include new experiments on standard benchmarks. we first introduce the basic fam and famr notations (section 2), and the esrng feature weighting algorithm (section 3). in section 4, we describe the new famrfw algorithm, which uses a weighted distance measure. section 5 contains experimental results performed with the famrfw method. section 6 contains the final remarks. 2 a brief description of the famr we will summarize the fam standard architecture and the famr learning mechanism, which differentiates it from the standard fam. 2.1 the fam architecture a detailed fam description can be found in carpenter’s et al. seminal paper [7], but more simplified presentations are given in [26] and [19]. 106 răzvan andonie, lucian mircea sasu, angel caţaron figure 1: fuzzy artmap architecture [7]. the fam architecture consists of a pair of fuzzy art modules, arta and artb, connected by an inter–art module called mapfield (see fig. 1). arta and artb are used for coding the input and output patterns, respectively, and mapfield allows mapping between inputs and outputs. the arta module contains the input layer fa1 and the competitive layer f a 2 . a preprocessing layer f a 0 is also added before fa1 . analogous layers appear in artb. the initial input vectors have the form: a = (a1, . . . , an) ∈ [0, 1]n. a data preprocessing technique called complement coding is performed by the fa0 layer in order to avoid node proliferation. each input vector a produces the normalized vector a = (a, 1 − a) whose l1 norm is constant: |a| = n. let ma be the number of nodes in fa1 and na be the number of nodes in f a 2 . due to the preprocessing step, ma = 2n. the weight vector between fa1 and f a 2 is w a. each fa2 node represents a class of inputs grouped together, denoted as a category. each fa2 category has its own set of adaptive weights stored in the form of a vector waj , j = 1, . . . na, whose geometrical interpretation is a hyper-rectangle inside the unit box. similar notations are used for the artb module. for a classification problem, the class index is the same as the category number in fb2 , thus artb can be substituted with a vector. the mapfield module allows fam to perform associations between arta and artb categories. the number of nodes in mapfield is equal to the number of nodes in fb2 . each node j from f a 2 is linked to each node from fb2 via a weight vector w ab j . the learning algorithm is sketched below. for each training pattern, the vigilance parameter factor ρa is set equal to its baseline value, and all nodes are not inhibited. for each (preprocessed) input a, a fuzzy choice function is used to get the response for each fa2 category: tj(a) = |a ∧ waj | αa + |waj | , j = 1, . . . , na (1) let j be the node with the highest value computed as in (1). if the resonance condition from eq. (2) is not fulfilled: ρ(a, waj ) = |a ∧ waj | |a| ≥ ρa, (2) then the jth node is inhibited such that it will not participate to further competitions for this pattern and a new search for a resonant category is performed. this might lead to creation of a new category in arta. a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 107 a similar process occurs in artb and let k be the winning node from artb. the fb2 output vector is set to: ybk = { 1, if k = k 0, otherwise k = 1, . . . , nb (3) an output vector xab is formed in mapfield: xab = yb ∧ wabj . a mapfield vigilance test controls the match between the predicted vector xab and the target vector yb: |xab| |yb| ≥ ρab (4) where ρab ∈ [0, 1] is a mapfield vigilance parameter. if the test from (4) is not passed, then a sequence of steps called match tracking is initiated (the vigilance parameter ρa is increased and a new resonant category will be sought for arta); otherwise learning occurs in arta, artb, and mapfield: wa(new)j = βa ( a ∧ wa(old)j ) + (1 − βa)w a(old) j (5) (and the analogous in artb) and wabjk = δkk, where δij is kronecker’s delta. with respect to βa, there are two learning modes: i) fast learning for βa = 1 for the entire training process, and ii) fast-commit and slow-recode learning corresponds to setting βa = 1 when creating a new node and βa < 1 for subsequent learning. 2.2 the famr learning mechanism the main difference between the famr and the original fam is the updating scheme of the wabjk weights. the famr uses the following iterative updating [4]: w ab(new) jk =    w ab(old) jk if j 6= j w ab(old) jk + qt qnew j ( 1 − w ab(old) jk ) w ab(old) jk ( 1 − qt qnew j ) if k 6= k (6) where qt is the relevance assigned to the tth input pattern (t = 1, 2, . . . ), and qnewj = q old j + qt. the relevance qt is a real positive finite number directly proportional to the importance of the experiment considered at step t. this wabjk approximation is a correct biased estimator of the posterior probability p(k|j), the probability of selecting the k-th artb category after having selected the j-th arta category [4]. let q be the vector [q1 . . . qna ]; initially, each qj (1 ≤ j ≤ na) has the same initial value q0. na and nb are the number of categories in arta and artb, respectively. these are initialized at 0. for incremental learning of one training pair, the famr mapfield learning scheme is described by algorithm 1. the vigilance test is: nb w ab jk ≥ ρab (7) for a clearer presentation, not to create a confusion between vector relevancies and feature weights, we will assume in all our following experiments that relevancies are set to a constant positive value. since we actually do not use relevances, is this famr equivalent to the standard fam model, as introduced in [7]? the answer is no, because, unlike the standard fam: i) the famr accepts one-to-many relationships; and ii) the famr is a conditional probability estimator, with an estimated convergence rate computed in [4]. 108 răzvan andonie, lucian mircea sasu, angel caţaron algorithm 1 the t-th iteration in the famr mapfield algorithm [4]. step 1. accept the t-th vector pair (a, b) with relevance factor qt. step 2. find a resonant category in artb or create a new one. if |b ∧ wbk|/|b| < ρb, for k = 1, . . . , nb then nb = nb + 1{add a new category to artb} k = nb if nb > 1 then wabjk = q0 nbqj , for j = 1, . . . , na {append new component to wabj } wabjk = w ab jk − wab jk nb−1 , for k = 1, . . . , k − 1; j = 1, . . . na{normalize} end if else let k be the index of the artb category passing the resonance condition and with maximum activation function. end if step 3. find a resonant category in artb or create a new one. if |a ∧ waj |/|a| < ρa, for j = 1, . . . , na then na = na + 1{add a new category to arta} j = na qj = q0 {append new component to q} wabjk = 1/nb, for k = 1, . . . , nb {append new row to w ab} else let j be the index of the arta category passing the resonance condition and with maximum activation function. end if step 4. j, k are winners or newly added nodes. check if match tracking applies. if vigilance test (7) is passed then {learn in mapfield} qj = qj + qt wabjk = w ab jk + qt qj (1 − wabjk ) wabjk = w ab jk ( 1 − qt qj ) , for k = 1, . . . , nb, k 6= k else perform match tracking and restart from step 3 end if 3 the esrng feature weighting algorithm we use the esrng feature weighting algorithm to compute the generalized distance measure in the famrfw. details of the esrng algorithm can be found in [1]. is is based on onicescu’s ie, and approximates the unilateral dependency of random variables by parzen windows approximation. before outlining the principal steps of the esrng method, we review the basic properties of the ie. 3.1 onicescu’s informational energy for a discrete random variable x with probabilities pk, the ie was introduced in 1966 by octav onicescu [24] as e(x) = ∑n k=1 p 2 k. for a continuous random variable y, the ie was defined by silviu guiaşu [15]: e(y) = ∫ +∞ −∞ p2(y)dy, a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 109 where p(y) is the probability density function. for a continuous random variable y and a discrete random variable c, the conditional ie is defined as: e(y|c) = ∫ y m∑ m=1 p(cm)p 2(y|cm)dy. in order to study the interaction between two random variables x and y, the following measure of unilateral dependency was introduced by andonie et al. [3]: o(y, x) = e(y|x) − e(y) with the following properties: 1. o is not symmetrical with respect to its arguments; 2. o(y, x) ≥ 0 and the equality holds iff y and x are independent; 3. o(y, x) ≤ 1 − e(y) and the equality holds iff y is completely dependent on x. this measure quantifies the unilateral dependence characterizing y with respect to x and corresponds to the amount of information detained by x about y. 3.2 the feature weighting procedure esrng is an online algorithm which adapts a set of lvq reference vectors by minimizing the quantization error. at each iteration, it also adapts the input vector feature weights. the core of the method is based on the maximization of the o(y, c) measure. to connect input vector xi with its class j, represented by vector wj, we use a simple transform. we consider a continuous random variable y with its samples yi = λi(xi − wj), i = 1, . . . , n, where: • λ is the vector of weights; • xi, i = 1, . . . , n, are the training vectors, each of them from one of the classes c1, c2, . . . , cm; • wj, j = 1, . . . , p, are the lvq determined class prototypes. assuming that the m class labels are samples of a discrete random variable denoted by c, we can use gradient ascend to iteratively update the feature weights by maximizing o(y, c): λ(t+1) = λ(t) + α n∑ i=1 ∂o(y, c) ∂yi i (xi − wj) . from the definition of o(y, x), we obtain: o(y, c) = e(y|c) − e(y) = m∑ p=1 1 p(cp) ∫ y p2(y, cp)dy − ∫ y p2(y)dy. (8) this expression involves a considerable computational effort. therefore, we approximate the probability densities from the integrals using the parzen windows estimation method. the multidimensional gaussian kernel is [13]: g(y, σ2i) = 1 (2π) d 2 σd · e− yty 2σ2 (9) 110 răzvan andonie, lucian mircea sasu, angel caţaron where d is the dimension of the definition space of the kernel, i is the identity matrix, and σ2i is the covariance matrix. we approximate the probability density p(y) replacing each data sample yi with a gaussian kernel, and averaging the obtained values: p(y) = 1 n n∑ i=1 g(y − yi, σ2i). we denote by mp the number of training samples from class cp. we have: ∫ y p2(y, cp)dy = 1 n2 mp∑ k=1 mp∑ l=1 g(ypk − ypl, 2σ2i) and ∫ y p2(y)dy = 1 n2 n∑ k=1 n∑ l=1 g(yk − yl, 2σ2i), where ypk, ypl are two training samples from class cp, whereas yk, yl represent two training samples from any class. equation (8) can be rewritten, and we obtain the final esrng update formula of the feature weights: λ(t+1) = λ(t) − α 1 4σ2 g(y1 − y2, 2σ2i) · (y2 − y1)i · ·(x1 − wj(1) − x2 + wj(2)), where wj(1) and wj(2) are the closest prototypes to x1 and x2, respectively. the esrng algorithm has the following general steps: 1. update the reference vectors using the srng scheme. 2. update the feature weights. 3. repeat steps 1 and 2, for all training set samples. this algorithm uses a generalized euclidean distance. the updating formula for the reference vectors can be found in [1]; we will not explicitly use this formula in the present paper. the esrng algorithm generates numeric values assigned to each input feature, quantifying their importance in the classification task: the most relevant feature receives the highest numeric value. we use these factors as feature weights in the famrfw algorithm. 4 famrfw – a novel neural model the famrfw is a famr architecture with a generalized distance measure. for an arta category wj, we define its size s(wj): s(wj) = n − |wj| (10) and the distance to a normalized input a: dis(a, wj) = |wj| − |a ∧ wj| = n∑ i=1 dji, (11) a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 111 where (dj1, . . . , djn) = wj − a ∧ wj. in [10] it is shown that: tj(a) = n − s(wj) − dis(a, wj) n − s(wj) + αa (12) ρ(a, waj ) = n − s(wj) − dis(a, wj) n (13) a generalization of dis(a, wj) is the weighted distance: dis(a, wj; λ) = n∑ i=1 λidji, (14) where λ = (λ1, . . . , λn), and λi ∈ [0, n] is the weight associated to the ith feature. we impose the constraint |λ| = n. for λ1 = · · · = λn = 1, we obtain in particular the famr. charalampidis et al. [10] used the following weighted distance: dis(x, wj|λ, ref) = n∑ i=1 (1 − λ)lrefj + λ (1 − λ)lji + λ dji, (15) where lrefj is a function of category j’s lengths of the hyper-rectangle, and λ is a scalar in [0, 1]. in our case, the function dis(a, wj; λ) does not depend on sides of the category created during learning, but on the computed feature weights. this makes our approach very different than the one in [10]. the effect of using distance dis(a, wj; λ) for a bidimensional category is depicted in fig. 2(a). the hexagonal shapes represent the points situated at constant distance from the category. these shapes are flattened in the direction of the feature with a larger weight and elongated in the direction of the feature with a smaller weight. this is in accordance with the following intuition: the category dimension in the direction of a relevant feature should be smaller than the category dimension in the direction of a non-relevant feature. hence, we may expect that more categories will cover the relevant directions than the non-relevant ones. (a) bounds for constant weighted distance dis(a, wj; λ) for various values of λ. the rectangle in the middle represents a category. (b) bounds for constant distance dis(a, wj; λ) for the null feature weight. the rectangle in the middle represents the category. figure 2: geometric interpretation of constant distance when using dis(a, wj; λ) for bidimensional patterns. for a null weight feature (fig. 2(b)), the bounds are reduced to parallel lines on both sides of the rectangle representing the category. in this extreme case, the discriminative distance is the one along the remaining feature dimension. this is another major difference between our approach and the one in [10], where, while using function dis(x, wj|λ, ref), the contours of a constant weighted distance are inside 112 răzvan andonie, lucian mircea sasu, angel caţaron some limiting hexagons. in our method, the contour is insensitive to the actual value of the null weighted feature. 5 experimental results we test the famrfw for several standard classification tasks, all from the uci machine learning repository [5]. the experiments are performed on the famr and the famrfw architectures. the two famrfw stages are: i) the λ feature weights are obtained by the esrng algorithm; ii) these weights are used both for training and testing the famr. a nice feature of the fam architectures and the esrng algorithm is the on-line (incremental) learning capability, i.e., the training set is processed only once. this type of learning is especially useful when dealing with very large datasets, since it can reduce significantly the computational overhead. for famr training and for both famrfw stages we use on-line learning. 5.1 methodology for each experiment, we use three-way data splits (i.e., the available dataset is divided into training, validation, and test sets) and random subsampling. random subsampling is a faster, simplified version of k-fold cross validation: 1. the dataset is randomized. 2. the first 60% of the dataset is used for training and the next 20% for validation (i.e., for tuning the model parameters). the following parameters are optimized using a simple “grid-search” for ρa, ρab ∈ {0, 0.1, . . . , 0.9} and βa ∈ {0, 0.1, . . . , 1}. the goal is to allow both fast learning and fast-commit slow-recode. the optimal parameter values are the ones producing the highest pcc and the lowest number of arta categories. 3. the network with optimal parameters is trained with the joint training + validation data. 4. the last 20% of the dataset is used for testing. as a result, the percent of correct classification (pcc) and the number of generated arta categories are computed. 5. repeat this procedure six times. the ρa value, optimized during training/validation, controls the number of generated arta categories. after training/validation, this number does not change. for ρa > 0, some test vectors may be rejected (i.e., not classified). in all our experiments, after the arta categories were generated, we set ρa = 0 for testing. this has the following positive effects: • all test vectors are necessarily classified. • we obtain experimentally better classification results, both for the famr and the famrfw, compared to the ones with optimized ρa values. this is shown in table 1, for all considered classification tasks. the feature weights values in the famrfw are the ones mentioned in the following sections. a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 113 table 1: average pcc test set results using the optimized ρa (computed in the validation phase) vs. using ρa = 0. famr famrfw optimized ρa ρa = 0 optimized ρa ρa = 0 breast cancer 86.54% 91.22% 91.22% 91.22% balance scale 75.86% 76.53% 75.92% 78.13% wine recognition 83.33% 84.72% 83.79% 89.35% ionosphere 85.44% 88.96% 85.91% 89.43% 5.2 breast cancer classification this dataset (formally called wisconsin diagnostic breast cancer) includes 569 instances. the instances are described by 30 real attributes. the given features are computed from a digitized image of a fine needle aspirate (fna) of a breast mass. the famrfw generated weights are: [0.784, 0.816, 0.795, 2.847, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784, 0.785, 0.808, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784, 0.829, 0.828, 5.047, 0.784, 0.784, 0.784, 0.784, 0.784, 0.784]. in table 2, we observe that the average pcc for the famr and the famrfw is the same, but the famrfw has much less arta categories than the famr. table 2: classification performance for the breast cancer problem. test famr famrfw no. no. of arta categories pcc no. of arta categories pcc 1 61 93.85% 24 87.71% 2 7 90.35% 7 93.85% 3 10 95.61% 8 91.22% 4 39 85.08% 6 88.59% 5 6 92.98% 6 94.73% 6 6 89.47% 5 91.22% average 21.5 91.22% 9.33 91.22% 5.3 balance scale classification this dataset was generated to model psychological experimental results. each example is classified as having the balance scale tip to the right, tip to the left, or be balanced. the attributes are the left weight, the left distance, the right weight, and the right distance. the correct way to find the class is the greater of (left-distance * left-weight) and (right-distance * right-weight). if they are equal, it is balanced. the set contains 625 patterns, with a uneven distribution of the three classes; each input pattern has 4 features. the esrng generated feature weights are λ = [1.002, 1.113, 0.827, 1.058]. the famrfw has better classification accuracy and less arta categories than the famr (table 3). 5.4 wine recognition the wine recognition data are the results of a chemical analysis of wines grown in the same region in italy, but derived from three different cultivars. the analysis determined the quantities of 13 constituents found in each of the 3 types of wines. the dataset contains 178 instances. 114 răzvan andonie, lucian mircea sasu, angel caţaron table 3: classification performance for the balance scale problem. test famr famrfw no. no. of arta categories pcc no. of arta categories pcc 1 95 74.4% 53 75.2% 2 70 80.0% 39 80.0% 3 22 78.4% 54 81.6% 4 75 75.2% 44 85.6% 5 125 71.2% 69 72.0% 6 62 80.0% 107 74.4% average 74.83 76.53% 61 78.13% the esrng algorithm produced the weights λ = [0.900, 0.757, 0.659, 1.668, 2.349, 0.702, 1.028, 0.668, 0.774, 0.874, 0.666, 0.701, 1.253]. the famrfw classification results are better, with less generated arta categories (table 4). table 4: classification performance for the wine recognition problem. test famr famrfw no. no. of arta categories pcc no. of arta categories pcc 1 10 88.88% 6 86.11% 2 15 97.22% 10 97.22% 3 32 69.44% 11 86.11% 4 17 83.33% 11 86.11% 5 55 80.55% 39 94.44% 6 12 88.88% 8 86.11% average 23.5 84.71% 14.16 89.35% 5.5 ionosphere this binary classification problem starts from collected radar datasets. the data come from 16 highfrequency antennas, targeting the free electrons in the ionosphere. “good” radar returns are those showing evidence of some type of structure in the ionosphere. “bad” returns are those passing through the ionosphere. there are 351 instances and each input pattern has 34 features. the esrng generated λ vector is: [0.551,0.520,1.179,1.168,1.301,1.180,0.940,1.272,1.024,0.903, 0.843,0.976,0.870,0.844,0.807,0.877,0.893,1.012,0.994,1.012,0.964,1.061,1.029,1.227,0.978,1.020,0.943, 1.027,1.087,1.032,0.978,1.117,0.999,1.374]. on average, famrfw produced much less arta categories than the famr. this time, the famr produced a slightly better pcc (table 5). 6 conclusions according to our experiments, using the feature relevances and the generalized distance measure may improve the classification accuracy of the famr algorithm. in addition, the famrfw uses less arta categories, which is an important factor. the number of categories controls the generalization a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 115 table 5: classification performance for the ionosphere problem. test famr famrfw no. no. of arta categories pcc no. of arta categories pcc 1 28 81.69% 8 90.14% 2 20 81.69% 8 85.91% 3 17 91.54% 7 83.09% 4 9 94.36% 8 88.73% 5 5 90.14% 5 94.36% 6 9 94.36% 5 94.36% average 14.66 88.96% 6.83 89.43% capability and the computational complexity of a fam architecture. this generalization is a trade-off between overfitting and underfitting the training data. it is good to minimize the number of categories if this does not decrease too much the classification accuracy. the esrng feature weighting algorithm can be replaced by other weighting methods. we have not tested the function approximation capability of the famrfw neural network because the esrng weighting algorithm is presently restricted to classification tasks. lvq methods can be extended to function approximation [23] and we plan to adapt the esrng algorithm in this sense. this would enable us to test the famrfw + esrng procedure on standard feature approximation and prediction benchmarks. our approach is at the intersection of two major computational paradigms: 1. carpenter and grossberg’s adaptive resonance theory, an advanced distributed model where parallelism is intrinsic to the problem, not just a mean to speed up [6]. 2. onicescu’s informational energy and the unilateral dependency measure. to the best of our knowledge, we are the only ones using onicescu’s energy in neural processing systems. bibliography [1] r. andonie and a. caţaron. feature ranking using supervised neural gas and informational energy. in proceedings of ieee international joint conference on neural networks (ijcnn2005), canada, montreal, july 31 august 4, 2005. [2] r. andonie, a. caţaron, and l. sasu. fuzzy artmap with feature weighting. in proceedings of the iasted international conference on artificial intelligence and applications (aia 2008), innsbruck, austria, febr. 11-13, 2008, 91–96. [3] r. andonie and f. petrescu. interacting systems and informational energy. foundation of control engineering, 11, 1986, 53–59. [4] r. andonie and l. sasu. fuzzy artmap with input relevances. ieee transactions on neural networks, 17, 2006, 929–941. [5] a. asuncion and d. j. newman. uci machine learning repository, 2007. university of california, irvine, school of information and computer sciences http://www.ics.uci.edu/∼mlearn/mlrepository.html 116 răzvan andonie, lucian mircea sasu, angel caţaron [6] i. dziţac and b. e. bărbat. artificial intelligence + distributed systems = agents. international journal computers, communications, and control, 4, 2009, 17–26. [7] g. a. carpenter, s. grossberg, n. markuzon, j. h. reynolds, and d. b. rosen. fuzzy artmap: a neural network architecture for incremental supervised learning of analog multidimensional maps. ieee transactions on neural networks, 3, 1992, 698–713. [8] g. a. carpenter, b. l. milenova, and b. w. noeske. distributed artmap: a neural network for fast distributed supervised learning. neural networks, 11, 1998, 793–813. [9] g. a. carpenter and w. ross. art-emap: a neural network architecture for learning and prediction by evidence accumulation. ieee transactions on neural networks, 6, 1995, 805–818. [10] d. charalampidis, g. anagnostopoulos, m. georgiopoulos, and t. kasparis. fuzzy art and fuzzy artmap with adaptively weighted distances. in proceedings of the spie, applications and science of computational intelligence, aerosense, 2002. [11] i. dagher, m. georgiopoulos, g. l. heileman, and g. bebis. an ordering algorithm for pattern presentation in fuzzy artmap that tends to improve generalization performance. ieee transactions on neural networks, 10, 1999, 768–778. [12] i. dagher, m. georgiopoulos, g. l. heileman, and g. bebis. fuzzy artvar: an improved fuzzy artmap algorithm. in proceedings ieee world congress computational intelligence wcci’98, anchorage, 1998, 1688–1693. [13] j. c. principe et al. information-theoretic learning. in s. haykin, editor, in unsupervised adaptive filtering. wiley, new york, 2000. [14] e. gomez-sanchez, y. a. dimitriadis, j. m. cano-izquierdo, and j. lopez-coronado. µartmap: use of mutual information for category reduction in fuzzy artmap. ieee transactions on neural networks, 13, 2002, 58–69. [15] s. guiaşu. information theory with applications. mcgraw hill, new york, 1977. [16] b. hammer, d. schunk, t. bojer, and t. k. von toschanowitz. relevance determination in learning vector quantization. in proceedings of the european symposium on artificial neural networks (esann 2001), bruges, belgium, 2001, 271–276. [17] b. hammer, m. strickert, and t. villmann. supervised neural gas with general similarity measure. neural processing letters, 21, 2005, 21–44. [18] b. hammer and t. villmann. generalized relevance learning vector quantization. neural networks, 15, 2002, 1059–1068. [19] c. p. lim and r. harrison. art-based autonomous learning systems: part i architectures and algorithms. in l. c. jain, b. lazzerini, and u. halici, editors, innovations in art neural networks. springer, 2000. [20] c. p. lim and r. f. harrison. an incremental adaptive network for on-line supervised learning and probability estimation. neural networks, 10, 1997, 925–939. [21] s. marriott and r. f. harrison. a modified fuzzy artmap architecture for the approximation of noisy mappings. neural networks, 8, 1995, 619–641. a novel fuzzy artmap architecture with adaptive feature weights based on onicescu’s informational energy 117 [22] t. m. martinetz, s. g. berkovich, and k. j. schulten. neural-gas network for vector quantization and its application to time-series prediction. ieee transactions on neural networks, 4, 1993, 558–569. [23] s. min-kyu, j. murata, and k. hirasawa. function approximation using lvq and fuzzy sets. in proceedings of the ieee international conference on systems, man, and cybernetics, tucson, az, 2001, 1442–1447. [24] o. onicescu. theorie de l’information. energie informationnelle. c. r. acad. sci. paris, ser. a–b, 263, 1966, 841—842. [25] o. parsons and g. a. carpenter. artmap neural networks for information fusion and data mining: map production and target recognition methodologies. neural networks, 16, 2003, 1075–1089. [26] m. taghi, v. baghmisheh, and p. nikola. a fast simplified fuzzy artmap network. neural processing letters, 17, 2003, 273–316. [27] s. j. verzi, g. l. heileman, m. georgiopoulos, and m. j. healy. boosted artmap. in proceedings ieee world congress computational intelligence wcci’98, 1998, 396–400. [28] j. williamson. gaussian artmap: a neural network for fast incremental learning of noisy multidimensional maps. neural networks, 9, 1996, 881–897. international journal of computers communications & control issn 1841-9836, 9(4):510-523, august, 2014. study on directed trust graph based recommendation for e-commerce system h.d. zhong, s. zhang, y. wang, y. shu haidong zhong institute of modern logistics, zhejiang wanli university no. 8 south qianhu rd., ningbo, zhejiang, 315100, pr, china zhong_hai_dong@163.com shaozhong zhang institute of electronics and information, zhejiang wanli university no. 8 south qianhu rd., ningbo, zhejiang, 315100, pr, china dlut_z88@163.com yanling wang institute of modern logistics, zhejiang wanli university no. 8 south qianhu rd., ningbo, zhejiang, 315100, pr, china yanling_wang1@yahoo.com.cn yonggang shu* school of tourism and city management, zhejiang gongshang university xuezheng street, hangzhou, 310018, pr, china *corresponding author: zhd_1981@163.com abstract: automated recommender systems have played a more and more important role in marketing and ever increasingly booming e-commerce systems. they provide useful predictions personalized recommendations according to customers characteristics and a variety of large and complex product offerings. in many of these recommendation technologies collaborative filtering (cf) has proven to be one of the most successful recommendation method, which has been widely used in many e-commerce systems. the success of cf recommendation depends mainly on locating similar neighbors to get recommendation items. however, many scholars have found that the process of finding similar neighbors often fail, due to some inherent weaknesses of cf based recommendation. in view of this, we propose a trust feedback recommendation algorithm based on directed trust graph (dtg), which is able to propagate trust relationship. in our approach, there is no need to compute similarity between users, but utilize the trust relation between them to conduct prediction calculation. based on the analysis of human trust perception, we incorporate the process into our recommendation algorithm. experimental evaluation on real life epinions datasets shows that the effectiveness and practicability of our approach. keywords: trust, recommendation, graph, e-commerce, feedback. 1 introduction with the fast development of networking systems, an ever-increasing number of merchants are attracted to swarm into e-commerce all over the world [1]. accordingly, the internet is changing from generally simple information exchange and extraction tool into the biggest virtualized market space presenting a great number of commercial services, ranging from electronic web-stores, on-line booking and service center to other social services [2]. with the popularization of the internet, the amount of available information are exponentially growing and e-commerce systems structure becomes more complicated when it provides more and more choices for users [3,4]. under the circumstances, perform transaction tasks typically involved in e-commerce, customers copyright © 2006-2014 by ccc publications study on directed trust graph based recommendation for e-commerce system 511 have often to spend a large amount of time navigating among thousands of web pages to explore desired products and make their purchases. on the other hand, electronic business suppliers suffer from the problems of promoting their commodities to their potential customers in an effective way, considering their preferences, habits and other personalized characteristics. to deal with this challenge, researchers have advanced a recommendation approach which automatically analyze and mining e-commerce system visitors trading and browsed items data to filter web page information, classified newsgroup messages, and recommend valuable merchandise items [5]. recommender systems, one of the most important computer-based intelligent approaches to find out the most appropriate services or goods from a large amount of products, are proved to be important tools that overcome the information overload by sifting through the large set of data and recommending information relevant to the user [6–10]. typically, in e-commerce environment a recommender system analyzes trading data between consumer and sellers and items to find associations among them, and the items bought by similar users are presented as recommendations. using this technology, some e-commerce systems, such as amazon.com, ebay.com and netflix.com, are reported to have enhanced e-commerce sales by transforming ecommerce system browsers to buyers, increasing cross-selling and building customer loyalty [11]. as early as in the early 1990s intensive studies have been conducted in recommender systems, and many scholars deem them as knowledge discovery in database (kdd) systems or electronic agent systems [12–14]. up to now, the existing recommendation means can be generally classified as content based, collaborative, knowledge-based, demographic, and utility based [15–17], among which collaborative filtering based personalized recommendation is proved to be one of the most successfully used technology [15]. in the newer, narrower sense, collaborative filtering builds correlations between pairs of items by making automatic predictions (filtering) about the interests of a user, and then figure out recommendations by finding items with high similarity to many users (collaborating). the acquiescent assumption of the collaborative filtering approach is that if a person a has the same opinion as a person b on an issue, a is more likely to have b’s opinion on a different issue t than to have the opinion on t of a person chosen randomly. for example, a collaborative filtering recommendation system for laptop preferences could make forecasts about which laptop a user should like given a partial list of that user’s preferences (likes or dislikes) [10]. however there are two main inherent weaknesses in the collaborative filtering based recommendation systems [8]: (1) it is a challenge to find similar user, because the probability of two random users have rated any items in common is very small, and hence they are hardly comparable. (2) if ad hoc user profiles with the goal of being considered as similar to the target user a created, cf based recommendation can be easily attacked and recommendation precision can be greatly influenced. in order to overcome these shortages, massa p. and avesani p. proposed a trust-aware recommendation approach [8]: make use of trust propagation to search for trustable users based on the trust network instead of finding similar users as collaborative filtering does. the products bought or preferred by these users are then recommended to the active user over the trust network. three years later, ray s. and mahanti a. put forward a new idea to improve prediction accuracy for trust aware recommender systems by removing all the trust statements that fall below a threshold correlation value to reconstruct the trust network [18]. they assume that a trust statement passed between two users should imply that similarity between both users will be relatively high, and generally utilize all the trust statements present in the data of similar users, calculated based on ratings, to make predictions. experiment on epinions datasets shows their method has better performance and effectiveness than that of the original approach for different levels of trust propagation and threshold correlation values [18]. however, every trust statement passed between users does not imply the correlation between them will also be high, because one user may pass trust statements to another user on the basis of perceived notion that 512 h.d. zhong, s. zhang, y. wang, y. shu his (or her) predilections match with others, while similarity calculated based on ratings may show that they are different. in our opinion, in trust based recommendation method users similarity calculating is not necessary. and we propose an approach where we construct a directed trust graph of users without considering the similarity between them. based on the dtg we present a trust feed back recommendation algorithm (tfbra) to make recommendations for a user. it shows a substantial good performance for generating predictions through experimental evaluation on epinions datasets [19]. the rest of the paper is organized as fellows. in section 2 we review some existing techniques, which are related to our work. in section 3 the approach of trust based recommendation is explained in detail. section 4 conducts verifying experiment, using real-life epinions datasets, and the results of our evaluations is discussed. the last section draws conclusions and points out the related possible future work. 2 related work 2.1 trust since the birth of human beings and human social interactions trust came into being, and almost every aspect of a persons life is based on some form of trust. undoubtedly, trust is positive and vital to humanity since it is part of love and friendship, and meaningful relationships depend upon it. presently, trust is a research interest of many disciplines including management[18], marketing [21] and information systems [22]. however, scholars have difficult in reaching a consensus what exactly trust is, and they disagree even on the basic definitions. presumptively, definitions of trust generally indicate a situation with characteristics of the following aspects [23–25]: one party (trustor) is willing to depend on the actions of another party (trustee); the situation is directed to the future. moreover, the trustor (voluntarily or forcedly) abandons control over the actions performed by the trustee. as a consequence, the trustor is uncertain about the outcome of the other’s actions; he can only develop and evaluate expectations. the uncertainty involves the risk of failure or harm to the trustor if the trustee will not behave as desired. the rapid expansion of e-commerce conducts the research of trust in social science to new challenges. at the same time increasing the importance of trust and the urgency to know what customers shopping decision or preference [26], such as, interpersonal relationship between customers and sellers has been dis-intermediated by the method, and had to be improved upon. additionally, e-commerce systems should be well designed or be made to imply the sellers are trustable, even if the regardless of seller’s actual trustworthiness is not high. many researchers have intensively studied the structure and formation mechanisms of trust from the aspects of both individual and organizational, and have identified five types antecedents to consumer trust, including institution-based, personality-based and calculation-based sources for trust building [27–30]. 2.2 recommendation system since the first appearance of the first paper on collaborative filtering in the mid-1990s, recommender systems have attracted many scholars’ attention, and become an important research areas [31]. over the last decade new approaches have been proposed to improve the efficiency and practicability of recommender system both in the industry and academia. at present recommender system related researches are still popular issues because they constitute problem-rich study on directed trust graph based recommendation for e-commerce system 513 research area and practical use requirement that help the potential buyers to solve information overload by providing personalized recommendation, and useful services according to their characteristics. over the past decades a lot of research work has been conducted on recommendation technologies (or algorithms), which used a wide range of statistical, artificial intelligence, information science and other techniques. these researches have observably improved the state-of-art in comparison to the previous recommender systems which used collaborativeand content-based heuristics. up to now, algorithmic means adopted in recommender systems can be divided into (1) content-based recommendation, collaborative, or hybrid, based recommendation and (2) heuristic-based or model-based recommendation based on the types of recommendation approaches used for the rating evaluation. some of these methods are utilized in the industrialstrength recommender systems, e.g. the ones deployed at amazon [32], movielens [33] and versifi technologies. however, despite there are many recommendation means, the present used recommender systems still need to be intensively improved, including better approaches for representing the recommended product items, more advanced and efficient recommendation algorithm or methods, utilization of multi-criteria ratings, to make recommendation methods more effective and applicable. in recent years, scholars proposed a new recommendation method: trust based recommendation [8, 34, 35], and proved it more robust against shilling attacks and more capable and effective in generating recommendations for e-commerce system visitors, however they still need to calculate users similarity. trust based recommendation systems are proved to make more accurate recommendation compared with traditional systems, because they utilize a new concept of trust propagation over a trust network. in [8], it has been experimentally shown how trust based recommender system outperform traditional recommendation methods on dataset from epinions.com. 3 trust based recommendation algorithm in this section we start by introducing basic notations about trust cognitive process and concept of dtg. based on the analysis of human trust perception, we incorporate the process into our recommendation algorithm. and then we present the logical architecture of trust based recommendation approach. 3.1 trust cognitive analysis from the viewpoint of recommendation in human society, it is easy to find that a person is usually more inclined to trust the recommendation information from his or her “acquaintance” than that of “strangers”. in e-commerce recommendation systems all the people can be connected by trust relationship, which can be denoted as a dtg. as shown in figure 1 (a), solid line represents the direct trust relationship between users (n1 trustn2, n2 trustn3). through the trust relationship of n2 andn3, n1 trust n3 indirectly. if there is no trust relation between n2 andn3, it is impossible to create the trust relationship between n1 and n3 (as is shown in figure (b)). here we first define some basic trust related definitions in graph theory definition 1 (direct trust) direct trust can be defined as an triple< i, j, dti,j >,stand for the directed edge from node i point to nodej,and direct trust value of node i to node j is defined asdti,j, which is a discrete integer value in [1, 5], and a greater value represents a deeper trust degree. definition 2 (indirect trust) indirect trust can be defined as an triple< i, j, idti,j >,let iandjstand for nodes in the trust graph, iis attainable tojthrough limited hoph(h > 1, h ∈ 514 h.d. zhong, s. zhang, y. wang, y. shu figure 1: trust process in human activity n),and indirect trust value of node i to node j is defined as idti,j, which is a discrete integer value in[1, 5], and a greater value represents a deeper trust degree. theorem 1 (direct trust preference principle) for any node i in the trust graph, its direct trust nodes are more credible than indirect trust nodes, where there are trust edges from i′sdirect trust nodes to its indirect trust nodes. for example, in figure 1 (a) dtn1n2 is more credible than idtn1n3 (or dtn1n2 > idtn1n3). 3.2 dtg based trust feedback on the base of trust perception process presented above, we propose a dtg based trust feedback algrithm (the general principle is shown in figure 2). in figure 2 the edges represents the trust relationship between different nodes. while asking for recommendations of u 0, the node just send a trust query information to its direct trust nodes (u 1 ,u 3 ,u 15 and u 16), and these nodes also send the trust query information to their trusted node similarly, until the end of trust inquiry control process and then all the queried node feedback their trust value of any products. through the trust feedback process, comprehensive score of the items recommended by trusted node (include both direct trust nodes and indirect trust nodes) for u 0 . 3.3 dtg establishment as narrated before, direct trust node and indirect nodes are used to represent the trust relationship based on graph theory. the step of establishing a dtg is instroduced here in detail below. definition 3 (direct trust node, dtn) dtn of a certain node refers to any node that has direct trust relationship with it. definition 4 (indirect trust node, idtn) idtn of a certain node refers to any node that has indirect trust relationship with it. in this paper we adopt a five level value: 1,2,3,4,5 to repersent the trust(driect trust and indriect trust) value between one another. the higher trust value implies a further trust. in our framework the relationship between any node and its neighbor can be devided into three categories: direct trust relationship, indirect trust relationship and irrelevant nodes. for example, in table 1, u0 has 4 dtns. figure 3 shows the process of establishing a dtg. 3.4 dtg based feedback trust recommendation fusion calculation according to the transitivity attribute of trust, recommendated items for a specific node can be caculated on the base of feedback trust in dtg. if node ni trust node nj, ni is more likely to accept the items that nj gives a high rating value. and highly-rated-value items of dtns of ni account for a larger proportion in recommendated items than that of idtns of ni. study on directed trust graph based recommendation for e-commerce system 515 figure 2: dtg based trust feedback principle table 1: relationship between u0 and its neighors peer neighbors dtn u0 u1 yes u0 u3 yes u0 u15 yes u0 u16 yes 516 h.d. zhong, s. zhang, y. wang, y. shu figure 3: the process of establishing a dtg study on directed trust graph based recommendation for e-commerce system 517 definition 5 the recommendated items prv (i)of a certain node ni can be abtained by comprehensive evaluation on the feedback trust value and high-rated-value items of its idtns and dtns. recommedated items from the trusted nodes(include dtns and idtns) of ni can be defined as the fellowing formula: prv (i) = level∑ l=1 w(l, α) ∑ v∈tnll tsv ∗ rvi level∑ l=1 w(l, α) ∑ v∈ntll tsv (1) in the formula level denotes the distance from node ni,w(l, α) denotes weighted control factor function of the trust feedback value, which is related to the level and attenuation factor α. in our opinion w(l, α) be defined as the fellowing formula: w(l, α) =   α , level = 1 α level∏ l=1 1 l , level > 1 (2) in the formula α denotes the trust attenuation factor or initial trust factor. 3.5 trust feedback recommendation algorithm as it has already been stated above, in e-commerce trading process people are more likely to accept the recommendations from direct trust persons. in order to simulate the trust based recommendation idea, we designed the trust feedback recommedation algrithm, the pseudo-code is as follows. //tfbra pseudo-code trustfeedbackrecommedationalgrithm input: s, maxlevel, α /* s denotes the active user needs for recommendations, maxlevel denotes maxium search level, α denotes attenuation factor*/ output: pr /*recommended items list with high predict rating value */ begin while l <= maxlevel do search dtns in the lth level in dtg if (nodes in searched dtns of s is not in the trust nodes list tnll) put the nodes into a trust nodes list tnll endif search the dtns in tnll if (l > maxlevel ) endwhile else l add-self endwhile prv (i) = level∑ l=1 w(l,α) ∑ v∈t nll tsv∗rvi level∑ l=1 w(l,α) ∑ v∈nt ll tsv /∗ calcuate the predict rating value of each item of users in tnl, let prv (i) represent the predict rating value of item i*/ put the items with highest predicted rating value (prv ) into pr end 518 h.d. zhong, s. zhang, y. wang, y. shu 4 experimental evaluation and result discussion 4.1 experiment dataset in order to examine the effectiveness of our algorithm, we perform our experiment on dataset from epinions. the epinions dataset was collected by paolo massa in a 5-week crawl (november/december 2003) from the epinions.com web site. the dataset contains 49,290 users who rated a total of 139,738 different items at least once, writing, 664,824 reviews and 487,181 issued trust statements. users and items are represented by anonymized numeric identifiers [19]. the epinions datasets contain two files: (1) ratings_data.txt.bz2 (2.5 megabytes), which contains the ratings given by users to items. in this file every line has the format “user_id item_id rating_value”. user_id is an integer in [1,49290], item_id is an integer in [1,139738] and rating_value is an integer in the range [1,5]; (2) trust_data.txt.bz2 (1.7 megabytes), which contains the trust statements issued by users. in the file every line has the format “source_user_id target_user_id trust_statement_value”. source_user_id and target_user_id are integer in [1, 49290], and trust_statement_value is always 1 (since in the dataset there are only positive trust statements and not negative ones (distrust)). 4.2 evaluation measures to use the epinions datasets in a more flexible way, we imported the two files (ratings_data.txt and trust_data.txt) into microsoft sql server 2005 to create two tables (rating_data and trust_data). and we add a trust_value column into the trust_data table and set a random integer value in [1, 5] to represent the trust value between two users. evaluation of the approach put forward in chapter 3 is conducted in our self-development recommendation prototype system, which is implemented on microsoft visual 2008 platform in windows 7 ultimate environment with a intel core i3-2310 2.1ghz (4 cpus) processor and 6 gigabyte memory. main interface of the prototype system is shown in figure 4. figure 4: main interface of the self-developed recommendation prototype system 4.3 result and discussion all the results are based on the self-developed trust based recommendation system. there are thousands of combination modes of the trust attenuation factor (α) with the maximum search study on directed trust graph based recommendation for e-commerce system 519 figure 5: ten recommended items for a randomly selected user are calculated according to tfbra with αset to be 0.8 level (maxlevel). we find it really hard to determine how α and maxlevel can be chosen. in order to prove the effectiveness of our recommend algorithm, two values (0.8 and 0.6) are chosen for parameterα, and ten recommended items for a randomly selected user are calculated according to tfbra. figure 5 shows the graphs for trust attenuation factor values with 0.8 and 0.6 respectively. error between recommended value and actual rating value is shown in table 2. in the paper mean absolute erro [36] (mae) is used to evaluate the practical applicability of the trust feedback recommendation algorithm, a smaller mae value means the higher accuracy. the calculation method of mae is listed below: mae = 1 n n∑ i=1 |ei| (3) where ei is the difference between recommended rating value and actual rating value on the same item (product). if a recommendation needed node have very few (or no) dtns, mae may be relatively great (as can be seen from figure 5 and figure 6 whenmaxlevel = 1). with the increasing ofmaxlevel,available feedback trust calculation nodes (include dtns and idtns) grows rapidly, which leads to more accurate recommendations. although there are a great variety of combination modes of α with maxlevel, it can be easily find from table 2 that mae decrease obviously while maxlevel increase. table 2: error between recommended rating value and actual rating value mae maxlevel=1 maxlevel=2 maxlevel=4 maxlevel=5 α = 0.8 0.954 0.957 0.41 0.221 α = 0.6 0.757 0.49 0.4 0.331 520 h.d. zhong, s. zhang, y. wang, y. shu figure 6: ten recommended items for a randomly selected user are calculated according to tfbra with αset to be 0.6 5 conclusions recommendation is an important issue in information science; also it is a hot topic in ecommerce systems. when computing recommendations for users in e-commerce systems, most of the existing researches usually focus on find recommendations from similar users. however, many scholars have proved that there are many challenges in finding similar neighbors. the research tries to overcome the difficulties in traditional recommendation methods and put forward a new idea to get more to reasonable recommendations from trusted users. based on the basic notations about trust cognitive process and dtg, which is constructed according to trust links between users, the paper proposes a trust feedback recommendation algorithm. we show through experiments on secondary processed epinions datasets to better highlight the relative advantages of the different algorithms, and the experimental results indicate good effectiveness of our trust based recommendation approach. one limitation of our method is that it has been test and verified on only one dataset i.e. epinions datasets. in future we would like to prove the effectiveness of our trust feedback recommendation algorithm on trust datasets that exhibit characteristics different from epinions datasets. three important research questions that we would like to examine are: (1) study the effect on recommendation accuracy when the way of setting trust value between two users varies; (2) study the relation between weighted control factor function and the accuracy of our trust feedback recommendation algorithm; (3) study the effectiveness of our approach using other datasets and compare the practicability of our method with other analogous means. we believe our approach can improve the coverage of recommender systems; however there is still much work need to be done. acknowledgements this work is supported by the national science foundation of china (grant no. 71373244), the ningbo natural science fundation project (grant nos. 2013a610068 and 2010a610119), the zhejiang province department of education project (grant no. y201329219), the science foundation of zhejiang province (grant no. ly13g030033), the modern port service industry and culture research center of the key research base of philosophy and social sciences of zhejiang province, the science and technology innovation team of ningbo (grant nos. 2013b82009 and study on directed trust graph based recommendation for e-commerce system 521 2012b82003) and the social development project of ningbo (grant no. 2012c50045). bibliography [1] papazoglou, m. p. (2001); agent-oriented technology in support of e-business enabling the development of "intelligent" business agents for adaptive, reusable software, communications of the acm, issn 0001-0782, 44(4): 71-77. [2] levy, a. y.; weld, d. s. (2000); intelligent internet systems, artificial intelligence, issn 0004-3702, 118(1-2): 1-14. [3] peiguang, l.; feng, y.; xiao, y.; qun, x. (2008); personalized e-commerce recommendation based on ontology, in proc. of the international conference on internet computing in science and engineering (icicse ’08), 201-206. [4] siping h.; meiqi f. (2008); personalized recommendation based on ontology inference in e-commerce, in proc. of the international conference on management of e-commerce and e-government, 192-195. [5] resnick, p.; varian, h. r. (1997); recommender systems, communications of the acm, issn 0001-0782, 40(3): 56-58. [6] huang, z.; chung, w. y.; chen, h. c. (2004); a graph model for e-commerce recommender systems, journal of the american society for information science and technology, issn 1532-2882, 55(3): 259-274. [7] chen, l.; l’abbate, m.; thiel, u.; j. neuhold, e. (2005); the layer-seeds term clustering method: enabling proactive situation-aware product recommendations in e-commerce dialogues, information systems frontiers, issn 1387-3326, 7(4/5): 405-419. [8] massa, p.; avesani, p. (2007); trust-aware recommender systems, in proc. of the proceeding of acm recommender systems conference, 17-24. [9] nan, r.; qin, l. (2009); research on the trust model based on the groups’ internal recommendation in e-commerce environment, journal of software engineering and applications, issn 1945-3116, 2(4): 283-287. [10] konstan, j. a.; riedl, j. (2012); recommender systems: from algorithms to user experience, user modeling and user-adapted interaction, issn 0924-1868, 22(1-2): 101–123. [11] zhang, w. (2007); a novel trust model based on recommendation for e-commerce, in proc. of the international conference on service systems and service management, 1-4. [12] ben schafer, j.; konstan, j.; riedl, j. (1999); recommender systems in e-commerce, in proc. of the acm conference on electronic commerce, 158-166. [13] dzitac, i.; barbat b.e. (2009); artificial intelligence + distributed systems = agents, international journal of computers communications & control, issn 1841-9836, 4(1):1726. [14] zmaranda, d.; silaghi, h.; gabor, g.; vancea, c. (2013); issues on applying knowledgebased techniques in real-time control systems, international journal of computers communications & control, issn 1841-9836, 4(1), 8(1): 166-175. 522 h.d. zhong, s. zhang, y. wang, y. shu [15] zuo, m.; wang, k.; li, j. (2005); the application of collaborative filtering for trust management in p2p communities, lecture notes in computer science, issn 0302-9743, 3758: 383394. [16] huang, z.; zeng, d. d. (2011); why does collaborative filtering work?transaction-based recommendation model validation and selection by ananlyzing bipartite random graphs, journal on computing, issn 2010-2283, 23(1): 138-152. [17] walter, f. e.; battiston, s.; schweitzer, f. (2008); a model of a trust-based recommendation system on a social network, autonomous agents and multi-agent systems, issn 1387-2532, 16(1): 57-74. [18] ray, s.; mahanti, a. (2010); improving prediction accuracy in trust-aware recommender systems, in proc. of the 43rd hawaii international conference on system sciences (hicss), 1-9. [19] http://www.trustlet.org/wiki/downloaded_epinions_dataset. [20] mayer, r. c.; davis, j. h.; schoorman, f. d. (1995); an intergrative model of ogranization turst, academy of management review, issn 0363-7425, 20(3): 709-734. [21] morgan, r. m.; hunt, s. d. (1994); the commitment-trust theory of relationship marketing, journal of marketing, issn 0022-2429, 58(3): 20-38. [22] wang, y. d.; emurian, h. h. (2005); an overview of online trust: concepts, elements, and implications, computers in human behavior, issn 0747-5632, 21(1): 105-125. [23] schoorman, f. d.; mayer, r. c.; davis, j. h. (2007); an integrative model of organizational trust: past, present, and future, academy of management review, issn 0363-7425, 32(2): 344-354. [24] mcknight, d. h.; chervany, n. l. (1996); the meanings of trust: university of minnesota. [25] bamberger, w. (2010); interpersonal trust-attempt of a definition: technische universität münchen. [26] mcknight, d. h.; chervany, n. l. (2001); conceptualizing trust: a typology and e-commerce customer relationships model, in proc. of the the 34th annual hawaii international conference onsystem sciences, 36-44. [27] mcknight, d. h.; cummings, l. l.; chervany, n. l. (1998); initial trust formation in new organizational relationships, the academy of management review, issn 0363-7425, 23(3): 473-490. [28] li, x.; hess, t. j.; valacich, j. s. (2008); why do we trust new technology? a study of initial trust formation with organizational information systems, the journal of strategic information systems, issn 0963-8687, 17(1): 39-71. [29] gefen, d.; karahanna, e.; straub, d. w. (2003); trust and tam in online shopping: an integrated model, mis quarterly, issn 0276-7783, 27(1): 51-90. [30] kim, d. j.; ferrin, d. l.; rao, h. r. (2008); a trust-based consumer decision-making model in electronic commerce: the role of trust, perceived risk, and their antecedents, decision support systems, issn 0167-9236, 44(2): 544-564. study on directed trust graph based recommendation for e-commerce system 523 [31] resnick, p.; iakovou, n.; sushak, m.; bergstrom, p.; riedl, j. (1994); grouplens: an open architecture for collaborative filtering of net news, in proc. of the computer supported cooperative work conference, 175-186. [32] linden, g.; smith, b.; york, j. (2003); amazon.com recommendations: item-to-item collaborative filtering, ieee internet computing, issn 1089-7801, 7(1): 76-80. [33] miller, b. n. a.; istvan, lam, s. k.; konstan, j. a.; riedl, j. (2003); movielens unplugged: experiences with an occasionally connected recommender system, in proc. of the international conference on intelligent user interfaces, 263-266. [34] massa, p.; avesani, p. (2004); trust-aware collaborative filtering for recommender systems, in meersman, r.; tari z.; vanderaalst w.; bussler c.; gal a.; cahill v.; vinoski s; vogels w.; gatarci t; sycara k. (eds.), on the move to meaningful internet systems, springerverlag berlin. [35] yuan, w., shu, l.; chao, h. c.; guan, d.; lee, y. k.; lee, s. (2010); itars: trust-aware recommender system using implicit trust networks, iet communications, issn 1751-8628, 4(14): 1709-1721. [36] herlocker, j. l.; konstan, j. a.; terveen, k.; riedl, j. t. (2004); evaluating collaborative filtering recommender systems, acm transactions on information systems, issn 1046-8188, 22(1): 5-53. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 171-178 environmental policy and science management: using a scientometric-specific gis for e-learning purposes n.d. hasanagas, a.d. styliadis, e.i. papadopoulou nikolaos d. hasanagas, ahanasios d. styliadis kavala institute of technology, department of landscape architecture city of drama, greece, gr 66100 email: styliadis@ath.forthnet.gr, nikolaos.hasanagas@gmail.com eleni i. papadopoulou aristotle university of thessaloniki, faculty of agricultural science department of agricultural economics, city of thessaloniki, gr 54124 e-mail epapa@agro.auth.gr abstract: who is the "good scientist" in rural-environmental policy? this is not so self-evident as in the case of private high-tech industry. developing e-learning system in environmental science management is a challenging task in the area of forest and general rural development policy. who determines the most "important" scientific information and who controls it? there are algorithms for measuring centrality in information networks. the concepts of closeness and betweenness centrality are used as basic metadata for categorizing the communication type in the rural-environmental policy networks. this paper discusses the development of a gis-based model which includes region-based scientometrics, regarding policy field communication. keywords: region-based scientometrics, gis e-learning, forest policy, integrated rural development policy, environmental policy, complete network analysis, policy making. 1 introduction it is evident that in high-tech policy sector, "good scientist" is the private industry, since impressive products like mobile phones are usually produced by the industry and not by universities or public agencies. however, this is not the case in rural-environmental policy, where the main issues are about "multiple-use forestry", "nature protection", "integrated rural development", "sustainability" etc, as in these abstract issues, success normally means to persuade about who the "trouble-maker" and who the "rescuer" is and not to find concrete solutions. moreover, despite the common belief that universities or research institutes are the most influential suppliers and controllers of "scientific" information, this is also not necessarily the rule in rural-environmental policy. this paper presents the possibility of developing a pattern of scientometric-specific gis -based model, which is going to be applicable in e-learning for various target groups (e.g. students who are specialized in forest policy and rural policy analysis, lobbyists, policy makers). in the context of this paper, "scientometric" differs from the classical measurements of citation rates or implementation of academic bibliography. it is defined as the management of information which is regarded as "scientific" by lobbyists, public administrators and academics in networks of forest policy issues which are used as case studies in this paper. the complete network analysis conducted here by visone software showed that the "scientific" information, which is regarded as most "important" in a network, is often supplied by practitioners, such as environmental and forest agencies, landowner organizations etc, and not necessarily by actors officially entitled as "scientific", such us universities or research centers. this implies that the "scientific" is rather a feeling induced by factors different from the official orientation of an actor. the analysis pointed out that forest policy, environmental issues and rural development are inseparable policy fields and strongly integrated with each other. the actors who produce "scientific" information, which is considered to be "important", can disseminate the information which is favorable for them, in order to support their socio-political positions. thus, a "scientifically important" actor may be an informal but influential decision-maker. additionally, the network will collapse, if an actor who participates in many information paths and thus controls the flow of information, suddenly abandons the network. in this case, the actor is merely a crucial "postman" but not necessarily a "decision-maker". in policy copyright c⃝ 2006-2010 by ccc publications 172 n.d. hasanagas, a.d. styliadis, e.i. papadopoulou planning, implementation and evaluation, it is useful to distinguish the "decision-maker" from the "postman" in order to focus the lobbying activity on the former rather than on the latter. this is especially useful in integrated rural development, incl. forest policy, as there are numerous complex, informal and different procedures among the countries and unclear indicators (rudi research project findings). therefore, there is a point in developing an adaptive gis e-learning system on region-specific information networks in order to make lobbyists, public administrators and students more familiar with science management in policy arena [14]. 2 selecting the gis learning object and the learner target group adaptive learning systems are supposed to require numerous and elaborated rules [5, 6, 18]. however, the existence of tested algorithms which detect the position of an actor in the formal or informal hierarchy of information in a network simplifies the rules and metadata requirements, even in complex social systems [6, 8, 11, 16, 19]. two algorithms, "closeness centrality" (cc) and "centrality of betweenness" (cb), can be used for classifying the actors. the only question is which type of actors interests each learner group [2, 11, 17, 6, 9]. we can distinguish two aggregated and seven specific learner groups: a) aggregated learner groups: 1) state actor employees (civil servants of agencies), 2) private actor employees (lobbyists, managers, experts and employees of interest groups or enterprises) figure 1: learner target groups. b) specific learner target groups (figure 1): these emerge by the combination of three dimensions [12, 13, 15]: 1) the legal character of the actor (public or private), 2) the orientation of the actor (economic or non-profit seeking regarding the management of natural resources, or science-orientation), and 3) the degree of dependence on the liberal market (i. individual enterprises which are directly exposed to the competition, ii. economic interest groups of enterprises which only represent their interests in the policy network, iii. non-profit seeking interest groups such as cultural association for the renovation of villages, forest recreation, and environmental ngos, which only depend on national and eu funds, or private universities and research centres which can be flexible to the market needs, and iv. state actors which are totally independent from the market, such as agencies, public universities and environmental policy and science management: using a scientometric-specific gis for e-learning purposes 173 research units) (rudi findings). the gis learning objects (figure 2) are the seven actor types described in figure 1 (“archimedes” research project findings), in each category of information management function (cc and cb). an enterprise characterized by high cc (strong "decision-maker") in a certain region-specific policy network is a case of learning object, while the same enterprise characterized by a low cb (weak "postman") is a different case of learning object. figure 2: processing model framework. each learner can thus examine whether the actor he/she belongs to is a strong "decision-maker" or "postman" in comparison to the other actors, so as to plan his/her lobbying strategy more effectively. in this way, instead of a standardized instructional design, the learnerpractitioner (or policy analysis student) can be flexibly oriented by using the cc and cb as indicators. 3 visualizing "decision-makers" and "postmen" various socio-informatics software products have been used for measuring and visualizing the invisible structures of policy networks which very often include informal relationships [1, 3]. the insna web-site ("international network for social network analysis"www.insna.org) offers a remarkable variety of such software. however, the implementation and outputs of this software in e-learning through a region-specific gis learning management system is still an open challenge, where the close cooperation of a multi-disciplinary group of social scientists [13, 15], software engineers, forest policy analysts, economists and practitioners such as lobbyists, foresters, agrarians etc is necessary. the informal relations are sometimes much more decisive for the policy output than the formal ones [3, 4, 7, 14]. a usual relation type in such region-specific networks is the exchange of information [8, 9]. the visone software is appropriate for depicting and analyzing both formal and informal information exchange. the algorithms of cc and cb are used for this purpose. the cc is an indicator of importance of a policy actor, while the cb indicates the capacity of controlling the paths of information exchange and thereby the dissemination of "scientific" information [13]. cc measures the distance d (i.e. the shortest number of links) between two actors. if i.e. the royal scottish forestry society gives information to the friends of the loch lomond and the latter to the national trust of scotland (and there is no direct information link from the royal scottish forestry society to the national trust of scotland), then the distance (d) between the royal scottish forestry society and the national trust of scotland is d=2 (links). the sum of all distances from an actor i to any other actor is the closeness of the actor i and then the closeness centrality of i is defined as its inverse closeness [8, 9]: 174 n.d. hasanagas, a.d. styliadis, e.i. papadopoulou cc(i) = ⌊ ∑ j d( j,i)⌋ −1 (1) the fewer links are needed to connect i to any other actor, the higher its cc is. if an actor possesses information that is regarded as crucial by the other actors, then one can expect this actor to have a high cc. for this reason, cc is an indicator of the information importance. cb quantifies the information control potential of an actor i and is defined as the sum of the ratios of shortest paths between other actors that the actor i sits on: cb(i) = ∑ |pi(i, j)| |p(i, j)| (2) where p(i,j) and pi (i,j) are the sets of all shortest paths between i and j, and those shortest paths passing through i, respectively. thus, an actor with high cb plays the role of the "go-between" for many other actors in term of shortest paths and, in this way, controls the dissemination of information. if the actor is also aware of its capability, it can influence the decision-making processes. cb points out the most crucial "postman" of information in a network, while cc shows who is the most important "sender". the "sender" is an information imposer and thereby a "decision-maker" who can directly influence the policy-making. in everyday life, the "sender" (e.g. a bank which makes a decision) may often be clearly differentiated from the person who brings the letter from the bank to the interested client. however, in politics, it is often unclear who the "sender" and who the "postman" is, as these roles are informal. using the two indicators, cb and cc, this difference can be detected. three examples of region-specific networks of "scientific" information flow are presented in figure 3. these are networks investigating issues like uk1: management of loch lomond and trossachs national park, uk2: scottish forestry strategy, and greece: the amendment of the forest-related article 24 of the national constitution law. the actors are landowners’ associations, forest services, agricultural directorates, cultural associations (related to nature aesthetics and cultural landscapes), angling and hunting associations, environmental ngos, technical chambers, tourist enterprises, forest and agricultural industries, municipalities etc (figure 1 can be used as a legend to understand the nodes in the depicted networks). number of actors, number of links and the network density (%) appear in each table cell of figure 3. in the first row, the whole region-specific networks appear (two from scotland and one from greece). the networks of "scientific" information shaped according to the cc and cb of the actors are presented in the second and third row respectively. the difference of the density degree (%) between whole contact networks (first row) and this of "scientific" information networks is remarkable: the density of "scientific" information is drastically lower than the "general contact" density, though issues like forest-environment and integrated rural development policy are supposed to be multi-disciplinary areas. not only the "science"-interested actors are relatively few but the lower degree of density also shows that the "scientific" communication is much weaker than the total activities (e.g. lobbying and institutional pressure, exchange of material support etc) (rudi findings). the analysis suggests that in some networks, economic or profit-seeking, private or state actors appear to be the most "important" actors in the "scientific" arena, while universities or research institutes are quite low in importance. this is particularly true for a science-oriented actor (a university) in the uk1 issue. this university is totally excluded from the "scientific" information network. thus, it is quite subjective which information is regarded as "scientific" (rudi findings). moreover, by comparing the cc with the cb network of the uk2 issue, it becomes obvious that the most influential "decision-maker" is not necessarily the best "postman": a forest service possesses the highest cc, while an environmental protection agency possesses the highest cb. in figure 4, a comparative view of region-specific scientometric data is provided: each learner target group can focus its research work on the respective learning object (actor type and position in information hierarchy). the learners can examine and interpreting the quantitative results: e.g. why the most important "scientist" and "science" controller is the state, why the science-oriented actors are of disputable importance and much weaker in intermediating "science" etc. the e-learning system functions as an "adaptor" which connects the academic knowledge with the practical and "local knowledge". the synergy between field expert experience and academic knowledge can be thereby optimized. possibilities of coalition building or cross-sectoral over-bridging through science management [12, 14] as well as chances for effective coordination through information control [7, 10, 15] can be discussed and analyzed by all learners. such an e-learning system could be useful in research projects which aim at the better understanding of rural-environmental policy design, delivery, monitoring and evaluation environmental policy and science management: using a scientometric-specific gis for e-learning purposes 175 figure 3: region-specific networks of "scientific" information flow. (“archimedes” and rudi findings). in particular, the implementation of forest policy as a holistic "scientific" toolbox for socio-economic planning, financing and development of forestry, evaluation of the protective and economic role of forest, prediction of supply and demand of forest products and forest administration is enabled. 4 summary and conclusions there are different science management patterns among region-specific policy networks. science-oriented actors are not necessary the leading ones in the information networks which are considered as "scientific" ones by their participants. a scientometric-specific gis based on complete network analysis helps all learners understand that forest policy, integrated rural development and environmental policy constitute a multifaceted and cohesive politico-administrative system, where the potential influence regarding information use and distribution becomes quite complex and makes the policy output unpredictable. by the presented gis e-learning system all learner target groups become more familiar with a policy design which takes into account the needs not only of the agricultural population but of a whole integrated rural territory, which is developed in the framework of a new type of urban-countryside relationship (rudi findings). the quantified learning objects of the integrated rural policy arena should be further interpreted through a participative and qualitative approach. thereby, the socio-economic and ecological driving forces which determine the quantitative results will be better understood by the learner target groups, independently of any political interests or personal views. acknowledgements the research initiative proposed by this paper has been supported by the eu-funded research project “archimedes” 176 n.d. hasanagas, a.d. styliadis, e.i. papadopoulou figure 4: scientometricembedded gis. environmental policy and science management: using a scientometric-specific gis for e-learning purposes 177 (department of landscape architecture, kavala institute of technology, drama, greece), by the eu-funded research project "rudi: rural development impactsassessing the impact of rural development policies, incl. leader" (department of agricultural economics, faculty of agricultural science, aristotle university of thessaloniki, greece), and by the institute of forest policy and nature conservation of goettingen university (germany). bibliography [1] k.a. bakar, b. s. doherty, evaluation of the recorded state mechanism for protecting agent integrity against malicious hosts. int. j. of computers, communications & control, 3(1), 60-68, 2008. [2] a.d. styliadis, i.i. akbaylar, d.a. papadopoulou, n.d. hasanagas, s.a. roussa, l.a. sexidis, metadatabased heritage sites modeling with e-learning functionality. journal of cultural heritage, 10, 296-312, 2009. [3] m. a. rajan, m. girish chandra, l.c. reddy, p. hiremath, concepts of graph theory relevant to ad-hoc networks. int. j. of computers, communications & control, 3(s):465-469, 2008. [4] p. borne, m. benrejeb, on the representation and the stability study of large scale systems. int. j. of computers, communications & control, 3(s):55-66, 2008. [5] a.d. styliadis, d.g. konstantinidou, k.a. tyxola, ecad system design applications in architecture. int. j. of computers, communications & control, 3(2), 204-214, 2008. [6] a.d. styliadis, digital documentation of historical buildings with 3-d modeling functionality. automation in construction, 16, 498-510, 2007. [7] n.d. hasanagas, lobbying management: principles and methods of a more effective practice in the environmental labyrinth of the european union. scottish forestry. the journal of the royal scottish forestry society. 57(1), 28-32, 2003. [8] m. baur, m. benkert, u. brandes, s. cornelsen, m. gaertler, b. koepf, j. lerner, d. wagner, visone software for visual social network analysis. porc. 9th intl. symp. graph drawing, lecture notes in computer science 2265, 463-464, springer, 2002. [9] a.d. styliadis, historical photography-based computer-aided architectural design: demolished buildings information modeling with reverse engineering functionality. automation in construction, 18, 51-69, 2008. [10] n. zarour, s. bouzidi, coalition formation for cooperative information agent-based systems. int. j. of computers, communications & control, 1(3), pp. 85-92, 2006. [11] a. andreatos, virtual communities and their importance for informal learning. int. j. of computers, communications & control, 2(1), 39-47, 2007. [12] m. krott, n.d. hasanagas, measuring bridges between sectors: causative evaluation of crosssectorality. forest policy and economics, 8, 555-563, 2006. [13] km. krott, catalyst for innovation in european forest policy sciences. evaluation of the efi research program 3: policy analysis. forest policy and economics, 5(2), 123-134, 2003. [14] s. shortall, are rural development programmes socially inclusive? social inclusion, civic engagement, participation, and social capital: exploring the differences. journal of rural studies, 24(4), 450-457, 2008. [15] d.j.a. douglas, the restructuring of local government in rural regions: a rural development perspective. journal of rural studies, 21(2), 231-246, 2005. [16] a.d. styliadis, i.d. karamitsos, d.i. zachariou, personalized e-learning implementation the gis case. international journal of computers, communications & control, 1(1), 59-67, 2006 [17] a.d. styliadis, e-learning documentation of historical living systems with 3-d modeling functionality. informatica, 18(3), 419-446, 2007. [18] a.d. styliadis, p.g. patias, n.c. zestas, 3-d computer modeling with intra-component, geometric, quality and topological constraints. informatica, 14(3), 375-392, 2003. 178 n.d. hasanagas, a.d. styliadis, e.i. papadopoulou [19] a.d. styliadis, m.gr. vassilakopoulos, a spatio-temporal geometry-based model for digital documentation of historical living systems. information & management, 42, 349-359, 2005. nikolaos d. hasanagas born in 1974. assistant professor in environment-related subjects at the kavala institute of technology, drama, greece. bsc and msc eq. in environmental sciences (aristotle univ. of thessaloniki, greece), ba and ma eq. in social sciences, phd in environmental policy analysis (goettingen univ., germany). athanasios d. styliadis born in 1956. professor of digital architecture and design computing at the department of landscape architecture at the kavala institute of technology, drama, greece. diploma in surveying engineering, msc in computer science (dundee univ., scotland), phd in caad and gis (aristotle univ. of thessaloniki, greece). eleni i. papadopoulou born in 1957. assistant professor in rural policy at the faculty of agricultural science at the aristotle university of thessaloniki, greece. bsc in agriculture engineering, msc in agricultural economics (univ. of reading, uk), phd (aristotle university of thessaloniki). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 825-836 a genetic algorithm for multiobjective hard scheduling optimization e. niño, c. ardila, a. perez, y. donoso elías niño, carlos ardila department of computer science universidad del norte km 5, via pto colombia. barranquilla, colombia e-mail: {enino,cardila}@uninorte.edu.co alfredo perez department of computer science and engineering university south florida 4202 e. fowler ave. tampa, florida e-mail: ajperez4@cse.usf.edu yezid donoso department of computing and systems engineering universidad de los andes cra 1 no. 18a-12. bogotá, colombia e-mail: ydonoso@uniandes.edu.co abstract: this paper proposes a genetic algorithm for multiobjective scheduling optimization based in the object oriented design with constrains on delivery times, process precedence and resource availability. initially, the programming algorithm (pa) was designed and implemented, taking into account all constraints mentioned. this algorithm’s main objective is, given a sequence of production orders, products and processes, calculate its total programming cost and time. once the programming algorithm was defined, the genetic algorithm (ga) was developed for minimizing two objectives: delivery times and total programming cost. the stages defined for this algorithm were: selection, crossover and mutation. during the first stage, the individuals composing the next generation are selected using a strong dominance test. given the strong restrictions on the model, the crossover stage utilizes a process level structure (pls) where processes are grouped by its levels in the product tree. finally during the mutation stage, the solutions are modified in two different ways (selected in a random fashion): changing the selection of the resources of one process and organizing the processes by its execution time by level. in order to obtain more variability in the found solutions, the production orders and the products are organized with activity planning rules such as edd, spt and lpt. for each level of processes, the processes are organized by its processing time from lower to higher (plu), from higher to lower (pul), randomly (pr), and by local search (ls). as strategies for local search, three algorithms were implemented: tabu search (ts), simulated annealing (sa) and exchange deterministic algorithm (eda). the purpose of the local search is to organize the processes in such a way that minimizes the total execution time of the level. finally, pareto fronts are used to show the obtained results of applying each of the specified strategies. results are analyzed and compared. keywords: scheduling, process, genetic algorithm, local search, pareto front. copyright c⃝ 2006-2010 by ccc publications 826 e. niño, c. ardila, a. perez, y. donoso 1 introduction the genetics algorithms (ga) are a powerful tool for solving combinatorial problems. nowadays, it exits a lot of algorithms inspired in ga for solving real problems such as design of vehicle suspensions [1], product deployment in telecom services [2], design of the flexible multi-body model vehicle suspensions based on skeletons implementing [3], job-shop scheduling [4], economic dispatch of generators with prohibited operating zones [5], multi-project scheduling [6], inversion analysis of permeability coefficients [7], path planning in unstructured mobile robot environments [8], rough mill component scheduling [9] and power plant control system design [10]. in productive systems is very critical the assignments of resources, for instance, a product has process and the process requires resources. the programming of the execution of the processes affects the overall cost and time of the products. due to this, it is very important try to do the planning and scheduling in the best way. it can be accomplished with a genetic algorithm. 2 preliminaries 2.1 local search local search are techniques that allows finding solutions in a set of solutions. it always tries to improve the actual solution through perturbations. a perturbation is a simple way for changing a solution. the perturbation depends of the way for representing the solutions, for instance in figure 1 can be seen a binary representation of a solution, in this case the perturbation can be done changing ones (1) by zeros (0). on the other hand, in figure 2 can be seen a no-binary representation of a solution (tour of the traveling salesman problem [11] for example), in this case the perturbation can be done swapping two elements of the tour. 001001 001101 perturbation x x’ figure 1: a binary representation of solutions. in this case x is the representation of the decimal number 9. the perturbation was done changing the 4th 0 to 1. due to this, it creates a new solution x’ that is the representation of the decimal number 13. 1-2-3-4 1-3-2-4 perturbation swapping 2 and 3 x x’ figure 2: a no-binary representation of solutions. in this case x is the representation of a tour in tsp. the perturbation was done changing the 2 and 3 in the string. due to this, it creates a new solution x’. a genetic algorithm for multiobjective hard scheduling optimization 827 there exist a many local search algorithms such as tabu search (ts) [12], simulated annealing (sa) [13] and exchange deterministic algorithm (eda) [14]. due to this, it is necessary to find a good representation of the solutions. obviously, it depends of the problem to solve. 2.2 genetic algorithm genetic algorithm (ga) is a search technique used for solving optimizations problem. the most important in ga is the design of the chromosome. it is the representation of the feasible solutions. consequently, the behavior of the ga depends of the chromosome. due to this, a bad chromosome implies a bad behavior of the ga. on the other hand, a good chromosome may imply a good behavior of the ga. the framework of ga can be seen in figure 3. genetic algorithm s = create initial solutions do selection (s) crossover (s) mutation (s) until condition stop = true end genetic algorithm figure 3: the framework of a genetic algorithm. ga has three important steps. first, it selects the solutions for the crossover and mutation step. this selection can be done using a metric, for example the inverse generational distance (igd) [15]. second, it takes pairs of solutions for crossing. it can be done at random. crossover consists in creates new solutions with parts of two solutions. the two original solutions are named parents (father and mother) and the two new solutions sons. it is created with half from father and half from mother. lastly, it takes some sons for mutating it. the mutation is a step that allows creating new solutions. it can be done using a perturbation or a local search. the three steps of ga can be seen in figure 4. 0 1 2 3 1 0 3 2 0 1 3 2 1 0 2 3 3 1 0 2 2 0 1 3 swap(1, 2) swap(0, 3) parents selection crossover mutation sons figure 4: steps of a genetic algorithm. 828 e. niño, c. ardila, a. perez, y. donoso 3 a genetic algorithm for multiobjective hard scheduling optimization we state a new genetic algorithm for multiobjective hard scheduling optimization (gamhso). this algorithm works in scenarios with the following characteristics: there are production orders that are composed by a set of products. each of the products is described by a product tree that contains all the processes needed to build such product. for a product to be ready, it is required the execution of all processes that belongs to its tree. a process may need the execution of another process (precedence) or other subpart before it can be executed. the execution of some processes can be only done in certain times (schedules). to execute a process, a group of resources is required. the defined resources are: machinery, employees, and vehicles. it is not necessary for a group of resources to contain all types of resources. finally, if a subcomponent is required, it has to be constructed by a set of processes or it can be modeled by a process that indicates idle state (the subcomponent has not arrived yet to the system). this scenario can be seen in a domain model in figure 5. figure 5: domain model for scenario of gamhso formally gahmso is defined in figure 6. the two objectives of gamhso is found a set of solutions nondominated of the programming of the processes minimizing the overall time and cost. the initial solutions are created with some heuristics. the heuristics organizes the production orders with rules. gahmso use three rules for creating the initial solutions. it selects the heuristic in at random. the available heuristics for creating the initial solutions are early due date (edd), long process time (lpt) and short process time (spt). edd organizes the production orders from lower to upper respect to the due date. spt organizes the production orders from lower to upper respect to the summation of the processes time of the products. lpt is the contrary to spt. a genetic algorithm for multiobjective hard scheduling optimization 829 once the initial solutions are created, the selection step selects solutions from the overall set of solutions. the selected solutions are named candidates. the candidates are the solutions that can be crossed for creating new solutions. the amount of candidates is defined by the candidate rate cr. it is very important the definition of the chromosome for the crossover step. for instance, consider the product of the figure 7. the representation of two feasible solutions could be to program the execution of processes in the order 8 11 9 10 6 7 5 4 1 2 3 and 11 10 6 5 4 2 8 9 7 1 3. the program indicates a feasible solution for programming the processes. some processes can be executed parallel, so the order indicates the priority in the utilization of the resources. for instance, processes 8 and 9 can be executed at the same time, but in the first solution, if 8 uses a machine that 9 requires, 9 could not executed until 8 free the resource. the problem with this representation is that the crossover step could create unfeasible solutions. for example, if we split the two solutions mentioned in the middle and later we cross those solutions, we will obtain the solutions 8 11 9 10 6 2 8 9 7 1 3 and 11 10 6 5 47 5 4 1 2 3. obviously, those are unfeasible solutions. inputs: c ,r ρr output: a set (s) of nondominated solutions. gamhso s = create initial solutions(edd, lpt, spt) do s’ = selection of candidates (s, c )r c = crossover of candidates (s’, ρ )r x = generated a integer in [0,2] with a uniform distribution. switch(x) case 0: c = tabusearch(c) case 1: c = simulatedannealing(c) case 2: c = exchange deterministic algorithm(c) end s = s u c s = remove domiated solutions(s) until condition stop = true end gamhso figure 6: the framework of gamhso 4 definition of the chromosome the objectives of gamsho are the optimization of overall cost and time. it plays with the programming order of the execution of the processes. so it is very important to provide a good representation of the solutions. consider again the product of the figure 7. it has subparts because it is modeling the reality. but, żwhat does a subpart mean? it means that the process that contains the subpart cannot be executed until the processes that build it have been executed. in other words, there exists a precedence constrain between the process that contain the subpart and the processes 830 e. niño, c. ardila, a. perez, y. donoso that build the subpart. if we applied this to the figure 7, we are going to obtain the tree of the figure 8. in this tree does not exist subpart, we replace the subpart for the precedence between the processes. once the tree is ready, we need to create a chromosome that allows the representation of the programming. process1 process2 process3 process4 process5 process6 process7 process8 process9 process10 process11 prod a subprt1 subprt2 figure 7: tree product a. product a requires of the execution of the processes 1, 2 and 3. process 1 requires the execution of the process 7. process 7 requires the subpart1. subpart1 requires the execution of the processes 8 and 9. process 2 does not require processes. process 3 require the execution of the processes 4 and 5.process 5 requires the execution of the process 6. process 6 requires the subpart 2. subpart 2 requires the execution of process 10 and process 10 requires the execution of process 11. first we group the processes by level. it means that the time execution of a process in a superior level depends on the finalization execution time of the parents in a low level. formally: p.start_time = max(parenti.finalization_time) (4.1) for instance, if process 5 finishes its execution in time 20 and the process 4 finishes its execution in time 40, process 3 will start its execution in time 40. on the other hand, the process 2 can be executed since time 0. once the levels of the processes have been identified, those are grouped in a level structure. it can be seen in figure 9. each process knows its children in the superior level. due to this, the chromosome for gamhso can be seen in figure 10. the production orders are executed from left to the right (from up to down). the products are built from left to the right (from up to down). the processes are executed from right to the left (from down to up). the processes are processed from left to the right (from up to down). the crossover step consists in select two solutions, split in the middle and cross. it can be done by levels. an example can be seen in figure 11. the number of solution that can be crossed a genetic algorithm for multiobjective hard scheduling optimization 831 process1 process2 process3 process4 process5 process6 process7 process8 process9 process10 process11 prod a level 0: processes 1, 2 and 3 level 1: processes 4, 5 and 7 level 2: processes 6, 8 and 9 level 3: process 10 level 4: process 11 figure 8: a view of the precedence tree of product a group by level. process1 process2 process3 process4 process5 process6process7 process8 process9 process10 process11 prod a level0 level1 level2 level3 level4 figure 9: a representation of the product a in a level structure. is specify by the crossover rate (ρr). once the solution is created, it is necessary to schedule the processes of the solution for obtaining the time and cost of the solution. the programming algorithm (pa) is an algorithm that requires a solution for programming all the processes for all the products of the production orders. it verifies is a process can be executed with three validations: first, it verifies the process precedence. second, it verifies if the resource are available for the execution of the process. lastly, it verifies is the process can be executed in the journey. once a process completes its execution, it set the initial time to his children to his finalization time. pa can be seen in figure 12. the mutation step of gamhso consists in the improvement of the solutions through local search (ls). gamhso works with three ls: tabu search (ts), simulated annealing (sa) and exchange deterministic algorithm (eda). 5 experimental settings we tested gamhso in a computer amd turion 64, 2 gb of ram and a hard disk of 120 gb. the test consisted in build 1000 products of type a (figure 7). the parameters were cr = 0.4, 832 e. niño, c. ardila, a. perez, y. donoso sns2s1 s3 o1 o2 o3 om p1 p2 p3 pi l1 l2 l3 lj p1 p2 p3 pk set of solutions s each solution has the same set of productions orders but sorted by edd, spt or lpt each order has a set of products sorted by edd, spt or ltp each product has a set of levels each level has a set of processes figure 10: the chromosome for gamhso. ρr = 0.5. we tested the performance of gomhsa with eda, ts and sa. for making a real comparison, we use the inverted generational distance (igd) metric [15]. it is defined as follows: given a reference set a∗, the igd value of a set a ⊂ rm is defined as: igd(a, a∗) = 1 |a∗| ∑ v∈a∗ {min u∈a d(u, v)} (5.1) 6 results of gamhso the pareto fronts for each ls can be seen in figure 12. the results of igd metric between the lss can be seen in table 1. the running times for gamhso for each ls can be seen table 2. eda sa ts eda sa ts 1137.0605 7485.2654 6157.3669 6388.229 0 0 01134.2321 7367.1584 table 1: the igd-metrics values for each ls against the rest of ls. eda ts sa running time in seconds 32 57 128 table 2: running times of gamhso with each ls. a genetic algorithm for multiobjective hard scheduling optimization 833 s1 o a 0 1 2 3 a b c f d g h e s2 o a 0 1 2 3 b a f c h d g e s3 o a 2 3 h d g e 0 1 a b c f new solution solution 1 e-d-g-h-c-f-a-b solution 2 e-h-d-g-f-c-b-a solution 3 e-h-d-g-c-f-a-b figure 11: an example of the crossover step of gamhso. 7 conclusions and future works we designed a new genetic algorithm for hard scheduling optimization (gamhso). it works with very difficult scenarios of productive systems. also, we define a chromosome for gamhso that avoids the creation of unfeasible solutions. due to this, it is not necessary to verify if a solution (for the crossover step) is a feasible solution. consequently, the performance of the algorithm is satisfactory in comparison with the size of the feasible solutions space. on the other hand, we state a new programming algorithm (pa) for scheduling of a set of production orders. pa is a flexible algorithm that allows the incorporations of new restrictions to the processes. it allows calculate the overall time and cost of a set of production orders. we made a real comparison of the gamhso behavior with some local search strategies such as exchange deterministic algorithm (eda), tabu search (ts) and simulated annealing (sa). the best performance of gamhso was using eda and sa. lastly, we will investigate a new chromosome that allows the crossover between production orders. 834 e. niño, c. ardila, a. perez, y. donoso programming algoritm(o as a set of production orders) cost = 0 time = 0 for each o in oorder for each p in oproduct for each l in plevel for each p in pprocess t = p.initialtime do while p cannot be executed in time t t = t+1 end while it = t while p can be executed in time t t = t+1 end while ft = t for all resources r used for p. r.programtask(it,ft). cost = cost+r.getcost until t = 0 for all processes children pc of p. pc. = max(pc.initialtime,t)initialtime if thent > time time = t end if end for end for end for end for return time,cost end programming algorithm figure 12: the framework of the programming algorithm (pa) for getting the overall cost and time of the programming of a set of production orders. figure 13: pareto fronts for gahmso for each ls. notice that ts is dominated by sa and eda. gahmso a similar behavior for sa and eda a genetic algorithm for multiobjective hard scheduling optimization 835 bibliography [1] jingjun zhang; yanhong zhang; ruizhen gao, “genetic algorithms for optimal design of vehicle suspensions”, engineering of intelligent systems, 2006 ieee international conference on , vol., no., pp.1-6, 0-0 0. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1703182&isnumber=35938 [2] murphy, l.; abdel-aty-zohdy, h.s.; hashem-sherif, m., “a genetic algorithm tracking model for product deployment in telecom services”, circuits and systems, 2005. 48th midwest symposium on , vol., no., pp.1729-1732 vol. 2, 7-10 aug. 2005. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1594454&isnumber=33557 [3] guangyuan liu; jingjun zhang; ruizhen gao; yang sun, “a coarse-grained genetic algorithm for the optimal design of the flexible multi-body model vehicle suspensions based on skeletons implementing”, intelligent networks and intelligent systems, 2008. icinis ’08. first international conference on , vol., no., pp.139-142, 1-3 nov. 2008. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4683187&isnumber=4683146 [4] wu ying; li bin, “job-shop scheduling using genetic algorithm”, systems, man, and cybernetics, 1996., ieee international conference on , vol.3, no., pp.1994-1999 vol.3, 14-17 oct 1996. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=565434&isnumber=12283 [5] orero, s.o.; irving, m.r., “economic dispatch of generators with prohibited operating zones: a genetic algorithm approach”, generation, transmission and distribution, iee proceedings, vol.143, no.6, pp.529-534, nov 1996. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=556730&isnumber=12146 [6] zhao man; tan wei; li xiang; kang lishan, “research on multi-project scheduling problem based on hybrid genetic algorithm”, computer science and software engineering, 2008 international conference on , vol.1, no., pp.390-394, 12-14 dec. 2008. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4721769&isnumber=4721668 [7] xianghui deng, “application of adaptive genetic algorithm in inversion analysis of permeability coefficients”, genetic and evolutionary computing, 2008. wgec ’08. second international conference on , vol., no., pp.61-65, 25-26 sept. 2008. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4637395&isnumber=4637374 [8] yanrong hu; yang, s.x.; li-zhong xu; meng, q.-h., “a knowledge based genetic algorithm for path planning in unstructured mobile robot environments”, robotics and biomimetics, 2004. robio 2004. ieee international conference on , vol., no., pp.767-772, 22-26 aug. 2004. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1521879&isnumber=32545 [9] siu, n.; elghoneimy, e.; yunli wang; gruver, w.a.; fleetwood, m.; kotak, d.b., “rough mill component scheduling: heuristic search versus genetic algorithms” systems, man and cybernetics, 2004 ieee international conference on , vol.5, no., pp. 4226-4231 vol.5, 10-13 oct. 2004. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1401194&isnumber=30426 [10] lee, k.y.; mohamed, p.s., “a real-coded genetic algorithm involving a hybrid crossover method for power plant control system design”, evolutionary computation, 2002. cec ’02. 836 e. niño, c. ardila, a. perez, y. donoso proceedings of the 2002 congress on , vol.2, no., pp.1069-1074, 2002. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10043914&isnumber=21687 [11] pepper, j.w.; golden, b.l.; wasil, e.a., “solving the traveling salesman problem with annealing-based heuristics: a computational study”, systems, man and cybernetics, part a: systems and humans, ieee transactions on , vol.32, no.1, pp.72-77, jan 2002. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=995530&isnumber=21479 [12] blesa, m.j.; hernandez, l.; xhafa, f., “parallel skeletons for tabu search method”, parallel and distributed systems, 2001. icpads 2001. proceedings. eighth international conference on , vol., no., pp.23-28, 2001. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=934797&isnumber=20222 [13] rose, j.; klebsch, w.; wolf, j., “temperature measurement and equilibrium dynamics of simulated annealing placements”, computer-aided design of integrated circuits and systems, ieee transactions on , vol.9, no.3, pp.253-259, mar 1990. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=46801&isnumber=1771 [14] nińo, e.;ardila, j. , algoritmo basado en automatas finitos deterministas para la obtención de óptimos globales en problemas de naturaleza combinatoria. revista de ingeniería y desarrollo. no 25. pp 100 114. issn 0122 3461. [15] minzhong liu; xiufen zou; yu chen; zhijian wu, “performance assessment of dmoea-dd with cec 2009 moea competition test instances”, evolutionary computation, 2009. cec ’09. ieee congress on , vol., no., pp.2913-2918, 18-21 may 2009. url: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4983309&isnumber=4982922 [16] h. li and j.d. landa-silva, evolutionary multi-objective simulated annealing with adaptive and competitive search direction, proceedings of the 2008 ieee congress on evolutionary computation (cec 2008), ieee press, pp. 3310-3317, 01-06 june, 2008, hong kong. international journal of computers, communications & control vol. i (2006), no. 1, pp. 47-57 information aggregation in intelligent systems using generalized operators imre j. rudas, jános fodor abstract: aggregation of information represented by membership functions is a central matter in intelligent systems where fuzzy rule base and reasoning mechanism are applied. typical examples of such systems consist of, but not limited to, fuzzy control, decision support and expert systems. since the advent of fuzzy sets a great number of fuzzy connectives, aggregation operators have been introduced. some families of such operators (like t-norms) have become standard in the field. nevertheless, it also became clear that these operators do not always follow the real phenomena. therefore, there is a natural need for finding new operators to develop more sophisticated intelligent systems. this paper summarizes the research results of the authors that have been carried out in recent years on generalization of conventional operators. keywords: t-norm, t-conorm, uninorm, entropyand distance-based conjunctions and disjunctions. 1 introduction information aggregation is one of the key issues in development of intelligent systems. although fuzzy set theory provides a host of attractive aggregation operators for integrating the membership values representing uncertain information, the results do not always follow the modeled real phenomena and it has been shown that in some situations some operations may work better than others. since the pioneering work of zadeh the basic research was oriented towards the investigation of the properties of t-norms and t-conorms and also to find new ones satisfying the axiom system. as a result of this a great number (of various type) of t-operators have been introduced accepting the axiom system as a fixed, unchangeable skeleton. until the last few years no strong efforts were devoted to generalize t-operators by modifying “weakening” this axiom system. on one hand, the sound theoretical foundation as well as their wide variety have given t-norms and t-conorms almost an exclusive role in different theoretical investigations and practical applications. on the other hand, people are inclined to use them also as a matter of routine. the following observations support this statement and . when one works with binary conjunctions and there is no need to extend them for three or more arguments, associativity is an unnecessarily restrictive condition. the same is valid for commutativity if the two arguments have different semantical backgrounds and it has no sense to interchange one with the other. these observations, which are very often left out of consideration, advocate our study and have urged us to revise definitions and properties of operations for information aggregation and reasoning. 2 traditional operations the original fuzzy set theory was formulated in terms of zadeh’s standard operations of intersection, union and complement. the axiomatic skeleton used for characterizing fuzzy intersection and fuzzy union are known as triangular norms (t-norms) and triangular conorms (t-conorms), respectively. for more details we refer to the book [9]. 2.1 triangular norms and conorms definition 1. a non-increasing function n : [0, 1] → [0, 1] satisfying n(0) = 1, n(1) = 0 is called a negation. a negation n is called strict if n is strictly decreasing and continuous. a strict negation n is said to be a strong negation if n is also involutive: n(n(x)) = x for all x ∈ [0, 1]. the standard negation is simply ns(x) = 1 −x, x ∈ [0, 1]. clearly, this negation is strong. it plays a key role in the representation of strong negations. we call a continuous, strictly increasing function ϕ : [0, 1] → [0, 1] with ϕ(0) = 0, ϕ(1) = 1 an automorphism of the unit interval. copyright c© 2006 by ccc publications 48 imre j. rudas, jános fodor definition 2. a triangular norm (shortly: a t-norm) is a function t : [0, 1]2 → [0, 1] which is associative, increasing and commutative, and satisfies the boundary condition t (1, x) = x for all x ∈ [0, 1]. definition 3. a triangular conorm (shortly: a t-conorm) is an associative, commutative, increasing s : [0, 1]2 → [0, 1] function, with boundary condition s(0, x) = x for all x ∈ [0, 1]. notice that continuity of a t-norm and a t-conorm is not taken for granted. in what follows we assume that t is a t-norm, s is a t-conorm and n is a strict negation. clearly, for every t-norm t and strong negation n, the operation s defined by s(x, y) = n(t (n(x), n(y))), x, y ∈ [0, 1] (1) is a t-conorm. in addition, t (x, y) = n(s(n(x), n(y))) (x, y ∈ [0, 1]). in this case s and t are called n-duals. in case of the standard negation (i.e., when n(x) = 1 − x for x ∈ [0, 1]) we simply speak about duals. obviously, equality (1) expresses the de morgan’s law in the fuzzy case. generally, for any t-norm t and t-conorm s we have tw (x, y) ≤ t (x, y) ≤ tm (x, y) and sm (x, y) ≤ s (x, y) ≤ ss (x, y) , where tm (x, y) = min (x, y), sm (x, y) = max (x, y), tw is the weakest t-norm, and ss is the strongest t-conorm. these inequalities are important from practical point of view as they establish the boundaries of the possible range of mappings t and s. 2.2 uninorms and nullnorms uninorms uninorms were introduced by yager and rybalov [19] as a generalization of t-norms and t-conorms. for uninorms, the neutral element is not forced to be either 0 or 1, but can be any value in the unit interval. definition 4. [19] a uninorm u is a commutative, associative and increasing binary operator with a neutral element e ∈ [0, 1 ] , i.e., for all x ∈ [0, 1 ] we have u (x, e) = x. t-norms do not allow low values to be compensated by high values, while t-conorms do not allow high values to be compensated by low values. uninorms may allow values separated by their neutral element to be aggregated in a compensating way. the structure of uninorms was studied by fodor et al. [11]. for a uninorm u with neutral element e ∈ ] 0, 1 ] , the binary operator tu defined by tu (x, y) = u (e x, e y) e is a t-norm; for a uninorm u with neutral element e ∈ [0, 1[, the binary operator su defined by su (x, y) = u (e + (1−e)x, e + (1−e)y)−e 1−e is a t-conorm. the structure of a uninorm with neutral element e ∈]0, 1[ on the squares [0, e ] 2 and [e, 1 ] 2 is therefore closely related to t-norms and t-conorms. for e ∈]0, 1[, we denote by φe and ψe the linear transformations defined by φe(x) = xe and ψe(x) = x−e 1−e . to any uninorm u with neutral element e ∈]0, 1[, there corresponds a t-norm t and a t-conorm s such that: (i) for any (x, y) ∈ [0, e ] 2: u (x, y) = φ−1e (t (φe(x), φe(y))); (ii) for any (x, y) ∈ [e, 1 ] 2: u (x, y) = ψ−1e (s(ψe(x), ψe(y))). on the remaining part of the unit square, i.e. on e = [0, e[×] e, 1 ] ∪]e, 1 ] ×[0, e[, it satisfies min(x, y) ≤ u (x, y) ≤ max(x, y), and could therefore partially show a compensating behaviour, i.e. take values strictly between minimum and maximum. note that any uninorm u is either conjunctive, i.e. u (0, 1) = u (1, 0) = 0, or disjunctive, i.e. u (0, 1) = u (1, 0) = 1. information aggregation in intelligent systems using generalized operators 49 representation of uninorms in analogy to the representation of continuous archimedean t-norms and t-conorms in terms of additive generators, fodor et al. [11] have investigated the existence of uninorms with a similar representation in terms of a single-variable function. this search leads back to dombi’s class of aggregative operators [7]. this work is also closely related to that of klement et al. on associative compensatory operators [15]. consider e ∈]0, 1[ and a strictly increasing continuous [0, 1] →r mapping h with h(0) = −∞, h(e) = 0 and h(1) = +∞. the binary operator u defined by u (x, y) = h−1(h(x) + h(y)) for any (x, y) ∈ [0, 1]2 \{(0, 1), (1, 0)}, and either u (0, 1) = u (1, 0) = 0 or u (0, 1) = u (1, 0) = 1, is a uninorm with neutral element e. the class of uninorms that can be constructed in this way has been characterized [11]. consider a uninorm u with neutral element e ∈]0, 1[, then there exists a strictly increasing continuous [0, 1] → r mapping h with h(0) = −∞, h(e) = 0 and h(1) = +∞ such that u (x, y) = h−1(h(x) + h(y)) for any (x, y) ∈ [0, 1]2 \{(0, 1), (1, 0)} if and only if (i) u is strictly increasing and continuous on ]0, 1[2; (ii) there exists an involutive negator n with fixpoint e such that u (x, y) = n(u (n(x), n(y)))) for any (x, y) ∈ [0, 1]2 \{(0, 1), (1, 0)}. the uninorms characterized above are called representable uninorms. the mapping h is called an additive generator of u . the involutive negator corresponding to a representable uninorm u with additive generator h, as mentioned in condition (ii) above, is denoted nu and is given by nu (x) = h −1(−h(x)). (2) clearly, any representable uninorm comes in a conjunctive and a disjunctive version, i.e. there always exist two representable uninorms that only differ in the points (0, 1) and (1, 0). representable uninorms are almost continuous, i.e. continuous except in (0, 1) and (1, 0), and archimedean, in the sense that (∀x ∈]0, e[)(u (x, x) < x) and (∀x ∈]e, 1[)(u (x, x) > x). clearly, representable uninorms are not idempotent. the classes umin and umax do not contain representable uninorms. a very important fact is that the underlying t-norm and t-conorm of a representable uninorm must be strict and cannot be nilpotent. moreover, given a strict t-norm t with decreasing additive generator f and a strict t-conorm s with increasing additive generator g, we can always construct a representable uninorm u with desired neutral element e ∈]0, 1[ that has t and s as underlying t-norm and t-conorm. it suffices to consider as additive generator the mapping h defined by h(x) =    − f ( x e ) , if x ≤ e g ( x−e 1−e ) , if x ≥ e . (3) on the other hand, the following property indicates that representable uninorms are in some sense also generalizations of nilpotent t-norms and nilpotent t-conorms: (∀x ∈ [0, 1])(u (x, nu (x)) = nu (e)). this claim is further supported by studying the residual operators of representable uninorms in [6]. as an example of the representable case, consider the additive generator h defined by h(x) = log x1−x , then the corresponding conjunctive representable uninorm u is given by u (x, y) = 0 if (x, y) ∈ {(1, 0), (0, 1)}, and u (x, y) = xy (1−x)(1−y) + xy otherwise, and has as neutral element 12 . note that nu is the standard negator: nu (x) = 1−x. the class of representable uninorms contains famous operators, such as the functions for combining certainty factors in the expert systems mycin (see [18, 5]) and prospector [5]. the mycin expert system was one 50 imre j. rudas, jános fodor of the first systems capable of reasoning under uncertainty [2]. to that end, certainty factors were introduced as numbers in the interval [−1, 1]. essential in the processing of these certainty factors is the modified combining function c proposed by van melle [2]. the [−1, 1]2 → [−1, 1] mapping c is defined by c(x, y) =    x + y(1−x) , if min(x, y) ≥ 0 x + y(1 + x) , if max(x, y) ≤ 0 x + y 1−min(|x|,|y|) , otherwise . the definition of c is not clear in the points (−1, 1) and (1,−1), though it is understood that c(−1, 1) = c(1,−1) = −1. rescaling the function c to a binary operator on [0, 1], we obtain a representable uninorm with neutral element 1 2 and as underlying t-norm and t-conorm the product and the probabilistic sum. implicitly, these results are contained in the book of hájek et al. [14], in the context of ordered abelian groups. nullnorms definition 5. [3] a nullnorm v is a commutative, associative and increasing binary operator with an absorbing element a ∈ [0, 1], i.e. (∀x ∈ [0, 1])(v (x, a) = a), and that satisfies (∀x ∈ [0, a])(v (x, 0) = x) (4) (∀x ∈ [a, 1])(v (x, 1) = x) (5) the absorbing element a corresponding to a nullnorm v is clearly unique. by definition, the case a = 0 leads back to t-norms, while the case a = 1 leads back to t-conorms. in the following proposition, we show that the structure of a nullnorm is similar to that of a uninorm. in particular, it can be shown that it is built up from a t-norm, a t-conorm and the absorbing element [3]. theorem 6. consider a ∈ [0, 1]. a binary operator v is a nullnorm with absorbing element a if and only if (i) if a = 0: v is a t-norm; (ii) if 0 < a < 1: there exists a t-norm tv and a t-conorm sv such that v (x, y) is given by    φ−1a (sv (φa(x), φa(y))) , if (x, y) ∈ [0, a]2 ψ−1a (tv (ψa(x), ψa(y))) , if (x, y) ∈ [a, 1]2 a , elsewhere ; (6) (iii) if a = 1: v is a t-conorm. recall that for any t-norm t and t-conorm s it holds that t (x, y) ≤ min(x, y) ≤ max(x, y) ≤ s(x, y), for any (x, y) ∈ [0, 1]2. hence, for a nullnorm v with absorbing element a it holds that (∀(x, y) ∈ [0, a]2) (v (x, y) ≥ max(x, y)) and (∀(x, y) ∈ [a, 1]2) (v (x, y) ≤ min(x, y)). clearly, for any nullnorm v with absorbing element a it holds for all x ∈ [0, 1] that v (x, 0) = min(x, a) and v (x, 1) = max(x, a). (7) notice that, without the additional conditions (4) and (5), it cannot be shown that a commutative, associative and increasing binary operator v with absorbing element a behaves as a t-conorm and t-norm on the squares [0, a]2 and [a, 1]2. nullnorms are a generalization of the well-known median studied by fung and fu [13], which corresponds to the case t = min and s = max. for a more general treatment of this operator, we refer to [10]. we recall here the characterization of that median as given by czogala and drewniak [4]. firstly, they observe that an idempotent, associative and increasing binary operator o has as absorbing element a ∈ [0, 1] if and only if o(0, 1) = o(1, 0) = a. then the following theorem can be proven. theorem 7. [4] consider a ∈ [0, 1]. a continuous, idempotent, associative and increasing binary operator o satisfies o(0, 1) = o(1, 0) = a if and only if it is given by o(x, y) =    max(x, y) , if (x, y) ∈ [0, a]2 min(x, y) , if (x, y) ∈ [a, 1]2 a , elsewhere . information aggregation in intelligent systems using generalized operators 51 nullnorms are also a special case of the class of t -s aggregation functions introduced and studied by fodor and calvo [12]. definition 8. consider a continuous t-norm t and a continuous t-conorm s. a binary operator f is called a t -s aggregation function if it is increasing and commutative, and satisfies the boundary conditions (∀x ∈ [0, 1])(f(x, 0) = t (f(1, 0), x)) (∀x ∈ [0, 1])(f(x, 1) = s(f(1, 0), x)). when t is the algebraic product and s is the probabilistic sum, we recover the class of aggregation functions studied by mayor and trillas [17]. rephrasing a result of fodor and calvo, we can state that the class of associative t -s aggregation functions coincides with the class of nullnorms with underlying t-norm t and t-conorm s. 2.3 the role of commutativity and associativity one possible way of simplification of axiom skeletons of t-norms and t-conorms may be not requiring that these operations to have the commutative and the associative properties. non-commutative and non-associative operations are widely used in mathematics, so, why do we restrict our investigations by keeping these axioms? what are the requirements of the most typical applications? from theoretical point of view the commutative law is not required, while the associative law is necessary to extend the operation to more than two variables. in applications, like fuzzy logic control, fuzzy expert systems and fuzzy systems modeling fuzzy rule base and fuzzy inference mechanism are used, where the information aggregation is performed by operations. the inference procedures do not always require commutative and associative laws of the operations used in these procedures. these properties are not necessary for conjunction operations used in the simplest fuzzy controllers with two inputs and one output. for rules with greater amount of inputs and outputs these properties are also not required if the sequence of variables in the rules are fixed. moreover, the non-commutativity of conjunction may in fact be desirable for rules because it can reflect different influences of the input variables on the output of the system. for example, in fuzzy control, the positions of the input variables the “error” and the “change in error” in rules are usually fixed and these variables have different influences on the output of the system. in the application areas of fuzzy models when the sequence of operands is not fixed, the property of non-commutativity may not be desirable. later some examples will be given for parametric non-commutative and non-associative operations. 3 generalized conjunctions and disjunctions the axiom systems of t-norms and t-conorms are very similar to each other except the neutral element, i.e. the type is characterized by the neutral element. if the neutral element is equal to 1 then the operation is a conjunction type, while if the neutral element is zero the disjunction operation is obtained. by using these properties we introduce the concepts of conjunction and disjunction operations [1]. definition 9. let t be a mapping t : [0, 1] × [0, 1] → [0, 1]. t is a conjunction operation if t (x, 1) = x for all x ∈ [0, 1]. definition 10. let s be a mapping s : [0, 1] × [0, 1] → [0, 1]. s is a conjunction operation if s(x, 0) = x for all x ∈ [0, 1]. conjunction and disjunction operations may also be obtained one from another by means of an involutive negation n: s (x, y) = n (t (n (x) , n (y))), and t (x, y) = n (s (n (x) , n (y))). it can be seen easily that conjunction and disjunction operations satisfy the following boundary conditions: t (1, 1) = 1, t (0, x) = t (x, 0) = 0, s(0, 0) = 0, s(1, x) = s(x, 1) = 1. by fixing these conditions, new types of generalized operations are introduced. definition 11. let t be a mapping t : [0, 1] × [0, 1] → [0, 1]. t is a quasi-conjunction operation if t (0, 0) = t (0, 1) = t (1, 0) = 0, and t (1, 1) = 1. definition 12. let s be a mapping s : [0, 1]×[0, 1] → [0, 1]. s is a quasi-disjunction operation if s(0, 1) = s(1, 0) = s(1, 1) = 1, and s(0, 0) = 0. 52 imre j. rudas, jános fodor it is easy to see that conjunction and disjunction operations are quasi-conjunctions and quasi-disjunctions, respectively, but the converse is not true. omitting t (1, 1) = 1 and s(0, 0) = 0 from the definitions further generalization can be obtained. definition 13. let t be a mapping t : [0, 1] × [0, 1] → [0, 1]. t is a pseudo-conjunction operation if t (0, 0) = t (0, 1) = t (1, 0) = 0. definition 14. let s be a mapping s : [0, 1] × [0, 1] → [0, 1]. s is a pseudo-disjunction operation if s(0, 1) = s(1, 0) = s(1, 1) = 1. theorem 15. assume that t and s are non-decreasing pseudo-conjunctions and pseudo-disjunctions, respectively. then there exist the absorbing elements 0 and 1 such as t (x, 0) = t (0, x) = 0 and s (x, 1) = s (1, x) = 1. 3.1 entropy-based conjunction and disjunction operators the question of how fuzzy is a fuzzy set has been one of the issues associated with the development of the fuzzy set theory. in accordance with a current terminological trend in the literature, measure of uncertainty is being referred as measure of fuzziness, or fuzzy entropy [16]. throughout this part the following notations will be used; x is the universal set, f(x ) is the class of all fuzzy subsets of x , ℜ+ is the set of non negative real numbers, ā is the fuzzy complement of a ∈f(x ) and |a| is the cardinality of a. definition 16. let x be a universal set and a is a fuzzy subset of x with membership function µa. the fuzzy entropy is a mapping e: f(x ) → ℜ+ which satisfies the following axioms: ae 1 e (a) = 0 if a is a crisp set. ae 2 if a ≺ b then e (a) ≤ e (b); where a ≺ b means that a is sharper than b. ae 3 e (a) assumes its maximum value if and only if a is maximally fuzzy. ae 4 e (a) = e ( ā ) , ∀a ∈ x . let ep be equilibrium of the fuzzy complement c and specify ae 2 and ae 3 as follows: aes 2 a is sharper than b in the following sense: µa (x) ≤ µb (x) for µb (x) ≤ ep and µa (x) ≥ µb (x) for µb (x) ≥ ep, for all x ∈ x . aes 3 a is defined maximally fuzzy when µa (x) = ep ∀x ∈ x . let a be a fuzzy subset of x and define the following function fa : x → [0,1] by fa : x 7→ { µa(x) if µa (x) ≤ ep c (µa (x)) if µa (x) > ep (8) denote φa the fuzzy set generated by fa as its membership function. theorem 17. the g (|φa|) is an entropy, where g:ℜ → ℜ is a monotonically increasing real function and g (0) = 0. definition 18. let a be a fuzzy subset of x . fa is said to be an elementary fuzzy entropy function if the cardinality of the fuzzy set φa = {(x, fa (x))|x ∈ x , fa (x) ∈ [0, 1]} is an entropy of a. it is obvious that fa is an elementary entropy function. now we introduce some operations based on entropy. for more details we refer to [1]. definition 19. let a and b be two fuzzy subsets of the universe of discourse x and denote ϕa and ϕb their elementary entropy functions, respectively. the minimum entropy conjunction operations is defined as i∗ϕ = i ∗ ϕ (a, b) ={( x, µi∗ϕ (x) ) |x ∈ x , µi∗ϕ (x) ∈ [0, 1] } , where µi∗ϕ : x 7→    µa (x) , if ϕa (x) < ϕb (x) µb (x) , if ϕb (x) < ϕa (x) min (µa (x) , µb (x)) , if ϕa (x) = ϕb (x) . (9) definition 20. let a and bbe two fuzzy subsets of the universe of discourse x and denote ϕa and ϕb their elementary entropy functions, respectively. the maximum entropy disjunction operation is defined as u∗ϕ = u ∗ ϕ (a, b) ={( x, µu∗ϕ (x) ) |x ∈ x , µu∗ϕ (x) ∈ [0, 1] } , where information aggregation in intelligent systems using generalized operators 53 figure 1: entropy based conjunction operator (left) and entropy based disjunction operator (right) figure 2: the construction of i∗ϕ (left) and the construction of u ∗ ϕ (right). µu∗ϕ :x 7→    µa (x) , if ϕa (x) > ϕb (x) µb (x) , if ϕb (x) > ϕa (x) max (µa (x) , µb (x)) , if ϕa (x) = ϕb (x) . (10) the geometrical representation of the minimum fuzziness conjunction and the maximum fuzziness disjunction operators can be seen in fig. 1. several important properties of these operations as well as their construction can be found in [1]. now we present only two figures about the construction. notice also that i∗ϕ is a quasi-conjunction, u ∗ ϕ is a quasi-disjunction operation, and u ∗ ϕ is a commutative semigroup operation on [0, 1] [1]. 3.2 a parametric family of quasi-conjunctions let us cite the following result, which is the base of the forthcoming parametric construction, from [1]. theorem 21. suppose t1, t2 are quasi-conjunctions, s1 and s2 are pseudo disjunctions and h, g1, g2 : [0,1] → [0,1] are non-decreasing functions such that g1 (1) = g2 (1) = 1. then the following functions t (x, y) = t2 (t1 (x, y) , s1 (g1 (x) , g2 (y))) (11) t (x, y) = t2 (t1 (x, y) , g1s1 (x, y)) (12) t (x, y) = t2 (t1 (x, y) , s2 (h (x) , s1 (x, y))) (13) are quasi-conjunctions. 54 imre j. rudas, jános fodor by the use of this theorem the simplest parametric quasi-conjunction operations can be obtained as follows: t (x, y) = xpyq, (14) t (x, y) = min (xp, yq) , (15) t (x, y) = (xy)p (x + y−xy)q (16) where p, q ≥ 0. 4 distance-based operations let e be an arbitrary element of the closed unit interval [0, 1] and denote by d (x, y) the distance of two elements x and yof [0, 1]. the idea of definitions of distance-based operators is generated from the reformulation of the definition of the min and max operators as follows min(x, y) = { x, if d (x, 0) ≤ d (y, 0) y, if d (x, 0) > d (y, 0) , max(x, y) = { x, if d (x, 0) ≥ d (y, 0) y, if d (x, 0) < d (y, 0) based on this observation the following definitions can be introduced, see [1]. definition 22. the maximum distance minimum operator with respect to e ∈ [0, 1] is defined as min max e (x, y) =    x, if d (x, e) > d (y, e) y, if d (x, e) < d (y, e) min (x, y) , if d (x, e) = d (y, e) . (17) definition 23. the maximum distance maximum operator with respect to e ∈ [0, 1] is defined as max max e (x, y) =    x, if d (x, e) > d (y, e) y, if d (x, e) < d (y, e) max (x, y) , if d (x, e) = d (y, e) . (18) definition 24. the minimum distance minimum operator with respect to e ∈ [0, 1] is defined as min min e (x, y) =    x, if d (x, e) < d (y, e) y, if d (x, e) > d (y, e) min (x, y) , if d (x, e) = d (y, e) . (19) definition 25. the minimum distance maximum operator with respect to e ∈ [0, 1] is defined as max min e (x, y) =    x, if d (x, e) < d (y, e) y, if d (x, e) > d (y, e) max (x, y) , if d (x, e) = d (y, e) . (20) 4.1 the structure of distance-based operators it can be proved by simple computation that if the distance of x and yis defined as d (x, y) = |x−y| then the distance-based operators can be expressed by means of the min and max operators as follows. min max e =    max (x, y) , if y > 2e−x min (x, y) , if y < 2e−x min (x, y) , if y = 2e−x , min min e =    min (x, y) , if y > 2e−x max (x, y) , if y < 2e−x min (x, y) , if y = 2e−x (21) max max e =    max (x, y) , if y > 2e−x min (x, y) , if y < 2e−x max (x, y) , if y = 2e−x , max min e =    min (x, y) , if y > 2e−x max (x, y) , if y < 2e−x max (x, y) , if y = 2e−x (22) the structures of the maxmine and the min min e operators are illustrated in fig. 3. information aggregation in intelligent systems using generalized operators 55 figure 3: maximum distance minimum operator (left) and minimum distance minimum operator (right). 5 summary and conclusions in this paper we summarized some of our contributions to the theory of non-conventional aggregation operators. further details and another classes of aggregation operators can be found in [1]. references [1] i. batyrshin, o. kaynak, and i. rudas, fuzzy modeling based on generalized conjunction operations, ieee transactions on fuzzy systems, vol. 10, no. 5 (2002), pp. 678–683. [2] b. buchanan and e. shortliffe, rule-based expert systems, the mycin experiments of the stanford heuristic programming project, addison-wesley, reading, ma, 1984. [3] t. calvo, b. de baets and j. fodor, the functional equations of frank and alsina for uninorms and nullnorms, fuzzy sets and systems 120 (2001) 385–394. [4] e. czogala and j. drewniak, associative monotonic operations in fuzzy set theory, fuzzy sets and systems 12 (1984), 249–269. [5] b. de baets and j. fodor, van melle’s combining function in mycin is a representable uninorm: an alternative proof. fuzzy sets and systems 104 (1999) 133-136. [6] b. de baets and j. fodor, residual operators of uninorms, soft computing 3 (1999), 89–100. [7] j. dombi, basic concepts for the theory of evaluation: the aggregative operator, european j. oper. res. 10 (1982), 282–293. [8] j.c. fodor, a new look at fuzzy connectives, fuzzy sets and systems 57 (1993) 141–148. [9] j.c. fodor and m. roubens, fuzzy preference modelling and multicriteria decision support, (kluwer, dordrecht, 1994). [10] j. fodor, an extension of fung–fu’s theorem, internat. j. uncertain. fuzziness knowledge-based systems 4 (1996), 235–243. [11] j. fodor, r. yager and a. rybalov, structure of uninorms, internat. j. uncertain. fuzziness knowledge-based systems 5 (1997) 411–427. [12] j. fodor and t. calvo, aggregation functions defined by t-norms and t-conorms, aggregation and fusion of imperfect information (b. bouchon-meunier, ed.), physica-verlag, 1998, pp. 36–48. [13] l. fung and k. fu, an axiomatic approach to rational decision-making in a fuzzy environment, fuzzy sets and their applications to cognitive and decision processes (k. tanaka, l. zadeh, k. fu and m. shimura, eds.), academic press, new york, san francisco, london, 1975, pp. 227–256. 56 imre j. rudas, jános fodor [14] p. hájek, t. havránek and r. jiroušek, uncertain information processing in expert systems (crc press, 1992). [15] e.-p. klement, r. mesiar and e. pap, on the relationship of associative compensatory operators to triangular norms and conorms, internat. j. uncertain. fuzziness knowledge-based systems 4 (1996), 129–144. [16] j.g. klir and t.a. folger, fuzzy sets, uncertainty, and information (prentice-hall international editions, usa, 1988). [17] g. mayor and e. trillas, on the representation of some aggregation functions, proc. internat. symposium on multiple-valued logic, 1986, pp. 110–114. [18] a. tsadiras and k. margaritis, the mycin certainty factor handling function as uninorm operator and its use as a threshold function in artificial neurons, fuzzy sets and systems 93 (1998), 263–274. [19] r. yager and a. rybalov, uninorm aggregation operators, fuzzy sets and systems 80 (1996) 111–120. imre j. rudas, jános fodor budapest tech institute of intelligent engineering systems address: bécsi út 96/b, h-1034 budapest, hungary e-mail: {rudas,fodor}@bmf.hu the research has been supported in part by otka t046762. editor’s note about the authors: imre j. rudas graduated from bánki donát polytechnic, budapest in 1971, received the master degree in mathematics from the eötvös loránd university, budapest, the ph.d. in robotics from the hungarian academy of sciences in 1987, while the doctor of science degree from the hungarian academy of sciences. he received his first doctor honoris causa degree from the technical university of kosice, slovakia and his second honorary doctorate from university polytechnica timisoara, romania. he is active as a full university professor and head of department of intelligent engineering systems. he serves as the rector of budapest tech from august 1, 2003 for a period of four years. he is a fellow of ieee, administrative committee member of ieee industrial electronics society, chairman of the hungarian chapters of ieee computational intelligence and ieee systems, man and cybernetics societies. he is also a registered expert of the united nations industrial development organization and the eu. he is the president of the hungarian fuzzy association and steering committee member of the hungarian robotics association and the john von neumann computer society. he is member of the editorial boards of several leading international scientific journals and founder of the ieee international conference series on intelligent engineering systems and ieee international conference on computational cybernetics, and some regional symposia. his present areas of research activity are: robotics with special emphasis on robot control, soft computing, computed aided process planning, fuzzy control and fuzzy sets. he has published one book, more than 300 papers in various journals and international conference proceedings. information aggregation in intelligent systems using generalized operators 57 jános fodor obtained his master degree in mathematics in 1981, his university doctorate in 1984. in 2000 he habilitated at the roland eötvös university, budapest, hungary. he defended his csc and dsc degrees in 1991 and 2004, respectively, at the hungarian academy of sciences. in 1997 he won the "széchenyi professorship" in the first phase of this award. at the beginning of his researcher’s activity he was involved in the stochastic problems of operations research, later on in the field of fuzzy logics, preference modeling, decision making, computational intelligence, intelligent control, and mathematical foundations of the management of uncertainties. he is author of two monographs (issued by kluwer and springer), and about 200 other scientific publications. he served as the editor of two scientific books, and serves as the editor of various journal issues. his works obtained more than 700 independent citations. he is member of the editorial boards of various leading international scientific journals. jános fodor is the co-chairman of the hungarian fuzzy association, and the eurofuse euro working group on fuzzy sets. he is member of the operation research committee of the hungarian academy of sciences, and the jury of electronics and electrical sciences of the hungarian research fund (otka). he regularly leads various research projects supported by diverse funds and resources. many times he served as invited professor in various universities in italy, spain, belgium, and france. international journal of computers, communications & control vol. i (2006), no. 3, pp. 71-83 multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop fatma tangour, ihsen saad abstract: this paper deals with the multiobjective optimization problem of an agroalimentary production workshop. three criteria are considered in addition to this initial cost of production: the cost of the out-of-date products, the cost of the distribution discount and the makespan, and a new coding is proposed for this type of workshop. the adopted approach consists in generating optimal solutions diversified in the search space of solutions, and to help the decision maker when it cannot give a particular preference to one of the objective functions to make the good decision with respect to the quoted criteria. keywords: agro-alimentary workshop, scheduling problems, genetic algorithms, pareto-optimality, multiobjective optimization, production cost, makespan. 1 introduction multi-objective optimization aims to optimize several components of an objective functions vector. contrary to mono-objective, the multi-objective problem usually does not have a solution optimizing the whole concerned criteria, but a set of solutions, known as the set of the pareto-optimal solutions. any solution of this unit is optimal in the sense that no improvement can be made on a component without degradation of at least another component of the vector [15]. given that a solution chosen by a decision maker can not be acceptable by another, it proves to be useful to envisage several alternatives to the choice of a pareto optimal solution [18]. in this article, the scheduling problems in the agro-alimentary production workshops are dealt [6]. the principal objective is to search a realizable scheduling minimizing the makespan, the cost of the out-of-date products and the cost of the distribution discount. the transformation methods of the multi-objective problems into mono-objective problems are applied [2]. this article is organized as follows. the one machine scheduling problem is formulated in section 2; the resolution approach suggested with this problem is described in section 3. the effectiveness of this approach is tested for some examples in section 4. 2 problem formulation the problem is to build a multi-objective one machine scheduling problem adapted to agro-alimentary industries. among the constraints and the criteria specific to agro-food industry, the out-of-date of the products and the discount of distribution can be distinguished. the objective is then to select among the cases of realisable scheduling the one which presents the best reducing compromise between the various criteria [7]. the goal of this study is, then, to minimise these criteria such as: • c1 : the cost of the out-of-date products, • c2 : the cost of the distribution discount, • c3 : the makespan. copyright c© 2006 by ccc publications 72 fatma tangour, ihsen saad the basic production cost on the one machine problem is supposed independent from the scheduling. the data of the considered case are as follows: we have a set n of operations, each operation is characterised by its earliest starting time, its effective starting time, its processing time and its effective completion time. notations : ti : effective starting time of operation oi, ri : earliest starting time of the operation oi, γi : effective completion time of the operation oi, pi : processing time of the operation oi, pi : finished product of the operation oi, cik : k th component of the components set of the operation oi, vik : validity limit date of the component cik, cpi : completion time of product pi, dlivpi : delivery date of the product pi, dvpi : lifespan of the product pi, drpi : return delay of the product pi, previk : cost price of the component of the cik product pi, pvenpi : unit selling price of the product pi cstkpi : cost of storage per unit of time of a unit of the product pi. 2.1 criteria formulations three criteria are considered. the two first constitute criteria specific to the agro-alimentary production workshops [16]. the last criterion is traditional and used for the optimization of the scheduling problems of a traditional production workshop. the considered objectives relate to minimization: • c1: the cost of the out-of-date products c1 = ∑ i ∑ k previk ( max (0,ti −vik) (ti −vik) ) (1) • c2: the cost of the distribution discount c2 = ∑ i max ( 0, dlivpi −cpi ) × ( pvenpi dvpi −drpi + cstkpi ) (2) • c3: the makespan c3 = ∑ i (ti + pi) (3) 2.2 lower bound formulations proposition 1. ci ≥ 0, ∀i ∈ {1, 2} and cbi = 0; where cbi represents the lower bound of the criteria ci. proposition 2. the lower bound of the makespan, cb3 is defined as follows: cb3 = ∑ i min (ri + pi) (4) multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop73 proof. when: c3 = max 1≤i≤n γi, ti ≥ ri and then cb3 = min  ∑ i (ti + pi)   (5) cb3 = ∑ i min (ri + pi) (6) 3 genetic algorithms application for the scheduling problems 3.1 principle various approaches have been proposed to solve scheduling optimization problems, among them the genetic algorithms (gas) approach can be distinguish. this approach was largely adopted these last years [11], [14]. the use of gas in many fields proved reliable in particular in combinatorial problems such as the scheduling problems [3], [4], [12]. other hybrid algorithms have also been proposed [1] [8].the main difficulty in the resolution of these problems types results in their algorithmic representation form, which constitutes the most significant point in genetic search. several representation approaches and various standard ags operators were proposed, to solve these problems. among them, the representation based on the priority rules [5]. the principle of a simple genetic algorithm is as follows, figure 1. 3.2 proposed genetic algorithm coding proposed coding in the application case is: ordered operations coding lists “oocl”, table 1. inspired from the clo (operation list coding) coding [9] and the cpm (parallel machines coding) coding [10], it consists in proposing ordered lists for the products line. the proposed coding defined the ordered, the starting time and the completion time of the operations. these dates are calculated and updated by the “dates calculation algorithm”, table 2. table 1: oocl coding 1 2 3 4 o2,t2, γ2 o1,t1, γ1 o4,t4, γ4 . . . . table 2: dates calculation algorithm ti : effective starting time of operation oi, ti = max (ri, γ j) γi : completion time of the operationoi, γi = max (ri, γ j) + pi where γ j represents the completion time of the operation o j that preceded oi the operators used for this coding are: mutation, crossover at a point and crossover at two points. the mutation operator chooses two points of the same individual (list), to generate another individual, table 74 fatma tangour, ihsen saad mutation population generation i probability pm selection evaluation crossover p2 p1 p e1 e2 e probability pc population generation i+1 figure 1: genetic algorithm principle multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop75 3. the crossover at a point operator chooses, two individuals’ parents to generate two other individuals’ children starting from only one point, table 4. and the two points crossover operator chooses, two individuals to generate two other individuals starting from two points, table 5. table 3: mutation algorithm beginning 1. choose two positions i and j of the same individual, for each position correspond an operation oi and o j, 2. permute between the operations oi and o j to obtain the child, 3. update the child, 4. calculate c1 ,c2 ,c3 of the new individual according to the “dates calculation algorithm”, end 3.3 multi-objective evaluation approach generally, the considered criteria present nonlinear and complexes relations and do not have the same importance from the point of view of decision maker. thus, much of considerations can be retained to take account of all these difficulties. with this intention, a fuzzy method evaluation is proposed. this method is based on the steps which follow [13]: for each objective function a lower bound is calculated as follow: ci(x) ≥ cbi ∀x ∈ s, 1 ≤ i ≤ nc (7) where s represents the space of realisable solutions and nc the number of objective functions. the fuzzification is applied by the functions described, figure 2. 1 µ c + εc b m ii i i b h c i i figure 2: fuzzy application in the resolution of the scale problem for each realizable solution x, a vector c(x) is associated, c(x) ∈ [ cb1 , +∞ ] × ... × [ cbnc , +∞ ] , then c(x) = (c1(x), ..., cnc (x)) t ; for each vector c(x), a fuzzification of their components is proposed and 76 fatma tangour, ihsen saad table 4: crossover i algorithm beginning 1. choose two individuals p1 and p2, and a crossover point 2. go to all the operations while i < n do • if j < i then – copy the operations of the p1 in the child1 – copy the operations of the p2 in the child2 • else copy from p2 (respectively p1) with the same position, the missing operations in the child1(respectively child2) • end if end while 3. finish the construction of the child1 (respectively of the child2) with the missing operations (by respecting the order) 4. update the child1 and the child2 5. calculate c1, c2, c3 of the two new individuals according to the “dates calculation algorithm” end multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop77 table 5: crossover ii algorithm beginning 1. choose two individuals p1 and p2 and two crossover points i and k 2. go to all the operations while i < n do • copy the operations of the p1, which precede the first crossover point and which follows the second crossover point, in the child1 • copy the operations of the p2, which precede the first crossover point and which follows the second crossover point , in the child2 • copy, with the same position, the missing operations of the p2 in the child1 • copy, with the same position, the missing operations of the p1 in the child2 end while 3. finish the construction of the child1 (respectively of the child2) with the missing operations (by respecting the order) 4. update the child1 and the child2 5. calculate c1, c2, c3 of the two new individuals according to the “dates calculation algorithm” end 78 fatma tangour, ihsen saad considered as two sub-sets bi and mi, figure 2. if ci(x) ∈ [ cbi , c h i + ε ] then µ bi (ci(x)) = chi −ci(x) + ε chi −cbi + ε , else µ bi (ci(x)) = 0 (8) when chi represents the maximum value of the solution given by a considered heuristics according to the ith objective function. µ bi (ci(x)) is considered as the fuzzy measurement of ci(x) in the sub-set b i. then, the quality of each solution is characterized by the vector cb(x) where all the components are homogeneous since they belong to the same interval and are all without dimension. cb(x) = (a1, ..., anc ) t ai = µ bi (ci(x)), ∀i = 1, 2, ..., nc (9) for the multi-objective evaluation, the objective function cg(x) is reduced to the minimization of the balanced sum of the criteria relating to the use of the aggregation operator owa [17]. cg(x) = nc ∑ i=1 wiai (10) a set of pareto-optimal solutions is built without according privilege to a particular search direction, to help the decision maker when it cannot clearly give a particular preference to an objective function. this approach is based on an algorithm in which, the objective function cg(.), defined at the relation (10), is used for the evaluation of solutions. weightings wi (1 ≤ i ≤ nc) are calculated by using a fuzzy rule. the idea is to measure the average quality of the solutions according to each criterion for each iteration and to calculate the various weights according to the degree of this quality. the goal is to study the profits and the possible improvements of the solutions by giving the priority to the optimization of the objective functions whose average values is far from the lower bound. this approach is called aggregative approach with dynamic search direction. let c̄ k i be the solutions average of the ith objective function found at kth iteration. c̄ k i = ∑ x∈pk cki (x) card(pk) (11) where pk represents the solutions population at this iteration. b i 1 ic µ c +i ε k c i b p l i ' k 0 figure 3: criteria membership function for each vector c(x), a fuzzification is applied to its components ci(x) according to their positions in the interval [ cbi , c̄ 0 i +ε ′ ] ; where ε′ is a little positive value introduced to avoid the division by zero, if c̄ 0 i = c b i then ε ′ = 0.1cbi , else ε ′ = 0. multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop79 the evaluation of the solutions quality is done by using the membership functions defined in figure 3, relating to the two fuzzy subsets, “p" and “l" of the lower bound. the membership functions can thus be formulated as follows: if c̄ k i ∈ [ cbi , c̄ 0 i +ε ′ ] then µ lik ( c̄ k i ) = c̄ k i −cbi c̄ 0 i −cbi + ε′ else µ lik ( c̄ k i ) = 1 (12) the calculation of various weightings is carried out by using the two following fuzzy rules: • if (cki is “p” fromcbi ) then (wk+1i decrease) • if (cki is “l” fromcbi ) then (wk+1i increase) which lead to the following expression: wki = µ lik ( c k i ) nc ∑ j=1 µ ljk ( c k j ) , ∀i ∀k (13) where 1 ≤ i ≤ nc and 2 ≤ k ≤ q, with q the total number of iterations and “l” the index relating to the fuzzy subset. w1i corresponds at the first iteration defined as follow: w1i = 1 nc , ∀i = 1, ..., nc (14) the various weighting vectors (w 1,w 2, ...,w q) are gradually calculated from the kth generation pk at the generation pk+1, according to the distance between the lower bounds and the average of the k th generation individuals, represented by a black circle in the figure 4. the objective is to improve of the solutions by giving the priority to the objective functions optimization whose average of the values is far from the lower bound. indeed, by using a fuzzy rule, it is possible to control the search direction in order to build a final set with solutions approaching as much as possible the optimal values. this method, can be used when the decision maker cannot give a particular preference to an objective function, it also makes it possible to generate weights of the different criteria from an iteration to another in a dynamic way according to the average of the solutions. 4 simulation to illustrate the effectiveness and performance of the proposed approach, six representative examples based on practical data have been selected to compute. these examples deal with 5 to 10 operations. the proposed approach is applied to them to optimize three criteria, represented in eqs. (1-3). for example, the data relating to the example which treats 10 operations and which treats 5 operations is represented respectively in table 6 and table 7. by application of the proposed approach, the following experimental results are obtained, table 8. the different results show that the solutions obtained are generally acceptable and satisfactory. the values of the different objective functions show the efficiency of the suggested approach, table 8. moreover, the proposed method enables us to obtain good results in a polynomial computation time. in fact, the various values of the criteria given by the multiobjective optimization method by paretooptimality show its effectiveness, table 8. the values of the criteria for the pareto border are in the neighbourhood of to the lower bounds. indeed, such an approach makes it possible to generate paretooptimal solutions of good quality. 80 fatma tangour, ihsen saad c b 1 2 c b c 1 2 c solutions for various populations lower bound barycentre for the population p 1 p p k q w w 1 k+1 p k figure 4: search direction table 6: data relating to 10 operations o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 rk 0 1 2 3 4 1 3 2 1 3 pk 1 2 4 2 1 2 1 3 2 4 vi1 13 14 13 13 12 7 7 13 9 9 vi2 15 14 5 14 13 15 15 16 15 15 vi3 12 13 12 11 14 14 12 14 14 previ1 2 3 4 3 2 1 1 2 2 2 previ2 1 2 2 4 3 2 2 1 4 1 previ3 4 3 2 2 1 3 2 3 3 dvpk 35 32 35 33 35 36 31 34 36 31 drpk 14 10 9 11 8 12 7 9 11 10 dlivpk 21 22 25 22 21 20 21 24 26 22 cstkpk 3 2 2 5 2 3 4 3 1 2 pvenpk 4 6 6 8 7 5 6 8 3 5 multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop81 table 7: data relating to 5 operations o1 o2 o3 o4 o5 rk 2 3 1 4 3 pk 1 2 4 2 3 vi1 3 3 4 6 5 vi2 4 1 2 4 3 vi3 2 3 4 previ1 1 2 1 2 4 previ2 3 1 2 4 2 previ3 4 3 1 dvpk 14 16 10 11 14 drpk 5 6 4 7 5 dlivpk 10 13 14 16 12 cstkpk 1 2 3 4 5 pvenpk 8 3 8 5 4 table 8: experimental results n scheduling c1 c2 c3 cg (.) 10 o1o3o5o9o4o2o7o6o8o10 14 4 24 0,915 9 o1o2o3o4o5o7o6o8o9 9 4 20 0,95 8 o1o7o5o2o3o8o4o6 14 1 18 0,963 7 o1o3o6o7o4o2o5 12 9 17 0,752 6 o1o4o3o5o2o6 4 10 14 0,977 5 o1o4o5o3o2 12 10 14 0,53 82 fatma tangour, ihsen saad 5 conclusion a new approach based on the hybridization with the pareto-optimality for solving multiobjective problems in agro-alimentary workshop, is presented. the approach developed in this work provides the possibility to determine an optimal scheduling among several realizable ones; this optimal solution generates the minimization of objective function (10). besides, the proposed approach uses pareto to estimate and to classify obtained decisions. indeed, we can avoid the preemption of certain components, the cost of the out-of-date products, the cost of the distribution discount and the completion time(makespan). the proposed hybrid approach presented in this paper can be considered as effective mechanisms from the computation complexity. references [1] s. cavalieri, p. gaiardelli, hybrid genetic algorithms for a multiple-objective scheduling problem, journal of intelligent manufacturing, vol.9, pp.361-367, 1998. [2] y. collette, p. siarry, optimisation multiobjectif, editions eyrolles, paris, 2002. [3] l. davis, job shop scheduling with genetic algorithm, proceedings of the first international conference on genetic algorithms, lawrence erlbaum associates, pp.136-140, 1985. [4] f. della croce, r. tadei, g. volta, a genetic algorithm for the job shop problem, computer and operations research, vol. 22, no 1, pp. 15-24, 1995. [5] u. dorndorf, e. pesch, evolution based learning in a job shop environment, computers and operations research, vol. 22, pp.25-40, 1995. [6] e. gargouri, s. hammadi, a distributed scheduling for agro-food manufacturing problems, ieee transactions on systems, man, and cybernetics, part c: applications and reviews, vol. 33, no 2, 2003. [7] e. gargouri, s. hammadi, p.borne, new constraints of agro-food industry scheduling problem, acte de ifdicon’2001, europeen workshop on intelligent forecasting, diagnostic and control, 24-28 juin, pp. 73-80, santorin, 2001. [8] a. k. jain, h. a. el maraghy, single process plan scheduling with genetic algorithm, production planning and control, vol.8, no 4, pp.363-376, 1997. [9] i. kacem, s. hammadi, p. borne, pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic, math. and computers in sim., 60, pp. 245-276, 2002. [10] k. mesghouni, application des algorithmes évolutionnistes dans les problèmes d’optimisation en ordonnancement de la production , phd thesis, université des sciences et technologiques de lille, lille, 1999. [11] m. mori, c. tseng, genetic algorithms for multimode resource constrained project scheduling problem, european journal of operational research, vol.100, no 1, pp.134-141, 1997. [12] r. nakano, t. yamada, conventional genetic algorithm for job shop problems, proceedings of the 4th international conference on genetic algorithms, university of california, pp. 474 -479, 1991. multiobjective optimization scheduling problems by pareto-optimality in agro-alimentary workshop83 [13] i. saad, m. benrejeb, optimisation multicritère par pareto-optimale des problèmes d’ordonnancement en tenant compte du coût de production, revue sciences et technologies de l’automatique, e-sta, vol. 3, no. 1, 2006. [14] m. sakawa, genetic algorithms and fuzzy multiobjective optimization, dordrecht: kluwer academic. [15] e. g. talbi, métaheuristiques pour l’optimisation combinatoire multiobjectif, tutorial, journées evolutionnaires trimestrielles, paris, 1999. [16] f. tangour, s. hammadi, p. borne, m. benrejeb, ordonnancement dynamique dans un atelier de production agroalimentaire, séminaire d’automatique-industrie, sai’06, matmata, 2006. [17] r. r. yager, on weighted median aggregation operators in multicriteria decision making, ieee trans. on systems, man and cybernetics, 18, pp. 183-190, 1988. [18] e. zitzler, l. thiele, multi-objective evolutionary algorithms: a comparative case study and the strength pareto approach. ieee transactions on evolutionary computation, vol.3, no 4, pp. 257-271, november, 1999. fatma tangour1,2, ihsen saad1,2 1ecole nationale d’ingénieurs de tunis unité de recherche lara-automatique bp 37, le belvédère, 1002 tunis, tunisie 2ecole centrale de lille, cité scientifique laboratoire d’automatique, genie informatique et signal bp 48, 59651 villeneuve d’ascq cedex, france e-mail: {fatma.tangour, ihsen.saad}@enit.rnu.tn editor’s note about the authors: fatma tangour was born in 1969 in nabeul, tunisia. she graduated from “ecole normale superieure de l’enseignement technique” and obtain the master of automatic and signal treatment in 2004 at the “ecole nationale d’ingénieur de tunis”. she is currently preparing the ph.d. degree in automatic and computer science within the framework of lagis-ec-lille and lara-enit cooperation. her research interests are in the area of optimization methods for discrete events systems, computer science and operational research. ihsen saad was born in monastir, tunisia, in 1977. he received the engineer diploma degree in electrical automatic control engineering from the “ecole nationale d’ingénieur de gabès”, tunisia, in 2002. he obtain the master of automatic and signal treatment in 2004 at the “ecole nationale d’ingénieur de tunis”. he is currently preparing the ph.d. degree in automatic and computer science within the framework of lagis-ec-lille and lara-enit cooperation. his research is related to the evolutionary optimization methods for discrete events systems, computer science and operational research. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. vi (2011), no. 1 (march), pp. 166-174 human intervention and interface design in automation systems p. ponsa, r. vilanova, b. amante pere ponsa (corresponding author) automatic control department technical university of catalonia epsevg, av. víctor balaguer, 08800 vilanova i la geltrú, barcelona, spain e-mail: pedro.ponsa@upc.edu ramón vilanova department de telecomunicació i enginyeria de sistemes universitat autònoma de barcelona 08193, bellaterra, spain e-mail: ramon.vilanova@uab.cat beatriz amante project department technical university of catalonia etseiat edifici tr5, c. colom 11, 08222, barcelona, spain e-mail: beatriz.amante@upc.edu abstract: human-machine-interfaces are with no doubt one of the constitutive parts of an automation system. however, it is not till recently that they have received appropriate attention. it is because of a major concern about aspects related to maintenance, safety, achieve operator awareness, etc has been gained. even there are in the market software solutions that allow for the design of efficient and complex interaction systems, it is not widespread the use of a rational design of the overall interface system, especially for large scale systems where the monitoring and supervision systems may include hundreds of interfacing screens. it is on this respect hat this communication provides an example of such development also by showing how to include the automation level operational modes into the interfacing system. another important aspect is how the human operator can enter the control loop in different ways, and such interaction needs to be considered as an integral part of the automation procedure as well as the communication of the automation device.in this paper the application of design and operational modes guidelines in automation are presented inside an educational flexible manufacturing system case study. keywords: human-automation interaction, process control, display design. 1 introduction automation can refer to open-loop operation on the environment or closed-loop control. and the human intervention adopts diverse possibilities: human in the loop (human intervention), human out of the loop (controller intervention) and human on the loop (supervisory control mode over the controlled process). the basic automation replaces the human manual control by an automatic controller; however in highly automated systems is necessary human beings for supervision, adjustment, maintenance, expansion and improvement. automation increases complexity. it is difficult to maintain operational skills in a automated environment with the copyright c⃝ 2006-2011 by ccc publications human intervention and interface design in automation systems 167 presence of an abnormal situation when the operator is required to intervene. the complexity of industrial human process supervision makes it necessary to supplement the human-computer interaction approach with a cross-disciplinary cooperation in order to integrate knowledge and methods from other fields, especially automation and artificial intelligence [1]. our view is that complete control systems engineering must encompass all these approaches. this increasing complexity of production systems has also translated to the automation level. the need to face for larger amounts of information and the capability to interact with other subsystems of the production chain requires of the application of appropriate modelling methodologies. on that respect it is worth to mention that, on the academic side, the authors have developed different tools to tackle such problems. what is proposed in this paper, and presented by its application to a laboratory scale flexible manufacturing system (fms), is a complete integrated approach for the design of the hmi (human machine interface) system. the development follows a top-down approach where the different screens that constitute the overall system are conceived and particular methods are used to ensure, within each one of the designed interfaces, appropriate ergonomic usage. one of the most interesting points is the introduction, at the automation level, of considerations related to the different start and stop modes of the process units. the inclusion of such considerations at hmi level will help in achieving a more solid and helpful interaction system on its relation with the safety and maintenance operations. the structure of the paper is as follows. the second section is a brief introduction about the computer architecture, the plant layout in the flexible manufacturing system and brief comments about human-systems interaction. in the next section, the translation from the physical layout to the global design of the hmi is proposed: the human can use the hmi inside a control room or near the machine/process. section four shows explain the relationship between automatic control and human intervention in manual mode. the paper ends by drawing some concluding remarks. 2 human role in the flexible manufacturing system the application of the proposed integrated approach for hmi design is peformed within a concrete educational frame whose base focuses on two subjects from the automatics and electronics engineering degree program: modelling and simulating systems and integrated production systems, at the technical university of catalonia upc, spain, and automatic control and industrial informatics at the "universitat autňnoma de barcelona" uab, spain. the subjects from the technical engineering program make a special point on technical topics of programmable logic controllers (plc) and industrial handler robots. in the remaining subjects of the engineering program, petri net modelling, simulation by means of the arenaš discrete-even simulation software [2], physical distribution of flexible manufacturing systems and production system modelling and simulation are the main topics. here, we focus on training the students with system behaviour analysis and simulation software so that they would therefore be able to apply all these techniques in their professional life. this software allows flow shop, job shop and flexible manufacturing systems simulation [3]. practical exercises in laboratory complement the theory and, with this purpose, a laboratory scale fms has been built up, configured and being operative during the last two years which allows the comparison between simulated models and real plant performance. this paper does not describe more technical details of the role playing 168 p. ponsa, r. vilanova, b. amante methodology and the project-based learning approach, readers interested in more detail about these techniques are directed to prior work ponsa et al. [4]. another step in a foreseeable future is the integration of supervision tools (supervisory control and data acquisition;scada software), management tools (manufacturing execution systems; mes; and enterprise resource planning; erp) as well as production planning tools (planning policy analysis). in this sense it would also be advisable a new subject on automated production management within the study program which integrates mes and erp systems at the highest level of the computer integrated manufacturing cim pyramid. the figure 1 shows the physical distribution of stations in the above referred educational fms, the computers architecture and the human intervention with the fms system: at the top level (human-computer interaction and human in the supervisory task; in the bottom level (human-machine interaction and human in manual mode task). the fms is composed of electropneumatic units controlled by plc’s and pc’s. the main purpose here consists of emulating current manufacturing systems: object mechanization and supply, transfer, product assembling, quality control, checking and storage; and technologies, such as, pneumatics, robotics, plc, monitoring and production supervision come together. a total of 5 stations constitute the fms. figure 1: human intervention in the flexible manufacturing system: high level (supervisory task), low level (machine operation the cell manufactures two types of products: product 1 goes across stations 1, 2, 3 and 4 (palletization); and product 2 goes from station 4 (assembling) to 3 and comes back to station 4 (palletization). the fms system has product and process flexibility. the product 1 has 9 different variations (size, color); the product 2 has 8 different variations (size, color). the fms can produce 17 different products. from the point of view of process flexibility, the system can produce only the product 1, only the product 2 or both; in this last case station 4 performs two tasks (assembling and palletization) but only has a robot so that production planning policy is important in order to prevent an excessive workload in this station. in contrast with other educational manufacturing systems which use pallets as functional trays for the same purposes, piece transport is carried out directly on an item by item way over the conveyor system from one station to the next one,. at cell control level, we make use of different programmable logic controllers(plc’s) such as the cp2ma, cj1m models from omron; industrial communication protocols (rs-232, rs-422, pc-link, device net, ethernet), and a plc industrial network with s7-314 from siemens and communication protocols (rs-485, human intervention and interface design in automation systems 169 profibus dp). regarding programming software which enables local control level and monitoringsupervision linking we are testing products, such as in touchš software and the technological system platform from wonderware [5]. in a future, the authors want to increase the numbers of the stations and add a storage as/rs station after the station 4 [6]. 3 human machine interface design the structure of the hmi application is a distributed interface with six parts (the main application, and one application for each station) [7]. the main application has information about the behavior of the flexible manufacturing system: (type of items, petri net algorithm, and coordination between stations, maintenance, and safety). the programmable controllers of each station have device net modules and send this information to the master plc. each station has an autonomous mode of functioning or an integrated mode of functioning. in the first mode, the global design of the hmi is conformed as a set of five autonomous hmi applications. in a near future, one of the problems to solve is the connection between the hmi single applications and works all the fms in an integrated mode. the full number of screens of the hmi application for the station1 is 17 screens, while the total number for the global hmi design is of more than 100 screens. control engineering students have been working in the development of the hmi application for each station. in this sense, expert students (today are working in air traffic control) are the tutors of the novice students. through the use of project based learning and cooperative learning, the students have made focus groups in order to define a clear and a global structure for all the hmi applications. figure 2: station_i display design. example of a cyclic menu structure. from the main screen to monitoring and supervisory control screens. in order to achieve an effective hmi application some display design guidelines need to be used. here the ergonomic display design guideline called gedis has been employed [8]. the 170 p. ponsa, r. vilanova, b. amante gedis guide is a method that seeks to cover all the aspects of the interface design. from the initial point of view of strategies for effective humancomputer interaction applied to supervision tasks in an industrial control room [9]. the gedis guide offers design recommendations at the time of creating the interface as well as recommendations for improvement of already created interfaces. the gedis guide is composed of two parts: description of ten indicators and measure of ten indicators. the indicators have been defined from extracted concepts of other generic human factors guidelines and from aspects of human interface design in human-computer interaction. the method to continue for the use of the gedis guide is: analyze the indicator, measure the indicator, obtain the global evaluation index and finally offer recommendations for improvement. for the correct use of the gedis guide the collaboration between human factor technicians is necessary since in some cases the expert’s opinion is needed to analyze the indicator. this paper does not describe more details of the gedis, readers interested in more detail about this guideline are directed to prior work ponsa and díaz [10]. for each station we have developed an interface with the same template. the architecture of this interface has two parts: monitoring and supervisory control (see fig. 2). for monitoring a set of screens (graphical layout of the station, automatic control, communication with the programmable controller plc) have been defined. the aim of this design is to consider the automatic control loop and the human control. in human supervisory control a set of high level screens (start and stop modes guideline, alarm system, fault detection, diagnostic) has been defined. the aim of this design is to consider the supervisory control loop, a high level over the automatic control loop. often, the monitoring interface is associated with the activities of the human operator near the plant, or near the industrial machine (automation level). this task is related to the allocation of physical interface functions and human sensory-motor functions (choose manual or automatic control, activate or deactivate devices, use of the teach pendant of the robot, etc.). with the animating objects properties of the scada it is possible to develop a screen with the devices of the station (pneumatic actuators, motors, conveyors and sensors, etc). in this interface it is important the knowledge of the behavior of the devices. in this sense it is important the monitoring interface of station 4. it is a complex interface because it is necessary to develop an animation screen with the activities of the industrial robot (palletization or handling). another important screen within the monitoring interface is the panel screen when the human operator can select manual mode or automatic mode. this screen is the one that permits a clear interaction between the human and the automatic controller plc. on the other hand the supervisory control interface is associated with the activities of the human operator inside the industrial control room (supervisory control level). the human supervisory task is related to the allocation of interface functions and human cognitive functions (information processing, planning). respect to the interface this part develops a set of screens: historical trends, alarm screen, fault detection and diagnosis screen. it is necessary to apply a general framework to define which is the correct interface representation of a risky situation. however, each station has specific devices so a specific framework is necessary in order to define a possible anomaly of the station. human intervention and interface design in automation systems 171 4 human intervention in the automation cycle petri nets (pn) has proved to be a successful approach on a broad range of applications [11], [12], [13]. there is however one point that it is not clear how to deal with by using the pn formalism: the introduction of the human operator. effectively, in every automation problem the fully automated part is just one part of the solution. it is customary that the operator can enter the loop in different ways, for example by tuning a pid controller [14] and such interaction needs to be considered as an integral part of the automation procedure as well as the communication of the automation device usually a (plc) with the operator. a human machine interface (either as a pc display, industrial panel, etc) provides the connection between the human operator action and the input to the control algorithm inside the controller device (control based pc, control based plc). figure 3: the human operator can intervene inside the automation cycle (grafcet transition) with the use of an industrial panel. in this panel the human operator follow the functional operational modes of the gemma guide. on the other side, the industrial counterpart said that other approaches than pn are currently in use. effectively, even pn allow tackling really large and complex problems, other approaches like sequential flow charts; sfc; or state-transition graph; grafcet; can be considered the primary automation design tool found on the industry. in fact, some of the plcs allow direct programming by using grafcet [15]. therefore it seems there is a gap between both of these approaches. what we would like to point out here is that both disciplines should be combined and used. the important point with grafcet; a simpler approach if compared with pn; is that it has a close and clear connection with the design guide for start and stop modes called gemma [16]. even the gemma guide was started to be used twenty-eight years ago and it was introduced to the engineering students in several places, in our opinion we don‘t paid sufficiently attention to the gemma guide. this is the reason this section would like to focus on the advantages of using the gemma guide and using it inside the hmi application explained in the previous section. although grafcet is very useful in describing the detailed operation of a sequential control performed by a plc it does not provide a general approach for the operation of an automated machine. it is still necessary to define general operational modes and conditions. this is usually done at the specifications definition stage. in this sense, gemma is a recommended tool for this task [17]. on the other hand, it has always been difficult in terms of vocabulary to clearly, and precisely, 172 p. ponsa, r. vilanova, b. amante explain how to start with manual mode or a semi-automatic mode or an automatic mode. also what are the consequences of an emergency stop, a safety stop or a fast stop for a production machine? usually, these questions are answered by each designer in relation to his own experience and knowledge but can seldom be related to a systematical analysis, except in large companies which have been able to define design guide and standards for control and instrumentation. from the previous observations, the gemma guide is a valuable tool to introduce automation in a more general setting than only for the automation of the process production cycle. it is really important to understand the role played by the operator and how he interacts with the automated system [18]. the different operation modes need to be established and be interrelated in a clear and well defined way. for example in normal conditions the automation cycle is represented by three gemma modes: from a1 initial state stop, then f1 normal production, and a2 requested stop at the end of the cycle and finally comeback to a1. in abnormal situation the automation cycle include the management of an emergency situation: from a1 initial state stop, then f1 normal production, d1 emergency stop, a5 preparation to restart after a failure, a6 production reset to the initital state and finally a1 again. the main contribution of this section is to advance one step into an integral conception of the automation process: the design of the automation system has to include considerations on operational modes and these have to be reflected in the human interface. with this aim, fig. 4 shows the gemma graphical representation inside the hmi application. when the system is in normal state or in anomaly, the human operator can see an active mode on screen, this facilities the situation awareness. figure 4: gemma graphical representation inside the hmi application. the human operator can observe the changes from production, stop or failure procedures. when the system is in normal state or in anomaly, the human operator can see an active mode on screen, this facilities the situation awareness. in the hmi application there is a clear relationship between maintenance and safety services of the system. inside the plc an emergency grafcet has been designed with instructions in case of emergency. the maintenance recommendations are used in order to reduce the stop of the station, and the stop of the production. the translation of the gemma guide inside the plc needs the use of the grafcet representation. when a problem appears in station3, for example, the human operator can activate the emergency stop: in this moment stations 1, 2 and human intervention and interface design in automation systems 173 figure 5: when the emergency stop is activated the emergency grafcet forced the stop of the other grafcet. in the traded grafcet we have automatic control or human manual control. the production grafcet is the set of machine operations. 3 stop their production while station 4 and transport unit will still be functioning. when the human operator solves the problem, can procede to activate the reset of the system, drive the system to a safety state and begin again the production in stations 1, 2 and 3. 5 conclusions in this work we raised the need for a top-down integrated design for human automation systems, with special emphasis on the use of appropriate design and operational guidelines (gedis, gemma). different actuation levels are first identified going from the flexible manufacturing system level to the automation level at each station. while the interfacing system at the station or global level has to cover, mostly, high level monitoring actions, it is at the automation level where more complex situations may arise. at this point the authors propose to base the use of the start and stop modes guide, gemma guide, to build up a convenient representation of the operational stages of the production machines. by designing the automation level hmi along these lines its integration with the automation control system becomes almost natural. the gemma guide approach is therefore a recommended taxonomy approach for the introduction of the human operator into the automation cycle in complex academic/industrial domains. it provides a natural relationship between the design of the automation system and the operational modes that are to be considered from the industrial panel point of view. acknowledgment this work has received financial support from an internal grant of the technical university of catalonia (project: human centred design in human supervisory control, 2008) and from the spanish cicyt program under grant dpi2007.63356. bibliography [1] t. sheridan and p. parasuraman, “human automation interaction,” reviews of human factors and ergonomics, vol. 1, pp. 89–129, 2006. [2] rockwell, “arena simulation software,” in url: http://www.arenasimulation.com, 2009. 174 p. ponsa, r. vilanova, b. amante [3] h. boukef, m. benrejeb, and p. borne, “a proposed genetic algorithm coding for flow-shop scheduling problems,” international journal of computers, communications and control, no. 3, pp. 229–240, 2007. [4] p. ponsa, b. amante, j. roman, s. oliver, m.díaz, and j. vives, “higher education challenges: introduction of active methodologies in engineering curricula,” international journal of engineering education, vol. 25, no. 4, pp. 799–813, 2009. [5] wonderware, “wonderware intouch hmi,” in url: http://global.wonderware.com, 2009. [6] f. véliz and g. lefranc, “improvement and extension of virtual reality for flexible systems of manufacture,” international journal of computers, communications and control, no. 2, pp. 95–101, 2006. [7] p. ponsa, r. vilanova, and b. amante, “towards integral human-machine system conception: from automation design to usability concerns,” hsi 2009 human system interaction 2nd international conference, catania, italy, 2009. [8] p. ponsa, r. vilanova, m. díaz, and a. gomŕ, “application of a guideline for design improvement in supervisory control,” international journal on human.computer interaction, vol. 1, pp. 21–36, 2007. [9] b. schneiderman, designing the user interface. strategies for effective human.computer interaction. addison-wesley, third edition, 1997. [10] p. ponsa and m. díaz, “application of an ergonomic guideline for sugar mill control room interface design,” faim , 17th international conference on factory automation and intelligent manufacturing, philadelphia, usa, vol. 1, pp. 89–129, 2007. [11] k. kurihara, s. takigawa, n. nishiuchi, and m. kitaoka, “factory automation control software designing method based on petri nets,” international journal of production research, vol. 40, no. 15, pp. 3605–3625, 2002. [12] e. gutuleac, “descriptive time membrane petri nets for modeling of parallel computing,” international journal of computers, communications and control, no. 3, pp. 33–39, 2006. [13] f. córdova, l. canete, and l. q. f. yanine, “an intelligent supervising system for the operation of an underground mine,” international journal of computers, communications and control, no. 4, pp. 259–269, 2008. [14] r. vilanova and o. arrieta, “balanced pid tuning application to series cascade control systems,” international journal of computers, communications and control, no. 4, pp. 521– 525, 2008. [15] afcet-adepa, “le grafcet,” second edition, toulouse, opadus, 1995. [16] adepa, “le gemma. guide d’etude des modes de marches et d’arrets,” montrouge, adepa, 1981. [17] p. ponsa and r. vilanova, automatización de procesos mediante la guía gemma. edicions upc, no. 105, 2005. [18] k. li, s. thompson, p. wieringa, and j. xeng, “a study on the role on human operators in supervisory automation system and its implications,” proceedings of the 4th world intelligent control and automation, pp. 3288–3293, 2002. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 336-350 node availability for distributed systems considering processor and ram utilization for load balancing a. menendez lc, h. benitez-perez antonio menendez leonel de cervantes, hector benitez perez universidad nacional autonoma de mexico instituto de investigaciones en matematicas aplicadas y sistemas departameto de ingenieria de sistemas computacionales y automatizacion ciudad universitaria, mexico d.f. e-mail: toniomlc@gmail.com, hector@uxdea4.iimas.unam.mx abstract: node-availability is a new metric that based on processor utilization, free ram and number of processes queued at a node, compares different workload levels of the nodes participating in a distributed system. dynamic scheduling and load-balancing in distributed systems can be achieved through the node-availability metric as decision criterion, even without previously knowing the execution time of the processes, nor other information about them such as process communication requirements. this paper also presents a case study which shows that the metric is feasible to implement in conjunction with a dynamic load-balancing algorithm, obtaining an acceptable performance. keywords: node-availability, load balancing, distributed systems, highperformance. 1 introduction load-balancing is a technique often used to distribute computational load among processors or other resources in order to get a better performance (i.e. optimal resource utilization and small processing time). when performing load-balancing (lb) for a distributed system (ds) it is expected that the resources (particularly the processors) to be evenly used, therefore obtaining a general system performance increase [4]. several studies have been carried out in terms of performance [10], task allocation [8], communication media [5], dynamic networking [1], mobile performance [5] and so on. however, these strategies depend on previous measures such as execution time of a process or communication requirements, or in standard metrics (e.g. number of processes queued at a node or processor idle time percentage) where availability (i.e. the capacity of a node to process a job) is not observed. in any case the need to measure the performance(i.e. optimal resource utilization and small processing time) of a ds with similar and almost periodic processes is not directly addressed. in this paper a new metric named node-availability is introduced, it takes advantage on existing metrics such as processor and ram utilization, the number of processes queued at a node and processes communications and compose them to create the new metric. by including several existing metrics in its calculation, node-availability is a metric that provides more information of a node in its value, than solely using any of the existing metrics. it compares different workload levels at two or more nodes participating in a distributed system, providing a decision criterion to be implemented in conjunction with a common workload algorithm. dynamic scheduling and load-balancing in distributed systems is achieved through the node-availability metric, even without previously knowing the execution time of the processes, nor other information about them such as process communication requirements. the objective of this paper is to present a metric named node-availability [9], how it is constructed and how it allows a ds to execute a set of processes in a balanced manner obtaining fair utilization of the overall system. one of the advantages of using the node-availability metric resides in its ability to copyright c© 2006-2010 by ccc publications node availability for distributed systems considering processor and ram utilization for load balancing 337 perform the load-balancing of a ds without previously knowing the execution times of the processes involved, because if the processing times where known, the scheduling and execution of the processes could be done using proven algorithms [3], [6]. the rest of this document is organized as follows: the metric is described in section 2. the lb algorithm used is presented in section 3. a case study is in section 4. the conclusions and future work are in section 5. 2 node-availability the execution time of a process in a ds is a function determined by the complexity of the process, the communication strategy and by the resources available within the ds. since this execution time cannot be easily seeing when a ds implementation is performed other strategy needs to be followed. for instance, secondary measurements such as used memory for each node or communication load amongst processors and processes can be followed. the decision of which is the most suitable measure depends entirely on the implementing resources. considering that a metric is a quantitative and periodic measurement interpreted in the context of a series of previous equivalent measurements, the metric to estimate the nodes availability is presented, first from the node resources point of view (2.1), followed by the tasks load (2.2) and the communications costs (2.3). 2.1 availability one of the most used metrics in terms of distributed computing is availability, defined as the capacity of a node to process a job at a specific time, it can be obtained from several secondary measures like the time consumed by each node (processor) or by communication performance per process. a ds can be considered as a set of nodes communicating with each other trough a network, where node is defined as the autonomous processing unit, which consists of one processor and ram (random access memory). the processes that are executed in a ds generally demand to use the processor and/or memory, they are not characterized by a high input-output demand, so common measurements within nodes are the processor idle time or the percentage of free memory available. when a process demands a memory space larger than the physical ram, the operating system provides virtual memory to it, causing the total execution time of the process to be increased. the percentage of processor and memory available (figure 1) during a time sample, allows to realize what the operating system (os) behavior is, in terms of resource allocation to a process. the os tries to allocate all the (ram) memory that a process demands, it also tries to assign the processor all the possible time, to the process being executed. figure 1. shows a process execution which takes about 70 seconds, during this time, the operating system assigns the processor to it, resulting in a 0% processor availability. on the other hand, the ram demand is lower than the capacity, so the availability of it is between 60% and 100%. figure 2. shows a process demanding an amount of memory lager than the physical memory (ram) of the node, the operating system (os) assigns to the process all the available ram and then it provides virtual memory to fulfill the memory demand. as it can be seen in figure 2. the percentage of memory available during the execution of the process is 0%, while the processor availability oscillates at the beginning and towards the end of the process execution. figures 1 and 2 show the same process executed by the same node. it takes longer to be executed when it demands the use of virtual memory (approx. 10 seconds, figure 2) than when it is restricted to use ram (approx. 70 seconds, figure 1). the first step in our proposal is to determine the availability of a node in terms of its idle processor time and its free ram. the highest values for these metrics indicate the most available node and the lowest values indicate the busiest node. these to metrics are multiplied for two reasons, being the first one 338 a. menendez lc, h. benitez-perez figure 1: memory demand within limits of ram figure 2: demanding virtual memory node availability for distributed systems considering processor and ram utilization for load balancing 339 that since they are percentages the outcome of the product is also a percentage the values cannot be added because the outcome would exceed 100%. the second reason is that if the values are averaged instead of multiplied it is possible to obtain unreal outcomes, for example a node with 100% of idle processor time and 0% of available ram averages 50%, which in terms of availability should be 0%, because if any of the two resources (processor and memory) is not available no process can be processed. on the other hand, with the proposed approach the availability is real since the value in this same example is 0%. so the first step to evaluate the node availability of node (i) is calculated by: ai = αiβi (1) where: i ∈ {, , . . . , n} is the node identifier, αi is the idle processor time percentage of node i, and βi is the free ram percentage of node i. as αi and βi, are percentages, they can be multiplied to find the availability of the node, giving a value between 0 and 1. 2.2 number of processes queued at a node the availability of a node depends not only in its respective α and β values, but also on the number of processes queued, so the previous equation of (equation 1) must reflect this situation, considering that the number of processes affects the availability of a node in an exponential way. so equation 1 becomes: bi = αiβi eεi (2) where εi is the number of process queued at node i. 2.3 processes communications from the communications point of view, a process can have communications with another process in the same node that the process is being executed in, with a process that is being executed in a different node or no communications at all. the communication resources availability and the execution time is different in these three scenarios, therefore it is necessary to differentiate the processes queued in a node based on their communication requirements. so two new variables are introduced: κi is the number of processes queued at node i communicating (internally) with processes also queued in node i; and νi is the number of processes queued at node i communicating (externally) with processes queued in any node different to i. as stated previously, the execution time of a process depends (among other things) on its communication requirements, the communication time can be approximated in terms of the type of communication (i.e. internal or external) that a process performs. as each type of communication has a different time impact, two constants are defined: ρ is the internal communication time and τ is the external communication time. the equation of node-availability (equation 2) now becomes: ci = αiβi e(εi+ρ κi+τ νi) (3) from a process communication requirements point of view, all the nodes of the ds are different. a process tends to finish its execution earlier if it communicates with processes running in the same node, therefore depending mostly on the node availability; if the processes are in different nodes, they depend not only on the different nodes availability, but also on the network speed and available bandwidth. 340 a. menendez lc, h. benitez-perez 2.4 number of samples taken and periodicity our proposal is to determine the availability of a node in terms of its idle processor time, its free ram memory, the number of processes queued at the node and their communications. these measures are taken periodically and when δ samples have been read, then, the node availability is calculated obtaining an arithmetic average of the readings. so the final equation of node-availability or φ is: φi, j =  δ δ∑ j= αi, jβi, j e(εi, j +ρ κi, j +τ νi, j ) (4) where: i ∈ {, , . . . , n} is the node identifier, j ∈ {, , . . . , δ } is the sample number, αi, j is the idle processor time percentage of node i considering the jth sample, βi, j is the free ram memory percentage of node i considering the jth sample, εi, j is the number of processes queued at node i considering the jth sample, κi, j is the number of processes queued at node i with internal communications considering the jth sample, νi, j is the number of processes queued at node i with external communications considering the jth sample, ρ is the internal communication time, τ is the external communication time and δ is the number of samples taken of: αi, j, βi, j and εi, j before sending the data to the lb process. 2.5 optimization characteristics of φ in this section we show that the metric φ presents a global minimum dependent on local values. the metric φ is characterized per node where the discrete variables α, β , ε, κ and ν play the role of representing the system behavior based on the sample taken. therefore ρ and τ are the communication time factors that can be distinguish as bounded variables and they can be delimited through a local linear optimization strategy. the time values of ρ and τ help to determine some network characteristics such as the type of protocol or the required speed specifications. the first parameter to be defined is the load-balancing factor of the distributed system(ds), which is defined as: µ j = φmin, j φmax, j (5) where φmin, j is the node-availability value corresponding to the least available node and φmax, j is the value corresponding to the most available node within the ds at sample j. it can be noticed that when φmin, j and φmax, j are similar, µ j tends to be one if the system is balanced. on the other hand, the ds is as unbalanced as µ j tends to zero. based upon this approximation the ds error at sample j can be defined as the ds level of unbalance ω given by: ω j = ( − µ j)  (6) to minimize this error it is necessary to balance the ds around the local loads, having that: i f µ j →  then ω j →  in order to minimize this error, the use of partial derivatives of this equation is pursued in terms of the communication times ρ and τ as shown next: ∂ ω j ∂ ρmax, j , ∂ ω j ∂ ρmin, j , ∂ ω j ∂ τmax, j , ∂ ω j ∂ τmin, j (7) where: ρmax, j and τmax, j are the communication times at the most available node, and ρmin, j and τmin, j are the communication times at the least available node, both cases at sample j. node availability for distributed systems considering processor and ram utilization for load balancing 341 now if we take into account the related node and sample values, the global error ˝ is expressed as follows: ω j =   ( φmin, j φmax, j ) =   (  − αmin, jβmin, j αmax, jβmax, j e(εmax, j −εmin, j +ρmax, j κmax, j −ρmin, j κmin, j +τmax, j νmax, j −τmin, j νmin, j ) ) (8) where: max corresponds to the most available node, min corresponds to the least available node and j is the sample number. reordering this expression in terms of λ ()j and λ () j as follows: λ ()j = αmin, jβmin, j αmax, jβmax, j λ ()j = εmax, j − εmin, j + ρmax, jκmax, j − ρmin, jκmin, j + τmax, jνmax, j − τmin, jνmin, j (9) ω can be expressed as: ω j =   (  − λ ()j e λ ()j ) (10) the partial derivatives are as follows: ∂ ω j ∂ ρmin, j = ( − λ ()j e λ ()j )(λ ()j e λ ()j )(κmin, j) ∂ ω j ∂ ρmax, j = ( − λ ()j e λ ()j )(λ ()j e λ ()j )(−κmax, j) ∂ ω j ∂ τmin, j = ( − λ ()j e λ ()j )(λ ()j e λ ()j )(νmin, j) ∂ ω j ∂ τmax, j = ( − λ ()j e λ ()j )(λ ()j e λ ()j )(−νmax, j) (11) the communication times ρ and τ defined in terms of the next sampling period (j+1) are expressed as: ρmin, j+ = ρmin, j + η ∂ ω j ∂ ρmin, j ρmax, j+ = ρmax, j + η ∂ ω j ∂ ρmax, j τmin, j+ = τmin, j + η ∂ ω j ∂ τmin, j τmax, j+ = τmax, j + η ∂ ω j ∂ τmax, j (12) where: η is a design factor where the metric balances the performance of each node depending on its relations amongst (α, β and ε ). 342 a. menendez lc, h. benitez-perez 2.6 metric optimization examples in order to show the effectiveness of this technique two examples are carried out in which the metric φ is evaluated without performing any load-balancing. the first example has a medium profile processor utilization and is called "relaxed example", the second example has high profile processor utilization and is named "restrictive example". this processor utilization is calculated with the well known metric of processor utilization by a set of periodic tasks called "processor utilization factor" [16]. in both examples a set of 40 periodic tasks is evenly distributed trough 10 nodes (i.e. 4 tasks per node). the theoretical workload that a set of periodic tasks imposes to a processor can be calculated using equation (13), in which the "utilization" of a processor is a value under one. u = n∑ i= ci pi (13) where: u = processor utilization, ci = time consumed by the task i and pi = period of task i and n = number of tasks. in both examples the purpose is to obtain the optimized values for ρ and τ that are used in the next section where the metric φ is implemented within a load-balancing algorithm. the setup for the two examples consists of 10 nodes with 4 periodic tasks per node, the periods and consumption times for each task differ in both cases, table 1 shows the parameters used for the relaxed example and in table 4 are the periods and consumption times for the tasks in the restrictive example. notice that the first three tasks (i.e. tasks numbered 1 to 3) are identical in all the nodes, the difference in the workloads of the nodes resides in the fourth task, in which the period is modified. as it can be seen in table 1, the fourth task at every node has a period equivalent to 8 times the node number (e.g. the period of the fourth task 4 at the node number 1 is 8, the period of task 4 in node 2 is 16 an so on). the number of samples taken during both examples is 1000, and every 8 (i.e. δ = ) samples the value of φ is calculated using equation (4). the number of tasks per node with internal communications is 2 and one task has external communications. table 1: tasks parameters (relaxed example) task number period (p) consumption time (c) 1 8 1 2 16 2 3 32 3 4 8 times the number of node 1 the set of tasks assigned to each node according to table1 has a processor utilization per node as listed in table 2. this example is called "relaxed" because the maximum utilization of a processor corresponds to node number 1, and it is 0.5 (as can be seen in table 2). following the optimization procedure of ρ and τ explained in the previous section, their final values (final ρ and final τ ) after 1,000 samples with δ =8 are shown in table 2. a restrictive example is presented where the processor utilization is between 70% and 81%, as can be seen in table 4. the difference amongst the "relaxed" and "restrictive" example resides in duration of the periods of the first three tasks at every node, as shown in table 3, these periods last half the time for the restrictive case, thus imposing a major workload to the processors as can be seen in table 4. the number of samples taken is again 1000 with a δ of 8. the number of tasks with internal communications is 2 and the number of tasks with external communications is 1. as stated earlier, the main difference with the node availability for distributed systems considering processor and ram utilization for load balancing 343 table 2: processor utilization and final values of ρ and τ per node (relaxed example) node utilization final ρ final τ factor time time 1 0.4688 0.0095 0.0127 2 0.4062 0.0935 0.0673 3 0.3854 0.1033 0.1165 4 0.375 0.1081 0.1406 5 0.3688 0.111 0.1548 6 0.3646 0.1128 0.1642 7 0.3616 0.1142 0.1708 8 0.3594 0.1152 0.1758 9 0.3576 0.1159 0.1797 10 0.3562 0.1166 0.1828 "relaxed" example resides on the "utilization factor" for all the nodes, which is around 0.75 as shown in table 4. based upon these two examples, final values pf ρ & τ represent the communication characteristics or guarantees that the ds must provide in order to have a balanced system, meaning that when a node has more processor utilization, it needs to take less time in its communications. table 3: tasks parameters (restrictive example) task number period (p) consumption time (c) 1 4 1 2 8 2 3 16 3 4 8 times the number of node 1 even tough the value of τ can be seen as a local parameter, it is more common to have or guarantee a global communication time for all the nodes participating in a network, so a unique communication time for the whole network must be considered. if the value chosen for τ is the one corresponding to the minimum value for the τ ’s amongst all the nodes then the network is more restrictive and therefore the external communications need to be faster. on the other hand the maximum value of τ means that the communications are relaxed respect to the time they take, but the counterpart is that they not help to have a balanced ds since the least available nodes need faster external communications in order to have equivalent node-availability values to the most available nodes. it can clearly be noticed that the in order to provide communications at the speed required by the value of τ , the network specifications play an important role. the same reasoning applies to the values of ρ for internal communications. the range of values for ρ and τ listed in tables 2 for the relaxed example or in 4 for the restrictive example, indicate respectively the time that internal (ρ ) and external (τ ) communication must take in order to have a balanced system. further more they show the benefits of using φ as a metric, convenient not only to perform such a task as load-balancing, but also useful to determine the optimal duration for process communications, and in the case of τ providing the speed specifications for the communications network. whether to choose the minimum, maximum or average values from the restrictive or relaxed case 344 a. menendez lc, h. benitez-perez table 4: processor utilization per node (restrictive example) node utilization final ρ final τ factor time time 1 0.8125 0.0167 0.0348 2 0.75 0.1491 0.3455 3 0.7292 0.172 0.4599 4 0.7188 0.1828 0.5138 5 0.7125 0.189 0.5452 6 0.7083 0.1931 0.5657 7 0.7054 0.196 0.5802 8 0.7031 0.1982 0.591 9 0.7014 0.1999 0.5993 10 0.7 0.2012 0.606 for ρ and τ depends strictly on the particular implementation case (i.e. network protocol and processor utilization factor). 3 the high-low (hilo) algorithm. in order to perform lb (load-balancing) and load distribution using the presented metric nodeavailability, a simple and well known algorithm, here named high-low (hilo) is used. the underlying principle in hilo is to determine the most available node and the least available one. the knowledge of these nodes is used by the algorithm to perform its two main methods, the periodic method named balance and the event triggered method named distributor (see figure 3). these two methods are nested depending on the arrival of new processes as shown in figure 4, in this case the periodic balance method is executed every period while distributor is executed only when a new process arrives. figure 3: flow diagram of hilo methods balance an distributor node availability for distributed systems considering processor and ram utilization for load balancing 345 the balance method is performed as follows: the most available node is found by calculating the node-availability of all the nodes participating in the distributed system and selecting the one with the maximum φ value, so the most available node is: max(φ ) and analogously the least available node is min(φ ). in order to be able to balance a ds, the hilo algorithm also requires an aimed balance level for it named ξ having  < ξ ≤ . with this three values (max(φ ), min(φ ) and ξ ), the periodical balance method calculates the actual “load-balancing factor” µ using equation (5). if the obtained value of µ is under ξ then the balance method performs the actual load-balancing. this load-balancing is as simple as removing one process from the queue of the node min(φ ) and migrating it to the node named max(φ ). the second method named distributor is responsible to assign a node to any new process arriving to the distributed system. once a new process arrives, distributor sends it to the node max(φ ). figure 4: hilo methods: balance an distributor 3.1 pseudo-code of hilo the algorithm hilo has two methods the first one is a periodic method named “balance”, the second method which is executed every time a new process arrives to the distributed system is named “distributor”. hilo periodically_execute balance if new process then distributor the balance method: balance if min(φ) / max(φ) < ξ then remove process from min(φ) and send it to max(φ) when activated, the distributor method sends the arriving (new) process, to the node max(φ ): 346 a. menendez lc, h. benitez-perez distributor add_queue max(φ) new process 3.2 simulation the hilo algorithm as well as the metric φ are tested on both: a 16 nodes cluster (case study in next section) and on a simulation using matlab. figure 5 shows the simulation of this process where 500 samples are taken, the processes are generated between samples 50 and 250 using a poisson distribution to simulate both; the number of processes ready to be executed and the duration of each one. it can be seeing that the system reaches an absolute balance around sample 400, but during the whole execution of the set of processes, no single node is over-occupied nor idle. figure 5: simulation of a lb process within a cluster, 500 samples are taken and the processes are generated between samples 50 and 250. the parameters used for the simulation are: number of nodes n =16, total samples(j) = 500, and δ = . the internal communication factor ρ = . and the external communication factor τ = . are obtained by calculating the average times from the minimum respective values from table 2 and table 4. the average consumption time of each process is given by an exponential random distribution with mean = δ ∗  and ξ is .%. the initial value for αi, j is one, this value is updated every time a process is queued at a node i, by decreasing its value by 0.1% per process, the approximated inverse procedure is performed when the process has finished. in terms of βi, j (available memory) a similar procedure is performed with a decrement value of 0.12%. these increments/decrements are according to the availability behavior presented in section 2.1. the value for εi, j is calculated every sample, based on how many processes are queued per node and the values for κi, j and νi, j are random numbers between 0 and εi, j. the impact that φ has on the ds load balance can be seen in figure 5, outlining that the work load was evenly distributed amongst the 16 nodes during the whole simulation. node availability for distributed systems considering processor and ram utilization for load balancing 347 4 case study the case study is based on a real geology-specific application, which consists of several similar processes distributed over a cluster. these processes perform a different number of operations locally. the case study is processed seven times with a different number of processes, each occasion, as shown in table 5. every time the algorithm hilo and two common load distribution algorithms: random and round-robin [12–14] are used to execute these 7 different sets of processes. the processes are ready to be executed based on a poisson distribution, independent for each case study. the implementation details are presented in the 4.1 subsection, and the results in subsection 4.2. 4.1 implementation the case study is implemented in a dedicated cluster, which consists of 16 nodes with the following configuration: one master node with 2 xeon processors at 2.6 ghz, 1.5 gb ram and linux kernel 2.6.8. 15 nodes with pentium iv processor at 2.6 ghz, 512 mb ram and linux kernel 2.6.12. the master node performs the distribution and load-balancing functions of the cluster. the case studies are integrated shown in table 5. table 5: number of processes per case study case study number of processes 1 100 2 200 3 300 4 400 5 500 6 1000 7 1500 these processes are independent amongst each other, and to simulate when a process is ready to be executed, a poisson distribution is used. every process performs a random number of local sums and string concatenations, both random numbers are generated globally using an exponential distribution for each case study [6], [15]. furthermore, as both numbers differ, the demands of processor and memory are also different for every process and case study. for these cases κ and ν are equal to zero since there is no communication between processes. each set of processes is executed using the random, round-robin and hilo algorithms to distribute the load. the random algorithm uses a uniform distribution to select the node in which the arriving process is going to be queued. the round-robin algorithm sends the arriving process to the nodes in a round-robin manner. the algorithm hilo sends the arriving process to the un node. the algorithm hilo uses the following values for the parameters described earlier in this paper, selected (as means of example) in a heuristic manner: δ = , n =  and ξ = .. 4.2 results the total execution times of the seven sets of processes (listed in table 1.) were obtained by executing them in the cluster, using the previously listed algorithms for the load distribution. the presented metric node-availability, implemented in the hilo algorithm outperforms the other two as can be seen in the 348 a. menendez lc, h. benitez-perez figure 6 (algorithm comparison). considering the execution time of hilo as 100%, the other two algorithms (round-robin and random) take more time to complete the execution of the same seven sets of processes, this extra time goes from 10% to 65% (i.e. the execution time with round-robin or random algorithms takes from 110% to 165% compared with hilo which is 100%). it can also be noticed in figure 6 that with the smaller set of processes (i.e. 100) the percentage gain of hilo is larger, meaning that the algorithm is efficient even when the set has a relatively small number of processes. figure 6: percentage compared time-efficiency of the algorithm. hilo=100% . every occasion that the condition µ < ξ was fulfilled, a balance was performed. the total numbers of balances that hilo performed are shown in table 6. the total execution time is expressed in minutes:seconds. table 6: number of balances and total time execution per processes set. # processes # balances total time 100 31 01:32.0 200 86 03:17.8 300 137 04:50.0 400 186 06:27.3 500 226 07:52.0 1,000 456 15:36.0 1,500 676 22:59.9 figure 7. shows the execution times of the processes set listed in table5. using the "random", "round-robin" and hilo algorithms, in every case hilo outperforms the other two. 5 conclusions and future work the metric “node-availability” (φ ), allows performing an efficient lb without previously knowing the execution times of the processes, nor the processes communication requirements. this metric takes into account processor and memory availability every given sample and the estimation of the related communication times per processor and process respectively. an optimization procedure based on the communications protocol performance is carried out in order to guarantee the suitability of this metric. the time values of ρ and τ obtained after this optimization node availability for distributed systems considering processor and ram utilization for load balancing 349 figure 7: total time algorithm comparison. procedure provide the speed specifications of the communications network and the type of protocol required. based upon this information the proposed metric (φ ) and hilo perform an efficient response as shown in figure 6. the results presented here provide a clear idea of the impact of φ as the criterion metric to perform a load-balancing procedure. for the case study taken into account, the load-balancing algorithm has a cost in terms of the time taken which can be neglected and is included in the "total time" column of table 6. in terms of hilo algorithm, the ξ factor gives the possibility of balancing either in a very relaxed or strict manner. for instance, if the desired balance factor (ξ ) is decreased in a significant way, the number of balances decreases towards zero. on the other hand when the value of ξ tends to 1 the system performs a load-balancing process every δ samples. bibliography [1] j. bahi, r. couturier, f. vernier, synchronous distributed load balancing on dynamic networks,journal of parallel and distributed computing, 65 pp.1397-1405, elsevier 2005. [2] d. bertsekas, constrained optimization an lagrange multiplie methods, academic press inc., usa 1992. [3] j. chiasson, z. tang, j. ghanem, t. chaouki„ j. abdallah, d. birdwell, m.m. hayat, h. jrez, the effect of time delays on the stability of load balancing algorithms for parallel computations, ieee transactions on control systems technology, vol. 13, no. 6, november 2005 pp. 932-942. [4] r. f. de mello, l. j. senger, l.t. yang, a routing load balancing policy for grid computing environments, proceedings of the 20th international conference on advanced information networking and applications, 1550-445x/06 ieee 2006. [5] p. ghosh, n. roy, s.k. das, k. basu, a pricing strategy for job allocation in mobile grids using a non-cooperative bargaining theory framework,journal of parallel and distributed computing, 65 pp.1366-1383, elsevier 2005. [6] d. grosu, a. chronopoulos, algorithmic mechanism design for load balancing in distributed systems,ieee transactions on systems, man, and cyberneticsńpart b: cybernetics, vol. 34, no. 1, february 2004, pp. 77-84. 350 a. menendez lc, h. benitez-perez [7] o. lee, m. anshel, i. chung, design of an efficient load balancing algorithm on distributed networks by employing symmetric balanced incomplete block design,iee proc.-commun, vol. 151, no. 6, december 2004. [8] l. keqin, job scheduling and processor allocation for grid computing on metacomputers, journal of parallel and distributed computing, 65 pp.1406-1418, elsevier 2005. [9] a. menendez, h. benitez-perez, node availability for distributed systems considering processor and ram utilization, eighth mexican international conference on computer science, enc07, page(s):131 137, doi:10.1109/enc.2007.24, 2007. [10] b. parhami, swapped interconection networks: topological, performance, and robustness attributes, journal of parallel and distributed computing, 65 pp.1443-1452, elsevier 2005. [11] m. perez, a. sanchez, j. pea, v. robles, a new formalism for dynamic reconfiguration of data servers in a cluster, journal of parallel and distributed computing, 65 pp.1134-1145, elsevier 2005. [12] h. sit, k. ho, h. v. leong, w. p. r. luk, l. ho, an adaptive clustering approach to dynamic load balancing, proceedings of the 7th international symposium on parallel architectures, algorithms and networks (ispanő04) 1087-4089 ieee 2004. [13] d. takemoto, s. tagashira, s. fujita, partitioning in content-addressable networks distributed algorithms for balanced zone, proceedings of the tenth international conference on parallel and distributed systems (icpadső04) 1521-9097 ieee 2004. [14] torque resource manager http://www.clusterresources.com/pages/products/torque-resourcemanager.php 2006. [15] z. zeng, b. veeravalli, rate-based and queue-based dynamic load balancing algorithms in distributed systems, proceedings of the tenth international conference on parallel and distributed systems, 1521-9097/04 ieee 2004. [16] liu w.s. jane, real-time systems, prentice hall, usa, 2000. antonio menéndez lc is a computer science engineer from the universidad la salle and currently phd candidate by the universidad nacional autónoma de méxico (unam). more than 25 years of experience in the computer and technology industries, leading multi-million projects, as well as in the academic world. devoted to research for the last years has participate in international congresses of real-time, convergence, hybrid systems, and computer science. héctor benítez pérez is a full time researcher in the iimas unam (méxico). he obtained his bsc in electronic engineering at the engineering faculty unam in 1994 and his phd at sheffield university, uk en 1999. his areas of interest are in real time control and fault diagnosis. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 268-279 adding lifetime to objects and membranes in p systems b. aman, g. ciobanu bogdan aman, gabriel ciobanu romanian academy, institute of computer science and a.i.cuza university of iaşi, romania e-mail: baman@iit.tuiasi.ro, gabriel@info.uaic.ro abstract: membrane systems are computing devices inspired from the cell functioning. a feature of membrane systems is the fact that objects and membranes are persistent. in fact, this is not quite true in the real world: cells and intracellular proteins have a well-defined lifetime. inspired from these biological facts, we define a model of membrane systems in which each membrane and each object has attached a lifetime. some results show that this model is at least as powerful as the usual one. 1 introduction to membrane computing membrane systems are essentially parallel and nondeterministic computing models inspired by the compartments of eukaryotic cells and their biochemical reactions. the structure of the cell is represented by a set of hierarchically embedded regions, each one delimited by a surrounding boundary (called membrane), and all of them contained inside an external special membrane called skin. the molecular species (ions, proteins, etc.) floating inside cellular compartments are represented by multisets of objects described by means of symbols or strings over a given alphabet. the objects can be modified or communicated between adjacent compartments. chemical reactions are represented by evolution rules which operate on the objects, as well as on the compartmentalized structure (by dissolving, dividing, creating, or moving membranes). a membrane system can perform computations in the following way: starting from an initial configuration which is defined by the multiset of objects initially placed inside the membranes, the system evolves by applying the evolution rules of each membrane in a nondeterministic and maximally parallel manner. a rule is applicable when all the objects which appear in its left hand side are available in the region where the rule is placed. the maximally parallel way of using the rules means that in each step, in each region of the system, a multiset of rules is chosen which is maximal and applicable, namely a multiset of rules such that no further rule can be added to the multiset. a halting configuration is reached when no rule is applicable. the result is represented by the number of objects from a specified membrane. several variants of membrane systems are inspired by different aspects of living cells (symport and antiport-based communication through membranes, catalytic objects, membrane charge, etc.). their computing power and efficiency have been investigated using the approaches of formal languages, grammars, register machines and complexity theory. membrane systems (also called p systems) are presented together with many variants and examples in [21]. several applications of these systems are presented in [12]. an updated bibliography can be found at the p systems web page [22]. for an alphabet v = {a, . . . , an}, we denote by v ∗ the set of all strings over v ; λ denotes the empty string and v + = v ∗\{λ }. a multiset over v is represented by a string over v (together with all its permutations), and each string precisely identifies a multiset. a language (over v ) is any subset of v ∗; a language is denoted usually by l. given a language l, we define the set ps(l) = {ψv (x) | x ∈ l} called the parikh image of l. if f l is a family of languages, then psf l denotes the family of parikh images of languages in f l. definition 1. a p system of degree n ≥  is a construct π = (v, t,c, h, µ, w, . . . , wn, (r, ρ), . . . , (rn, ρn), io) where: copyright c© 2006-2010 by ccc publications adding lifetime to objects and membranes in p systems 269 1. v is an alphabet of symbols; its elements are called objects; 2. t ⊆ v is the terminal (or output) alphabet; 3. c ⊆ v , c ∩t = /0 is the alphabet of catalysts; 4. h is a set of membrane labels; 5. µ ⊆ h × h is a tree that describes the membrane structure, such that (i, j) ∈ µ denotes that the membrane labelled by j is contained in the membrane labelled by i; 6. wi ∈ v ∗, for each  ≤ i ≤ n, is a multiset of objects initially assigned to membrane i; 7. ri, for all  ≤ i ≤ n, is a finite set of evolution rules that is associated with membrane i; an evolution rule is a multiset rewriting rule of the form u → v, with u ∈ v +, either v = v′ or v = v′δ , v′ ∈ ((v ×{here, out})∪(v ×{in j |  ≤ j ≤ n}))∗, and δ a special symbol not appearing in v ; 8. ρi, for all  ≤ i ≤ n, is a partial order relationship defined over the rules in ri specifying a priority relation between these rules; 9. io is the label of an elementary membrane of µ that identifies the output region. therefore, a p systems of degree n ≥  consists of a membrane structure µ containing n ≥  membranes where each membrane i gets assigned a finite multiset of objects wi and a finite set of evolution rules ri. an evolution rule is a multiset rewriting rule which consumes a multiset of objects from v and produces a multiset of pairs (a,t), with a ∈ v and t ∈ {here, out} ∪ {in j |  ≤ j ≤ n} a target specifying where to move the objects after the application of the rule. as well as this, an evolution rule can produce the special object δ to specify that, after the application of the rule, the membrane containing the special object δ has to be dissolved. after dissolving a membrane, all objects and membranes previously present in it become elements of the immediately upper membrane, while the rules of the dissolved membrane are removed. we use p systems without lifetimes instead of p systems in order to make a clear distinction from the p systems with lifetimes which are introduced in what follows. 2 p systems with lifetimes the evolution of complicated real systems frequently involves various interdependence among components. some mathematical models of such systems combine both discrete and continuous evolutions on multiple time scales with many orders of magnitude. for example, in nature the molecular operations of a living cell can be thought of as such a dynamical system. the molecular operations happen on time scales ranging from − to  seconds, and proceed in ways which are dependent on populations of molecules ranging in size from as few as approximately  to approximately as many as . molecular biologists have used formalisms developed in computer science (e.g. hybrid petri nets) to get simplified models of portions of these transcription and gene regulation processes. according to molecular cell biology [18]: (i) “the life span of intracellular proteins varies from as short as a few minutes for mitotic cycles, which help regulate passage through mitosis, to as long as the age of an organism for proteins in the lens of the eye.” (ii) “most cells in multicellular organisms . . . carry out a specific set of functions over periods of days to months or even the lifetime of the organism (nerve cells, for example).” 270 b. aman, g. ciobanu it is obvious that lifetimes play an important role in the biological evolution. we use an example from the immune system. example 1 ( [18]). t-cell precursors arriving in the thymus from the bone marrow spend up to a week differentiating there before they enter a phase of intense proliferation. in a young adult mouse the thymus contains around  to × thymocytes. about × new cells are generated each day; however, only about  to  ×  (roughly  − %) of these will leave the thymus each day as mature t cells. despite the disparity between the numbers of t cells generated daily in the thymus and the number leaving, the thymus does not continue to grow in size or cell number. this is because approximately % of the thymocytes which develop in the thymus also die within the thymus. inspired from these biological facts, we add lifetimes to objects and membranes. we use a global clock to simulate the passage of time in a membrane system. definition 2. a p system with lifetimes of degree n ≥  is a construct π = (vt , t,c, ht , µt , w, . . . , wn, (r, ρ), . . . , (rn, ρn), io) where: 1. vt = v ×(n∪∞) is a set of pairs of the form (a,ta), where a ∈ v is an object (as in definition 1) and ta ∈ (n∪∞) is the lifetime of the object a; 2. t , c are as in definition 1; 3. ht = h ×(n∪∞) is a set of set of pairs of the form (h,th), where a ∈ h is a membrane label (as in definition 1) and th ∈ (n∪∞) is the lifetime of the membrane h; 4. µt ⊆ ht ×ht is a tree that describes the membrane structure, such that ((i,ti), ( j,t j)) ∈ µt denotes that the membrane labelled by j, with the lifetime jt , is contained in the membrane labelled by i, with the lifetime it ; 5. wi ⊆ (vt )∗ is a multiset of pairs from vt assigned initially to membrane i; 6. ri, for all  ≤ i ≤ n, is a finite set of evolution rules that is associated with membrane i of the following forms: (a) u → v, with u ∈v +t , either v = v′ or v = v′δ , v′ ∈ ((vt ×{here, out})∪(vt ×{in j |  ≤ j ≤ n}))∗; δ is a special symbol not appearing in v ; (b) (a,t) → (a,t − ), for all a ∈ v and t >  if an object a is not involved in a rule of type (a) and it has a lifetime t > , then its lifetime is decreased. (c) (a, ) → λ , for all a ∈ v if an object a has the lifetime  then the object is replaced with the empty multiset λ , thus simulating the degradation of proteins. (d) [ ](i,t) → [ ](i,t−), for all  ≤ i ≤ n in each evolution step the lifetime of each membrane of the membrane structure is decreased with one. (e) [ ](i,) → [δ ](i,), for all  ≤ i ≤ n if the lifetime of a membrane reaches  the membrane is dissolved. 7. ρi, for all  ≤ i ≤ n, is a partial order relationship defined over the rules in ri specifying a priority relation between these rules; adding lifetime to objects and membranes in p systems 271 8. io is the label of an elementary membrane of µt that identifies the output region. these rules are applied according to the following principles: 1. all the rules are applied in parallel: in a step, the rules are applied to all objects and to all membranes; an object can be used only by one rule, non-deterministically chosen (there is no priority among rules), but any object which can evolve by a rule of any form, should evolve. 2. if a membrane is dissolved, then all the objects in its region are left free in the region immediately above it. because all rules are associated with membranes, the rules of a dissolved membrane are no longer available at the next step. 3. the skin membrane has the lifetime equal to ∞, so it can never be dissolved. 4. if a membrane or object has the lifetime equal to ∞, when applying the rules simulating the passage of time we use the equality ∞ −  = ∞. the computation stops when the membrane system contains only objects and membranes that have the lifetime equal to ∞. example 2. the concentration of a molecule can be adjusted quickly only if the lifetime of the molecule is short [1]. it is natural to think of signaling systems in terms of the changes produced when a signal is delivered. but it is just as important to consider what happens when a signal is withdrawn. during development transient signals often produce lasting effects: they can trigger a change that persists indefinitely, through cell memory mechanisms. but in most cases, especially in adult tissues, when a signal ceases, the response fades. the signal acts on a system of molecules that is undergoing continual turnover, and when the signal is shut off, the replacement of the old molecules by new ones wipes out the traces of its action. it follows that the speed of reaction to shutting off the signal depends on the rate of turnover of the molecules that the signal affects. it may not be as obvious that this turnover rate also determines the promptness of the response when the signal is turned on. the figure 1 shows the predicted relative rates of change in the intracellular concentrations of molecules with differing turnover times when their rates of synthesis are increased suddenly by a factor of 10. the concentrations of those molecules that are normally being rapidly degraded in the cell ( red lines) change quickly, whereas the concentrations of those that are normally being slowly degraded ( green lines) change proportionally more slowly. the numbers (in blue) on the right-hand side are the half-lives assumed for each of the different molecules. consider, for example, two intracellular molecules x and y , both of which are normally maintained at a concentration of  molecules per cell. molecule x has a slow turnover rate: it is synthesized and degraded at a rate of 10 molecules per second, so that each molecule has an average lifetime in the cell of  seconds. molecule y turns over  times as quickly: it is synthesized and degraded at a rate of  molecules per second, with each molecule having an average lifetime of  seconds. if a signal acting on the cell boosts the rates of synthesis of both x and y tenfold without any change in the molecular lifetimes, at the end of  second the concentration of y will have increased by nearly  molecules per cell ( ×  − ) while the concentration of x will have increased by only  molecules per cell. in fact, after its synthesis rate has been either increased or decreased abruptly, the time required for a molecule to shift halfway from its old to its new equilibrium concentration is equal to its normal half-life that is, it is equal to the time that would be required for its concentration to fall by half if all synthesis were stopped (figure 1). the same principles apply to proteins as well as to small molecules and to molecules in the extracellular space as well as to those in cells. many intracellular proteins that are rapidly degraded have short half-lives, some surviving less than  minutes; in most cases these are proteins with key regulatory roles, 272 b. aman, g. ciobanu figure 1: the importance of rapid turnover [1] whose concentrations are rapidly regulated in the cell by changes in their rates of synthesis. likewise, any covalent modifications of proteins that occur as part of a rapid signaling process most commonly the addition of a phosphate group to an amino acid side chain must be continuously removed at a rapid rate to make such signaling possible. example 3. the scenario presented in example 2 can be modelled using p systems with lifetimes. consider the membrane configuration [(xs, ∞)(x , ) . . . (x , )(ys, ∞)(y, ) . . . (y, )](cell,∞) describing the structure of the cell when in equilibrium. xs and ys represent the molecules from which x and y are synthesized, while (x ,t) and (y,t) represent the fact that there are  molecules x which have the lifetime equal to t and  molecules y which have the lifetime equal to t. the rules describing the evolution of this system are: 1. (x , ) → λ a molecule x which is at the end of its lifetime is degraded. 2. (y, ) → λ a molecule y which is at the end of its lifetime is degraded. 3. (xs, ∞) → (xs, ∞)(x , ) each second  new x molecules are synthesized. 4. (ys, ∞) → (ys, ∞)(y, ) each second  new y molecules are synthesized. 5. (x ,t) → (x ,t − ), t >  the lifetime of a molecule x which is not involved in any reaction is decreased. 6. (y,t) → (y,t − ), t >  the lifetime of a molecule y which is not involved in any reaction is decreased. adding lifetime to objects and membranes in p systems 273 after applying rules in a maximal manner after each second we reach the initial configuration [(xs, ∞)(x , ) . . . (x , )(ys, ∞)(y, ) . . . (y, )](cell,∞). if two signals enter the cell (we model the signals by the pairs (cx ,tc) and (cy ,tc)) then we consider two new rules: 7. (cx ,tc)(xs, ∞) → (cx ,tc − )(xs, ∞)(x , ) if an object cx is present in the cell then the rate of synthesis of x is increases  times. 8. (cy ,tc)(ys, ∞) → (cy ,tc − )(ys, ∞)(y, ) if an object cy is present in the cell then the rate of synthesis of y is increases  times. when adding this rules we also add some priorities between rules, namely  >  and  > . after one second the concentration of y increases by nearly  molecules per cell (× − ) while the concentration of x increases by only  molecules per cell. figure 2: a p system with lifetimes in figure 2 an example of a p system with lifetimes is shown. graphically, the boxes represent the membranes and their nesting reflects the hierarchy. membrane  represent the skin membrane. both membranes have a lifetime equal to ∞ meaning that no dissolving rule is not necessary. inside membrane  we have the initial multiset of pairs, the evolution rules and some priorities between them. in the evolution rule we omit the subscript here for objects, in the products, that remain in the same membrane. the defined p system with lifetimes computes the least common multiple of n and n, namely lcm(n, n). the idea is to put a pair (a, n − ) and a pair (b, n − ) at the beginning of the computation, and to produce a pair (c, ∞) (which is send in membrane ) each time the lifetime of the object a is decreased. the first time the objects a and b appear together with the lifetime  is exactly after lcm(n, n) time units. at this moment in membrane  are lcm(n, n) objects c, which represent the output of the system. 3 systems with and without lifetimes the following results describe certain relationships between p systems with lifetimes and p systems without lifetimes, and between similar p systems with lifetimes. proposition 4. for every p system without lifetimes there exists a p system with lifetimes providing the same output by performing an equal number of steps. 274 b. aman, g. ciobanu proof: [proof (sketch)] it is easy to state that the class of p systems with lifetimes includes the class of p systems without lifetimes, since we can assign ∞ to all lifetimes appearing in the membrane structure and evolution rules. 2 a somehow surprising result is that p systems with lifetimes can be simulated by p systems without lifetimes. proposition 5. for every p system with lifetimes there exists a p system without lifetimes providing the same output by performing an equal number of steps. proof: we use the notation rhs(r) to denote the multisets of pairs which appear in the right hand side of a rule r. this notation is extended naturally to multisets of rules: given a multiset of rules r, the right hand side of the multiset rhs(r) is obtained by adding the right hand sides of the rules in the multiset, considered with their multiplicities. each object a ∈v from a p system with lifetimes has a maximum lifetime (we denote it by li f etime(a)), which can be calculated as follows: li f etime(a) = max({t | (a,t) ∈ wi,  ≤ i ≤ n}∪{t | (a,t)∈rhs(ri),  ≤ i ≤ n}) in what follows we present the steps which are required to build a p system without lifetimes starting from a p system with lifetimes, such that both provide the same output. 1. a membrane structure from a p system with lifetimes is translated into a membrane structure of a p system without lifetimes in the following way the lifetimes of elements from a p system with lifetimes are simulated using the membranes , . . ., k in the corresponding p system without lifetimes as we show at the next steps of the translation. the value of k is the maximum from the finite lifetime of objects and surrounding membrane mem, namely k = max({li f etime(a) | a ∈ v, li f etime(a) 6= ∞} ∪ {tmem | tmem 6= ∞}). if an object or the surrounding membrane has the lifetime equal to ∞ in the p system with lifetimes then we do not need to count the passage of time, namely to use the membranes , . . ., k in the p system without lifetimes for the corresponding object or membrane. the object mem placed inside the membrane labelled  is used to simulate the passage of time for the membrane. the initial multiset of objects wt from membrane mem in the p system with lifetimes, in translated into the multiset w which is added into membrane  inside membrane mem in the corresponding p system without lifetimes since all objects from the initial multiset are just starting their life. 2. the rules (a,t) → (a,t − ), for all a ∈ v , t >  and t 6= ∞ from the p system with lifetimes can be simulated in the p system without lifetimes using the following rules: (a) a → (aoai, out) placed inside membrane i, for all  ≤ i ≤ li f etime(a) −  the object oai is used to keep track of the units of time that have past from the lifetime of the object a adding lifetime to objects and membranes in p systems 275 (b) aoa j → (a, in j+), placed inside membrane mem, for all  ≤ j ≤ li f etime(a) −  and a ∈ v this rules together with the previous ones simulate the passage of a unit of time from the lifetime of object a in the p system with lifetimes, by moving object a from a membrane j to a membrane j +  for  ≤ j ≤ li f etime(a) −  in the p system without lifetimes. 3. the rules (a, ) → λ , for all a ∈ v from the p system with lifetimes can be simulated in the p system without lifetimes using the following rules: (a) a → λ placed inside membrane li f etime(a) if the object a reaches the membrane labelled with li f etime(a) in the p system without lifetimes, it means that the lifetime of object a is  in the corresponding p system with lifetimes, so it is replaced by λ . 4. the rules ut → vt from the p system with lifetimes can be simulated in the p system without lifetimes using the following rules: (a) uou j → (v, in) the multiset ou j contains objects of the form oa j, where a ∈ u and  ≤ j ≤ li f etime(a) − . when replacing the multiset u with the multiset v, we also remove the objects oa j that keep track of the life of the objects appearing in u since we do not need them anymore. we send the newly obtained multiset v in membrane  since all objects from this multiset are just starting their life. 5. the rules [ ](mem,t) → [ ](mem,t−), for all t >  and t 6= ∞ from the p system with lifetimes can be simulated in the p system without lifetimes using the following rules: (a) mem → (mem omem i, out) placed inside membrane i, for all  ≤ i ≤ li f etime(mem) −  the object omem i is used to keep track of the units of time that have past from the lifetime of the membrane mem; (b) mem omem j → (mem, in j+), placed inside membrane mem, for all  ≤ j ≤ li f etime(mem)− this rules together with the previous ones simulate the passage of a unit of time from the lifetime of membrane mem in the p system with lifetimes, by moving object mem from a membrane j to a membrane j +  for  ≤ j ≤ li f etime(mem) −  in the p system without lifetimes. 6. a rule [ ](mem,) → [δ ](mem,) from the p system with lifetimes can be simulated in the p system without lifetimes using the following rules: (a) mem → (oδ , out) placed inside membrane li f etime(mem) −  if the object mem reaches the membrane labelled with li f etime(mem) −  in the p system without lifetimes, it means that the lifetime of membrane mem is  in the corresponding p system with lifetimes, so it needs to be dissolved. (b) oδ → δ (δ , in) . . . (δ , ink) once this object is created by the previous rule, an object δ is created inside membrane mem and inside each membrane j,  ≤ j ≤ k, is send an object δ . this means that all these membranes are dissolved, all the rules are deleted, and all objects are send in the parent membrane. the dissolving of the membranes take place after applying all other possible rules. at the moment of the dissolution the only existing objects are found in membrane mem. for each object a there exists an object oa j that keeps track of the life of a, thus being able to continue the increment the life of a in the parent membrane. 276 b. aman, g. ciobanu the output membrane from the p system with lifetimes, is translated in the output membrane from the p system without lifetimes. after performing the same number of evolution steps in both systems, the output membranes contain the same multisets of objects. 2 we are now able to prove the computational power of p systems with lifetimes. we denote by ntpm(coo,tar) the family of sets of natural numbers generated by p systems with lifetimes of degree at most m ≥ , using cooperative rules, and communication of objects through membranes. we also denote by nre the family of all sets of natural numbers generated by arbitrary grammars. proposition 6. ntpm(coo,tar) = nre, for all m ≥ . proof: [proof (sketch)] since the outcome of each p system with lifetimes can be obtained by an p system without lifetimes, we cannot get more than the computability power of p systems. therefore, according to theorem 3.3.3 from [21], we have that the family ntpmof sets of natural numbers generated by p systems with lifetimes is the same as the family nre of sets of natural number generated by arbitrary grammars. 2 remark 3.1. consider the membrane system π = [[ ](,∞)(a, )(a, )](,∞) with the set of rules r = {(a, ) → (a, )((c, ∞), in); (a, ) → (a, ); (a, ) → λ }. since the membranes have the lifetime ∞ it is not necessary to consider rules for decreasing lifetimes to membranes. if we rewrite this as π ′ = [[ ](,∞)(a, )(a, )(d,t)](,∞), with r = {(a, ) → (a, )((c, ∞), in); (a, ) → (a, ); (a, ) → λ ;(d, i) → (d, i − ); (d, ) → λ } we have that after t units of time the membrane system π has the same evolution as the membrane system π ′. in automata theory the problem of optimizing a finite-state machine, meaning to find the machine with the minimum number of states that performs the same function, was addressed by the theorem of myhill and nerode; a fast algorithm doing this is the hopcroft minimization algorithm [16]. using a similar approach we want to optimize a given p system with lifetimes. this can be realized with the passage of time, namely all objects and membranes which are not used in rewriting rules and have a finite lifetime are eliminated. proposition 7. let π and π ′ be two p systems with lifetimes such that: 1. π = (vt , t,c, ht , µt , w, . . . , wn, (r, ρ), . . . , (rn, ρn), io) 2. π ′ = (vt , t,c, ht , µt , w′, . . . , w ′ n, (r, ρ), (r ′ , ρ ′ ), . . . , (r ′ n, ρ ′ n), i ′ o) 3. i′o = io the output membrane is the same for the two membrane systems. 4. wi ⊆ wi, for all  ≤ i ≤ n the initial multiset from membrane i of π ′ contains the same objects as the initial multiset from membrane i of π and some other objects together with their initial lifetimes. 5. r′i = ri ∪{(a,t) → (a,t − ), (a, ) → λ | a ∈ w′i \wi} the set of rules r′i contains all the rules of ri and some additional rules to simulate the passage of time for all the objects appearing in w′i \wi. 6. ρ ′i = ρi, for all  ≤ i ≤ n the priority orders are the same for the two membrane systems. then the p systems with lifetimes π and π ′ have the same membrane structure and evolution after max{t | (a,t) ∈ w′i \wi,  ≤ i ≤ n} units of time. adding lifetime to objects and membranes in p systems 277 proof: [proof (sketch)] after max{t | (a,t) ∈ w′i \wi,  ≤ i ≤ n} units of time all objects which appeared in wi\w′i in the description of the membrane system π ′ are consumed. in this case we have that the contents of the membranes of π is the same as the contents of the membranes of π ′, and the applicable rules for the two membrane systems are only the rules of ri,  ≤ i ≤ n. 2 4 related work and conclusion we introduce a new class of p systems, namely the p systems with lifetimes. lifetimes are assigned to each membrane and to each object. this new feature is inspired from biology where cells and intracellular proteins have a well defined lifetime. in order to simulate the passage of time, we use rules of the form (a,t) → (a,t − ) for objects, and [ ](i,t) → [ ](i,t−) for membranes. if the lifetime of an object reaches  then the object is consumed by applying a rule of the form (a, ) → λ , while if the lifetime of a membrane i reaches  then the membrane is marked for dissolution by applying a rule of the form [ ](i,) → [δ ](i,). after dissolving a membrane, all objects and membranes previously contained in it become elements of the immediately upper membrane. we do not obtain a more powerful formalism by adding lifetimes to objects and to membranes into a p system. according to proposition 4, proposition 5 and proposition 6, p systems with lifetimes and p systems without lifetimes have the same computational power. however the p systems with lifetimes are able to describe more naturally some biological phenomena involving timing, as in example 3. a similar idea appears in the framework of spiking p systems: considering a duration of life for spikes, but not for cells [15]. if a spike is not used in a number of steps larger than its lifetime, then it is removed. there are also some papers using time in the context of membrane computing in a different manner than in this paper. in [8] a timed p system is introduced by associating to each rule a natural number representing the time of its execution. then a p system which always produces the same result, independently from the execution times of the rules, is called a time-independent p systems. the notion of time-independent p systems tries to capture the class of systems which are robust against the environment influences over the execution time of the rules of the system. other types of time-free systems are considered in [7, 9]. time can also be used to “control” the computation, for instance by appropriate changes in the execution times of the rules during a computation, and this possibility has been considered in [11]. moreover, timed p automata have been proposed and investigated in [5], where ideas from timed automata have been incorporated into timed p systems. frequency p systems has been introduced and investigated in [19]. in frequency p systems each membrane is clocked independently from the others, and each membrane operates at a certain frequency which could change during the execution. dynamics of such systems have been investigated. if one supposes the existence of two scales of time (an external time of the user, and an internal time of the device), then it is possible to implement accelerated computing devices which can have more computational power than turing machines. this approach has been used to construct accelerated p systems where acceleration is obtained by either decreasing the size of the reactors or by speeding-up the communication channels [6]. in [10, 17] the time of occurrence of certain events is used to compute numbers. if specific events (such as the use of certain rules, the entering/exit of certain objects into/from the system) can be freely chosen, then it is easy to obtain computational completeness results. however, if the length (number of steps) are considered as result of the computation, non-universal systems can be obtained. time is considered in [17, 20] as the result of the computation by using special “observable” configurations taken in regular sets (with the time elapsed between such configurations considered as output). the authors of the current paper have also considered time to “control” the computation in two other formalisms: mobile ambients [2–4] and distributed π -calculus [13, 14]. timers define timeouts for 278 b. aman, g. ciobanu various resources, making them available only for a determined period of time. the passage of time is given by a discrete global time progress function. acknowledgments this work was partially supported by cncsis research grants idei 402/2007 and cnmp parteneriate d1/1052/2007. bibliography [1] b. alberts, a. johnson, j. lewis, m. raff, k. roberts, p. walter. molecular biology of the cell fifth edition. garland science, taylor & francis group, 2008. [2] b. aman, g.ciobanu. timers and proximities for mobile ambients. lecture notes in computer science, vol.4649, 33–43, 2007. [3] b. aman, g.ciobanu. mobile ambients with timers and types. lecture notes in computer science, vol.4711, 50–63, 2007. [4] b. aman, g.ciobanu. timed mobile ambients for network protocols. lecture notes in computer science, vol.5048, 234–250, 2008. [5] r. barbuti, a. maggiolo-schettini, p. milazzo, l. tesei. timed p automata. electronic notes in theoretical computer science, vol.227, 21–36, 2009. [6] c.s. calude, gh. păun. bio-steps beyond turing. biosystems, vol.77, 175–194, 2004. [7] m. cavaliere, v. deufemia. further results on time-free p systems. international journal of foundations of computer science, vol.17, 69–89, 2006. [8] m. cavaliere, d. sburlan. time-independent p systems. lecture notes in computer science, vol.3365, 239–258, 2005. [9] m. cavaliere, d. sburlan. time and synchronization in membrane systems. fundamenta informaticae, vol.64, 65–77, 2005. [10] m. cavaliere, r. freund, a.leitsch, gh. păun. event-related outputs of computations in p systems. journal of automata, languages and combinatorics, vol.11, 263–278, 2006. [11] m. cavaliere, c. zandron. time-driven computations in p systems. proceedings of fourth brainstorming week on membrane computing, 133–143, 2006. [12] g. ciobanu, gh. păun, m.j. pérez-jiménez (eds.). applications of membrane computing, springer, natural computing series, 2006. [13] g. ciobanu, c. prisacariu. timers for distributed systems. electronic notes in theoretical computer science, vol.164(3), 81–99, 2006. [14] g. ciobanu, c. prisacariu. coordination by timers for channel-based anonymous communications. electronic notes in theoretical computer science, vol.175(2), 3–17, 2007. [15] r. freund, m. ionescu, m. oswald. extended spiking neural p systems with decaying spikes and/or total spiking. international journal of foundations of computer science, vol.19, 1223–1234, 2008. [16] j. e. hopcroft. an nlogn algorithm for minimizing the states in a finite automaton. the theory of machines and computations, academic press, 189–196, 1971. [17] o.h. ibarra, a. păun. computing time in computing with cells. lecture notes in computer science, vol.3892, 112–128, 2006. adding lifetime to objects and membranes in p systems 279 [18] h. lodish, a. berk, p. matsudaira, c. kaiser, m. krieger, m. scott, l. zipursky, j. darnell. molecular cell biology sixth edition. freeman, 2008. [19] d. molteni, c. ferretti, g. mauri. frequency membrane systems. computing and informatics, vol.27(3), 467–479, 2008. [20] h. nagda, a. păun, a. rodríguez-patón. p systems with symport/antiport and time. lecture notes in computer science, vol.4361, 463–476, 2006. [21] gh. păun. membrane computing. an introduction. springer, 2002. [22] web page of the p systems: http://ppage.psystems.eu. international journal of computers communications & control issn 1841-9836, 11(2):292-304, april 2016. numerical p systems with thresholds z. zhang, l. pan zhiqiang zhang key laboratory of image information processing and intelligent control, school of automation, huazhong university of science and technology, wuhan 430074, hubei, china zhiqiangzhang@hust.edu.cn linqiang pan* key laboratory of image information processing and intelligent control, school of automation, huazhong university of science and technology, wuhan 430074, hubei, china *corresponding author: lqpan@mail.hust.edu.cn abstract: numerical p systems are a class of p systems inspired both from the structure of living cells and from economics. in this work, a control of using evolution programs is introduced into numerical p systems: a threshold is considered and a program can be applied only when the values of the variables involved in the production function of the program are greater than/equal to (lower-threshold) or smaller than/equal to (upper-threshold) the threshold. the computational power of numerical p systems with lower-threshold or upper-threshold is investigated. it is proved that numerical p systems with a lower-threshold, with one membrane and linear production functions, working both in the all-parallel mode and in the one-parallel mode are universal. the result is also extended to numerical p systems with an upperthreshold, by proving the equivalence of the numerical p systems with lowerand upper-thresholds. keywords: membrane computing, numerical p system, computation power, universality, register machine. 1 introduction membrane computing is a branch of natural computing, which is inspired from the structure and functioning of living cells. the computing devices considered in membrane computing are called p systems. they are parallel, distributed and non-deterministic computational models. according to their membrane structure, there are two main classes of p systems: cell-like p systems, with a hierarchical arrangement of membranes [7], and tissue-like p systems or neurallike p systems, with a net of processor units placed in the nodes of a directed graph [3, 5]. the present work deals with a class of cell-like p systems, called numerical p systems [10]. numerical p systems are motivated by the cell structure and the economic reality. numerical variables are placed in the regions of a membrane structure. these variables can evolve by means of programs, which are composed of two components, a production function and a repartition protocol. a production value of the region at a given step is computed by means of the production function. this value is distributed to variables from the region where the program resides, and to variables in its upper and lower neighbors according to the repartition protocol. by a synchronized use of production functions, followed by the repartition of the obtained values, a transition is defined between system configurations. the values assumed by a distinguished variable during a computation form the set of numbers computed by the system. many computational properties of numerical p systems have been investigated at both the theoretical level and at the application level [4,9,10,12–17]. several strategies of using productionrepartition programs were considered: sequential (at each step, in each region, only one program copyright © 2006-2016 by ccc publications numerical p systems with thresholds 293 can be applied), all-parallel (all programs in a region of the membrane structure are used simultaneously, with each variable participating in all programs where it appears), one-parallel (the programs are chosen to be used in parallel in such a way that each variable participates in only one of the chosen programs). using a threshold is an interesting strategy of controlling the use of production-repartition programs. the idea was introduced in numerical p systems in [12], under the name of enzymatic control: a distinguished variable, called enzyme, is associated with each program and the program is applied only if the current value of the enzyme is not smaller than the smallest value of the variables involved in the production function of the program. the “enzymatic control" is useful in designing robot controllers based on numerical p systems [13–15]. we here introduce a related but different strategy, similar to the threshold control used in [18] for spiking neural p systems: rules can be used according to the result of the comparison of the number of spikes in the neuron with the constant, which corresponds to the fact that a neuron can fire when its potential is greater than or equal to its threshold. in our case, a constant is associated with the numerical p system and it is used as a control threshold in two natural ways: a program can be applied only when the values of the variables involved in the production function are not smaller than (the lower-threshold case), respectively not greater than (the upper-threshold case) the constant. the computational power of such p systems is investigated. specifically, it is proved that universality results can be obtained for such p systems with one membrane and linear production functions, working both in the all-parallel mode and in the one-parallel mode. the proof is done (by simulating register machines) only for lowerthresholds, then the result is extended to the case of upper-threshold by proving that numerical p systems with upper-thresholds can simulate systems with lower-thresholds. the possible usefulness of the threshold control remains to be examined for applications (in robot control). for the sake of applications, it could be useful to consider its stronger versions, such as taking different thresholds for different membranes or even for different programs in the system (maybe also mixing the way to use the thresholds, in the lower or upper ways). 2 preliminaries readers are assumed to be familiar with basic elements of membrane computing, e.g., from [7, 8, 11]. here we only mention some notions and notations which are used in this paper. we denote by n the set of natural numbers, and the set of real numbers is denoted by r. the family of all recursively enumerable sets of k-dimensional vectors of non-negative integers is denoted by ps(k)re. since numbers can be seen as one-dimensional vectors, we can replace ps(1) by n in the notation, thus obtaining nre. an n-register machine is a construct m = (n,p,m), where n > 0 is the number of registers, p is a finite sequence of instructions bijectively labeled with the elements of the set {0,1, . . . ,m}, 0 is the label of the first instruction to be executed, and m is the label of the halt instruction of p . registers contain non-negative integer values. the instructions of p have the following forms: • j : (inc(r),k, l), with 0 ≤ j < m,0 ≤ k,l ≤ m, and 1 ≤ r ≤ n. this instruction, labeled with j, increments the value contained in register r, then nondeterministically jumps either to instruction k or to instruction l. • j : (dec(r),k, l), with 0 ≤ j < m,0 ≤ k,l ≤ m, and 1 ≤ r ≤ n. if the value contained in register r is positive, then decrement it by 1 and jump to instruction k. if the value of r is zero, then jump to instruction l (without altering the content of the register). 294 z. zhang, l. pan • m: halt. a deterministic register machine is a register machine in which all inc instructions have the form j : (inc(r),k,k); we write these instructions simply as j : (inc(r),k). a register machine m generates a set n(m) of numbers in the following way: the machine starts with all registers being empty (i.e., storing the number zero); the machine applies the instruction with label 0 and continues to apply instructions as indicated by the labels (and made possible by the contents of registers); if it reaches the halt instruction, then the number present in register 1 at that time is said to be generated by m. if the computation does not halt, then no number is generated. it is known that register machines generate all sets of numbers which are turing computable, hence they characterize nre [6]. a register machine can also be used to compute functions. a function f : nα → nβ is computed by a register machine m if, when starting with n1 to nα in registers 1 to α, if f(n1, . . . ,nα) = (r1, . . . ,rβ), then m halts in the final label m with registers 1 to β containing r1 to rβ, and all other registers being empty; if f(n1, . . . ,nα) is undefined, then the final label of m is never reached. a register machine can also be used as an accepting device. a set n of numbers is accepted by a deterministic register machine m if, when starting with x ∈ n in register 1, m halts in the final label m with all registers being empty. the following propositions concerning the computational power of register machines are essential for the main results established in this work [1, 2, 6]. proposition 1. for any partial recursive function f: nα → nβ(α,β > 0), there exists a deterministic register machine m with (max{α,β}+ 2) registers computing f. proposition 2. for any recursively enumerable set n ⊆ ps(α)re of vectors of non-negative integers there exists a deterministic register machine m with (α + 2) registers accepting n. proposition 3. for any recursively enumerable set n ⊆ ps(β)re of vectors of non-negative integers there exists a non-deterministic register machine m with (β + 2) registers generating n. 3 numerical p systems with thresholds we introduce the class of numerical p systems to be investigated in this work. the definition is general, for the computing case. a numerical p system with a threshold is a construct π = (m,h,µ,t,(v ar1,pr1,v ar1(0)), . . . ,(v arm,prm,v arm(0)),v arin,v arout), where • m ≥ 1 is the number of membranes; • h is an alphabet of labels for membranes in µ; • µ is a rooted tree with q nodes labeled with the elements of h; • t is a constant, called threshold; • v ari, 1 ≤ i ≤ m, is the set of variables in region i; • v ari(0), 1 ≤ i ≤ m, is the set of initial values of the variables in region i; numerical p systems with thresholds 295 • pri, 1 ≤ i ≤ m, is the set of programs in region i; each program has the form fl,i(x1,i, . . . ,xki,i)|t → cl,i,1|vl,i,1 + · · ·+ cl,i,li|vl,i,li, where fl,i(x1,i, . . . ,xki,i) is the production function, and cl,i,1|vl,i,1 + · · ·+ cl,i,li|vl,i,li is the repartition protocol of the program; • v arin and v arout are the sets of input and of output variables, respectively. the programs allow the system to evolve the values of variables during computations. each program is composed of two parts: a production function and a repartition protocol. the former can be any function using variables from the region that contains the program. only polynomial functions are considered here. by using the production functions in each region, the system computes a production value from the values of its variables at that time. this value is distributed to variables from the region where the program resides, and to variables in its upper (parent) and lower (children) compartments, as specified by the repartition protocol. the programs are applied under the control of the threshold t , according to two strategies: bounding the values of variables from below (lower-threshold) and bounding them from above (upper-threshold). more precisely, in the first case a program can be applied only when the current value of each variable from its production function is greater than or equal to the threshold t . dually, in the upper-threshold case, a program can be applied only when the current value of each variable from its production function is smaller than or equal to the threshold t . the repartition of the “production" takes place as follows. for a repartition protocol rpl,i, variables vl,i,1, . . . ,vl,i,li come from the membrane i where the program resides, the parent membrane and the children membrane. formally, {vl,i,1, . . . , vl,i,li}⊆ v ari∪v arpar(i)∪( ∪ ch∈ch(i) v arch), where par(i) is the parent of membrane i and ch(i) is the set of children of membrane i. the coefficients cl,i,1, . . . ,cl,i,li are natural numbers (they may be also 0, in which case the terms “+0|x" are omitted), which specify the proportion of the current production value distributed to each variable vl,i,1,. . . ,vl,i,li . at time t, if we denote with cl,i = li∑ s=1 cl,i,s the sum of all coefficients of the repartition protocol, and denote with ql,i(t) = fl,i(x1,i(t), . . . ,xki,i(t)) cl,i (1) the “unitary portion", then the value adl,i,r(t) = ql,i(t)·cl,i,r represents the value added to variable vl,i,r. if variable vl,i,r appears in several repartition protocols, for example, rpl1,i1, . . . ,rplk,ik , all these values adl1,i1,r, . . . ,adlk,ik,r are added to variable vl,i,r. after computing the production function value, the variables involved in the production function are reset to zero. so, if at time t variable vl,i,r is involved in at least one production function, its value at time t+1 is vl,i,r(t+1) = k∑ s=1 adls,is,r(t); otherwise, vl,i,r(t + 1)=vl,i,r(t) + k∑ s=1 adls,is,r(t). such a system evolves in the all-parallel mode (at each step, in each membrane, all programs which can be applied are applied, allowing that more than one program share the same variable) or in the one-parallel mode (apply programs in the all-parallel mode with the restriction that one variable can appear in only one of the applied programs). a configuration represents the values of all system’s variables at a given computation step. initially, the variables have the values specified by v ari(0),1 ≤ i ≤ m. using the programs in the way mentioned above, a transition of the system from a configuration to the next one is defined. a sequence of such transitions forms a computation. if no program in each region can be applied, we say that the system reaches a halting configuration. 296 z. zhang, l. pan in this way, a numerical p system can compute a function f: nα → nβ(α,β ≥ 0): the α values of the arguments are introduced in the system as the initial values of variables in v arin and the β-vector of the function value is obtained in the variables from v arout in the halting configuration of the system. if the system never reaches a halting configuration, then no result is obtained. by ignoring the input variables, (non-deterministic) numerical p systems with thresholds can also be used in the generating mode, whereas by ignoring the output variables we can use (deterministic or non-deterministic) numerical p systems with thresholds in the accepting mode. note that qj,i(t) are integers only if the value of the production functions fj,i(x1,i(t), . . . ,xki,i(t)) is divisible by the respective sums cj,i(t). if at any step, all the values of the production functions are divisible by the respective sums, we associate this kind of systems with the notation div. if a current production is not divisible by the associated coefficients total, then we can take the following decisions [10]: (i) the remainder is lost (the production which is not immediately distributed is lost), (ii) the remainder is added to the production obtained in the next step (the non-distributed production is carried over to the next step), (iii) the system simply stops and aborts, no result is associated with that computation. we denote these three cases with lost, carry, stop, respectively. in this paper, the numerical p systems with thresholds that we construct are of the div type. the set of natural numbers generated or accepted in the way mentioned above by a system π is denoted by nα(π),α ∈{gen,acc}. we use nαtγpdm (polyn(r),β) to denote the family of all sets nα(π) of numbers computed by systems π working in α mode, with at most m membranes, production functions which are polynomials of degree at most n, with integer coefficients, with at most r variables in each polynomial, using the rules in the mode β ∈{all,one}, where all stands for all-parallel, and one stands for one-parallel, and with the threshold used in the γ ∈ {l,u} way, with l indicating the lower-threshold case and u indicating the upper-threshold case; the letter d indicates the use of deterministic systems (we remove d when the systems may also be non-deterministic). if one of the parameters m,n,r is not bounded, then we replace it with ∗. 4 the universality of numerical p systems with lower-thresholds in this section, we investigate the computational power of numerical p systems with lowerthresholds working in the all-parallel mode and in the one-parallel mode. theorem 4. each partial recursive function f : nα → nβ (α > 0,β > 0) can be computed by a deterministic numerical p system with a lower-threshold, with only one membrane, using linear production functions that use each at most three variables, and working in the all-parallel mode. proof: let m = (n,p,m) be a deterministic register machine with n registers, computing function f. the initial instruction of m has the label 0 and the machine halts only if the instruction with label m is reached. according to proposition 1, n = max{α,β} + 2 is enough. before the computation starts, let us assume that the values of the first α registers are equal to r1, . . . ,rα. when the computation halts, the values stored in the registers 1, . . . ,β are the values computed by f(r1, . . . ,rα). we construct the following numerical p system with a lower-threshold: πm = (1,{0}, [0 ]0,1,(v ar0,pr0,v ar0(0)),v arin,v arout), where • v ar0 = {xi,1,xi,2,pj | 1 ≤ i ≤ n,0 ≤ j ≤ m}; numerical p systems with thresholds 297 • v ar0(0) is the vector of initial values of the variables, with: – xi,1 = xi,2 = ri, for all 1 ≤ i ≤ α; – xi,1 = xi,2 = 0, for all 1 + α ≤ i ≤ n; – pj = 0, for all 0 ≤ j ≤ m with the exception of p0 = 1; • pr0 = {3pj|1 → 1|xi,1 + 1|xi,2 + 1|pk, for all instructions j : (inc(i),k) ∈ p} ∪ {pj|1 → 1|pl, xi,1 −xi,2 −pj|1 → 1|pl, xi,1 −xi,2 + pj|1 → 1|pk, 2(xi,1 −pj)|1 → 1|xi,1 + 1|xi,2, for all instructions j : (dec(i),k, l) ∈ p}; • v arin = {x1,i, . . . ,xα,i | 1 ≤ i ≤ 2}; • v arout = {x1,1, . . . ,xβ,1}. note that the threshold is equal to 1. the value of register i (1 ≤ i ≤ n) is encoded by variables xi,1 and xi,2. the values of xi,1 and xi,2 are always equal. the input values r1, . . . ,rα are set as the initial values of variables x1,i, . . . ,xα,i 1 ≤ i ≤ 2, respectively. variables p0, . . . ,pm are used to indicate the instruction to be simulated. during the computation, the values of p0, . . . ,pm are equal to 1 or 0 (at most one of them is equal to 1 in each step, and this indicates that the system starts to simulate the corresponding instruction of m). the increment instruction j : (inc(i),k) is simulated by the program 3pj|1 → 1|xi,1 + 1|xi,2 + 1|pk in one step. when pj = 0, the program cannot be applied because the value of pj is smaller than the threshold 1. when pj = 1, the program can be applied since the value of pj is equal to the threshold. after the application of this program, each of the variables xi,1,xi,2,pk obtains a portion 1, and variable pj is reset to zero. variable pk = 1 indicates that the instruction labeled k will be simulated at the next step, the increment of variables xi,1,xi,2 corresponds to the increase of the number stored in register i by 1. so, the increment instruction j : (inc(i),k) has been correctly simulated. the decrement instruction j : (dec(i),k, l) is simulated in one step by the following four programs: pj|1 → 1|pl, (2) xi,1 −xi,2 −pj|1 → 1|pl, (3) xi,1 −xi,2 + pj|1 → 1|pk, (4) 2(xi,1 −pj)|1 → 1|xi,1 + 1|xi,2. (5) when a decrement instruction j : (dec(i),k, l) starts to be simulated, which means that pj = 1, there are the following two cases. • pj = 1, xi,1 = xi,2 = 0. in this case, only program (2) satisfies the threshold condition. after applying program (2), variable pj is set to zero, and variable pl receives a contribution 1, which indicates the next instruction to be simulated. programs (3)–(5) cannot be applied since variables xi,1 and xi,2 are zero (smaller than the threshold 1). hence the values of xi,1 and xi,2 are not changed, and the computation continues with the simulation of instruction l of register machine m. • pj = 1, xi,1 = xi,2 ≥ 1. in this case, all the four programs satisfy the threshold condition, thus all of them can be applied. program (4) transfers the production value 1 to variable pk, which indicates the next instruction k to be simulated. by using program (5), variables xi,1 298 z. zhang, l. pan and xi,2 are decreased; their values are first zeroed and each of them receives a contribution of their former value minus one. the role of program (3) is to cancel the effect of program (2). program (2) transfers the value of pj to pl, thus pl gets a contribution of 1, which is canceled by program (3) by sending a contribution of −1 to pl. hence the values of variables xi,1 and xi,2 are decremented by one and the next instruction to be simulated is the one labeled with k. after the simulation of any instruction of m, the values of both variables xi,1 and xi,2 are equal to the contents of register i (1 ≤ i ≤ n), while only one of variables p0, . . . ,pm is equal to 1, indicating the next instruction of m to be simulated. when m reaches the halt instruction, the corresponding value of variable pm is equal to 1. since no program contains the variable pm in the production function, πm reaches a final configuration; the result of the computation is the values of variables x1,1, . . . ,xβ,1. 2 according to proposition 2, for any recursively enumerable set n ⊆ ps(α)re of vectors of non-negative integers there exists a deterministic register machine m with (α + 2) registers accepting n. for this register machine m, following the proof in theorem 4, we can construct a numerical p system with a lower-threshold that accepts n. so, the following corollary holds. corollary 5. ps(α)re = nacctlpd1 (poly 1(3),all). for numerical p systems with lower-thresholds working in the one-parallel mode, the following similar results hold. theorem 6. each partial recursive function f : nα → nβ (α,β > 0) can be computed by a onemembrane numerical p system with a lower-threshold working in the one-parallel mode, having linear production functions that use each at most five variables. proof: we proceed like in the proof of theorem 4, with the difference that here we simulate both deterministic and non-deterministic register machines. let m = (n,p,m) be a non-deterministic register machine with n = max{α,β}+2 registers, computing the function f. as usual, the input values r1, . . . ,rα are stored in the first α registers before the computation starts, with all the other registers being empty. when the computation halts, the values f(r1, . . . ,rα) will be found in registers 1, . . . ,β. the numerical p system with a lower-threshold to simulate register machine m is constructed as follows. πm = (1,{0}, [0 ]0,1,(v ar0,pr0,v ar0(0)),v arin,v arout), where • v ar0 = {pj,g,xi,g | 1 ≤ g ≤ 5, 1 ≤ i ≤ m,0 ≤ j ≤ n}; • v ar0(0) is the vector of initial values of the variables, with: – xi,g = ri, for all 1 ≤ i ≤ α,1 ≤ g ≤ 5; – xi,g = 0, for all 1 + α ≤ i ≤ n,1 ≤ g ≤ 5; – pj,g = 0, for all 0 ≤ j ≤ m,1 ≤ g ≤ 5; – p0,g = 1, for all 1 ≤ g ≤ 5; numerical p systems with thresholds 299 • pr0 = {2 ∑5 g=1 pj,g|1 → ∑5 g=1 1|xi,g + ∑5 g=1 1|pk,g, 2 ∑5 g=1 pj,g|1 → ∑5 g=1 1|xi,g + ∑5 g=1 1|pl,g; for all instructions j : (inc(i),k, l) ∈ p} ∪ {5(xi,1 −pj,1)|1 → ∑5 g=1 1|xi,g, 8(xi,2 −xi,3 + pj,2)|1 → ∑5 g=1 1|pk,g + ∑3 g=1 1|pj,g, −5(xi,4 −xi,5 + pj,3)|1 → ∑5 g=1 1|pl,g, 5pj,4|1 → ∑5 g=1 1|pl,g, −3pj,5|1 → ∑3 g=1 1|pj,g; for all instructions j : (dec(i),k, l) ∈ p}; • v arin = {xi,g | 1 ≤ g ≤ 5,1 ≤ i ≤ α}; • v arout = {x1,1, . . . ,xβ,1}. in order to ensure that at each step only one variable can appear in the production functions of the applied programs, the value of register i (1 ≤ i ≤ n) is contained in five variables xi,g1 ≤ g ≤ 5, and the system uses five variables pi,g,1 ≤ g ≤ 5, to control the simulation of the instruction with label i of register machine m (in the following, for brevity, we use xi,g and pi,g to represent all the five variables for 1 ≤ g ≤ 5, respectively). during the computation, variables xi,g are always equal to each other, and the same holds for variables pi,g. the input values ri (1 ≤ i ≤ α) are introduced into the system as the initial values of variables xi,g (1 ≤ i ≤ α), respectively. when the instruction i is simulated, all the five variables pi,g are equal to 1, while all the others are zero. the simulation of an increment instruction j : (inc(i),k, l) is done in one step by the following two programs: 2 5∑ g=1 pj,g|1 → 5∑ g=1 1|xi,g + 5∑ g=1 1|pk,g, (6) 2 5∑ g=1 pj,g|1 → 5∑ g=1 1|xi,g + 5∑ g=1 1|pl,g. (7) if pj,g = 0, then programs (6) and (7) cannot be executed since the values of variables pj,g = 0 are smaller than the thresholds 1. if pj,g = 1, then only one of programs (6) and (7) can be applied because their production functions share the same variables (the system works in the one-parallel mode). if program (6) (resp., program (7)) is applied, then variable xi,g is increased by one, setting pk,g (resp., pl,g) to 1, thus the system starts to simulate instruction k (resp., instruction l), and resetting variables pj,g to zero. if m is deterministic, then the simulation of the instruction j : (inc(i),k) is performed by using the program (6). in this case, no competition occurs between the programs, and so the simulation is deterministic. the simulation of a decrement instruction j : (dec(i),k, l) is done in one step by the 300 z. zhang, l. pan following five programs: 5(xi,1 −pj,1)|1 → 5∑ g=1 1|xi,g, (8) 8(xi,2 −xi,3 + pj,2)|1 → 5∑ g=1 1|pk,g + 3∑ g=1 1|pj,g, (9) −5(xi,4 −xi,5 + pj,3)|1 → 5∑ g=1 1|pl,g (10) 5pj,4|1 → 5∑ g=1 1|pl,g, (11) −3pj,5|1 → 3∑ g=1 1|pj,g. (12) if pj,g = 0, then programs (8)–(12) cannot be applied, because pj,g = 0 are smaller than the threshold. so, when pj,g = 0, no undesirable simulation steps can appear. if pj,g = 1,xi,g = 0, then the values of xi,g should remain unchanged, and the computation should jump to the simulation of instruction l, which is realized by programs (11) and (12) in one step. (note that in this case programs (8) – (10) cannot be applied, for the values of xi,g are smaller than the thresholds.) the effect of program (11) is to reset variables pj,4 to zero and to give a contribution 1 to each of variables pl,g, whose values are 1 after the application of this program, thus correctly simulating the passing to instruction l. at the same time, program (12) is applied, the role of which is to set all the variables pj,g (g ̸= 4) to zero. variable pj,5 appears in the production function, so its initial value is canceled, and it receives no contribution, hence its final value is zero. for variables pj,1, pj,2 and pj,3, their initial values are 1 and receive contribution −1, hence their final values are zero, which is also correct. if pj,g = 1,xi,g ≥ 1, then the values of xi,g should be decremented and the computation should proceed to the simulation of instruction k. in this case, all the five programs (8)–(12) can be applied. programs (8) and (9) decrement the values of xi,g and increment the values of pk,g by 1. the other programs have auxiliary roles. note that all the variables pj,g and xi,g appear in the production functions of programs (8)–(12), so their values are first reset to zero, and their final values will be the sum of all the contributions they receive. variables xi,g only appear in the repartition protocol of program (8), which gives a contribution of their initial value minus 1, thus correctly decrementing their values by one. variables pj,1, pj,2 and pj,3 receive a contribution 1 from program (9) and a contribution −1 from program (12), thus their values will be equal to 0. variables pj,4 and pj,5 do not appear in any repartition protocol of programs (8) – (12), thus their final values are zero. the role of program (10) is to cancel the effect of program (11). program (11) sends a contribution 1, and simultaneously program (10) sends a contribution −1, to each of variables pl,g, whose final values are hence equal to 0. each of variables pj,g receives a contribution 1, thus their final values are 1, which is also correct. after the simulation of each instruction of m, all the variables xi,g are equal to the contents of register i (1 ≤ i ≤ n), while the variables pj,g (0 ≤ j ≤ m) correctly indicate the next instruction of m to be simulated. when the program counter of m reaches the value k, the corresponding values of variables pk,g is equal to 1. when the program counter of m reaches the value m, the corresponding values of variables pm,g are equal to 1. since no program contains variables pm,g in the production function, πm reaches a halting configuration; the result of the computation is values of variables x1,1, . . . ,xβ,1. 2 numerical p systems with thresholds 301 according to propositions 2 and 3, for any recursively enumerable set n ⊆ ps(α)re of vectors of non-negative integers there exists a deterministic (or non-deterministic) register machine m with (α + 2) registers accepting (generating, respectively) n. for this register machine m, following the proof in theorem 6, we can construct a deterministic (or non-deterministic) numerical p system with a lower-threshold that accepts (or generates, respectively) n. corollary 7. ps(α)re = ngentlp1(poly1(5),one) = nacctlpd1 (poly 1(5),one). in conclusion, we obtain the following characterizations of nre. theorem 8. nre = nacctlpd1 (poly 1(3),all) = ngentlp1(poly 1(5),one) = = nacctlp d 1 (poly 1(5),one). proof: the first equation can be obtained according to corollary 5, where α = 1. similarly, letting α = 1 in corollary 7, we can obtain the last two equations. 2 5 the universality of numerical p systems with upper-thresholds in this section we prove that the computational power of numerical p systems with upperthresholds (for short, utnp systems) is equivalent with that of numerical p systems with lowerthresholds (for short, ltnp systems). lemma 9. for any numerical p system with a lower-threshold πl, there is a p system πu with an upper-threshold, with the same variables, such that the corresponding variables of πl and πu have equal values but of opposite sign. proof: let πl be a numerical p system with a lower-threshold of the form considered in the previous sections. we construct a numerical p system with an upper-threshold πu in the following way. πu has the same membrane structure as πl. in the same membrane, the two systems have the same variables. the initial values of variables in πu is the same as in πl multiplied with −1. similarly, for the thresholds of the two systems (they are equal, but of opposite signs). for a program fl(x1, . . . ,xi)|t → c1|v1 + · · ·+ cl|vl in πl, we introduce in πu the program fu(x1, . . . ,xi)|−t → c1|v1 + · · ·+ cl|vl, where fu(x1, . . . ,xi) is constructed as follows: • if the production function fl(x1,x2, . . . ,xn) is an odd function, that is, fl(−x1,−x2, . . . ,−xn) = −fl(x1,x2, . . . ,xn), then fu(x1,x2, . . . ,xn) = fl(x1,x2, . . . ,xn); • if the production function fl(x1,x2, . . . ,xn) is an even function, that is, fl(−x1,−x2, . . . ,−xn) = fl(x1,x2, . . . ,xn), then fu(x1,x2, . . . ,xn) = −fl(x1,x2, . . . ,xn); 302 z. zhang, l. pan • if the production function fl(x1,x2, . . . ,xn) is neither an even function nor an odd function, then it can be expressed as the addition of an even function with an odd function, that is, fl(x1,x2, . . . ,xn) = fl(x1,x2, . . . ,xn) + fl(−x1,−x2, . . . ,−xn) 2 + fl(x1,x2, . . . ,xn)−fl(−x1,−x2, . . . ,−xn) 2 , and then fu(x1,x2, . . . ,xn) = − fl(x1,x2, . . . ,xn) + fl(−x1,−x2, . . . ,−xn) 2 + fl(x1,x2, . . . ,xn)−fl(−x1,−x2, . . . ,−xn) 2 = −fl(−x1,−x2, . . . ,−xn). based on the previous construction of the utnp system πu, we can get that, if the two systems are deterministic, working in the all-parallel mode, then at any step, the program in πl and its corresponding program in πu can simultaneously be applied or cannot be applied, and the two production functions have equal values but of opposite signs. thus at any step the variable in the two systems get equal contributions but of opposite signs; this is true also for the initial values, hence always the values of variables are equal but of opposite signs. the systems halt simultaneously. in conclusion, no matter whether πl,πu work in computing mode or in generating mode, this lemma holds true. 2 corollary 10. ps(α)re = nacctupd1 (poly 1(3),all). proof: according to proposition 2, for any recursively enumerable set n ⊆ ps(α)re of vectors of non-negative integers there exists a deterministic register machine m with (α + 2) registers accepting n. for this register machine m, following the proof in theorem 4, we can construct a numerical p system with a lower-threshold πm that accepts n. for πm , according to lemma 9, we can construct an utnp system πu with “contrary" configurations (equal values of variables, but of opposite signs). now we add the programs 1 + pm −xi,1|−1 → 1|xi,1, 1 ≤ i ≤ β. (13) to πu thus obtaining a new utnp system π′u. the initial value of pm is 0, hence programs (13) cannot be applied. as long as pm = 0, there is no difference between the functioning of π′u and πu. when pm is equal to −1, πu reaches a halt configuration, while π′u continues executing program (13). the effect of programs (13) is transforming the variables xi,1 ≤ −1 to their contrary. thus the system π′u has the same output as πm . 2 in a similar way to the proof of corollary 7, we can prove the following corollary. corollary 11. ps(α)re = ngentup1(poly1(5),one) = nacctupd1 (poly 1(5),one). if we set α = 1 in corollary 10 and corollary 11, then we can get the following characterizations. theorem 12. nre = nacctupd1 (poly 1(3),all) = ngentup1(poly 1(5),one) = = nacctup d 1 (poly 1(5),one). numerical p systems with thresholds 303 6 conclusions and discussions in this work, we have introduced thresholds into numerical p systems, and the computational power of such p systems has been investigated. specifically, we proved that universality can be obtained for such p systems with one membrane and linear production functions working both in the all-parallel mode and in the one-parallel mode. the rules of numerical p systems with thresholds constructed in section 4 are applied in the all-parallel mode and in the one-parallel mode, respectively. it remains open what the computational power of numerical p systems with thresholds working in the sequential mode is. in this work, the polynomial functions used in numerical p systems with the two kinds of thresholds have at most 3 variables for all-parallel systems and 5 variables for one-parallel systems. it is a natural question whether the number of variables can be decremented. the thresholds are used in the sense of lower-bounds and upper-bounds. other ways to use the thresholds could be of interest, for example, applying a program only if the values of all (or part of) the variables are strictly greater (or smaller) than the threshold. numerical p systems and enzymatic numerical p systems have already been used in robot control [4, 10, 16, 17]. it remains to check whether numerical p systems with thresholds are also useful for such applications. acknowledgements this work was supported by national natural science foundation of china (61320106005 and 61472154), ph.d. programs foundation of ministry of education of china (2012014213008), natural science foundation of hubei province (2011cda027), and the innovation scientists and technicians troop construction projects of henan province (154200510012). bibliography [1] freund, r.; oswald, m. (2002); gp systems with forbidding context. fundamenta informaticae 49(1-3), 81–102. [2] freund, r.; păun, g. (2001); on the number of non-terminal symbols in graph-controlled, programmed and matrix grammars. in: machines, computations, and universality, 3rd internat. conf., mcu, lecture notes in computer science, vol. 2055, springer, berlin, 214–225. [3] ionescu, m.; păun, g., yokomori; t. (2006); spiking neural p systems. fundamenta informaticae 71(2-3), 279–308. [4] leporati, a.; porreca, a.e.; zandron, c.; mauri, g. (2013); improving universality results on parallel enzymatic numerical p systems. proc. 11th brainstorming week on membrane computing, sevilla, 4–8. [5] martín-vide, c.; pazos, j.; păun, gh.; rodriguez-paton, a. (2003); tissue p systems. theoretical computer science 296(2), 295–326. [6] minsky, m.l. (1967); computation: finite and infinite machines. prentice-hall, inc., englewood cliffs, new jersey. [7] păun, g. (2000); computing with membranes. journal of computer and system sciences 61(1), 108–143. 304 z. zhang, l. pan [8] păun, g. (2002); membrane computing–an introduction. springer-verlag, berlin. [9] păun, g. (2013); some open problems about numerical p systems. proc. 11th brainstorming week on membrane computing, sevilla, 245–252. [10] păun, g.; păun, r. (2006); membrane computing and economics: numerical p systems. fundamenta informaticae, 73(1), 213–227. [11] păun, g.;rozenberg, g.; salomaa a.(eds.)(2010); the oxford handbook of membrane computing. oxford university press, new york. [12] pavel, a.b.; arsene, o.; buiu, c. (2010); enzymatic numerical p systems–a new class of membrane computing systems. in: ieee fifth international conference on bioinspired computing: theories and applications (bic-ta), 1331–1336. [13] pavel, a.b.; buiu, c. (2012); using enzymatic numerical p systems for modeling mobile robot controllers. natural computing 11(3), 387–393. [14] pavel, a.b.; vasile, c.i.; dumitrache, i. (2012); robot localization implemented with enzymatic numerical p systems. in: biomimetic and biohybrid systems, springer, 204– 215. [15] pavel, a.b.; vasile, c.i.; dumitrache, i. (2013); membrane computing in robotics. in: beyond artificial intelligence, springer, berlin, 125–135. [16] vasile, c.i.; pavel, a.b.; dumitrache, i. (2013); universality of enzymatic numerical p systems. international journal of computer mathematics 90(4), 869–879. [17] vasile, c.i.; pavel, a.b.; dumitrache, i.; păun, g. (2012); on the power of enzymatic numerical p systems. acta informatica 49(6), 395–412. [18] wang, j.; hoogeboom, h.j.; pan, l.; păun, g.; pérez-jiménez, m.j. (2010); spiking neural p systems with weights. neural computation 22(10), 2615–2646. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 229-240 a proposed genetic algorithm coding for flow-shop scheduling problems hela boukef, mohamed benrejeb, pierre borne abstract: a new genetic algorithm coding is proposed in this paper to solve flowshop scheduling problems. to show the efficiency of the considered approach, two examples, in pharmaceutical and agro-food industries are considered with minimization of different costs related to each problem as a scope. multi-objective optimization is thus, used and its performances proved. keywords: genetic algorithm, operations coding, flow-shop problems, multiobjective optimization, pharmaceutical industries, agro-food industries. 1 introduction in shop scheduling, there are three basic models classified according to the structure of a processing route: • the job-shop scheduling problem is an operation sequencing problem on multiple machines subject to some precedence constraints among the operations, • the flow-shop scheduling problem is a set of jobs that flow through multiple stages in the same order, • the open-shop scheduling problem is a problem where the workshop has several resources and the routing of all the operations is free. in pharmaceutical and agro-food industries, the tasks execution needs the use of several resources in a single order. it is thus about a flow-shop problem. flow-shop problems have received considerable attention from researchers during the last decades and the scheduling criterion most frequently used was the maximum completion time [3],[7], [4], [21], [15], [26]... however, the analysis of the performance of a schedule often involves more than one aspect and therefore requires a multi-objective treatment [8], [17], [25]. the aim of multi-objective optimization is to deal with many criteria at the same time. this paper is focused on minimizing the total costs related to manufacturing and delivery processes. to solve this kind of problems, the exact methods and the approached methods can be applied. the exact methods, such as branch and bound [1] and linear programming methods [23], concern small size problems at the contrary of approached methods, such as tabu search [10], simulated annealing [16], genetic algorithms [13] and ants colony methods [6], that concern big size ones [14]. in this paper, we focus on the use of genetic algorithms method. the principle scope of this method, based on natural selection mechanism, is the improvement of robustness and balance between cost and performance [11]. the genetic algorithms became famous due to their efficiency in solving combinatory optimization problems [19]. their application fields are very important. they vary from complex real application such as pipelines flow control or robot planning path to theoretical combinatory problems. the paper is organized as follows. first, the notations are introduced. section 2 deals with the presentation and formulation of pharmaceutical and agro-food scheduling problems. section 3 tackles the choice of the use of multi-objective evaluation. section 4 handles with the presentation of genetic copyright © 2006-2007 by ccc publications 230 hela boukef, mohamed benrejeb, pierre borne algorithms and the proposed structured coding of list operations. in section 5, two examples, concerning agro-food and pharmaceutical industries scheduling, are treated by using this algorithm. notations : pi : finished product after operation oi pik : conditioning time of oi on machine k cpik : ending processing time ofpi on machine k dlivpi : delivery date of pi cstkpi : storage cost by time unit of pi for pharmaceutical industries: t pik : preparation time on machine kbefore oi t arrik : stoppage time during oion machine k ctotprod : total production cost cuk : production cost by time unit on machine k donettik : cleaning operations time on machine k doch fik : size changing operations time on machine k crdi : costs of distribution delays of pi c fi : manufacturing cost of pi for agro-food industries: ti : effective start time of manufacturing oi ri : earliest start time of oi γi : effective end time of oi cik : kthcomponent from the whole components of oi vik : limit validity date of a component cik dvpi : lifespan of pi drpi : back delay of pi previk : income of a component cik pvenpi : unit sale price of pi 2 presentation and formulation of pharmaceutical and agro-food scheduling problem 2.1 pharmaceutical industries scheduling case in pharmaceutical industries, many problems can appear in production workshop. several operations of cleaning and format changes have to be managed jointly with the manufacturing operations. the unproductive times generated by these operations are rather significant, taking into account the fact that the time launching of a product manufacturing depends on that which precede it. from a product to another, the change involves certain modifications on the level of each machine. these problems can brake the beginning of the production and delay its end. moreover, stoppage time due to machines break down, and production time are as many factors that breed important production costs [2]. costs of distribution delays can also be calculated taking account of storage costs, date of production and end delivery date. let consider objective functions f1 and f2. they represent the minimization of total cost of production, ctotprod , and the minimization of distribution delays cost of the product pi, crdi . a proposed genetic algorithm coding for flow-shop scheduling problems 231 the total cost of production has the following global expression: ctotprod = ∑ 1< j, where r is a petri net and is′ : t → (q+)×(q+ ∪+∞) [10]. time disturbances and filtering of sensors signals in tolerant multi-product job-shops with time constraints 63 definition 2. interpreted t-time petri net is a t-time petri net including an operative part whose state is defined by a set of variables. this state is modified by the operations associated to the places. it determines the value of the conditions (predicates) which are associated to the transitions. the mechanism of watchdog is easily represented by an interpreted t-time petri net. for example, figure 2 shows the detection of a normal state and an abnormal one. if the sensor signal arrives in [tm, tm[, the system is in a normal state. if the sensor signal arrives at the instant tm , the system is in an abnormal one. p2 t1 p1 t2 p3 [tm, tm[*cri [tm, tm]*cri normal state abnormal state figure 2: watchdog mechanism with interpreted t-time petri net within the framework of the robustness integration in the supervision of manufacturing systems with time constraints, we define, figure 3, five time intervals namely: i1i = [∆tm′′/cri , ∆tm′/cri [, i2i = [∆tm′/cri , ∆tm/cri [, i3i = [∆tm/cri , ∆tm/cri [, i4i = [∆tm/cri , ∆tm′/cri [ and i5i = [∆tm′/cri , ∆tm′′/cri [. the margin of passive robustness is available in (i2i ∪i4i) whereas the margin of active robustness is in (i1i ∪ i5i). from a functional point of view, there are three intervals of use in which it is possible to prove the validity: interval of normal functioning, interval of passive robustness and interval of active robustness. in the case of an abnormal functioning, there is always duality of advance and delay scenarios. the adopted filtering mechanism is described by the interpreted t-time petri net of the figure 4. several cases can arise [11]. • if there are absence of order (not ai) and presence of cri, there are freezing of the control and generation of a symptom s2i (place p3). • if the sensor signal cri arrives in the time interval [0, ∆tm′′/cri [, there are freezing of the control and generation of a symptom s2i (place p3). • if the sensor signal cri arrives in the time interval i1i = [∆tm′′/cri , ∆tm′/cri [, there are change of the control (active robustness to an advance) and memorizing a symptom s2i (place p4). • if the sensor signal cri arrives in the time interval i2i = [∆tm′/cri , ∆tm/cri [, there is no change of the control (passive robustness to an advance) but only a memorizing of a symptom s2i (place p5). • if the sensor signal cri arrives in the time interval i3i = [∆tm/cri , ∆tm/cri [, the behavior of the system is normal (place p6). 64 nabil jerbi, simon collart dutilleul, etienne craye, mohamed benrejeb ai (start-event) time ∆tm/cri ∆tm/cri cri (normal functioning) ∆tm’/cri ∆tm’’/cri ∆tm’/cri ∆tm’’/cri 0 normal functioning interval passive robustness interval active robustness interval figure 3: robustness integration in the operation associated model • at the instant ∆tm/cri (transition t7), there is automatically memorizing of a symptom s1i (place p7). • if the sensor signal cri arrives in the time interval i4i = [∆tm/cri , ∆tm′/cri [, it is a case of passive robustness to a delay (place p8). the symptom s 1 i is already memorized (place p7). • if the sensor signal cri arrives in the time interval i5i = [∆tm′/cri , ∆tm′′/cri [, a change of the control is necessary (active robustness to a delay, place p9). • at the instant ∆tm′′/cri (transition t10), there is freezing of the control (place p10). 3 localization of time disturbances in a given topology when, for example, the filtering mechanism executes a control freezing, it is necessary to know where the initial disturbance was occurred. this task is performed on a model of the workshop which uses p-time petri net in order to integrate the staying time constraints in its structure. this aspect is presented in the following section. 3.1 controlled p-time petri net the formal definition of a p-time petri net is given by a pair < r; is >, where [12]: • r is a marked petri net, • is : p → (q+ ∪0)×(q+ ∪+∞) pi → isi = [ai, bi] with 0 ≤ ai ≤ bi. isi defines the static interval of staying time of a mark in the place pi belonging to the set of places p (q+ is the set of positive rational numbers). a mark in the place pi is taken into account in transition validation when it has stayed in pi at least a duration ai and no longer than bi. after the duration bi the token will be dead. using [15], controlled p-time petri net is defined as a quadruplet rpc = (rp, ϕ , u , u0) such that: • rp is a p-time petri net which describes the opened loop system, time disturbances and filtering of sensors signals in tolerant multi-product job-shops with time constraints 65 p1 p5 p7 p4 p9 p3 p10 p8 p6 p2 t1 t2 t3 t11 t13 t5 t7 t6 t9 t10 t14 t12 t16 t17 t15 t4 normal functioning passive robustness active robustness control freezing generation s 2 i and active robustness generation s 2 i and control freezing generation s 2 i and passive robustness generation s 1 i ai*cri cri [0, ∆tm’’/cri[*cri i2i*cri i1i*cri i3i*cri [∆tm/cri, ∆tm/cri] [0, ∆tm’/cri–∆tm/cri[*cri [∆tm’’/cri–∆tm/cri, ∆tm’’/cri–∆tm/cri] [∆tm’/cri–∆tm/cri, ∆tm’’/cri–∆tm/cri[*cri t8 figure 4: robustness integration in the filtering mechanism of sensors signals 66 nabil jerbi, simon collart dutilleul, etienne craye, mohamed benrejeb • ϕ is an application from the set of places (p) toward the set of operations (γ): ϕ : p → γ, • u is the external control of the set of transitions (t ) built on the predicates using the occurrence of internal or external observable events of the system: u : t → {0, 1}, • u0 is the initial value of the predicate vector. let us denote by: • to : the set of observable transitions, • tu o : the set of non observable transitions, • ts : the set of synchronization transitions, • tns : the set of non synchronization transitions, • tp : the set of parallelism transitions, • t◦i (resp. ◦ti) : the output (resp. the input) places of the transition ti, • p◦i (resp. ◦ pi) : the output (resp. the input) transitions of the place pi, • qie : the expected sojourn time of the token in the place pi, • ste(n) : the nnd expected firing instant of the transition t, • st(n) : the nnd effective firing instant of the transition t. 3.2 functional decomposition a workshop in repetitive functioning mode is modeled by a strongly connected event graph (sceg) [13]. performances of a sceg running in mono-periodic functioning mode are proved to be the same as when using the k-periodic functioning [13]. consequently, a mono-periodic functioning is used in order to decrease the complexity of the supervisory problem [14]. in this case, for each transition t, ste(n + 1) = ste(n) + π0 where π0 is the period of the periodic functioning of the given discrete event system. in this paper, the scheduling task is supposed to be done. therefore, the sceg corresponding to the system is provided. moreover, the setting of transitions firing instants is fixed too. as the sojourn times in places have not the same functional signification when they are included in the sequential process of a product or when they are associated to a free resource, a decomposition of the p-time petri net model into four sets is made using [15]. the assumption of multi-product job-shops without assembling tasks as it was established in [16] is used: • ru is the set of places representing the used machines, • rn corresponds to the set of places representing the free machines which are shared between manufacturing circuits, • transc is the set of places representing the loaded transport resources, • transnc is the set of places representing the unloaded transport resources (or the interconnected buffers). time disturbances and filtering of sensors signals in tolerant multi-product job-shops with time constraints 67 figure 5, shows a p-time petri net (g) modeling a system composed by two sequential processes go1 and go2 with two shared machines (m1, m2), where: ru = {p2, p4, p11, p13, p15}, rn = {p6, p7, p8, p9}, transc = {p1, p3, p10, p12, p14}, transnc = {p5, p16}, go1 = (t12, p10, t6, p11, t7, p12, t8, p13, t9, p14, t10, p15, t11) and go2 = (t5, p1, t1, p2, t2, p3, t3, p4, t4). the intervals (isi) and the expected staying times (qie) associated to the places (pi) are: is1 = [30, 50], q1e = 38, is2 = [5, 12], q2e = 7, is3 = [10, 20], q3e = 15, is4 = [5, 20], q4e = 10, is5 = [1, +∞], q5e = 10, is6 = [0, +∞], q6e = 5, is7 = [0, +∞], q7e = 8, is8 = [8, +∞], q8e = 13, is9 = [8, +∞], q9e = 15, is10 = [5, 15], q10e = 12, is11 = [15, 20], q11e = 17, is12 = [3, 7], q12e = 6, is13 = [2, 20], q13e = 5, is14 = [2, 7], q14e = 5, is15 = [15, 20], q15e = 16, is16 = [1, +∞] and q16e = 19. the initial expected firing instants of each transition are: st1e(1) = 15, st2e(1) = 22, st3e(1) = 37, st4e(1) = 7, st5e(1) = 17, st6e(1) = 12, st7e(1) = 29, st8e(1) = 35, st9e(1) = 0, st10e(1) = 5, st11e(1) = 21 and st12e(1) = 0. the repetitive functioning mode is characterized by the period π0 = 40. definition 3. a mono-synchronized subpath is a path containing one and only one synchronization transition which is its last node. definition 4. an elementary mono-synchronized subpath is a mono-synchronized subpath beginning with a place p such as ◦ p is a synchronization transition. in figure 5, there are eight elementary mono-synchronized subpaths constituting a partition of g: l p1 = (p13, t9, p14, t10, p15, t11, p16, t12, p10, t6), l p2 = (p13, t9, p9, t1), l p3 = (p2, t2, p3, t3), l p4 = (p2, t2, p8, t8), l p5 = (p4, t4, p5, t5, p1, t1), l p6 = (p4, t4, p6, t6), l p7 = (p11, t7, p7, t3) and l p8 = (p11, t7, p12, t8). property 1. a place pmp belonging to a sequential process represents a shared machine if and only if p◦mp ∈ tp or ◦ pmp ∈ ts. property 2. the first node of an elementary mono-synchronized subpath is a place belonging to ru and representing a shared machine. 3.3 time disturbances localization let us remember some definitions. definition 5. a time disturbance is detectable if, when it occurs, there exists at least one transition t ∈ to such as st(n) 6= ste(n). definition 6. a time disturbance is quantifiable if its value can be analytically known. definition 7. a time disturbance is localizable when its occurrence node can be identified. definition 8. a time disturbance is partially localizable when its occurrence node location can be proved to belong to a given subset of p. definition 9. a time disturbance is observable when it is detectable, quantifiable and localizable. definition 10. the time passive rejection capacity interval of a path l p is rc(l p) = [ca(l p), cr(l p)] where: ca(l p) = ∑ pi∈(l p∩ (rn∪transnc )) (qie −bi), (1) 68 nabil jerbi, simon collart dutilleul, etienne craye, mohamed benrejeb a place belonging to transc a place belonging to ru a place belonging to rn a place belonging to transnc is4=[2, 20] q4e=10 is1=[30, 47] q1e=38 is2=[5, 12] q2e=7 is3=[10, 20] q3e=15 t4 p4 t2 p2 t1 p1 t5 t3 p3 is5=[1, +∞] q5e=10 p5 m2 m1 is10=[5, 15] q10e=12 t8 p12 t7 p11 t6 t10 p14 t9 t11 p15 p13 p10 t12 is11=[15, 20] q11e=17 is12=[3, 7] q12e=6 is15=[15, 20] q15e=16 is14=[2, 7] q14e=5 is13=[2, 20] q13e=5 is16=[1, +∞] q16e=19 p6 p7 p8 p9 is6=[0, +∞] q6e=5 is7=[0, +∞] q7e=8 is8=[8, +∞] q8e=13 is9=[8, +∞] q9e=15 m1 m2 m3 p16 figure 5: an hillion like model with functional decomposition time disturbances and filtering of sensors signals in tolerant multi-product job-shops with time constraints 69 cr(l p) = ∑ pi∈(l p∩ (rn∪transnc )) (qie −ai). (2) ca(lp) (resp. cr(lp)) is called the time passive rejection capacity for an advance (resp. a delay) time disturbance occurrence. definition 11. let δ a time disturbance and sn a set of nodes belonging to a p-time petri net. δ ∈ sn (resp. δ /∈ sn) means that the occurrence of δ is (resp. is not) in a node of sn. used notations: • cse is the set of elementary mono-synchronized subpaths. • in(l p) is the first node of the path l p. • ou t (l p) is the last node of the path l p. • l p(t∗,t) is the oriented subpath of l p beginning with t∗ and ending with t. • mn−1(l p(t∗,t)) is the number of tokens in l p(t∗,t) after the completion of the cycle (n−1). • given a time disturbance δ , δ rt (n) is the resulting residue quantified at the transition t which is fired at st(n). • ec(in◦(l p),t) is the set of oriented paths connecting the node in◦(l p) of the path l p to the transition t. • h(in◦(l p),t) = min li∈[ec(in◦(l p),t)\l p(in◦(l p),t)] (cr(li)) + δ rt (n). • h′(in◦(l p),t) = min li∈ec(in◦(l p),t) (cr(li)) + δ rt (n). lemma 12. let l p ∈ cse, t ∈ (l p∩to ∩tns), t∗ ∈ (l p∩to) and δ a time disturbance having a residue δ rt (n) 6= 0 quantified at the transition t. the following results are established [17]: δ rt∗(n−mn−1(l p(t∗,t))) = 0 =⇒ δ ∈ [l p(t∗,t)\{t∗}], (3) δ rt∗(n−mn−1(l p(t∗,t))) 6= 0 =⇒ δ /∈ [l p(t∗,t)\{t∗}]. (4) this lemma discusses the case of two observable transitions, t and t∗, such that t is not a synchronization one. when a disturbance is detected at a downstream transition t and is not detected at t∗, it is generated between these two transitions. otherwise, the disturbance occurrence is outside the restriction of the considered path that connects t∗ to t. lemma 13. let l p ∈ cse, t ∈ (l p∩to), t p ∈ (l p∩tp), il p = {li ∈ cse/ ou t (li) = ◦in(l p)} and δ a time disturbance having a residue δ rt (n) > 0 quantified at the transition t. the following assertion is true [17]: δ rt p(n−mn−1(l p(t p,t))) < h′(t p,t) =⇒ δ /∈ { ⋃ li∈il p { li \{in(li), in◦(li)} } ⋃{◦t p, t p }} . (5) 70 nabil jerbi, simon collart dutilleul, etienne craye, mohamed benrejeb in other words, when the residue of the disturbance at the parallelism transition t p does not justify the residue at the transition t, forcibly the disturbance has not crossed t p. lemma 14. let l p ∈ cse, t ∈ (l p∩to ∩ts), t∗ ∈ (l p∩to) and δ a time disturbance having a residue δ rt (n) > 0 quantified at the transition t. the following results are established [17]: δ rt∗(n−mn−1(l p(t∗,t))) = 0 =⇒ δ /∈ [l p(in◦(l p),t∗)\{in◦(l p)}], (6) { 0 ≤ cr(l p(in◦(l p),t∗)) < h(in◦(l p),t) δ rt∗(n−mn−1(l p(t∗,t))) = 0 =⇒ { δ /∈ [(l p\l p(t∗,t))∪{t∗}] δ rin◦(l p)(n−mn−1(l p(in◦(l p),t))) < h(in◦(l p),t) , (7) { δ rt∗(n−mn−1(l p(t∗,t))) 6= 0 δ rt (n) + cr(l p(t∗,t)) 6= δ rt∗(n−mn−1(l p(t∗,t))) =⇒ δ /∈ [l p(in◦(l p),t)\{in◦(l p)}]. (8) the above lemma discusses the case of two observable transitions, t and t∗, such that t is a synchronization one. several results are given. if the residue at the transition t∗ is equal to zero, the disturbance does not belong to the restriction of l p between its only parallelism transition in◦(l p) and t∗. if the disturbance has crossed the parallelism transition of l p (in◦(l p)) and if its residue at in◦(l p) is greater than the passive rejection capacity of the restriction of l p between in◦(l p) and t∗, the residue at t∗ must be different of zero. otherwise, the disturbance has not crossed in◦(l p). if the residue at t∗ is different of zero and if it does not justify the residue at the transition t, the occurrence of the disturbance is not in the restriction of l p between in◦(l p) and t. lemma 15. let l p ∈ cse, t p ∈ (l p∩tp ∩tu o), t ∈ (l p∩to) and cr(l p(t p,t)) the time passive rejection capacity of l p between t p and t for delay occurrence. let us call dif(t p) the set of paths beginning with t p. let us denote difn(t p) the restriction of dif(t p) such that: ∀l p′ ∈ difn(t p), ∀t′ ∈ l p′, we have st′(n + mt′) < st(n) where mt′ = mn−1(l p′(t p,t′))−mn−1(l p(t p,t)). now, let l p′ ∈ difn(t p), t∗ ∈ (l p′ ∩ to) and cr(l p′(t p,t∗)) the passive rejection capacity of l p′ between t p and t∗. given a delay time disturbance δ , the following results are true [17]:    (t /∈ ts)∧(δ rt (n) > 0) δ rt (n) + cr(l p(t p,t))−cr(l p′(t p,t∗)) > 0 δ rt∗(n + mt∗) = 0 =⇒ δ ∈ [l p(t p,t)\{t p}], (9) { (t /∈ ts)∧(δ rt (n) > 0) δ rt∗(n + mt∗) 6= 0 =⇒ δ /∈ [(l p(t p,t)∪ l p′(t p,t∗))\{t p}], (10)    (t ∈ ts)∧(δ rt (n) > 0) cr(l p′(t p,t)) < h′(t p,t) δ rt∗(n + mt∗) = 0 =⇒ { δ /∈ {◦t p, t p} δ rt p(n−mn−1(l p(t p,t))) < h′(t p,t) , (11) { (t ∈ ts)∧(δ rt (n) > 0) δ rt∗(n + mt∗) 6= 0 =⇒ δ /∈ [l p(t p,t)\{t p}]. (12) time disturbances and filtering of sensors signals in tolerant multi-product job-shops with time constraints 71 when t p is a non observable parallelism transition, the following assertion may be used: if a disturbance modifies the t p firing instant, it must be seen downstream of t p. consequently, when the value of the residual effect of the disturbance is greater than the rejection capacity of a given path, a residual variation has to be observed. the different lemmas formulated constitute a tool aiming to define the set of nodes where the disturbance may occur and the subset where it is proved that it did not occur. then the question of using the above lemmas in order to make them collaborate has to be tackled. in other words, it remains to establish an algorithm using these lemmas while testing all mono-synchronized subpaths of the given p-time petri net model. 4 conclusions this paper deals with supervision in critical time manufacturing job-shops. in such systems operation times are included between a minimum and a maximum value. a filtering mechanism of sensors signals integrating the robustness values is described. it provides the avoidance of control freezing if the time disturbance is in the robustness intervals. therefore, it makes it possible to continue the production in a degraded mode providing the guarantees of quality and safety. it should be noted that the knowledge of robustness intervals is a significant parameter in the proposed mechanism. the assumptions formulated in these lines are very restrictive. it is natural to consider different scenarios where the temporal specifications of the process are not fulfilled, nevertheless the production can continue. it is necessary to introduce a finer classification of abnormal functioning and their impact on the considered systems. in this context, fuzzy logic can be used. when a symptom of an abnormal functioning is claimed by the filtering mechanism, it is imperative to localize the time disturbance occurrence. based upon controlled p-time petri nets as a modeling tool, a series of lemmas are quoted in order to build a theory dealing with localization problem. this is quite useful for the maintenance task. in the near future, it is essential to develop an algorithm using the lemmas results and providing localization of time disturbances. references [1] s. calvez, p. aygalinc, and p. bonhomme, proactive/reactive approach for maintenance tasks in time critical systems, ieee international conference on emerging technologies and factory automation (etfa’2005), catane, vol. 1, pp. 947-953, september 2005. [2] s. collart dutilleul, and e. craye, performance and tolerance evaluation, safeprocess’03, ifac symp. on fault detection, supervision and safety for technical processes, washington, june 2003. [3] a. boufaied, a. subias, and m. combacau, chronicle modeling by petri nets for distributed detection of process failures, ieee conference on systems, man, and cybernetics (smc’02), hammamet, october 2002. [4] p. declerck, and m. k. didi alaoui, modelling and analysis of p-time event graphs in the (min, max, +) algebra, ieee conference on systems, man, and cybernetics (smc’04), the hague, vol. 2, pp. 1807-1812, october 2004. [5] n. jerbi, s. collart dutilleul, e. craye, and m. benrejeb, observability of tolerant multi-product job-shops in repetitive functioning mode, imacs’05, paris, july 2005. 72 nabil jerbi, simon collart dutilleul, etienne craye, mohamed benrejeb [6] a. e. k. sahraoui, contribution à la surveillance et à la commande d’ateliers, ph.d. thesis, université paul sabatier, toulouse, 1987. [7] a. toguyeni, e. craye, and j. c. gentina, a method of temporal analysis to perform on-line diagnosis in the context of flexible manufacturing system, iecon’90, vol. 1, pp. 445-450, pacific grovecalifornia, november 1990. [8] m. nourelfath, extension de la théorie de la supervision à la commande des systèmes à événements discrets: application à la sécurité opérationnelle des systèmes de production, ph.d. thesis, insa de lyon, france, july 1997. [9] a. toguyeni, surveillance et diagnostic en ligne dans les ateliers flexibles de l’industrie manufacturière, ph.d. thesis, université des sciences et technologies de lille, november 1992. [10] m. diaz, les réseaux de petri modèles fondamentaux, ed. hermès, paris, 2001. [11] n. jerbi, s. collart dutilleul, e. craye, and m. benrejeb, intégrat0on de la robustesse dans la supervision de systèmes manufacturiers à contraintes de temps, conférence internationale francophone d’automatique (cifa’06), bordeaux, may 2006. [12] w. khansa, p. aygalinc, and j. p. denat, structural analysis of p-time petri nets, computational engineering in systems applications (cesa’96), lille, pp. 127-136, july 1996. [13] s. laftit, j. m. proth, and x. xie, optimisation of invariant criteria for event graph, ieee trans. on automatic control, vol. 37, no. 5, pp. 547-555, may 1992. [14] s. collart dutilleul, j. p. denat, and w. khansa, use of periodic controlled petri net for discrete event dynamical system control synthesis, ecc’95, rome, pp. 2060-2065, september 1995. [15] j. long, and b. descotes-genon, flow optimization method for control synthesis of fexible manufacturing systems modeled by controlled timed petri nets, ieee international conference on robotics and automation, atlanta, georgia, vol. 1, pp. 598-603, may 1993. [16] h. p. hillion, and j. m. proth, performance evaluation of job-shop systems using timed event graphs, ieee trans. on automatic control, vol. 34, no. 1, pp. 3-9, 1989. [17] n. jerbi, s. collart dutilleul, e. craye, and m. benrejeb, localization of time disturbances in tolerant multiproduct job-shops without assembling tasks, computational engineering in systems applications (cesa’06), beijing, pp. 45-50, october 2006. nabil jerbi1,2, simon collart dutilleul1, etienne craye1, mohamed benrejeb2 1ecole centrale de lille laboratoire d’automatique, génie informatique et signal cité scientifique, bp 48, 59651 villeneuve d’ascq, france 2ecole nationale d’ingénieurs de tunis unité de recherche lara-automatique bp 37, le belvédère, 1002 tunis, tunisie e-mail: nabil.jerbi@isetso.rnu.tn, simon.collart_dutilleul@ec-lille.fr, etienne.craye@ec-lille.fr, mohamed.benrejeb@enit.rnu.tn received: november 11, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 675-683 towards open agent systems through dynamic incorporation c. cubillos, m. donoso, n. rodríguez, f. guidi-polanco, d. cabrera-paniagua claudio cubillos, makarena donoso nibaldo rodríguez, franco guidi-polanco pontificia universidad católica de valparaíso av. brasil 2241, valparaíso, chile e-mail: {claudio.cubillos,nibaldo.rodriguez,fguidi}@ucv.cl makarena.donoso@gmail.com daniel cabrera-paniagua universidad de valparaíso valparaíso, chile e-mail:daniel.cabrera@uv.cl abstract: this work tackles the problem of providing a mechanism and infrastructure for allowing a given multiagent system (mas) to become open, allowing the incorporation of newly incoming agents to participate within the existing society. for this, a conceptual analysis of the so-called conciliation problem is presented, covering the diverse levels and issues involved in such a process. our dynamic incorporation architecture is presented, which implements an infrastructure for allowing the participation of external agents into a specific multiagent system by incorporating the appropriate behaviours upon arrival. our multiagent architecture for dynamic incorporation covers three levels: semantics, communication and interaction and has been applyed in a book-trading e-market scenario. keywords: multiagent system, dynamic incorporation architecture, open agent systems, passi. 1 introduction software agents are defined as autonomous entities capable of flexible behavior denoted by reactiveness, pro-activeness and social ability [1]. multiagent systems (mas) consist of diverse agents that communicate and coordinate generating synergy to pursue a common goal. at present, multiagent systems (mas) raises as a key paradigm for the development of next generation software systems which are required to be distributed, intelligent (autonomous, proactive), open and dynamic. while much work has been done by the research community in solving distribution and intelligence issues, little effort has been devoted to openness and dynamicity under mas settings. in the medium-to-long-term future we will see open multi-agent systems spanning multiple application domains, and involving heterogeneous participants developed by diverse design teams. agents seeking to participate in these systems will be able to incorporate and learn the appropriate behavior for participation in the course of doing so, rather than having to prove adherence before entry (as happens today) [2]. however, up to now agent systems typically center on closed agent systems with ad-hoc designs and predefined communications protocols. in recent years, agent systems have evolved to the use of agreed protocols and languages thanks to a huge standardization effort (fipa, omg, w3c). nowadays agent system openness is limited to the participation of any agent able to satisfy publicly-advertised standards. moreover, typically communication protocols, languages copyright c⃝ 2006-2010 by ccc publications 676 c. cubillos, m. donoso, n. rodríguez, f. guidi-polanco, d. cabrera-paniagua (acls) and domain knowledge model (ontology) are defined by the design team prior to any agent interactions. therefore much work needs to be done for the above scenario to become true. the current work presents a conceptual analysis of the so-called conciliation problem for then presenting the design of a multiagent architecture devoted to facilitate the dynamic participation of external agents into a specific multiagent system by incorporating the appropriate behavior upon arrival. a book-trade e-market has been used as study case to validate the multiagent implementation. this work gives continuity to our previous research in [4] [5]. 2 related work relevant research has been developed around coalition formation; the process to form a group of agents and solve a problem via cooperation [4], some works on dynamic coalition formation (dcf) [5] tackle the issue of dynamically building beneficial coalitions (coalition algorithms) among agents that can cope with environmental changes without restarting the negotiation process. however, at present coalition formation for virtual organizations is limited, with such organizations being largely static. all of the existing work has been devoted to optimizing for a given agent, the decision of when to participate or not in a coalition (conformation/disband) but not in providing an infrastructure supporting such dynamic coalition conformations and their agents’ heterogeneities. the novelty of our work relies on 1) presenting a conceptual approach for conciliating agents’ heterogeneities under an open mas setting 2) present a solution based in dynamic behavior loading rather than in a mediated-architecture approach and 3) implementing a solution that solves heterogeneities at two levels: semantics and interaction (behavior) while leaving the implementation of the communication level (related services and conciliation)as further work. 3 the three conciliation levels for the dynamic formation of agent systems to become true, a set of diverse issues need to be solved first. this concern: 1) the mechanism needed to provide the incorporation of a foreign agent to the society (agent system), 2) the ways to allow the agent to incorporate upon-arrival the society common knowledge (ontology) in order to interact, and 3) the means allowing the foreign agent to learn or incorporate upon-arrival the communication protocols and languages used by the society (aips [6], acls [7], etc) and the inherent business model. each of the above issues regards a different aspect of the communication infrastructure used by the agent society to interact and each one is covered by different areas of informatics and computer science. in general terms, the problem of conciliating the existing divergences on the communication capabilities of the entering agent and the existing society can be organized into three levels: firstly, the interaction level, involving the diverse agent interaction protocols (aip’s) to formalize the conversations among agents. then the communication level, tackling the heterogeneinity at message level, that is, the protocol and language used on the messages. finally, the semantic level, conciliating the possible divergences on the symbols used in the messages and the underlying knowledge models of the new agent and the mas society. each of these is further explained in the following. 3.1 interaction level the highest level is the interaction one, tackling the conversations among pair of agents through agent interaction protocols (aip’s) that specify the underlying coordination / cooperatowards open agent systems through dynamic incorporation 677 tion mechanism. examples can be the contract-net protocol (cnp) [11], the different auctions (e.g. english, dutch, vickrey, etc.), tuple-based negotiations, among others. these specific protocols are grounded into interaction diagrams that specify the roles of the participants and the expected messages to be sent and received under which conditions. in practical terms, the new agent will need to incorporate the behavior needed to perform a certain role within the mas society. for example, turning back to the cooper e-market, the new agent will need to add or load the manager role for initiating a contract-net, which will allow him to make the call for proposals, evaluate and select the best proposal and award it. all these tasks will need to be incorporated at run-time by simply instantiating the corresponding behavior classes and adding it to the agent. by having this solve, the agent will still need to understand the parameters required by each of the tasks it has loaded, moving us to the semantic level. other alternative is to have the agent with the correct interaction protocol and role (e.g. manager of a contract-net) but have divergences on the message format or language used in the content, moving us to the communication level. both are described below. 3.2 communication level nowadays agent systems do use communication protocols of their choice that define the message structure or syntax and language used to express the content of the message. examples of such can be fipa acl [8], kqml, an ad-hoc xml-based message envelope, or even the simple but effective concatenization of the different data in an specific order (e.g such as in lowlevel protocols). it can happen that the new agent does know the fipa acl message format but not the prolog language used in the content of the message or can do not know both. now when considering the newly incoming agent, how can we enable the incorporation of those message formats and content language upon entry? one scenario is when the new agent has already the adequate roles and behavior to interact (interaction level) but with a message format and content language that is different from the ones used within the agent society. in this case, a mediation service can be provided, by establishing the mapping of the different slots used on the two message formats. a more efficient approach is the use of a meta-format (meta-ontology for communication) used as message interchange format [9]. in this way each new format must provide its mapping to the meta-format and vice-versa instead of providing its mapping to all the other existing formats. other scenario is when the new agent does not have incorporated the interaction role nor the corresponding behaviors. in this case are directly adopted the format for messages and language used by the society when incorporating the behaviors, that is, when solving the problems at interaction level. 3.3 semantic level existing coordination strategies rely on standard interaction and communication protocols, assuming that all participants (agents) understand the shared domain knowledge usually modelled in terms of an ontology. this assumption is no longer valid in open systems in which an incoming agent (usually developed by another party and in another moment) needs to interact with a certain agent society to obtain some service (pursuing a specific goal) and does not know in advance such domain knowledge used to interact. some questions to answer are: how can the agent request or get that ontology from the agent society and process it or understand it? or how can the agent society provide the incoming agent with all the required knowledge. the basic problem here is how to conceal the concepts of the new agent with regard to the ones used by the society. therefore the entering agent will need to be provided by a service 678 c. cubillos, m. donoso, n. rodríguez, f. guidi-polanco, d. cabrera-paniagua capable of aligning his knowledge models with the one of the mas society, requiring ontology alignment and mapping techniques to solve it. 4 dynamic participation architecture this project used passi (process for agent societies specification and implementation) as methodology of development, which uses uml as modelling language. for a detailed description please refer to [3]. figure 1 shows our conceived solution in terms of the conciliation levels described before. figure 1: the 3-tier architecture for conciliation firstly, the foreign agent (fa) is the one that wants to participate in a specific mas to which it does not belong beforehand, thus requiring a conciliation process. a coordinator manages the diverse steps in the agent incorporation from the initial request until the agent is ready to start interacting within the mas society. another type of agent is the mediator, existing one for tackling each of the three levels of possible divergences (semantic, communication and interaction). in the first two cases, each one will have subscribed a set of translator agents providing specific bridging services among a couple of ontologies, or a pair of message formats in correspondence with the level. in the case of the interaction mediator, it will be having associated a set of behavior-provider agents, each one containing the code for the roles in diverse interaction protocols (e.g. manager/bidder in contract net, auctioneer/auctionee in auctions, etc.). the figure 2 shows when a new agent requests incorporation to the book-trading mas. for this, the fa agent sends a conciliation request to the coordinator containing: the mas domain name to which the fa wants to contact (booktrading in our case); the identifier of the message protocol that the fa has; the id of ontology that the fa knows; and the role name that the fa wants to perform within the book-trading mas. such request is evaluated by the coordinator checking whether if the fa needs conciliation services at any of the three considered levels; be provided with appropriate behaviors to participate (interaction), message-protocol translators (communication) and ontology translators (semantic). for this it compares the protocols and semantics used by the agent and by the domain mas searching for heterogeneities. the coordinator derivates to the interaction mediator the search for the requested role and related coded-behaviors. on its turn, the mediator contacts specific behavior providers following the contract-net protocol [11]. a similar process is carried out for the communication mediator and semantic mediator. in the first case, the coordinator sends the id of the message protocol towards open agent systems through dynamic incorporation 679 figure 2: scenario showing when a foreign agent requests a conciliation used by the fa and the domain mas, while in the second, sends the ontologies id of the domain mas and fa. in all three cases what is received is a list of possible providers and their proposals(bids), as the coordinator is the one incharge of selecting the final providers, composing the work team and announcing it to the fa. for selecting the appropriate members of the work team, the coordinator should consider diverse aspects such as the cost, quality of service, reliability, etc. of each candidate according to its utility function. on its actual form, the coordinator selects the providers based on the cost of each service. more variables within the objective function together with other selection schemas (e.g. foreign agent selection or a mixed approach) remains a matter of future work. the conciliation process may result in the need of services with any combination of the three levels or even require no services in case of a perfect match. in this way, the coordinator has the responsibility of structuring an appropriate work team for the fa. usually, the coordinator will select an ontologytranslator (ot), a messagetranslator (mt), and a behaviorprovider (bp) agent. it is important to mention that each role that the fa agent wants to perform needs a specific work team, therefore are tackled as different conciliation requests. however, nothing prevents a service provider of participating in diverse work teams, even for a same foreign agent. together with requesting and selecting an appropriate work team for the foreign agent, another important process is the actual enforcement of those services. in practical terms, this means sending the behaviors from the provider to the fa, plus the possible translation services at communication and semantic level that could be needed. the figure 3 shows the services’ enforcement, beginning with the foreign agent which decomposes the received working team. it gets the behaviors from the selected behavior provider while obtaining the corresponding codecs from the message and ontology translators. upon receiving the behaviors that compose the role, the fa takes the list of parameters required by the behaviors to work and translates it with the ontology codec. this codec translates the concepts from the domain-mas ontology to the fa ontology. in this way, the fa can map the values of 680 c. cubillos, m. donoso, n. rodríguez, f. guidi-polanco, d. cabrera-paniagua figure 3: scenario showing a foreign agent in the contract enforcing process the behavior parameters with its own attributes and provide the necessary arguments to them. on its turn, the communication codec is used to translate all the inbound/outbound messages among the message protocols used inside the behavior and by the domain mas. regarding the work team composition, in a most general case we will be having several ways of composing types of bps, cms and sts to conciliate a same fa-to-target-mas situation. however, due to the combinatorial character of the problem a simplification has been made considering only one possible combination of providers’ types. furthermore, the fa will usually need conciliation at two levels: the interaction and semantics, as usually the behaviors provided will already use the communication protocols employed by the target mas. 5 book-trading scenario the study case is based on the well-known book trading mas environment in which seller and buyer agents pursue their goals through the contract-net protocol (cnp) [11]. the book-trading example included in the jade development has been used as baseline. buyer agents initiate towards open agent systems through dynamic incorporation 681 figure 4: performance comparison of the mediation-based and conciliation-based architectures the interaction with a call-for-bids, adopting the manager role of the cnp. the call includes the book title the buyer is looking for. on the other side, seller agents assume as potential contractors, processing the calls and making bids for the requested title. in our implementation, the seller looks in its database for the title and sends a bid in case of having stock. the price within the bid is specific for each seller. the buyer collects the answers and selects the cheapest one. 5.1 experiments and results the objective of the study case was to prove the feasibility of our dynamic participation architecture and evaluate the associated costs mainly in terms of performance. for this, the experiments focused in comparing a traditional book-trading market (as the one above) with a mediation-based approach and with our proposal. in the first case, buyers and sellers interact through a mediator agent while in the last case, buyer agents correspond to foreign agents willing to dynamically participate in the book-trading mas by adopting upon arrival the required behavior. in this particular case, the role requested for conciliation is manager of the cnp with its diverse tasks (e.g. call for proposal, bid selection, task awarding, etc.) the test scenario has been generated through a random generation of book requests from a list of 30 titles. the number of sellers has been fixed to 10, each of which has one unit of each book in the list at a price that distributes uniformly u[50, 120]. a total of 10 sets of 100 requests has been generated. the simulation considers a main agent devoted to managing the creation of buyer agents, seller agents and the mas for dynamic participation. the generation and arrival of buyer agents follows a poisson distribution, hence the time between arrivals distributes exponential, e(λ), with λ = 2 in terms of requests per second. for more details on the architecture design and passi-uml diagrams please refer to [5]. regarding the considered distributed environment, the simulations were carried out over pcs with intel pentium 4 of 2 ghz. with 256 mb ram, connected through a 10/100 mb. router. figure 4 shows the service mean times for the 10 datasets, measuring the time required for the buyer agents to buy their books within the book-trading e-market. for our conciliated approach, the graph shows the time spent for the contract-enforcing part only. the time spent in the first part of the process (obtaining a working team) was around 6 seconds. the mediated approach 682 c. cubillos, m. donoso, n. rodríguez, f. guidi-polanco, d. cabrera-paniagua does not consider the time spent in looking for a mediator as it already knows it. these two aspects were not considered in the comparison as a roaming agent will usually carry out many transactions with the same mas before leaving, hence these initial processes happens only once. in [4] a comparison of a typical closed contract-net-based mas and our proposal is presented. 6 conclusions and future works an agent-based software architecture for allowing the dynamic participation of foreign agents into an existing mas has been described. additionally, an implementation has been carried out under the book-trading domain giving an insight on the viability of the proposal. the use of a mechanism based on dynamic behavior loading (conciliating differences at communication and semantic levels) raises as a feasible approach for obtaining an open mas system. further work considers: extending to other levels of conciliation (e.g. communication protocol stack), different ways of services’ delivery (e.g. codec, mediation, tuple-based) and applying our solution to other application domains such as transportation, robotics and supply-chain. 7 acknowledgement this work has been partially funded by conicyt through fondecyt project no. 11080284 and the pontificia universidad católica de valparaíso (www.pucv.cl), through nucleus project no. 037.115/2008 "collaborative systems". bibliography [1] g. weiss. multiagent systems: a modern approach to distributed artificial intelligence, mit press, massachusetts, usa. 1999. [2] m. luck, p. mcburney, c. preist, 2003. agent technology: enabling next generation computing. a roadmap for agent based computing, agentlink ii. [3] p. burrafato and m. cossentino. designing a multiagent solution for a bookstore with the passi methodology. in fourth international bi-conference workshop on agent oriented information systems (aois-2002). [4] c. cubillos, m. donoso, 2009. towards open agent systems: a book-trading study case. in fourth international conference on computer sciences and convergence information technology (iccit ’09), pp. 950–953. [5] c. cubillos, m. donoso, d. cabrera-paniagua, 2009. designing an open agent system for book-trading. third international symposium on intelligent information technology application (iita 2009), pp. 578–581. [6] h. lee, c. chen, nov. 2006. multi-agent coalition formation for long-term task or mobile network. int. conf. on computational intelligence for modelling, control and automation, 2006 and int. conf. on intelligent agents, web technologies and internet commerce, pp. 52–57. [7] m. klusch, a. gerber, 2002. dynamic coalition formation among rational agents.ieee intelligent systems, 17(3):42–47. towards open agent systems through dynamic incorporation 683 [8] foundation for intelligent physical agents (fipa). 2002. fipa interaction protocols (ips) specifications. available at: http://www.fipa.org/repository/ips.php3. [9] y.labrou, t. finin, y. peng, 1999. agent communication languages: the current landscape.ieee intelligent systems, 14(2), 45–52. [10] foundation of intelligent physical agents (fipa). 2002. fipa acl message structure specification. doc. no. sc00061g, 03/12/2002. available at: "http://www.fipa.org/specs/fipa00061/" [11] m. uschold, r. jasper and p. clark. three approaches for knowledge sharing: a comparative analysis. in proceedings of the 12th knowledge acquisition, modelling and management workshop, kaw’99, banff, canada, october 1999. [12] fipa contract net interaction protocol specification. available at: www.fipa.org/specs/fipa00029/sc00029h.pdf ijcccv11n4.dvi international journal of computers communications & control issn 1841-9836, 11(4):522-537, august 2016. data-driven control of the activated sludge process: imc plus feedforward approach j.d. rojas, o. arreta, m. meneses, r. vilanova j.d. rojas, o. arrieta escuela de ingeniería eléctrica, universidad de costa rica, san josé, 11501-2060 costa rica. tel: +506-2511-3892, fax: +506-2511-3920 {jdrojas, oarrieta}@eie.ucr.ac.cr m. meneses, r. vilanova* departament de telecomunicacióó i d’enginyeria de sistemes, escola tècnica superior d’enginyeria, etse, universitat autònoma de barcelona, 08193 bellaterra, barcelona, spain {montse.meneses, ramon.vilanova}@uab.cat *corresponding author: ramon.vilanova@uab.cat abstract: in the work presented in this paper, data-driven control is used to tune an internal model control. despite the fact that it may be contradictory to apply a model-free method to a model-based controller, this methodology has been successfully applied to a activated sludge process (asp) based wastewater treatment. in addition a feedforward controller over the influent substrate concentration was also computed using the virtual reference feedback tuning and applied to the same wastewater process to see the effect over the dissolved oxygen and the substrate concentration at the effluent. keywords: activated sludge process, data-driven control, internal model control, wastewater treatment plants 1 introduction data-driven control is a rather new control approach that does not attempt to find the model of the plant to control, instead, it uses experimental data to directly find a controller, which, generally, is meant to minimize some control performance criterion. some of the most remarkable methods within this control approach are the iterative feedback tuning (ift) [1, 2], the windsurfer approach [3, 4], the correlation approach [5, 6] and the virtual reference feedback tuning (vrft) [7–9]. while the ift and the windsurfer approach are iterative methods (that is, several experiments on the plant have to be performed in order to find the controller) the correlation approach and the vrft are one shot methods (only one set of data is needed to find the controller). ift computes an unbiased gradient of a performance index to iteratively improve the tuning of the parameters of a reduced order discrete time controller, at each iteration three different experiments are performed on the system and based on this data, the gradient is computed; in the windsurfer approach the objective is to find a better model for the plant (and subsequently a better controller) using closed-loop data and internal model control (imc) design [10] in such a way that, with every iteration, the closed loop bandwidth can be increased; data-driven control using the correlation approach is a one-shot methodology that attempts to find the values of a restricted order controller that tries to minimize the correlation between the closed-loop error of the system (based in a desired closed-loop behavior) and the reference for the process output, and the vrft translates the model reference control problem into an identification problem, copyright © 2006-2016 by ccc publications data-driven control of the activated sludge process: imc plus feedforward approach 523 being the controller the transfer function to identify based on some "virtual signals" computed from a batch of data taken directly from an open-loop experiment. in this work, the vrft approach is used and extended in order to be applied to a wastewater treatment plant (wwtp). wwtp are an important case of study within the process control area, while an active research area that involves other disciplines as for example chemistry, biology, and instrumentation. moreover, by it self, wwtps have deep impact in the quality of live in big cities. that is why the constraint on the level of pollution of the treated water before discharging it into the receiving waters, is becoming more stringent [11] and because of that, a correct control and operation of wwtp is one of the top priorities for both, industry and academics. among the types of wwtp, the activated sludge process (asp) is one of the most popular and more studied [12, 13]. this is also true from the automatic control perspective: for example in [14] a parameter and state non-linear estimator is used in an adaptive linearizing control of the dissolved oxygen and substrate concentration of an asp but under the assumption that only the dissolved oxygen is available for measurement. in [15], several multivariable pi control method are applied to the asp by linearizing the nonlinear model and the results are presented, as well as the combination of some of these methods. in [16], predictive control is used to maintain a low concentration of substrate at the output by controlling the dissolved oxygen using the dilution rate. the internal model of the predictive control is a three layer neural network. in [17] the control of the substrate concentration is achieve using an estimation based on the dissolved oxygen measurements, a dynamic controller that cope with the change in reference and a pid controller that corrects the steady state error produced by the use of a linearized model in the first controller. in [18] a decentralized pi approach is presented to show that simple well tuned pi controllers can achieve a similar performance than more complex methodologies for the asp case. some other strategies have been proposed recently such as in [19] where an i-p controller control system with pole-placement design is proposed. in all the cases, some sort of model (non-linear o linearized) is used to computed the controller. in several cases it is supposed that some parameters are known which may no be the case for a real plant. the contribution of this paper is to apply a data driven approach to the tuning of discretetime restricted-order linear controller in a decentralized approach to have good performance for both reference tracking and disturbance rejection in an asp based wwtp. without explicitly computing a model of the process an internal model control approach is used in conjunction with the vrft methodology. even more, the effect of the influent concentration disturbance is taken into account by computing a feedforward control using the vrft as well. it was found that this methodology provide excellent results when compared with a pi approach. the rest of the paper is divided in two parts, in section 2, a short overview on vrft is presented as well as the mentioned extensions for the imc control. in section 3 the results of the application of this data-driven method is presented and compared with a two-degrees of freedom pi controller. the conclusion are presented in section 3. 2 virtual reference feedback tuning extensions in this section, an overview on the vrft is presented as well as some results that extend the capacity of the vrft for different control strategies and structure of controllers is presented. 2.1 virtual reference feedback tunning overview the virtual reference feedback tuning (vrft) is a one-shot data-based method for the design of feedback controllers. the original idea was presented in [7], and then formalized by 524 j.d. rojas, o. arreta, m. meneses, r. vilanova + u(t) y(t) c(z; θ) p (z) r̄(t) figure 1: the vrft set up. the dashed lines represent the "virtual" part of the method lecchini, campi, savaresi and guardabassi (see [8, 9]). in [8], the method is presented for the tuning of a feedback controller. if a the controller belongs to the controller class {c (z;θ)} given by c(z;θ) = βt (z)θ, where β (z) = [β1 (z) · · ·βn (z)]t is a known vector of transfer functions, and θ = [θ1 θ2 · · ·θn]t is the vector of parameters, then the control objective is to minimize the model-reference criterion given by: jmr (θ) = ∥ ∥ ∥ ∥ ( p(z)c(z;θ) 1 + p(z)c(z;θ) −m(z) ) w(z) ∥ ∥ ∥ ∥ 2 2 (1) starting from a batch of open-loop data {u(t),y(t)}, a "virtual" signal is computed in such a way that, if the closed-loop system is feed with this virtual signal and the controllers in the loop were the ideal controllers that would achieve a predefined target transfer function, then the input and output signals of the plant in closed-loop would be the same than the batch of open-loop data. the output of the controller should be equal to u(t) and then, this controller can be found by identifying the transfer function which yields the output u(t) when the input r̄(t) − y(t) is applied to the input as depicted in fig. 1 the original vrft algorithm, as presented by the authors in [8], is as follows: given a set of measured i/o data {u(t),y(t)}t=1,...,n 1. calculate: • a virtual reference r̄(t) such that y(t) = m(z)r̄(t), and • the corresponding tracking error e(t) = r̄ −y(t) 2. filter the signals e(t) and u(t) with a suitable filter l(z): el(t) = l(z)e(t) ul(t) = l(z)u(t) 3. select the controller parameter vector, say, θ̂n , that minimizes the following criterion: jnv r (θ) = 1 n n ∑ t=1 (ul(t) −c(z;θ)el(t))2 (2) if c(z;θ) = βt (z)θ, the criterion (2) can be given by jnv r (θ) = 1 n n ∑ t=1 ( ul(t)−ϕtl(t)θ )2 (3) with ϕl(t) = β(z)el(t) and the parameter vector θ̂n is given by θ̂n = [ n ∑ t=1 ϕl(t)ϕl(t) t ]−1 n ∑ t=1 ϕl(t)ul(t) (4) data-driven control of the activated sludge process: imc plus feedforward approach 525 the authors, also showed that, the filter l(z) should be the one that approximates the criterion (2) to (1). this filter should be designed to accomplish the constraint: |l|2 = |1−m|2 |m| |w |2 1 φu (5) where φu is the spectral density of u(t). the vrft framework have been used in several applications and even have been extended for the mimo case and used for pid tuning, for example see [20–24]. 2.2 internal model control using the virtual reference feedback framework internal model control (imc) is a popular control method that incorporates the model of the process into the controller [10]. the standard structure is depicted in fig. 2. p(z) represents the plant, while ¯p(z) is its model. q(z) is the imc controller. if the output of the model and the output of the plant are the same, and there is no disturbance, the control system behaves as if it was in open-loop. if this is the case, to have perfect tracking, q(z) must try to cancel the dynamics of the plant. on the other hand, if there is a mismatch between the plant and its model or if a disturbance acts on the system, the feedback loop enters into play. this characteristics leads to the well know property that an imc system would be nominally internally stable if q(z) is stable, in case the model is equal to the plant. of course, finding a perfect model is rarely achievable and if it were, q(z) may not be possible to be equal to the inverse of this model due to physical limitations or because the inverse of the plant may lead to an unstable controller. in [10] a two-step design is proposed for this kind of controller: 1. solve the nominal performance criterion given, for example, by min q̄(z) ∥ ∥ ( 1 − p̄(z)q̄(z) ) w(z) ∥ ∥ p (6) where w is a filter chosen to give more importance in certain frequencies and ‖·‖p is a given norm that defines the performance criterion. the optimal solution to this problem yields to a sensitivity function given by s∗(z) = 1 − p̄(z)q̄(z) and the complementary sensitivity function given by m∗(z) = p̄(z)q̄(z), that is, the response to a change in the reference is as if it were in open loop, while the response to a disturbance is in closed-loop. of course this response is not achievable and therefore, the model p̄(z) should be divided in an invertible and non-invertible part to be able to approximate the optimal controller. 2. to introduce robustness conditions, the complementary sensitivity has to be rolled off at high frequencies, therefore, it is necessary to add a low pass filter f(z) to the controller q̄(z), to obtain the final controller q(z) = q̄(z)f(z). suppose that the multiplicative uncertainty is bounded by a frequency dependent function l̄m(ω), ∣ ∣ ∣ ∣ p(eω)− p̄(eω) p̄(eω) ∣ ∣ ∣ ∣ ≤ l̄m(ω) then the closed-loop system is robustly stable if and only if |f(eω)| < 1∣ ∣p̄(eω)q̄(eω)l̄m(ω) ∣ ∣ ∀ω (7) 526 j.d. rojas, o. arreta, m. meneses, r. vilanova figure 2: standard structure of the imc. p̄ represents the plant model and q is the imc controller figure 3: disposition for the vrft experiment using the imc topology. the dashed line represents the virtual signals and components. the reasons why the imc control has become very popular is because, finding the controller and the conditions for robust stability can be cast in a very simple form. using the vrft framework, this constraint are not really necessary, since the methodology does not need any modeling step. interested reader on imc control, can find more information on [10, 25]. it is possible to find an imc controller using the vrft framework without concerning about the modeling of the system. in fig. 3, the experimental setup for the vrft applied to the imc topology is depicted. if the target complementary sensitivity function is given by m(z), then the virtual reference r̄(t) is computed as: r̄(t) = m−1(z)y(t) (8) if the ideal controller were in the loop, then one would have p̄(z) = p(z) and the input to the controller q(z,θ) would be r̄(t) and its corresponding output would be u(t) in order to have y(t) as the output of the closed-loop system. from fig 3, it can be found that the ideal controller would be given by q0(z) = m(z)p(z) −1 p̄0(z) = m(z)q0(z) −1 (9) p0(z) would be the ideal plant model that is derived from the ideal controller. this basic idea leads to the following optimization problem which gives the set of optimal parameters θ∗ (in a least square sense): min θ j(θ) = min θ n ∑ i=1 (u(i) −q(z,θ)r̄(i))2 (10) data-driven control of the activated sludge process: imc plus feedforward approach 527 ����� figure 4: virtual reference setup for feedforward plus imc controller. solid lines are for "real" components and signals while dashed lines are for "virtual" components and signals once q(z,θ∗) has been determined, it is easy to compute the approximation of the process model of the plant from (9): p̄(z,θ) = m(z)q(z,θ)−1 (11) it is important to note that p̄(z,θ) is seen just as an “instrumental model”, that results from the determination of the optimal controller. in fact, it can be seen just as a part of the imc controller that results from the optimization. of course, if a robust check is performed with the obtained controller, this approximation of the plant can be used as if it were the nominal model. in that case, the controller and the nominal model would be found at once. the filter for robust operation presented in (7), is already included in the determination of q(z,θ∗) given the desired m(z). 2.3 vrft approach to feedforward control sometimes, it is possible to measure disturbances that affect the process output. in those cases, it is desirable to use a feed-forward controller that acts before the effects of these disturbances reach the output of the plant. in [26], the idea of using the vrft controller was presented to be used in conjunction with a one-degree of freedom controller. the main difference is that it is assumed that the disturbance is available for measurement and is used in the optimization problem. in this paper this idea was implemented in conjunction with the vrft-imc controller. suppose that the control system can be represented by the diagram in fig. 4, where p1(z) and p2(z) represent the unknown dynamics of the plant from the input u(t) and the disturbance d(t) to the output y(t), respectively. these three signals are measured from an open-loop experiment. the idea of using the feedforward control plus the imc controller is to cope with both measurable and non-measurable disturbances. q(z), pm(z) and cf(z) are the controllers to be found. the “virtual” components and signals (which are presented with dashed lines in fig. 4) are: • m(z), which is the target closed-loop dynamics from the reference signal to the output of the controlled system. • f(z), is the target closed-loop dynamics from the measured disturbance to the output. 528 j.d. rojas, o. arreta, m. meneses, r. vilanova • r̄v, is the virtual reference computed from the data obtained from an open loop experiment and the closed-loop target functions. • ȳd, is the ideal disturbed output in closed-loop, if the virtual reference is applied in the closed-loop and the ideal controllers are set in place. • d, is the measurable disturbance signal that it is suppose to be available in the open loop experiment. the virtual reference signal r̄v has to be computed according to the ideal relationships and the measured and virtual signals: ȳd = mr̄v + fd (12) if one is able to find the ideal controllers, then ȳd = y. since this is exactly what is needed, the virtual signal is computed from (12) as: ȳd = y r̄v = m −1 (yd −fd) (13) the transfer function of the controlled system is y = p1q 1 + (p1 −pm)q r + (1 −pmq)(p1cf + p2) 1 + (p1 −pm)q d (14) note in (14), that the input signals do not have a bar, denoting that these signals are not virtual, but actually are entering to the system. when comparing (12) and (14), one is able to find the ideal controllers that would, theoretically, drive the system to the desired dynamics (if the transfer functions of the plant were known): qo = m p1 −m(p1 −pm) cfo = 1 p1 ( f(1 − (p1 −pm)q) 1 −pmq −p2 ) (15) once q(z) and cf (z) has been obtained by optimization, the best approximation of pm(z) is pm(z) = m(z)q −1(z), just as in (9) where one expects that pm(z) ≈ p1(z) since the virtual reference was computed to achieve this relationship. this optimization is found by following the paths in the diagram of fig. 4 that lead from the measured and virtual inputs to the u(t) signal, it is straightforward to find that the cost function to optimize is given by: j(θ) = 1 n n−1 ∑ i=0 [u(i) − (q(z,θ) r̄v(i) + cf (z,θ) d(i))]2 (16) solving this optimization problem, one is able to find directly the two controllers and the instrumental model, using only one batch of input-output data without any iterative scheme. 3 application to an asp based wwtp in this section a practical example of the imc-vrft method exposed above is presented. the plant considered in this paper is the wwtp given in [27]. it comprises an aerated tank data-driven control of the activated sludge process: imc plus feedforward approach 529 table 1: initial conditions biomass x(0) = 217.79 mg/l substrate s(0) = 41.23 mg/l dissolved oxygen do(0) = 6.11 mg/l recycled biomass xr(0) = 435.58 mg/l influent substrate sin(0) = 200.00 mg/l influent dissolved oxygen doin(0)= 0.50 mg/l table 2: kinetic parameters β = 0.2 kc = 2mg/l r = 0.6 ks = 100mg/l α = 0.018 kdo = 0.5 y = 0.65 dos = 0.5mg/l µmax = 0.15 h −1 where microorganisms act on organic matter by biodegradation, and a settler where the solids are separated from the wastewater and a proportional part is then recycled to the aerator in order to maintain certain amount of biomass in the system. the layout is shown in fig. 5. the component balance for the substrate, biomass, recycled biomass and dissolved oxygen provide the following set of non-linear differential equations: dx(t) dt = µ(t)x(t) −d(t)(1 + r)x(t) −rd(t)xr(t) (17) ds(t) dt = −µ(t) y x(t) −d(t)(1 + r)s(t) + d(t)sin (18) ddo(t) dt = −koµ(t) y x(t) −d(t)(1 + r)do(t) + kla(dos −do(t)) + do(t)doin (19) dxr(t) dt = d(t)(1 + r)x(t) −d(t)(β + r)xr(t) (20) µ(t) = µmax s(t) ks + s(t) do(t) kdo + do(t) (21) kla = αw(t) (22) where x(t) biomass, s(t) substrate, do(t) dissolved oxygen, dos maximum dissolved oxygen, xr(t) recycled biomass, d(t) dilution rate, w(t) aeration rate, sin and doin substrate and dissolved oxygen concentrations in the influent, y biomass yield factor, µ biomass growth rate in a monod like form [28], µmax maximum specific growth rate, ks and kdo saturation constants, kla oxygen mass transfer coefficient, α oxygen transfer rate, ko model constant, r and β ratio of recycled and waste flow to the influent. the influent concentrations are set to sin = 200 mg/l and doin = 0.5 mg/l. the control strategy is a decentralized control as in [18] where the multivariable process is treated as two separate single variable process. the strategy is depicted in fig.6. with respect to the control problem definition, it is considered that the dissolved oxygen, do(t), and substrate, s(t), are the controlled outputs of the plant, whereas the dilution rate, d(t), and aeration rate w(t) are the two manipulated variables. the control of do provides a method to maintain the necessary amount of biomass in the system while controlling s gives a way to keep the pollution 530 j.d. rojas, o. arreta, m. meneses, r. vilanova �������� �� ���� ����� ������ ����� ������� ����� ��������� ����� ������ ��� ������ figure 5: wastewater treatment process ���������� ���������� ���������� �� ��� figure 6: control strategy for the wwtp at the effluent in an acceptable level [14]. the initial conditions and kinetic parameters are taken as in [18, 27] and presented in table1 and 2. the settings of the vrft controller are as follows: for both control loops, the sampling time was selected as ts = 0.5min, the imc controller q(z) has the following parameterization: q(z) = α1 + α2z −1 + α3z −2 β1 + β2z−1 + β3z−2 (23) the target transfer function for the do loop is: mdo(z) = 0.02357z−1 1 −0.9764z−1 (24) which represents a first order transfer function with a constant time of approximately 20min. for the s loop (controlled by manipulating d(t)), the target closed-loop dynamics is a first order transfer function with a constant time of approximately 40min given by: ms(z) = 0.01382z−1 1−0.9862z−1 (25) the input-output data was selected as an additive random signal of 0 mean and variance 90 for the w(t) and variance 7.5e-4 for the d(t) around the operation points given in table 1. the resulting controllers were found as: qdo(z) = 40.69 −19.35z−1 −19.65z−2 1−0.4683z−1 −0.4792z−2 qs(z) = 0.01236 −0.006155z−1 −0.006158z−2 1−0.4863z−1 −0.4924z−2 (26) data-driven control of the activated sludge process: imc plus feedforward approach 531 the imcff-vrft version was also implemented, considering the influent substrate concentration sin as the measurable disturbance. the q controller has the same parameterization as in (23). for the feedforward controller, the parameterization is: cf (z) = γ0 + γ1z −1 1−σ1z−1 (27) the sampling time is the same as for the q controllers, and the desired target transfer function is f(z) = 0, which is normally what is desired with the feedforward control. the experimental data was slightly changed, because the dynamics from the disturbance to the output are slower: the data changes slowly and it was taken into account that a portion of the output data were affected only by the input, while another portion is affected only by the disturbance and, finally, another portion is affected by both. this is helpful to identify correctly both controllers at the same time. the resulting controllers are: qdo(z) = 40.57 −80.37z−1 + 39.8z−2 1 −1.974z−1 + 0.9739z−2 cfdo(z) = −0.0002002 + 0.001138z−1 1−0.9976z−1 qs(z) = 0.01233 −0.02416z−1 + 0.01183z−2 1 −1.947z−1 + 0.9479z−2 cfs(z) = −0.0006154 + 0.0004481z−1 1 −0.7261z−1 (28) the results of this controllers are compared to the two-degrees of freedom, continuous time pi controller of [18]. two different test were performed: a change in the references and a disturbance on the influent substrate sin where it is considered that every 24h, an increase of 10% of the value of sin during 1h takes place. for the change in reference (sref(t) for the substrate concentration reference and doref(t) for the dissolved oxygen reference), the result is as given in fig. 7 and 8. a step change of 10mg/l is applied to sref(t) at time t = 10h while a step change of -2mg/l in doref(t) is applied at time t = 100h. the effect of one loop change in the other loop, due to the process interaction, can be observed as well. in both cases the imc-vrft and the imcff-vrft controller achieves a better performance for both the reference tracking as well as the disturbance rejection when the other loop changes. in table 3 the values of the integral of the squared errors (ise) and the total variation (tv), which measures the aggressiveness of the control effort, are presented. ise and tv are computed as: ise = ∫ t 0 e(t)2 dt tv = n ∑ i=1 |u(i) −u(i−1)| (29) e(t) is the error signal (the reference minus the measured output), and u(i) is the output of the controlled sampled every hour and n is the total number of samples. in the column “reference tracking” it can be seen that for the s loop with the application of the imc-vrft controller the ise is greatly reduced (near the 57%) but with almost the same tv. the do loop is improved in both ise and tv, as can be also seen in fig. 7 and 8, the section that is zoomed details the change in the do, it is clear that the response of the pi controller is much worse than the 532 j.d. rojas, o. arreta, m. meneses, r. vilanova 0 50 100 150 40 42 44 46 48 50 52 54 time (s) s u b s tr a te c o n c e n tr a ti o n ( m g /l ) change in reference, s reference pid imc−vrft imcff−vrft figure 7: step change in the s reference at time t = 10h table 3: comparison of the results between the imc-vrft, imcff-vrft and the pid control reference tracking disturbance rejection s do s do ise pi 77.23 2.94 12.05 0.0021 imc-vrft 32.85 0.64 5.56 6e-005 imcff-vrft 33.25 0.65 0.15 0.0083 tv pi 0.091 89.10 0.15 7.02 imc-vrft 0.083 67.33 0.15 4.69 imcff-vrft 0.082 65.01 0.16 13.07 response of the imc-vrft, which almost has no overshoot. in fig. 9, the plot of the control signals is presented for both the dilution rate and the air flow rate. as it was expected, the performance of the imc-vrft and the imcff-vrft are similar for the reference tracking since no disturbance is present for this simulation, despite the fact that the controllers were found using different optimization methods (in the case of the imc-vrft a simple linear least square problem can be casted, while for the imcff-vrft, the output error (oe) method was applied [29]). for the disturbance in the substrate concentration of the influent, the responses are presented in fig. 10, fig. 11 and fig. 12. pi control is faster to control the disturbance fig. 10, but the overshoot is larger. the imcff-vrft controller performs much better than the imc-vrft controller (the ise is 97% lower) with almost the same tv. the response of the do is greatly improved with a reduction of almost 97% of ise for imc-vrft, but the imcff-vrft performs much worse than the pi controller (the ise is almost 4 times bigger with a tv 2 times grater). it is clear that a feedforward strategy is not adecuate for the do loop, since the effect of the change in sin is much slower than the effect of the aireation. data-driven control of the activated sludge process: imc plus feedforward approach 533 � �� ��� ��� ��� � ��� � ��� � ��� � �� �� � � � � �� � � �� � � � � � �� � � � � � �� � � � � � � �� � ������� �� �!������"��� �!������ #$� $%�&' () $%�((&' () *� *� *+ ��� ��, ��� ��� ��+ ��� ��, ����+ ��* � ��� ��, ��� ��� ��� � �� �� � � � � �� � � �� � � � � � �� � � � � � �� � � � � � � �� � ������� �� �!������"��� �!������ #$� $%�&' () $%�((&' () figure 8: step change in the do reference at time t = 100h 0 50 100 150 0.05 0.1 0.15 0.2 0.25 time (s) d il lu ti o n r a te ( h − 1 ) dilution rate pid imc−vrft imcff−vrft 0 50 100 150 0 50 100 150 time (s) a ir f lo w r a te ( m 3 h − 1 ) air flow rate pid imc−vrft imcff−vrft figure 9: control effort during the change in the reference 534 j.d. rojas, o. arreta, m. meneses, r. vilanova 0 50 100 150 40.6 40.8 41 41.2 41.4 41.6 41.8 42 42.2 42.4 time (s) s u b s tr a te c o n c e n tr a ti o n ( m g /l ) disturbance rejection, s reference pid imc−vrft imcff−vrft figure 10: effect over the substrate concentration when the substrate input is disturbed 0 50 100 150 6.1 6.105 6.11 6.115 6.12 6.125 6.13 6.135 6.14 6.145 time (s) d is s o lv e d o x y g e n c o n c e n tr a ti o n ( m g /l ) disturbance rejection, do reference pid imc−vrft imcff−vrft figure 11: effect over the dissolved oxygen when the substrate input is disturbed data-driven control of the activated sludge process: imc plus feedforward approach 535 0 50 100 150 0.08 0.09 0.1 time (s) d il lu ti o n r a te ( h − 1 ) dilution rate pid imc−vrft imcff−vrft 0 50 100 150 89 89.5 90 90.5 91 time (s) a ir f lo w r a te ( m 3 h − 1 ) air flow rate pid imc−vrft imcff−vrft figure 12: control effort during the disturbance in the substrate concentration of the influent conclusions in this paper, the vrft method has been studied and was applied within the imc framework. also, a feedforward extension to the imc-vrft controller was also presented. both methodologies were successfully applied to a wwtp process, substantially improving the results of a continuous time two-degrees of freedom pi controller using a restricted order discrete time controller in the case of the reference tracking. for the disturbance rejection, the feedforward controller greatly improved the performance for the substrate loop but for the dissolved oxygen loop, it was found that the feedforward component degrades the performance. the difference in the constant time and the little effect that has the influent substrate concentration over the dissolved oxygen may be the reason of this poor performance. data-driven control is a powerful tool that can be easily applied to several control problems and that can be extended to several control structures. how to chose the closed-loop target functions without any knowledge of the plant (only data) and how to guarantee stability and robustness when the controller is found, are subject that still need further research in this control area. acknowledgment the financial support from the university of costa rica, under the grants 322-b4-218 and 731-b4-213, is greatly appreciated. also, this work has received financial support from the ministerio de economia e innovacion of spain under project dpi2013-47825-c3-1-r. bibliography [1] h. hjalmarsson, m. gevers, s. gunnarsson, o. lequin (1998), iterative feedback tuning: theory and applications, control systems magazine, ieee, doi: 10.1109/37.710876, 18(4): 26–41. 536 j.d. rojas, o. arreta, m. meneses, r. vilanova [2] m. gevers (2002), a decade of progress in iterative process control design: from theory to practice, journal of process control, doi: 10.1016/s0959-1524(01)00018-x, 12(4): 519-531. [3] w. s. lee, b. d. o. anderson, i. m. y. mareels, r. l. kosut (1995), on some key issues in the windsurfer approach to adaptive robust control, automatica, doi: 10.1016/00051098(95)00092-b, 31(11): 1619–1636. [4] b. anderson (2002), windsurfing approach to iterative control design, in: a. p., s. p. a. (eds.), iterative identification and control: advances in theory and applications, springer verlag, 142-166. [5] a. karimi, l. miskovic, d. bonvin (2003), iterative correlation-based controller tuning with application to a magnetic suspension system, control engineering practice, doi: 10.1016/s0967-0661(02)00191-0, 11(9): 1069 1078. [6] a. karimi, k. van heusden, d. bonvin (2007), noniterative data-driven controller tuning using the correlation approach, in: european control conference, kos island, greece. [7] g. guardabassi, s. savaresi (2000), virtual reference direct design method: an off-line approach to data-based control system design, automatic control, ieee transactions on, doi: 10.1109/9.855559, 45(5): 954–959. [8] m. c. campi, a. lecchini, s. m. savaresi (2002), virtual reference feedback tuning: a direct method for the design of feedback controllers, automatica, doi: 10.1016/s00051098(02)00032-8, 38(8): 1337-1346. [9] a. lecchini, m. campi, s. savaressi (2002), virtual reference feedback tuning for two degree of freedom controllers, international journal of adaptative control and signal processing, doi: 10.1002/acs.711, 16(5):355–371. [10] m. morari, e. zafirou (1989), robust process control, prentice-hall international. [11] u. jeppsson (1996), modelling aspects of wastewater treatment processes, ph.d. thesis, department of industrial electrical engineering and automation (iea) lund institute of technology (lth), http://www.iea.lth.se/ ielulf/publications/phd-thesis/phd-thesis.pdf [12] m. henze, p. harremoës, e. arvin, j. la cour jansen (1997), wastewater treatment, biological and chemical process, 2nd edition, enviromental engineering, springer verlag, new york, usa., series editors: förstner, u. and murphy, robert j. and rulkens, w.h. [13] m. henze, w. gujer, t. mino, m. van loosdrecht (2002), activated sludge models asm1, asm2, asm2d and asm3, 1st edition, scientific and technical report, iwa publishing, london, uk, 2002. [14] f. nejjari, b. dahhou, a. benhammou, g. roux (1999), non-linear multivariable adaptive control of an activated sludge wastewater treatment process, international journal of adaptive control and signal processing, 13 (5): 347–365. [15] n. a. wahab, r. katebi, j. balderud (2006), multivariable pid tuning of activated sludge processes, proc. of the international control conference (icc2006), 2006. [16] s. caraman, m. sbarciog, m. barbu (2007), predictive control of a wastewater treatment process, international journal of computers communications & control 2(2): 132–142. data-driven control of the activated sludge process: imc plus feedforward approach 537 [17] f. koumboulis, n. kouvakas, r. king, a. stathaki (2008), two-stage robust control of substrate concentration for an activated sludge process, isa transactions, 47(3): 267278. [18] r. vilanova, r. katebi, v. alfaro (2009); multi-loop pi-based control strategies for the activated sludge process, emerging technologies and factory automation, ieee international conference on, 2009. [19] a. d. kotzapetros, p. a. paraskevas, a. s. stasinakis (2015), design of a modern automatic control system for the activated sludge process in wastewater treatment, chinese journal of chemical engineering, 23(8): 1340-1349. [20] m. nakamoto (2004), an application of the virtual reference feedback tuning for a mimo process, sice 2004 annual conference, sapporo, japan, 3: 2208-2213. [21] f. previdi, t. schauer, s. savaresi, k. hunt (2004), data-driven control design for neuroprotheses: a virtual reference feedback tuning (vrft) approach, control systems technology, ieee transactions on, doi: 10.1109/tcst.2003.821967, 12(1): 176–182. [22] f. previdi, m. ferrarin, s. m. savaresi, s. bittanti (2005), closed-loop control of fes supported standing up and sitting down using virtual reference feedback tuning, control engineering practice, doi: 10.1016/j.conengprac.2004.10.007, 13(9): 1173 -1182. [23] a. sala, a. esparza (2005), extensions to virtual reference feedback tuning: a direct method for the design of feedback, controllers, automatica, doi: 10.1016/j.automatica.2005.02.008, 41(8): 1473 1476. [24] y. kansha, y. hashimoto, m.-s. chiu (2008), new results on vrft design of pid controller, chemical engineering research and design, doi: 10.1016/j.cherd.2008.02.018, 86(8):925 931. [25] d. e. rivera, m. morari, s. skogestad (1986), internal model control: pid controller design, industrial & engineering chemistry process design and development, doi: 10.1021/i200032a041, 25(1): 252-265. [26] g. guardabassi, s. savaresi (1997), data-based simultaneous design of composite feedbackfeedforward controllers: a virtual input direct design approach, 4th european control conference (ecc97), brussels, belgium, 1997. [27] f. nejjari, g. roux, b. dahhou, a. benhammou (1999), estimation and optimal control design of a biological wastewater treatment process, mathematics and computers in simulation, doi: 10.1016/s0378-4754(98)00158-x, 48(3): 269 280. [28] j. monod (1949), the growth of bacterial cultures, annual review of microbiology, 3(1): 371–394. [29] l. ljung (1999), system identification, theory for the user, 2nd edition, prentice hall, 1999. ijcccv4n3draft.pdf special issue on membrane computing seventh brainstorming week on membrane computing the present volume contains a selection of papers resulting from the seventh brainstorming week on membrane computing (bwmc7), held in sevilla, from february 2 to february 6, 2009. the meeting was organized by the research group on natural computing (rgnc) from department of computer science and artificial intelligence of sevilla university. the previous editions of this series of meetings were organized in tarragona (2003), and sevilla (2004 – 2008). after the first bwmc, a special issue of natural computing – volume 2, number 3, 2003, and a special issue of new generation computing – volume 22, number 4, 2004, were published; papers from the second bwmc have appeared in a special issue of journal of universal computer science – volume 10, number 5, 2004, as well as in a special issue of soft computing – volume 9, number 5, 2005; a selection of papers written during the third bwmc has appeared in a special issue of international journal of foundations of computer science – volume 17, number 1, 2006); after the fourth bwmc a special issue of theoretical computer science was edited – volume 372, numbers 2-3, 2007; after the fifth edition, a special issue of international journal of unconventional computing was edited – volume 5, number 5, 2009; finally, a selection of papers elaborated during the sixth bwmc has appeared in a special issue of fundamenta informaticae – volume 87, number 1, 2008. membrane computing is an area of natural computing which studies models of computation inspired by the structure and functioning of living cells, and organization of cells in tissues and other structures. the resulting models (called p systems) are distributed parallel computing devices, processing multisets in compartments defined by membranes. most classes of p systems are computationally universal and, if an exponential working space can be produced in polynomial time (e.g., by membrane division), then they are able to solve computationally hard problems in a feasible time. a series of applications were recently reported, especially in biology and medicine, but also in computer graphics, cryptography, linguistics, economics, approximate optimization, etc. several simulation programs (useful in applications) are available by now. a comprehensive information about this research area (considered in 2003 by isi as “fast emerging research front in computer science") can be found at the website http://ppage.psystems.eu. at this web address one can also find the volumes published after each bwmc, with the papers resulting from these meetings, including the volume with all papers related to bwmc7. for the present volume we have selected only a few of these papers; they have been thoroughly reworked after the meeting and then they went through the standard refereeing procedure of the journal. the selection also intended to provide a good image of the research in membrane computing, so that the volume contains both theoretical and applicative papers, dealing with computing power, computational complexity, “classic" cell-like p systems and the recently introduced spiking neural p systems, programming, simulation of biological processes, and so on. * as mentioned above, the meeting was organized by the research group on natural computing from sevilla university (http://www.gcn.us.es)– and all the members of this group were enthusiastically involved in this (not always easy) work. the meeting was supported from various sources: (i) proyecto de excelencia de la junta de andalucía, grant tic 581, (ii) proyecto de excelencia con investigador de reconocida valía, de la junta de andalucía, grant p08 – tic 04200, (iii) proyecto del ministerio de educación y ciencia, grant tin2006 – 13425, (iv) iv plan propio de la universidad de sevilla, (v) consejería de innovación, ciencia y empresa de la junta de andalucía, well as by the department of computer science and artificial intelligence from sevilla university. * the present volume is dedicated to the 60th birthday anniversary of professor mario de jesús pérezjiménez, the head of the research group on natural computing from sevilla university, and one of the most active researchers in membrane computing. a really unique combination of enthusiasm and mathematical talent, of scientific devotion and altruism, mario not only contributed a lot to the research in membrane computing, with fundamental results especially related to computational complexity issues and also related to many other theoretical research questions, to applications in biology and eco-systems, to programming, etc., but he also created one of the strongest research groups in natural computing in general, in membrane computing in special; it also deserves to be mentioned the organization, for already several years in a row, of the brainstorming week on membrane computing – all these making sevilla a place of current “pilgrimage" of researchers in membrane computing, from europe, asia, america. for all those who know mario personally, it is hard to believe that he has already six decades: he is so active, enthusiastic and hard working that he looks as young as decades ago, and the theoretical possibility to get retired (according to spanish regulations, this is possible for mario) looks like a nonsensical joke... and, for all who know mario personally, it is impossible not to own to him a lot, from science to daily life (one of the sayings which circulate around is that if you have a need, it is wiser not to tell it loudly, because mario will try immediately to help you...). happy birthday, mario, and many happy returns! guest editors: giancarlo mauri, milan, italy gheorghe păun, bucharest, romania agustín riscos-núñez, seville, spain (sevilla, june 2009) ijcccv4n1draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 1, pp. 17-26 artificial intelligence + distributed systems = agents ioan dzitac, boldur e. bărbat ioan dzitac “aurel vlaicu” university of arad, faculty of exact sciences, department of mathematics-informatics str. elena dragoi, nr. 2, complex universitar m (micalaca, zona iii), arad, romania e-mail: idzitac@gmail.com boldur e. bărbat “lucian blaga” university of sibiu, “hermann oberth” faculty of engineering, department of research 10, victoriei bd, sibiu, 550024, românia e-mail: bbarbat@gmail.com every established religion was once a heresy henry buckle “essays” abstract: the connection with wirth’s book goes beyond the title, albeit confining the area to modern artificial intelligence (ai). whereas thirty years ago, to devise effective programs, it became necessary to enhance the classical algorithmic framework with approaches applied to limited and focused subdomains, in the context of broad-band technology and semantic web, applications running in open, heterogeneous, dynamic and uncertain environments-current paradigms are not enough, because of the shift from programs to processes. beside the structure as position paper, to give more weight to some basic assertions, results of recent research are abridged and commented upon in line with new paradigms. among the conclusions: a) nondeterministic software is unavoidable; its development entails not just new design principles but new computing paradigms. b) agent-oriented systems, to be effectual, should merge conventional agent design with approaches employed in advanced distributed systems (where parallelism is intrinsic to the problem, not just a mean to speed up). keywords: open, heterogeneous, dynamic and uncertain environments (ohdue); computer-aided decision-making; nonalgorithmic software; bounded rationality; agent-oriented software engineering (aose). 1 introduction. adapting to the time(s) of change three dominant features of the post-industrial society relevant here are: a) growing speed of change (due to the intense positive feedback entailed by moore’s law outcomes: internet, broad-band technology, semantic web, google, [9] etc.); b) growing complexity (architectural, cognitive, structural [4, 5, 10]). c) globalization (expressed in it context mainly through the modern enterprise paradigms). bernerslee who coined also the term ggg (giant global graph) to describe the semantic web as a new stage of www utters it very pointed: “i have gone from using a 300 board connection on one of those telephone couplers to a 3 million board connection, so that is a 10,000 factor. so the technology underneath this has tremendously increased in terms of speed and functionality, and the web technology had happened on top” [http://dig.csail.mit.edu/, 2007]. copyright © 2006-2009 by ccc publications 18 ioan dzitac, boldur e. bărbat thus, modern it environments, except for simple applications, move towards open and heterogeneous (resources are unalike and their availability is not warranted), dynamic (the pace of exogenous and endogenous changes is high) and uncertain (both information and its processing rules are revisable, fuzzy, and uncertain). most situations to be controlled are complex and uncertain, and involve parallel processes. thus, the applications developed to deal with must be intelligent [7] (to manage complexity and uncertainty) and distributed (to handle parallelism) are intrinsically non-deterministic and endusers have to interact with them in manners they are not get used to. moreover, a second (side-effect) vicious circle comes out from the interaction between difficulty to adapt and the follow-on frustration (for instance, the claims regarding “digital manipulation”). in brief, adapting to the speed of change is mandatory and the target of this paper is to show that it entails adopting modern it paradigms. the approach is based on the homomorphism of the addition in the paper title to that in the famous book of wirth [22]. accordingly, section 2 presents the rationale analysing and supporting the evolution from programs to agents, emphasizing the temporal dimension. deepening the investigation, section 3 explores the unavoidable paradigm shift (here, many and diverse paradigms are x-rayed). section 4 includes the core: the misleading term “distributed” is thoroughly revisited because distribution was mostly part of the solution and is now recognized as main part of the problem too. just to give more weight to some assertions in preceding sections, models, methods, and mechanisms based on the paradigms endorsed before, are abridged after earlier papers and commented upon in section 5. conclusions and intentions for future development close the paper (section 6). 2 rationale. from programs to agents like all changes induced by systems with intense positive feedback, the shift from programs to agents is at once a long way (conceptually, since it involves multiple paradigm changes), a swift leap (historically, since as it beings algorithms are active, whereas agents are teenagers) and a hard chaotic fight (epistemically, since ai as a whole is at the same time feared and ridiculed, overrated and denied). misinterpretations are eased because confusing program architecture with code structure some professionals still consider that x-rayed programs are nothing more than implemented algorithms, since in binary form data and instructions are indiscernible. moreover, in the case of ai, the argument about the difference between programs and agents is complicated by two conceptual inflations due to overstated advertising: a) to many programs are labelled as intelligent; b) most such “intelligent” programs are renamed as agents (with or without minor reshaping). thus, the notion of agent (and the very metaphor behind it) are blurred. object orientation as almost one and only software engineering paradigm adds two more hindrances to: a) already in the 1990s, real-time programming showed that even the conceptual equivalence “program = object” exposed intellectual difficulties (e.g., objects like “mutex”, “event”, or “exception”, state “start”, method “execute”); b) almost as a corollary, by transitivity, it is commonsensical that the equivalence “agent = object” is awful, since nobody could be happy to be considered “intelligent like an object”. besides, objects have at most a very primitive temporal dimension. tough, this dimension is fundamental because no software entity lacking it could be able to (inter)act in the e-world with other artificial intelligence + distributed systems = agents 19 entities, neither artificial (its peers), nor natural (its human end-users). tellingly enough, time entered the software universe via data structures like dynamic data (e.g., lists in pascal) or data types for concurrency (from monitors in concurrent pascal to tasks in ada). likewise, in ai, a genuine temporal dimension was entailed by distributed systems (to handle the parallelism involved albeit architectural inefficiency due to approaches based on “light” multithreading and time-sharing). thus, the homomorphism suggested in the paper title is even deeper than supposed at first. on the other hand at least in countries similar to romania it curricula are obviously lagging behind the state of the art. aspects relevant for this paper are: a) ai syllabi show a long-lasting flavour of “gofai” (good old-fashioned ai). b) even when rigid planning-based ai is replaced by “bic” (biologically inspired computing), the focus is not on modelling inspired from biologic (sub-symbolic) paradigms -, but merely on simulating biologic behaviour. c) software engineering syllabi are entirely object-oriented; thus, agents if considered are designed as objects (e.g., using jade). d) distributed systems are approached in still more conventional manner: the only concern is to boost speed, not to reflect real-world parallelism. hence the rationale is threefold, depending on the perspective: a) ai (intelligent software must be process-based, not program-based); b) software engineering (intelligent applications should be agent-oriented, not object-oriented); c) it curricula (ai and distributed systems should be merged based on agent-orientation). 3 paradigm shift. what is certain? here “paradigm” means: “thought pattern in any scientific discipline or other epistemological context. the merriam-webster dictionary defines broadly: a philosophical or theoretical framework of any kind. [...] perhaps the greatest barrier to a paradigm shift, in some cases, is the reality of paradigm paralysis, the inability or refusal to see beyond the current models of thinking” [http://en.wikipedia.org/wiki/paradigm#paradigm_shifts]. a lot of fundamental scientific concepts inside and outside it changed dramatically their intension since it begun to be the dominant “novum organon” of post-industrial technological development. they have been investigated from agent-oriented perspective in [4, 5] and lately in [6] where the manifold paradigmatic shift they contributed to engender was labelled “from kelvin to zadeh” (figure 1) because the focus was on precision (unnatural in real world, hence inadequate in software) and the shift described there referred to swap from the conventional “computing with numbers” (based mainly on measurements) to the modern “computing with words” (based mainly on perceptions). in addition, figure 1 tries to remind or at least to suggest that: • moore’s law epitomised as feedback loop in the way usual in automation and electronics emphasises not only the growing psychological difficulty to adapt to an unprecedented speed of change but also its known side effects: instability, distortion, complexity (mainly, cognitive), frustration (e.g., the irritation about “digital manipulation”). 20 ioan dzitac, boldur e. bărbat figure 1: manifold paradigm shift (adapted and extended from [6]) • “manifold” as “diverse”: in line with common usage, “paradigm” regards also specific areas within a discipline (e.g., “programming paradigm”, mainly when it “leverages a computer language’s power” [21]). in figure 1 the paradigmatic level lowers from a wide-ranging one to a narrow, specialised one usual in software engineering. thus, the “kelvin paradigm” suggests that it must stay firmly based on mathematical precision, while the “zadeh paradigm” replays that it should shift towards semiotic flexibility [23]. on the other hand, shifting from “client-server”, to “computing as interaction” [1, 24]) is focused not involving (im)precision, (non)determinism, (un)certainty, etc. (besides, another dimension of reason diversity was recently shown: the ethnographical one [17].) • “manifold” as “many”: after redressing the balance (i.e., accepting all kinds of paradigms, not just gofai), ai was inundated by sub-symbolic paradigms; among the best known are artificial neural networks (ann) and genetic algorithms (ga). the most nihilist and powerful, i.e. the ethological paradigm (based on the physical-grounding hypothesis [4]), seems to be still in vogue for developing agents (above all since the agent is accredited as process by a formal standard [12]). • “manifold” as “non-exhaustive”: to save space some important paradigm shifts having rather philosophical/epistemological nature are skipped over. just one example: humans can communicate only among themselves or with machines too? here, the problem could be circumvented replacing “communication” by “interaction” but the epistemological facet is still there: it has to be admitted (or rejected) that, in the framework of “computing as interaction”, their connotations are artificial intelligence + distributed systems = agents 21 very similar. perhaps, the definition given by sieckenius de souza could help: “communication is the process through which, for a variety of purposes, sign producers (i.e., signification system users in this specific role) choose to express intended meanings by exploring the possibilities of existing signification systems or, occasionally, by resorting to non-systematized signs, which they invent or use in unpredicted ways” [19]. • bounded rationality. the term is used as defined, explained and endorsed in [20, 18, 14]. since it is a very rich concept, often applied as principle, there are many “models of bounded rationality” [20] including a nobel prize winner one (“psychology for behavioural economics” [16]). it entails that almost any human undertaking to be effective as regards the time required must be imperfect. in ai context, perfection suggests the ideal of mathematicians and conventional software developers too to achieve algorithm-based optimisation. just one unquestionable example: “the problem is neither to admit that for any medical act (and for even stronger reasons as regards nursing) “just in time” is a sine qua non condition, nor that bounded rationality is the only practical means to achieve it [13]. nevertheless, there is a double hindrance, due to a yet prevalent mentality: a) therapeutic decision-making is an exclusively human attribute; b) non-algorithmic software is if not nonsensical applicable at most to toy problems” [5]. hence, bounded rationality explodes in a fascicle of interrelated, versatile, and highly applicationdependent features. examples: learning or negotiation strategies; most features meant to reduce complexity (like the “zero-overhead rule” in generative programming). • time enters the picture threefold: a) from left to right, it represent the very essence of paradigm shift in the sense of kuhn (for some conservatives unable to adapt the time to accomplish the shift can attain infinity; on the other hand, children have no problem to “communicate” with their artificial playmates). b) explicitly, through the need to manage “just in time” rapidly changing situations. c) implicitly, by handling real-world parallelism. here, parallelism is intrinsic to any interaction (even between an interface agent and its owner), because interactants coexist in time. of course, distribution adds new facets to an already complex temporal dimension. in short, to be effectual in e-world both users and software developers have to pass the mental rubicon separating programs from agents. indeed, agents are here to stay (even if not yet very intelligent); “affective computing”, “semantic web”, “ambient intelligence” and so on, are more than slogans (they are recognized as main it development directions by eu-promoted acts [1]). thus, “what is certain?” in the section title goes beyond the necessary enquiry of uncertainty, questioning the very essence of nowadays agent-oriented application development. for instance, even when blending vigorous well established paradigms, research trends are in line with the suggestions in the right part of figure 1: “interpretability is considered to be the main advantage of fuzzy systems over alternatives like neural networks, statistical models, etc. [...] in the recent years, research has started to focus on the trade-off between interpretability and accuracy [...]. analysis of the model interpretability and comprehensibility is always convenient, and it is a necessity when accuracy is not a model feature” [15]. 4 “distributed” revisited. a solution becomes problem to distribute means “to divide and dispense in portions” implying a previous entirety able to be divided [http://www.thefreedictionary.com/distributed]. paradoxically, the epistemic trouble with dis22 ioan dzitac, boldur e. bărbat tributed systems is that they are conceived, designed and implemented corresponding to the common connotation of “distributed” [11, 8]. thus, “in distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. [...] the main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way. [...] distributed computing implements a kind of concurrency. it interrelates tightly with concurrent programming so much that they are sometimes not taught as distinct subjects [...] if not planned properly, a distributed system can decrease the overall reliability” [http:// en.wikipedia.org/wiki/distributed_computing]. “distribution”, as “the act of distributing or the condition of being distributed; apportionment” [http://www.thefreedictionary.com/distribution], is related to resource management (if something is plenty, no need to apportion). in short and maybe oversimplified there are four kinds of circumstances where, within the it treatment of the case, distribution in its conventional meaning can help (inside parentheses are examples) [4]: a) in space. spatial distribution is the oldest and most familiar type of resource apportionment (equipment components, process phases, networking, credit-card terminals). b) in time. time-sharing preceded its name (learning in schools, delegating authority, or reading on a ride are much older than unix-like operating systems or parallel buses). c) in organization. any organism is based on distributed order (human body, company, state, flower). for virtual enterprises it becomes a major raison d’étre. d) in problem solving. “divide et impera” was always a foremost strategy to fight complexity, chiefly cognitive one (most reductionist theories, most methodologies from euclid’s algorithm to structured programming). the difficulties begun when “distributed”, and “parallel” were perceived as quasi-synonymic in the syntagm “distributed computing”. moreover, epistemic confusion escalates when other debatable (semantically antinomic) concepts generated even more doubtful pair of antonyms: “sequential”/“simultaneous” (instead of “parallel”), “holistic”/“analytical” (instead of “reductionist”). a relevant case is related to the basic metaphor of ann: despite the same distributed neural network structure in both brain hemispheres, an antinomic pair of functions is stated as “linear algorithmic processing” vs. “holistical algorithmic processing” [http://en.wikipedia.org/wiki/cerebral_hemispheres]. here the reluctance to accept the paradigmatic shift that processing could be also non-algorithmic (even in the left brain) generated a quasi-pleonasm (could a step-by-step procedure be nonlinear?) and a quasi-contradiction (could a deterministic procedure be holistical?). as regards processing, the real opposition is “sequential”/“parallel”, where parallelism involves distribution. for instance, “as regards the learning process as such prefixed with “e-” or not the viewpoint is that human learning is best described by the information-processing approach in cognitive psychology, in line with the ideas endorsed in [2]: “most modern information-processing theories are “learning-by-doing” theories which imply that learning would occur best with a combination of abstract instruction and concrete illustrations”. learning should be considered in both humans and agents -as a process where most effectiveness is reached through a blend of symbolic (“left-hemisphere”-like) and subsymbolic (“right-hemisphere”-like) modi operandi” [5]. though, confusion become delusion when “concurrency” and “distribution” were perceived as conceptually close enough that agent-oriented applications concurrent par excellence could be effective if they are designed using mechanisms conceived (and used successfully) for distributed systems. since that is a central claim of this paper, it must be elaborated a bit. when designing distributed systems examples above show it clearly distribution was mostly part of the solution not part of the problem. indeed, in most cases, the problem was a whole and, iff it artificial intelligence + distributed systems = agents 23 such a problem can be split into subproblems, the entirety is disaggregated, the subproblems are solved and, finally, the partial solutions are re-aggregated. at the programming level they run in parallel and, when accessing shared resources, need mutual exclusion. on the contrary, applications devised in line with the “computing as interaction” paradigm above all agent-based applications entail at least two interactants (the interface agent and its owner), evolving in parallel, autonomously but not independently (since they interact as in any normal communication process: inform, wait, interrupt each other, etc.). briefly, they are concurrent processing threads; their programming entails multithreading. the crucial software engineering problem is that, while an api (application programming interface) able to support multithreading covers all requirements for mutual exclusion, the opposite is true just in very simple cases. worse, in most cases, designing concurrent applications with api intended for distributed systems results in severe ineffectiveness. hence, acknowledging the difference between distribution and concurrency is paramount not just at epistemic level, but at engineering level too. a relevant step into diminishing confusions was the different name given in c# to a instruction existing in java, without changing its semantics: “synchronize” is now called “lock” expressing what it really does (tellingly, almost the opposite of what its previous name claimed to do, since to preserve coherence it reduces parallelism). 5 models, methods, mechanisms beside the structure as position paper, to give more weight to the assertions regarding the paradigm shifts symbolised in figure 1, results of recent research (in line with the paradigms endorsed above) are abridged and commented upon. all software entities mentioned below are models, methods, and mechanisms but they are abridged without grouping them corresponding to their kind, since they are commented upon in software engineering papers, as well as in [6, 5] and papers referred to there. there are three categories of mechanisms developed for affordable non-algorithmic agent-based applications in ohdue: a) innovative mechanisms dedicated to “computer-aided x”, where x stays for almost any intellectual activity, within the software engineering toolbox agorithm (agent-oriented interactive timesensitive heuristic mechanisms). so far they are implemented or in earlier development stages, but only for solving toy problems or even in simple experimental models, for x = decision, learning, semiosis. b) existing mechanisms employed in previous research (before 2005, mainly in experimental models for captologic virtual therapists, carried out as pseudoavatars). their structure is based on common api functions callable from a customary java development environment. c) conceptualized within the framework of some phd theses in preparation. to increase paradigmatic relevance they are ordered in relation to figure 1, that is focusing on the missing “l” in the toolbox name. (of course, a bijection is out of question.): • decision-making with future contingents. domino (decision-oriented mechanism for “if” as non-deterministic operator). developed primarily for decision making (typical application: managing overbooking) it is meant to deal with undecidability due to any kind of future contingents. it is a “three-output if” where the semantics of the third value is a blend of a łukasiewicz “i” interpreted as “unknowable” and a kleene “u” interpreted as “temporary lack of knowledge”. (in fact, the semantics of “undecidable” is re’fined to “undecidable in the time span given”.) • analog input. scrollbar input is proposed for all kind of data: uncertain knowledge, intrinsically fuzzy, roughly estimated, etc. 24 ioan dzitac, boldur e. bărbat • dynamic priorities. are applied for: a) fine-tuning agent priorities (mainly the features of multi-agent systems) to manage situations “just in time”; b) fading out retention in “thick time”; c) boosting response of exception handlers. • exception-driven reactivity. prompt response to asynchronous must be mostly stimulusdriven because interaction between basically reactive entities. to respond promptly, interrupts are reflected asynchronously in exceptions with dynamic propagation. • antientropic self-cloning. developed to implement “strange loops” (via gödelian selfreference) as first step of investigating agent self-awareness, it means spawning an agent identical to itself, preserving self-representation (its “i”), but with an enriched world model (via lamarckian evolution). • flexible cloning. to reach efficient polymorphism the copies are purposely imperfect, spawning an agent quasi-identical to its parent; differences between clones become extensive only after recurring cloning (a clone is just a “slightly altered alter ego”). unfortunately, the mechanisms listed above have beside lacking validation in vivo (some of them not even in ovo) a double vulnerability: they are either incremental as regards the “kelvin way of thinking” or too loosely linked to new paradigms. thus, what is their relevance? to break the vicious circle since there is no “methodology for paradigm shift” to leave behind the rd order ignorance [3], software should be considered “not a product, but rather a medium for the storage of knowledge. [...] the other knowledge storage media being, in historical order: dna, brains, hardware, and books. [...] software development is not a product-producing activity, it is a knowledge-acquiring activity.” (that is neither fact, nor proof, it is just expectation.) 6 conclusions and intentions a) non-deterministic software is unavoidable; its development entails not just new design principles but new computing paradigms. b) agent-oriented systems, to be effectual, should merge conventional agent design with approaches employed in advanced distributed systems (where parallelism is intrinsic to the problem, not just a mean to speed up). c) the agorithm toolbox still not sufficient as technological infrastructure for agent-oriented software is a good framework to go ahead. d) the paradigm shift “from kelvin to zadeh” becomes urgent to keep pace with a rapidly changing e-world. e) almost as corollary, these paradigm shifts entails also attitudinal ones: shifting from multi-, through inter-, towards genuine trans-disciplinarity. as regards the prospects of non-algorithmic agent-oriented software, short-term intentions include enhancing the agorithm toolbox with two mini-ontologies: a) dynamic: i (agent), you (master), and rest of the world. b) visual: visual rules should simulate “the arrow of time”. acknowledgement. this work was partially supported by the ministry of education and research through contract no. 12 092/2007. artificial intelligence + distributed systems = agents 25 bibliography [1] agentlink iii. agent based computing. agentlink roadmap: overview and consultation report. university of southampton. http://www.agentlink.org/roadmap/al3rm.pdf, 2005. [2] j.r. anderson, l.m. reder, h.a. simon. applications and misapplications of cognitive psychology to mathematics education. texas educational review, 2000. [3] p.g. armour, the five orders of ignorance. comm. acm, 43 (10), 17-20, 2000. [4] b.e. bărbat, agent-oriented intelligent systems. romanian academy publ. house, bucharest, 2002 (in romanian, “grigore moisil” prize of the romanian academy). [5] b.e. bărbat, e-maieutics. rationale and approach. international journal of computers, communications & control, 3, supplement: suppl. s, 40-54, 2008. [6] b.e. bărbat, natural time for artificial agents. abstracts of icccc papers, băile felix, may 15-17, 27-27, 2008.(invited paper.) [7] i. dziţac, artificial intelligence. ed. house “aurel vlaicu” university, 2008 (in romanian). [8] i. dziţac, parallel and distributed methods for algebraic systems resolution, ccc publications, agora university publishing house, 2006. (in romanian). [9] i. dziţac, icccc 2008 & ewnlc 2008 celebrates bardeen’s centenary and welcomes professor zadeh, international journal of computers communications & control, 3 (suppl. s):16-25, 2008. [10] i. dziţac, i. moisil, advanced ai techniques for web mining, proc. of 10th wseas international conference on mathematical methods, computational techniques and intelligent systems (mamectis ’08, corfu, greece, 343-346, 2008. [11] i. dzitac, g. moldovan, distributed systems: information models, agora university publishing house 2006 (in romanian). [12] fipa tc agent management. fipa agent management specification. standard sc00023k (2004/18/03). http://www.fipa.org/specs/fipa00023/ sc00023k.pdf [13] g. gigerenzer, a. edwards. simple tools for understanding risks: from innumeracy to insight. british medical journal, 327, 741-744, 2003. [14] g. gigerenzer, r. selten. bounded rationality. mit press, cambridge, 2002. [15] f. herrera, genetic fuzzy systems: taxonomy, current research trends and prospects. evol. intel., 1, 27-46, 2008. [16] d. kahneman, maps of bounded rationality: psychology for behavioral economics. lecture (when receiving nobel prize; revised version). stockholm, nobel foundation, 2002. [17] e. livingston, ethnographies of reason. ashgate, aldershot, uk, 2008. [18] a. rubinstein, modeling bounded rationality. mit press, cambridge, 1998. [19] c. sieckenius de souza, the semiotic engineering of human-computer interaction. the mit press, 2005. [20] h.a. simon, models of bounded rationality. mit press, cambridge, 1997. [21] d. spinellis, rational metaprogramming. ieee software, 25, 1, 78-79, jan/feb, 2008. [22] n. wirth, algorithms + data structures = programs. prentice hall, 1978. [23] l.a. zadeh, d. tufis, f.g. filip, i. dzitac, (eds.), from natural language to soft computing: new paradigms in artificial intelligence, romanian academy publishing house, 2008. 26 ioan dzitac, boldur e. bărbat [24] f. zambonelli, a. omicini. challenges and research directions in agent-oriented software engineering. autonomous agents and multi-agent systems, 9, 253-283, kluwer academic publishers, 2004. ioan dzitac received m. sc. in mathematics (1977) and ph.d in information sc. (2002) from “babes-bolyai” university of clujnapoca. his current research interests include different aspects of artificial intelligence and parallel and distributed computing. he has edited 6 conference proceedings, published 16 books and more than 50 scientific papers in journals and conferences proceedings. he was member of the program committee of more than 30 international conferences. boldur e. bărbat m.sc. in electronic engineering, postgraduate specialising in programming, ph.d. in digital computers (“politehnica” university bucharest). he is with “lucian blaga” university sibiu from 1997, (full professor, faculty of engineering, faculty of sciences) and “politehnica” university timişoara from 2005 (faculty of automation and computers, advisor for doctoral studies in computer science). 25 books (a monograph received the romanian academy it prize, 2002). about 50 papers in english from 2001. current research interests: time in artificial intelligence; nonalgorithmic decision support systems; computer-aided semiosis; selfawareness of bodiless agents; agent-oriented software engineering; logics for agents; emergence in agent-based systems. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 172-182 analytical model for a multiprocessor with private caches and shared memory angel vassilev nikolov abstract: we develop an analytical model of multiprocessor with private caches and shared memory and obtain the following results: the instantaneous state probabilities and the steady-state probabilities of the system. both transient behaviour and equilibrium can be studied and analyzed. we showed that results can be applied to determine the output parameters for both blocking and non-blocking caches. keywords: invalidate cache-coherence protocol, queuing system, discrete transform 1 introduction shared memory multiprocessors are widely used as platforms for technical and commercial computing [2]. performance evaluation is a key technology for design in computer architecture. the continuous growth in complexity of systems is making this task increasingly complex [7]. in general, the problem of developing effective performance evaluation techniques can be stated as finding the best trade-off between accuracy and speed. the most common approach to estimate the performance of a superscalar multiprocessor is through building a software model and simulating the execution of a set of benchmarks. since processors are synchronous machines, however, simulators usually work at cycle-level and this leads to enormous slowdown [9]. it might take hours even days to simulate. for memory structures relatively accurate analytical models were developed [3, 7, 9, 10] through extensive use of various queuing systems. open queue system with poisson arrivals and exponential service times is considered quite good for description of memory hierarchies [7]. our focus is on the impact of the cache-coherence protocols on the overall system performance. the most commonly used technique for this purpose is the mean value analysis (mva) [3, 5, 7, 8, 9]. it allows the total number of the customers to be fixed (closed queue system), and this seems to be more adequate representation of the processes of self-blocking requestors [5]. calculations of output parameters such as residency times, waiting times and utilization are shown in [3, 8, 9]. mva is based on the forced flow that means in equilibrium output rate equals input rate. however, instantaneously, we can have input rate different from output rate, so that the instantaneous probabilities could be different from equilibrium [7]. mva offers no possibility to study transient effects. moreover, the assumption of exponential service times is not realistic, in fact all bus access times and memory access times are constants. it will be seen later in this paper that state probabilities depend on the server’s time density function. we use the technique of markov processes to describe the behaviour of the multiprocessor implementing cache-coherence protocols. 2 definition and analysis of the model a multiprocessor consists of several processors connected together to a shared main memory by a common complete transaction bus. each processor has a private cache. when a processor issues a request to its cache, the cache controller examines the state of the cache and takes suitable action, which may include generating bus transaction to access main memory. coherence is maintained by having all cache controllers "snoop" on the bus and monitor the transaction. snoopy cache-coherence protocols fall in two major categories: invalidate and update [2, 3, 10]. invalidating protocols are studied here but the concepts can be applied with some modifications to updating protocols too. transactions may copyright © 2006-2008 by ccc publications analytical model for a multiprocessor with private caches and shared memory 173 or may not include the memory block and the shared bus. typical transaction that does not include memory block is invalidate cache copy which occurs when a processor requests writing in the cache. all other processors simply change the status bit(s) of their on copies to invalid. if the memory block is uncached or not clean it can be uploaded from the main memory, but in today’s multiprocessors it is rather uploaded from another cache designated as owner (o) (cache-to cache transfer). memory-tocache transfer occurs when the only clean copy is in the main memory. a cache block is written back (wb) in the main memory (bus is used) when a dirty copy is evicted [6]. the bus and the main memory are also used when synchronization procedures are executed [2]. apparently the bus can be considered as the bottleneck of the system. in terms of the queuing theory processors can be viewed as customers (clients) and the bus can be viewed as a server. inter-arrival times are exponentially distributed with parameter λ . this assumption is adequate for most applications [7]. requests are served on first come first served (fcfs) basis. immediately after issuing a request for cache-to-cache transfer or synchronization procedure the customer blocks itself. the service time for blocking request has a density function f1(x). when service is completed the processor (customer) resumes processing with probability p or resumes processing and generates a new request with probability q (p+q=1). details on how to obtain the input parameters are given in [2, 3, 8, 9]. this new request has a different density function f2(x) and corresponds to wb transaction. it does not block the customer but the server is held until completion of wb transaction therefore adding to the queue. the system can be in one of the following states: 1) n: all n customers are doing internal processing; 2) j, 1: j customers are doing internal processing (n-j are blocked respectively) and all requests are of type 1(0≤j≤n-1), 3) j ,2: j customers are doing internal processing , the server is serving request of type 2, and n-j customers are waiting in the queue for service of type 1 (0≤j≤n). the transitions between these states are illustrated in fig. 1. throughout this paper we use the following notations pn (t) probability[all n customers are doing internal processing at time t] p j,i(t,x) probability[j customers are doing internal processing, n-j are in the queue and/or in the server, and the server is busy doing service of type i at time t and the elapsed service time lies between x and x+dx ] p j,i(x) probability[in the equilibrium state j customers are doing internal processing, n-j are in the queue and/or in the server, the server is busy doing service of type i and the elapsed service time lies between x and x+dx ] p j,i(t) probability[j customers are doing internal processing, n-j are in the queue or in the server, the server is busy doing service of type i at time t] pn , p j,i steady-state probabilities. pn = limt→∞ pn (t), pj,i = ∫ ∞ 0 pj,i(x)dx βi = jλ fi(x) cumulative distribution function (c.d.f.) of the service time of type i ; i=1,2 fi(x) probability density function (p.d.f.) of the service time of type i ; i=1,2 δ m,n kronecker delta 1 µi = ∫ ∞ 0 xfi(x)dx i=1,2 hi(x) = fi(x) 1−fi(x) service rate for type i; i=1,2 fi(s), fi(s+βn), fi(βn) laplace transforms (lt) of fi(x) t.u. time unit viewing the nature of the system, we obtain the following set of integro-differential equations [ d dt + βn ] pn = p ∫ t 0 pn−1(t, x)h1(x)dx + ∫ t 0 pn,2(t, x)h2(x)dx (1) 174 angel vassilev nikolov figure 1: state-transition diagram of the model. 1 ≤ j ≤ n [ d dt + ∂ ∂ t + βn−1 + h1(x) ] pn−1,1(t, x) = 0 (2) [ d dt + ∂ ∂ t + βn + h2(x) ] pn,2(t, x) = 0 (3) [ d dt + ∂ ∂ t + β j + hi(x) ] pj,i(t, x) = β j+1pj+1,i(t, x) (4) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ d dt + ∂ ∂ t + hi(x) ] p0,i(t, x) = β1p1,i(t, x) (5) for i=1,2 having the following boundary and initial conditions pj,1(t, 0) = (1−δ j,0)p ∫ ∞ 0 pj−1,1(t, x)h1(x)dx + ∫ ∞ 0 pj,2(t, x)h2(x)dx + δ j,n−1βn pn (t) (6) for 0 ≤ j ≤ n −1 pj,2(t, 0) = q ∫ ∞ 0 pj−1,1(t, x)h1(x)dx (7) for 1 ≤ j ≤ n pn (0) = 1, p0,2(t, 0) = 0, pj,i(0, 0) = 0 (8) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n by using laplace transform and discrete transform [4, 8] the above equations are transformed as follows (s + βn) pn = 1 + p ∫ ∞ 0 pn−1(s, x)h1(x)dx + ∫ ∞ 0 pn,2(s, x)h2(x)dx (9) analytical model for a multiprocessor with private caches and shared memory 175 [ s + d dx + β j + hi(x) ] u j,i(s, x) = 0 (10) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ s + d dx + +hi(x) ] p0,i(s, x) = β1p1,i(s, x) (11) for i=1,2 where u j,1(s, x) = ∑n−1n= j ( n j ) pn,1(s, x), pj,1(s, x) = ∑n−1n= j (−1)n− j ( n j ) un,1(s, x) for 1 ≤ j ≤ n − 1, and u j,2(s, x) = ∑nn= j ( n j ) pn,2(s, x), pj,2(s, x) = ∑nn= j(−1)n− j ( n j ) un,2(s, x) for 1 ≤ j ≤ n. let v j,i(s, x) = u j,i(s,x) 1−fi(x) and p ′ 0,1(s, x) = p0,1(s,x) 1−fi(x) . then from (10 and 11) we have after some transformations [ s + d dx + βi ] v j,i(s, x) = 0 for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n and [ s + d dx ] p ′ 0,i(s, x) = β1p1,i(s, x) for i = 1, 2. hence the solutions of (9-11) are u j,i(s, x) = [1−fi(x)]u j,i(s, 0)e−(s+βi)x (12) pn (s) = 1 + p f1(s + βn−1)un−1,1(s, 0) + f2(s + βn )un,2(s, 0) s + βn (13) p0,1(s, x) = [1−f1(x)]β1e−sx [ p0,1(s, 0) + n−1 ∑ n=1 (−1)n−1n 1−e −βnx βn un,1(s, 0) ] (14) p0,2(s, x) = [1−f2(x)]β1e−sx [ n ∑ n=1 (−1)n−1n 1−e −βnx βn un,2(s, 0) ] . (15) by integrating (12, 14, and 15) we obtain the lt of the instantaneous probabilities pj,1(s) = n−1 ∑ n= j (−1)n− j ( n j ) [ 1− f1(s + βn) s + βn ] un,1(s, 0) (16) for 1 ≤ j ≤ n −1 pj,2(s) = n ∑ n= j (−1)n− j ( n j ) [ 1− f2(s + βn) s + βn ] un,2(s, 0) (17) for 1 ≤ j ≤ n p0,1(s) = p0,1(s, 0) [ 1− f1(s) s ] + β1 n−1 ∑ n=1 (−1)n−1n [ 1− f1(s) s − 1− f1(s + βn) s + βn ] un,1(s, 0) βn (18) 176 angel vassilev nikolov p0,2(s) = β1 n ∑ n=1 (−1)n−1n [ 1− f2(s) s − 1− f2(s + βn) s + βn ] un,2(s, 0) βn . (19) taking lt of (6-7) and using (8 and 12-15) we get after some transformations the following system of linear equations n−1 ∑ n= j (−1)n− j ( n j ) un,1(s, 0) = p n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f1(s + βn)un,1(s, 0) (20) + n ∑ n= j (−1)n− j ( n j ) f2(s + βn)un,2(s, 0) + δ j,n−1βn pn for 2 ≤ j ≤ n −1 n ∑ n= j (−1)n− j ( n j ) un,2(s, 0) = q n−1 ∑ n= j−1 (−1)n− j+1 ( n j −1 ) f1(s + βn)un,1(s, 0) (21) for 2 ≤ j ≤ n n−1 ∑ n=1 (−1)n−1 ( n j ) un,1(s, 0) = pp0,1(s, 0) f1(s) + pβ1 [ n−1 ∑ n=1 (−1)n−1n f1(s)− f1(s + βn) βn un,1(s, 0) ] (22) n ∑ n=1 (−1)n−1 ( n j ) un,2(s, 0) = qp0,1(s, 0) f1(s) + qβ1 [ n−1 ∑ n=1 (−1)n−1n f1(s)− f1(s + βn) βn un,1(s, 0) ] (23) coefficients u j,i(s,0) can now be determined from the above equations. we can apply the final-value theorem to (16-19) to obtain the steady-state probabilities but it will require use of the l’hopital rule and seems difficult and impractical [11]. instead we set the following differential equations βnpn = p ∫ ∞ 0 pn−1(x)h1(x)dx + ∫ ∞ 0 pn,2(x)h2(x)dx (24) [ d dx + βn−1 + h1(x) ] pn−1,1(x) = 0 (25) [ d dx + βn + h2(x) ] pn,2(x) = 0 (26) [ d dx + β j + hi(x) ] pj,i(x) = β j+1pj+1,i(x) (27) for i = 1, 1 ≤ j ≤ n −1; i = 2, 1 ≤ j ≤ n [ d dx + hi(x) ] p0,i(x) = β1p1,i(x) (28) for i=1,2. equations (24-28) are to be solved under the following boundary conditions and normalizing condition pj,1(0) = (1−δ j,0)p ∫ ∞ 0 pj−1,1(x)h1(x)dx + ∫ ∞ 0 pj,2(x)h2(x)dx + δ j,n−1βn pn (29) analytical model for a multiprocessor with private caches and shared memory 177 for 0 ≤ j ≤ n −1 pj,2(0) = q ∫ ∞ 0 pj−1,1(x)h1(x)dx (30) for 1 ≤ j ≤ n −1 p0,2(0) = 0 (31) pn + n−1 ∑ j=0 pj,1 + n ∑ j=0 pj,2 = 1. (32) the solutions of (2.29-2.32) are pn = 1 + p f1(βn−1)un−1,1(0) + f2(βn )un,2(0) βn (33) pj,1 = n−1 ∑ n= j (−1)n− j ( n j ) [ 1− f1(βn) βn ] un,1(0) (34) for 1 ≤ j ≤ n −1 pj,2 = n ∑ n= j (−1)n− j ( n j ) [ 1− f2(βn) βn ] un,2(0) (35) for 1 ≤ j ≤ n −1 p0,1 = p0,1(0) µ1 + n−1 ∑ n= j (−1)n− jn [ 1 µ1 − 1− f1(βn) βn ] un,1(0) (36) p0,2 = n ∑ n= j (−1)n− jn [ 1 µ2 − 1− f2(βn) βn ] un,2(0) (37) for u j,i(0) and p0,1(0) we have n−1 ∑ n= j (−1)n− j ( n j ) un,1(0) = p n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f1(βn)un,1(0) + δ j,n−1βn pn (38) for 2 ≤ j ≤ n −1 n−1 ∑ n= j (−1)n− j ( n j ) un,2(0) = q n−1 ∑ n= j (−1)n− j+1 ( n j −1 ) f2(βn)un,2(0) (39) for 2 ≤ j ≤ n −1 p0,1(0) = β1 n ∑ n=1 (−1)n−1n [ 1− f2(βn βn ] un,2(0) (40) n−1 ∑ n=1 (−1)n−1nun,1(0) = pp0,1(0) + pβ1 n ∑ n=1 (−1)n−1n [ 1− f1(βn βn ] un,1(0) + n ∑ n=1 n f2βnun,2(0) (41) n ∑ n=1 (−1)n−1nun,2(0) = qp0,1(0) + qβ1 n ∑ n=1 (−1)n−1n [ 1− f1(βn βn ] un,1(0) (42) the coefficients u j,i(0) can be determined from (32) and (38-42). 178 angel vassilev nikolov 3 examples in order to obtain the transient state probabilities first we have to determine pn (s) and pj,i(s) from (1619) and (20-24) and then to apply the inverse laplace transform to them. we used the packages of maple 8 on a standard pc platform under windows xp for these computations [12]. results were produced and printed in less than a second. for n=4 the instantaneous probabilities are listed in appendix a. various performance characteristics can be computed using the steady-state probabilities. for example, the average number of blocked customers (anbc) in the case of blocking caches will be given by anbc = 2 ∑ i=1 n ∑ j=0 (n − j)pj,i. (43) in the case of non-blocking caches anbc will be anbc = n ∑ j=0 (n − j −1 + k)pj,1 + n−1 ∑ j=0 (n − j)pj,2. (44) where k is the ratio of average memory stall time [2] . k depends strongly on the application. (1-k) actually refers to the fraction time the processor is consuming data while cache-to-cache or memory-tocache transfer is in progress. in appendix b we list the anbc for two popular service time distributions: exponential and erlangian [1], for blocking and fully non-blocking caches (k=0). the time to solve (33-42) and calculate anbc was meaninglessly short. 4 concluding remarks this work presented a model for a shared bus, shared memory multiprocessor with private caches and captures the whole spectrum of invalidate type cache coherence protocols. although we started with fairly sophisticated set of integro-differential equations, the output of the model is a set of few linear equations from which the state probabilities can be determined. the approach eliminates the main drawbacks of the most commonly used mva analysis: inability to deal with transients and constraint on the service time distribution. the model gives insights into the transient behaviour of the system. moreover, the assumption of exponentially distributed service times can be dropped; any continuous distribution can be used. the ease of obtaining performance measures in a meaningless time makes very feasible the incorporation of the model in a multiprocessor design tool. bibliography [1] s. k. bose, introduction to queuing systems, kluwer/plenum publishers, 2001 [2] j. l. hennessy, d. a. patterson; computer architecture: a quantitative approach, pearson publishers, 2003 [3] m. c. chiang, memory system design for bus based multiprocessor, phd thesis, university of wisconsin, 1991 [4] t. itoi, t. nishida, m. kodama and e. ohi, n-unit parallel redundant system with correlated failures and single repair facility, microelectronics and reliability, vol. 17, pp. 279-285, 1978 analytical model for a multiprocessor with private caches and shared memory 179 [5] e. lazowska, j. zahorjan, g. graham, and k. sevcik, quantitative system performance, computer system analysis using queuing network models, prentice-hall, englewood clis, nj, may 1984 [6] a. louri, a.k. kodi, an optical interconnection network and a modifying snooping protocol for the design of large-scale symmetric multiprocessors (smps), ieee transactions on parallel and distributing systems, vol. 15, no. 12, dec. 2004, pp. 1093-11047. [7] r. e. matick, comparison of analytic performance models using closed mean-value analysis versus open-queuing theory for estimating cycles per instruction of memory hierarchies, ibm journal of research and development, jul 2003 [8] d. j. sorin et. al., a customized mva model for ilp multiprocessors, technical report no.1369, university of wisconsin-madison, 1998 [9] d. j. sorin et. al., evaluation of shared-memory parallel system with ilp processors , proc. 25th int’l symp. on computer architecture, june 1998, pp. 180-191 [10] j. sustersic, a. hurson, coherence protocol for bus-based and scalable multiprocessors, internet and wireless distributed computing environments: a survey , advances in computers, vol.59, 2003, pp. 211-278 [11] schiff, joel l., the laplace transform, springer, 1999 [12] waterloo maple inc., introduction to maple 8, 2002 appendix a for n=4, λ =0.001[1/t.u.], f1(x)=0.1exp(-0.1x), and f2(x)=0.01exp(-0.01x) the instantaneous probabilities are p4(t) =0 .9211361286+0.8058476879e-2*exp(-0.1248619627*t) +0.8535072295e-2*exp(-0.1089825679*t)+0.9049529656e-2*exp(-0.9494144284e-1*t) +0.9696074769e-2*exp(-0.8072343638e-1*t)+0.1774027054e-3 exp(-0.1510201407e-1*t) +0.1728181365e-2*exp(-0.1398702636e-1*t) +0.5618533851e-2*exp(-0.1256085210e-1*t) +0.1211910345e-1 exp(-0.1067946234e-1*t)+0.2388149701e-1*exp(-0.8161235321e-2*t), p31(t) =0.3792913471e-1-0.1093143496e-1*exp(-0.1248619627*t) -0.1007354818e-1 *exp(-0.1089825679*t)-0.9271731350e-2*exp(-0.9494144284e-1*t) -0.8405607569e-2*exp(-0.8072343638e-1*t)+0.2658572506e-2 *exp(-0.1510201407e-1*t)-0.2212663963e-5*exp(-0.1398702636e-1*t) -0.3015750621e-3*exp(-0.1256085210e-1*t)-0.6739486112e-3 *exp(-0.1067946234e-1*t)-0.9276492013e-3*exp(-0.8161235321e-2*t), p21(t) = 0.1420742616e-2+0.2324288902e-2*exp(-0.1248619627*t) +0.2986557798e-3* exp(-0.1089825679*t)-0.1243034332e-2 *exp(-0.9494144284e-1*t)-0.2544948528e-2*exp(-0.8072343638e-1*t) -0.5329230583e-2*exp(-0.1510201407e-1*t)+0.6737760872e-2 *exp(-0.1398702636e-1*t)+0.4442015626e-3*exp(-0.1256085210e-1*t) -0.5688666731e-3*exp(-0.1067946234e-1*t)-0.1539483112e-2 *exp(-0.8161235321e-2*t), p11(t) =0 .7684028624e-4-0.2290986748e-3*exp(-0.1248619627*t) +0.3160128043e-3*exp(-0.1089825679*t)+0.2148505581e-3 *exp(-0.9494144284e-1*t)-0.3252577041e-3 180 angel vassilev nikolov *exp(-0.8072343638e-1*t)+0.3775725072e-2*exp(-0.1510201407e-1*t) -0.8400171763e-2*exp(-0.1398702636e-1*t)+0.4974831098e-2 *exp(-0.1256085210e-1*t)+0.5143708805e-3*exp(-0.1067946234e-1*t) -0.9181578239e-3*exp(-0.8161235321e-2*t), p01(t) = 0.9242283829e-5*exp(0-.1248619627*t)-0.3513395647e-4 *exp(-0.1089825679*t)+0.4257071327e-4*exp(-0.9494144284e-1*t) -0.1688587212e-4*exp(-0.8072343638e-1*t)-0.9200675435e-3 *exp(-0.1510201407e-1*t)+0.2810623081e-2*exp(-0.1398702636e-1*t) -0.3183584754e-2*exp(-0.1256085210e-1*t)+0.1611954912e-2 *exp(-0.1067946234e-1*t)-0.3239077071e-3*exp(-0.8161235321e-2*t) +0.5218152790e-5, p42(t) = 0.2709223908e-1+0.9859983387e-3*exp(-.1248619627*t) +0.1060558367e-2*exp(-0.1089825679*t)+0.1145474465e-2 *exp(-0.9494144284e-1*t)+0.1259769099e-2*exp(-0.8072343638e-1*t) -0.2412466943e-1*exp(-0.1510201407e-1*t)-0.1705507775e-2 *exp(-0.1398702636e-1*t)-0.2095511260e-2*exp(-0.1256085210e-1*t) -0.2029637013e-2*exp(-0.1067946234e-1*t)-0.1588776483e-2 *exp(-0.8161235321e-2*t), p32(t) = -0.2421204825e-3*exp(-0.1248619627*t)-0.7509940526e-4 *exp(-0.1089825679*t)+0.9576676158e-4 *exp(-0.9494144284e-1*t)+0.3013803504e-3 *exp(-0.8072343638e-1*t)+0.7126069503e-1*exp(-0.1510201407e-1*t) -0.6135152996e-1*exp(-0.1398702636e-1*t)-0.8971987351e-2 *exp(-0.1256085210e-1*t)-0.5950006752e-2*exp(-0.1067946234e-1*t) -0.4494935895e-2*exp(-0.8161235321e-2*t)+0.9428952497e-2, p22(t) =0 .2421271696e-2+0.2626333487e-4*exp(-0.1248619627*t) -.3154175021e-4*exp(-0.1089825679*t)-0.2945613244e-4 *exp(-0.9494144284e-1*t)+0.3412946115e-4*exp(-0.8072343638e-1*t) -0.8108903801e-1*exp(-0.1510201407e-1*t)+0.1349032466 *exp(-0.1398702636e-1*t)-0.4071010637e-1*exp(-0.1256085210e-1*t) -0.9622074403e-2*exp(-0.1067946234e-1*t)-0.5904604182e-2 *exp(-0.8161235321e-2*t), p12(t) = -0.1765308077e-5*exp(-0.1248619627*t)+0.4800731626e-5 *exp(-0.1089825679*t)-0.4448905932e-5*exp(-0.9494144284e-1*t) +0.1599282603e-5*exp(-0.8072343638e-1*t)+0.4177917201e-1 *exp(-0.1510201407e-1*t)-0.9973555226e-1*exp(-0.139870263e-1*t +0.7256040480e-1*exp(-0.1256085210e-1*t)-0.9747995399e-2 *exp(-0.1067946234e-1*t)-0.5300997812e-2*exp(-0.8161235321e-2*t) +0.4449749927e-3, p02(t) = -0.4618227199e-6*exp(-0.1248619627*t)-0.2203030325e-6 *exp(-0.1089825679*t)+0.4881890483e-7*exp(0-.9494144284e-1*t) -0.1699392257e-7*exp(-0.8072343638e-1*t)-0.8188760719e-2 *exp(-0.1510201407e-1*t)+0.2501502200e-1*exp(-0.1398702636e-1*t) -0.2833447693e-1*exp(-0.1256085210e-1*t)+0.1434663085e-1 *exp(-0.1067946234e-1*t)-0.2882912592e-2*exp(-0.8161235321e-2*t) +0.4449749927e-4. in the above expressions e-i means 10-i for i=1,7. analytical model for a multiprocessor with private caches and shared memory 181 appendix b table 1: n=8, f1(x)=0.1exp(-0.1x), f2(x)=0.01exp(-0.01x) λ [1/t.u.] p anbc for blocking anbc for fully caches nonblocking caches 0.001 0.9 0.154099881194466 0.075640880006411 0.002 0.9 0.441552853804251 0.290383910880334 0.003 0.9 0.822750601431095 0.607433119474025 0.004 0.9 1.253944990222998 0.984102789831906 0.001 0.8 0.230012889507952 0.152313018403034 0.002 0.8 0.729883782777377 0.584481458432927 0.003 0.8 1.382033782478873 1.183494795953230 0.004 0.8 2.063720956300253 1.826269794552253 table 2: n=8, f1(x)=0.13x2ex p(−0.1x)/2!, f2(x)=0.013x2ex p(−0.01x)/2! λ [1/t.u] p anbc for blocking anbc for fully caches nonblocking caches 0.001 0.9 0.384839057891723 0.211437492029451 0.002 0.9 1.313451009452606 0.582993712839022 0.003 0.9 2.390481400874492 1.782339618354729 0.004 0.9 3.691834116720534 2.882438452093385 0.001 0.8 0.614956120345239 0.400820549913285 0.002 0.8 2.611487230549326 1.722034656332087 0.003 0.8 4.062557145097248 3.429652938504840 0.004 0.8 5.899361833023557 5.394204692051840 angel vassilev nikolov national university of lesotho department of mathematics and computer science roma 180 lesotho e-mail: av.nikolov@nul.ls received: december 17, 2007 182 angel vassilev nikolov angel vassilev nikolov received the beng degree in electronic and computer engineering from the technical university of budapest, hungary in 1974 and the phd degree in computer science from the bulgarian academy of sciences in 1982 where he worked as a research associate. in 1989 he was promoted to associate research professor in bulgaria. dr nikolov also served as a lecturer of computer science at the national university of science and technology, bulawayo, zimbabwe and at the grande prairie regional college, alberta, canada and as an associate professor at sharjah college, united arab emirates. his research interests include computer architecture, performance evaluation of multiprocessors, and reliability modeling. he has published numerous journal and conference articles and holds four patents on the above topics. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 744-754 complex computer simulations, numerical artifacts, and numerical phenomena d.-a. iordache, p. sterian, f. pop, a.r. sterian dan-alexandru iordache, paul sterian, andreea rodica sterian physics department, university politehnica of bucharest, 313 splaiul independentei, bucharest 060042, romania e-mail: {daniordache2003,paul.sterian,andreea_rodica_sterian}@yahoo.com florin pop lecturer, computer science department, university politehnica of bucharest, 313 splaiul independentei, bucharest 060042, romania e-mail: florin.pop@cs.pub.ro abstract: the study of some typical complex computer simulations, presenting one or more complexity features, as the: a) symmetry breaking, b) nonlinear properties, c) dissipative processes, d) high-logical depth, e) selforganizing processes, etc allows to point out some several numerical artifacts, namely the: (i) distortions, (ii) scattering, (iii) pseudo-convergence, (iv) instability, (v) mis-leading (false) symmetry-breaking simulations and others. the detailed analysis of these artifacts allowed clarifying the numerical mechanisms of some such artifacts, which can be named in following numerical phenomena, because their basic features can be exactly predicted. keywords: computer simulations, numerical artifacts, numerical phenomena, self-organizing processes. 1 introduction we live in a computerized world, our civilization being a "civilization of computers". taking into account that computers control the work of all-present complex installations and devices, the appearance (due to some numerical phenomena) of some important distortions of the simulated processes lead usually to major failures of the technical installations. particularly, the events referring to the erroneous computer (numerical) simulation and design of the flight of the patriot missile which failed (with disastrous results) during the gulf war in 1991 to stop a scud missile [1] and the self-destruction of the european space agency’s ariane 5 rocket, at 37 seconds after its launch [2], were both assigned to computer errors [3] and to their associated numerical artifacts/artefacts/phenomena. given being the computer simulations are considerably cheaper than the experimental studies and they allow the prediction of the physical systems behavior even in inaccessible conditions, the computer simulations are widely used in technical studies. because the modern (optimized) technical systems are complex [4], the computer simulations are also complex, and for this reason they generate specific numerical artifacts. in fact, there is a huge number of publications reporting such phenomena (usually related to some complex numerical simulations), as it can be easily found consulting some search systems, e.g. the google system. as it results from table 1, even eliminating by the use of quotation marks (") the "parasitic" published works entitled as numerical simulations of... boiling phenomena, etc, there remain very large numbers of published works in these fields. this work deals with the study of possibilities to discover the mechanisms of the artifacts intervening in some complex simulations and to predict quantitatively the basic parameters of copyright c⃝ 2006-2010 by ccc publications complex computer simulations, numerical artifacts, and numerical phenomena 745 topics no quotation marks with quotation marks, e.g. "numerical artifacts" numerical artifacts 1,180,000 9,370 numerical artefacts 126,000 2,440 numerical phenomena 4,160,000 1,340 complex simulations 3,000 table 1: numbers of published papers found by the google search system (beginning of 2009) the computer generating errors, transforming so the observed numerical artifacts/artefacts in the so-called numerical phenomena. we have to underline from beginning that the discovery of these mechanisms belong to the field of numbers theory and that many problems in the field of numbers theory are extremely difficult. e.g., the statement of the (pierre de) fermat’s last (greatest) theorem was published (after his death, by his eldest son clément samuel fermat) in 1670 [4], but its solution was found only in 1995 [5] by the professor andrew wiles [6]. we will focus mainly to the study of the main features of the classical [7], [8] and of the newly found [9], [10] numerical phenomena associated to the finite differences (fd) simulations [11] of the pulses propagation through media with sharp interfaces and attenuative character, as well as of other numerical methods (as the random walk method, the gradient one, etc), applied to the study of different physical processes, as diffusion [12], [13], solitary wave propagation, applications to the evaluation of the parameters of some physical systems, etc. 2 symmetry breaking in some computing programs 2.1 symmetry breaking of the wave equation in ideal media the finite differences (fd) discretization of the wave equation in ideal media: ∂2w ∂t̃2 = v2φ ∂2w ∂x2 → wt+1 + wt−1 − 2w τ2 = v2φ wi+1 + wi−1 − 2w ϵ2 (1) which is symmetrical relative to the space steps i − 1, i, i + 1 and the time steps t − 1, t, t + 1, if the fd velocity and the wave propagation one are equal: vfd = ϵ τ = vφ (2) defining the courant’s number [7] by means of the relation: c = vφ vfd (3) one finds easily that if: (i) c > 1, there will intervene instabilities, because the fd schema does not use all information received at the observation point (vφ > vfd), (ii) c < 1, there will intervene distortions, because for vφ < vfd, the fd schema uses more information than it receives, and this additional information acts as a jamming, (iii) c = 1, we have an ideal fd schema (stable and convergent), because this schema has all necessary physical information and nothing more! one finds that the symmetry breaking for values different than 1 of the courant number leads to the "classical" numerical phenomena. 746 d.-a. iordache, p. sterian, f. pop, a.r. sterian 2.2 symmetry breaking of the smoothing model of a sharp interface consider a sharp interface between 2 homogeneous elastic media. if the method of finite differences (fd) is used, then in order to avoid the use of dirac function a certain smoothing of the sharp interface is necessary, spreading it over 2 or 3 fd nodes, whose indices i are denoted as i − 1, i and i + 1 (see figure 1). figure 1: smoothing models of the sharp 1-d interfaces (see also [14]-a). then the differential equation ρ(x)∂ 2w ∂t̃2 = ∂ ∂x [ s(x)∂w ∂x ] of the elastic pulses propagation through an in-homogeneous medium becomes: ρ̃i wt+1 + wt−1 − 2w τ2 = ⟨ ∂s ∂x ⟩ i wi+1 + wi−1 2ϵ + s̃i wi+1 + wi−1 − 2w ϵ2 . (4) where ρ̃i = ⟨ρ⟩i, s̃i = ⟨s⟩i and ⟨ ∂s ∂x ⟩ i are the chosen average values around the fd node i. the chosen expressions of these average values (see table 2) can succeed or not to remake the (apparent) symmetry of the propagation medium in the frame of the fd simulation; e.g., one finds from the examination of table 2, that all required expressions are symmetrical around the sites i − 1, i and i + 1 for model 1, and around the sites i and i + 1 for model 2a, while this general symmetry is not kept for all average expressions of models 2b, 3a and 3b. that is why while the smoothing models 1 and 2a ensure always stable and convergent numerical simulations for the smoothing models 2b 3a and 3b, respectively, there appear the basic types of usual numerical artifacts [7, 8, 14]: a) the instability, b) the pseudo-convergence. the plots of these numerical artifacts for the above-indicated 5 types of studied finite differences (fd) smoothing schemes (models), intended to the simulation of certain elastic pulses propagation through complex materials are presented by figures 2 and 3 below (see also [15]). i ρ̃i s̃i ⟨ ∂s ∂x ⟩ i i − 1 i i + 1 i − 1 i i + 1 ⟨ ∂s ∂x ⟩ i−1 ⟨ ∂s ∂x ⟩ i ⟨ ∂s ∂x ⟩ i+1 1 ρ ρ ′+ρ 2 ρ′ s s+s ′ 2 s′ 0 s ′−s ϵ 0 2a ρ 3ρ ′+ρ 4 3ρ′+ρ 4 s 3s+s ′ 4 s+3s′ 4 0 s ′−s 2ϵ s′−s 2ϵ 2b ρ ρ ρ′ s s s′ 0 s ′−s 2ϵ s′−s 2ϵ 3a ρ ρ ′+ρ 2 ρ′ s s+s ′ 2 s′ s ′−s 4ϵ s′−s ϵ s′−s 4ϵ 3b ρ ρ ′+ρ 2 ρ′ 7s+s ′ 8 s+s′ 2 s+7s′ 8 s′−s 4ϵ s′−s ϵ s′−s 4ϵ table 2: expressions of the average values of the main elastic parameters for the basic smoothing models of one-dimensional (1-d) interfaces (see also [14]-a) complex computer simulations, numerical artifacts, and numerical phenomena 747 figure 2: plots of numerical simulations corresponding to different fd schemes (those of models 3a and 3b are pseudo-convergent, and unstable, respectively). figure 3: convergent numerical simulations corresponding to models 1 and 2a, and pseudoconvergent ones for models 2b, 3a. one finds that while the instabilities can be easily detected and eliminated, the pseudoconvergence is considerably more "dangerous", because: a) the pseudo-convergent simulations have a right shape, while: b) the corresponding wrong displacement values can be considerably more difficult observed, hence the pseudo-convergent simulations could be easily misleading. 3 nonlinear properties of the propagation medium it is well-known [7] that the computer rounding errors are amplified considerably in the frame of some non-linear equations, as those corresponding to certain solitary waves, leading due to some instability numerical artifacts (see figure 4). particularly, the korteweg-de vries equation: ∂u ∂t = −v00u ′ − nuu′ − d1u ′′′ (5) can be discretized as: f(i) = p(i)−γ·[a(i + 1) − a(i − 1)]+α·a(i)·[a(i − 1) − a(i + 1)]+β·[a(i − 2) − a(i + 2)] (6) there were studied the numerical artifacts corresponding to the 2 main types of nonlinear solitary waves (which can propagate keeping their shapes): the bell-shaped (or breathers) and 748 d.-a. iordache, p. sterian, f. pop, a.r. sterian figure 4: fd simulation of a korteweg-de vries (kdv) solitary wave breather propagation the kink-shaped waves [16]. figures 4 and 5 present the basic numerical artifacts intervening in the fd simulations of the breathers propagation (see also [17]). while the artifacts intervening in the simulations of the kdv breathers propagation reduce to a monotonic increase of distortions up to the appearance of the instability (figure 4), the use of the discrete version (dnls) of the cubic nonlinear schrödinger (nls) equation to describe the wave-guide arrays with saturable nonlinearity leads in certain conditions to the artefact corresponding to the merging of two breathers with symmetry breaking (see figure 5 and [17]). figure 5: the symmetry breaking artefact intervening in the merging (bound state formation) of 2 symmetric snls breathers 4 dissipative media because the modulus of the first solution of the attenuation-dispersion relation [15] is larger than 1: |g1| = eϵe > 1, the fd schemes used for the simulation of the acoustic pulses propagation in dissipative media are always unstable. there were pointed out also: (i) the instability of the attenuated wave simulation, even for absolutely exact initial conditions, due to the generation of the amplified wave (mathematically possible, but without a physical meaning) by the stochastic local accumulation of some local "rounding" inaccuracies of the exact values corresponding to such waves, acting as a self-organising process in the computing program run, as well as: (ii) the extremely strong acceleration of the amplified wave generation when the complex wave-functions are used (stability and convergence radii of the magnitude order of 1 db or even smaller). the introduction of some: (i) corrective measures (the use of some analytical expressions of some partial derivatives, particularly), (ii) properly chosen effective parameters, allows the weakening of these unpleasant numerical phenomena, ensuring stability and convergence radii of the magnitude order of 100 db [13], which represent sufficiently high values for accurate descriptions, by complex computer simulations, numerical artifacts, and numerical phenomena 749 means of the finite difference method, of the cases of technical interest. 5 high logical depth as it results from equation (1), the fd scheme of waves propagation in ideal media is not too intricate, even if the courant’s number is less than 1: c < 1. the repeated use [by a large number (n > 105) of successive iterations, e.g. for simulations of the ultrasonic non-destructive examinations of some industrial components] of this equation, leads however to the high logical depth complexity feature of the used computer program, and consequently to several numerical artifacts indicated in the frame of figure 6. the expressions of the main limits are: xe = −ct−2 3 √ t, xp = 1+c(t−1), xp = n+c(t−1), xn = ct + n + 2 3 √ t, while for c ≈ 0.5 and n ≈ 71, the relative (to the incoming pulse one) amplitudes of the echo pulses have the magnitude orders: 0.1 for the rectangular pulse, 0.01 for the sine pulses, and 0.001 for the gaussian pulses. figure 6: structure of fd simulations of the propagation of pulses of different shapes 6 from the numerical artifacts to the numerical phenomena 6.1 difficulties and main methods used to study the numerical artifact mechanisms because many problems in the field of numbers theory are extremely difficult, the aim of this study is to point out the main features of the mechanisms leading to some numerical artifacts intervening in the computer simulations of pulses propagation. the accomplished analysis pointed out that the main methods to study these numerical artifact mechanisms are the methods of the: a) fd transfer coefficients [18], b) fourier’s representation of the exact solutions of the discretized wave equation [19]. 6.2 the method of transfer coefficients in order to explain the results corresponding to the linear fd schemes, a partition of the incoming pulse in n components of amplitudes (in the order of their incoming on the studied 750 d.-a. iordache, p. sterian, f. pop, a.r. sterian material) s1, s2, . . . , sn is considered. the amplitudes of the same components in the previous time step are denoted by s′1, s ′ 2, . . . , s ′ n. the transfer coefficients kti are defined by means of the expressions (4) of the displacement wit corresponding to the space site i at the moment (time step) t: wit = n∑ j=1 kt,n+2+t−i−j · sj − n∑ j=1 kt,n+t−i−j · s′j (7) a simplified definition of the transfer coefficients corresponds to the fd simulations with equal values of the real phase speed vφ and of the fd one: vfd = ϵτ (i.e. for the value 1 of the courant number [7]: c = vφ vfd ), because then the pulse partition components at successive time steps coincide: s′i = si (for any i = 1, 2, . . . , n). in the particular case of a sharp 1-d interface located in the site i, the transfer coefficients describing the transmitted wave are defined as [14]-a: wi+1,t = t−2∑ j=1 kjst−j−1 (8) 6.3 fourier’s representation method of the exact solutions of the discretized wave equation the exact discrete solution of the wave equation is written by means of its fourier expansion, as: wj,t = ∞∑ k=−∞ ck · [g(k)] t · eik·jϵ (9) where g(k) is named the amplification factor. introducing this expression in the wave equation, one obtains the "attenuation-dispersion" relation: g − 2 + 1 g = f(k · ϵ, vfd, w) (10) where f(k · ϵ, vfd, w) is a specific function of the considered wave. according to von neumann’s theorem ( [19]-a, p. 42), the considered fd scheme will be stable if both solutions of the algebraic equation (10) fulfil the requirement: |g1,2| ≤ 1, else this scheme will be unstable. 6.4 applications to the study of mechanisms of some numerical artifacts the method of transfer coefficients. appplying this method to the problem of sharp interfaces (see section 2a and figures 1 3), we will find that the above indicated numerical artifacts belong to the class of numerical phenomena, because they can be identified and described starting from the values of the roots of the characteristic equation [15]: ξ2 − (t_t1 + 2t_t2 + t0t1)ξ − t_t2 = 0. (11) where: ti = ai−1bi − 1, while ai and bi are the coefficients of the fd wave equation (4): wi,t+1 = aiwi+1,t + biwi−1,t − wi,t−1. one finds so that as |ξ| > 1 or |ξ| < 1, the used fd scheme is unstable, or it is stable. the method of fourier’s representation. using the above presented method of the fourier’s representation of the exact solutions to the problem of korteweg-de vries solitons complex computer simulations, numerical artifacts, and numerical phenomena 751 (section 3), one obtains the following expression [19]-b,c of the upper threshold (for the numerical scheme stability) of the time step: τmax = ϵ αa + 4β ϵ2 (12) our study [15] pointed out both the validity of the vliegenthart condition (13), as well as the monotonic improvement of the fd simulations accuracy as the representative point of the fd steps ϵ, τ tends to the vliegenthart’s boarder of the stability and instability regions. one finds so that the stability field of the fd simulations of kdv solitons propagation is rather broad. because the size and borders of the stability domain depend on the: a) strongly (e.g., in the case of some exponential dependencies) or weakly (as in the above studied case) character of the nonlinear dependence, b) number of interacting system components. 7 stability and convergence radii of different numerical schemes the accomplished numerical studies [20], [21] have pointed out that, for given values of the wave frequency (or wavelength) and of the tangent of mechanical losses, beginning from a certain number of space (or time) steps xlim, one finds usually the appearance of large oscillations of the simulated displacements, which lead quickly to instability. because the instability is determined by the value of the factor eex and: e = k tan δ 2 , while the wave intensity is proportional to the square of displacement: i ∝ w2, one finds that the measure (in deci-bells) of the intensity level corresponding to the stability field is: ⟨li,stab⟩db = 2 ⟨lw,stab⟩db = 20exlim = 20kxlim tan δ 2 = 40π xlim λ tan δ 2 . (13) of course, the decrease of the wave intensity corresponding to the stability field (limit) is: ilim i0 = e−2exlim = e ⟨li,stab⟩ 10 (14) table 3 synthesizes the obtained numerical results. type of the wave equation no. of numerical ⟨li,stab⟩db tlim interactions (stability, life, steps) complex stiffness equation 12 0.0321 102 complex stress relaxation time 10 4 12732 complex wave-vector equation 8 20 63622 space evolution equation 6 40.476 128839 real wave, equation 5 80.130 255062 table 3: stability radii and mean life of different numerical simulations [15]. 8 analysis of the obtained results for different studied numerical schemes and physical processes the obtained results (tables 1 and 2) concerning the stability and convergence radii of different numerical schemes intended to the computer simulation of certain physical processes 752 d.-a. iordache, p. sterian, f. pop, a.r. sterian (acoustic pulse propagation, diffusion with drift, absorption, etc) indicate the "accessible" logical depths [22] of the specific studied physical problems, for each of the used numerical schemes. these results present also a considerable importance for the choice and optimization of the numerical schemes [23]. certain numerical schemes, e.g. that corresponding to the complex stiffness s̄ symmetric wave equation of the propagation in dissipative media: ρ ∂2w̄ ∂t′2 = s̄ ∂2w̄ ∂x2 (15) allow multiple solutions; using the fd descriptions: t′ = tτ and: x = iϵ (in terms of the time τ and space ϵ steps) of the real time t and space coordinate x, these solutions can be written as: w̄i,t = a · e±iωtτ · e±(e+ik)iϵ (16) even if the initial conditions launch only the "direct" wave: w̄dir.i,t = a · e −eiϵ · ei(ωtτ+kiϵ) (17) some random accumulations of the rounding errors intervening in the evaluation of the partial derivatives produce a local ("spontaneous") generation of the inverse wave: w̄inv.i,t = a ′ · eeiϵ · ei(ωtτ+kiϵ) (18) leading to the sudden apparition of instabilities. one finds so that the numerical simulations of the waves propagation through dissipative media lead to a typical problem of self-organizing systems, with a spontaneous symmetry breaking. this symmetry breaking corresponds to the "spontaneous" local generation of the inverse wave, launched by the random accumulation of the "garbage" rounding errors and followed by the transition between the attenuated wave and the apparently amplified wave, corresponding to the "inverse" wave. the accomplished study (see tables 1 and 2) points out that the "speed" of this self-organization process crucially depends on the number and intensity of the numerical "interactions" between the components (the values wi,t of the displacement in different sites i, t of the fd grid) of the simulation process. because such numerical "interactions" are achieved mainly by the fd approximate expressions of the partial derivatives, the "spontaneous" breaking of the symmetry appears quicker for (in the decreasing order of importance): • a) large numbers of displacement components involved in the expressions of partial derivatives, e.g. when their expressions with 2 previous time steps (instead of those using an only one previous time step) are used1: ḟ(0) = −f(2τ) + 8f(τ) − 8f(−τ) + f(−2τ)/12τ, f̈(0) = −f(2τ) + 16f(τ) − 30f(τ) + 16f(−τ) − (−2τ)/12τ2 when the instabilities appear after only few tens of iterations, • presence and repeated "mixture" of the values of both real and pure imaginary parts of the complex wave function (displacement) w̄, • more parasitic solutions, • more partial derivatives involved in the expression of the differential equation of the acoustic pulse propagation. 1the formulae in more points are considerably more accurate for rather small numbers of iterations, but they give rise later to spurious solutions and instability (see table 1). complex computer simulations, numerical artifacts, and numerical phenomena 753 for these reasons, the highest "accessible" logical depth [22] is reached (for the simulations of the acoustic pulse propagation through attenuative media) for the numerical scheme using the real wave function equation (see table reftab02), with the usual fd approximations of the first 2 order derivatives: ḟ(0) = f(τ) − f(−τ) 2τ , f̈(0) = f(τ) − 2f(0) + f(−τ) τ2 . (19) 9 conclusions and future works the obtained results concerning the different numerical phenomena associated to the complex computer simulations present a considerable importance for the choice and optimization of these numerical schemes [23]. it was also found that some numerical simulations (e.g, those of the acoustic pulse propagation through attenuative media) allow the study of some features of the self-organizing systems (the "spontaneous" symmetry breaking, the influence of the interactions between the system components on the "accessible" logical depth, etc). acknowledgments the authors acknowledge the financial support from the national center for programs management (cnmp) of the romanian ministry of education, research, youth and sports, under the contract no. d11-044/2007-quantgrid. bibliography [1] r. skeel, siam news, 25(4), p. 11, 1992. [2] siam news, 29(8), pp. 1, 123, 13, 1996, http://www.siam.org/siamnews/general/ariane.htm [3] a) d. w. mcclure "computer errors", in d. a. iordache, d. w. mcclure, selected works of computer aided applied sciences, vol. 2, printech publishing house, bucharest, 2002, p. 535; b) d. w. mcclure "computer errors", basic notions (chapter 9), applications (chapter 10), in the frame of textbook e. bodegom, d. w. mcclure et al (d. iordache, fl. pop, c. roşu editors) "computational physics guide", politehnica presss, bucharest, 2009. [4] cl. s. fermat "diophantus’ arithmetica containing (48) observations by p. de fermat", toulouse, 1670. [5] a. wiles "modular elliptic curves and fermat’s last theorem", annals of mathematics, 142, 443-551(1995). [6] s. singh "fermat’s enigma: the epic quest to solve the world’s greatest mathematical problem", walker publishing company, new york, 1997. [7] r. courant, k. friedrichs, h. lewy, math. ann., 100, 32(1928). [8] p.p. delsanto, t. whitcombe, h.h. chaskelis, r.b. mignogna, wave motion, 16, 65(1992). [9] d. iordache, p. delsanto, m. scalerandi "pulse distortions in the fd simulations of elastic wave propagation", mathl. comp. modelling, 25(6) 31-43, 1997. 754 d.-a. iordache, p. sterian, f. pop, a.r. sterian [10] d. iordache, m. scalerandi, c. rugină, v. iordache "study of the stability and convergence of fd simulations of ultrasound propagation through non-homogeneous classical (zener’s) attenuative media", romanian reports on physics, 50(10) 703-716, 1998; b) d. a. iordache, m. scalerandi, v. iordache, romanian journal of physics, 45(9-10) 685(2000). [11] j. c. strikwerda "finite difference schemes and partial difference equations", wadsworthbrooks, 1989. [12] p. p. delsanto, g. kaniadakis, m. scalerandi, d. iordache, comp. math. applic., 27(6) 51-61(1994). [13] p.p. delsanto, g. kaniadakis, m. scalerandi, d. iordache, mathl. comp. modelling (uk), 19(9) 1-8 (1994). [14] a) p. p. delsanto, d. iordache, c. iordache, e. ruffino "analysis of stability and convergence in fd simulations of the 1-d ultrasonic wave propagation", mathl. comp. modelling, 25(6) 19-29, 1997; b) d. iordache, şt. puşcă, c. toma "numerical analysis of some typical fd simulations of the waves propagation through different media", lecture notes on computer sciences, 3482, 614-620, 2005. [15] d. iordache "contributions to the study of numerical phenomena intervening in the computer simulations of some physical processes", credis printing house, bucharest, 2004. [16] a. v. porubov, m. g. velarde "strain kinks in an elastic rod embedded in a viscoelastic medium", wave motion, 35, 189-204, 2002. [17] j. cuevas, j. c. eilbeck "discrete soliton collisions in a waveguide array with saturable nonlinearity", physics letters a, 358(1) 15-20, 2006. [18] d. iordache, m. scalerandi, c. iordache "mechanisms of some numerical phenomena specific to the finite differences simulations of the ultrasound propagation", proc. 25th congress of the american-romanian science academy, cleveland (us), 2000, pp. 263-266. [19] a) j. c. strikwerda "finite differences schemes and partial difference equations", wadsworth-brooks, 1989; b) a. c. vliegenthart, j. eng. math., 3, 81-94, 1969; c) a. c. vliegenthart, j. eng. math., 5, 137-155, 1971. [20] a) p. p. delsanto, m. scalerandi, v. agostini, d. iordache, il nuovo cimento, b, 114, 141326(1999); b) d. iordache, m. scalerandi m., c. rugină, v. iordache, romanian reports on physics, 50(10) 703-716 (1998). [21] d. iordache, m. scalerandi, v. iordache, romanian j. of physics, 45(9-10) 685-704 (2000). [22] m. gell-mann, europhysics news, 33(1) 17-20 (2002). [23] d. iordache, v. iordache, romanian journal of physics, 48(5-6) 697-704 (2003). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 919-928 a metrics-based diagnosis tool for enhancing innovation capabilities in smes j. sepulveda, j. gonzalez, m. camargo, m. alfaro juan sepulveda, javier gonzalez, miguel alfaro department of industrial engineering, university of santiago of chile 3769 ecuador ave. santiago, chile. po box 10233 mauricio camargo nancy-universite / erpi (equipe de recherche des processus innovatifs) 8, rue bastien lepage 54010 nancy cedex, france abstract: innovation doubtless represents a main strategic lever for the development of small and medium enterprises (smes) in many industrial sectors and it comprises new techniques, new products and new processes, as well as new services which lead to better customer service and revenue. however, the basic question of how well the company is equipped with the necessary practices, methodologies, people, and beliefs, is far from being completely answered yet. in this paper, a metrics-based diagnosis tool for measuring and enhancing the innovation capabilities in smes is presented along with a set of preliminary results from case-based studies at the local industry. in this paper we propose a new method by studying the competences of smes in concepts tied to innovation and by using a specified framework. as a first step, all of the necessary information by using questionnaires with verbal-scales evaluations is compiled. second, we use a non-compensatory flow-based sorting method with central profiles to identify the current level and to classify the company into predefined levels. third, a detailed analysis of the obtained values is performed in order to make a personalized recommendation. keywords: technological innovation, multicriteria decision making, classification methods. 1 introduction 1.1 innovation process the innovation literature is a fragmented corpus due to the contribution of many scholars with diverse disciplinary backgrounds that try to adopt different ontological and epistemological positions to investigate and analyze this complex and multimensional phenomena. thus, a variety of approaches [1], [2] and many different measurement methods [3], [4], [5] can be found. chiesa et al. in [6] describe process and performance as the two foci of innovation management measures; they overlay core processes with a set of enabling processes, the latter describing the deployment of resources, and the effective use of appropriate systems and tools governed by top management leadership and direction. a close link exists between product and process innovations: the majority of the articles address both type of innovations and only few articles considered only process innovations [7]. we can observe this relationship in the definition made by cormican et al. [8] , that describe the product innovation as a continuous and cross-functional process involving and integrating a growing number of different competences inside the organization. in the area of the variables related to innovation, we can consider important works on frameworks. adams et al. [3] in a survey develops a synthesized framework of the innovation management copyright c⃝ 2006-2010 by ccc publications 920 j. sepulveda, j. gonzalez, m. camargo, m. alfaro process consisting of seven categories: inputs management, knowledge management, innovation strategy, organizational culture and structure, portfolio management, project management and commercialization. boly [9] , based on the literature [7] [8], identified the most used practices by innovative enterprises and he classified them under 13 categories or groups. according to the author, these practices constitute the principal actions performed by the enterprises to define their strategy, to guide and impel the innovation processes and make evolve the organization or its methods of work; they develop these practices completely or partially and in a formal or informal way where the level of use of these practices allows to classify the enterprises according to his innovation potential. 1.2 measuring innovation by assessment of practices corona in [10] defined an index of potential innovation (iip), which is calculated by using multicriteria decision making (mcdm) tools, and uses as criteria the 13 innovation practices defined by boly [9] . these practices are the concrete actions executed by the enterprises to define their strategy, to guide and to impel the innovation processes and to make evolve the organization or its working methods. the index will allow to obtain a classification according to the attitudes and strategies adopted by these enterprises. based on [11] we can classify companies as: proactive, preactive, reactive and passive. on the other hand, morel et al. [12] propose the use of choquet’s integral to consider the interaction between the different innovation practices, defining an aggregated index of potential innovation (apii). finally, assielou in [13], besides of adding two new innovation practices, he makes modifications in the system of treatment and practices. current index-based methods are actually sorting procedures and present limitations to correctly classify enterprises in this field. in this paper we propose a new method to make the evaluation of innovation levels in the small and medium enterprises by using a specified framework. as a first step, all the necessary information by using questionnaires with verbal-scales evaluations is collected. then, a non compensatory flow-based sorting method with limiting profiles is applied. the third step consists of a detailed analysis of the values obtained in each evaluation of an enterprise to perform a personalized recommendation for each company about areas to be improved. an example of its application is given. 2 construction of the gathering tool and reference profiles 2.1 gathering tool based on the works by assielou [13], corona [10] and camargo [14] we use categories of innovation practices ci, each with practices belonging to a similar class, as shown below. i. creation / concept generation (c1) 1.1 use of tools to increase the creativity 1.2 integration of the clients and suppliers in the conception process 1.3 organization, compilation and management of information from the exterior ii. conception activities (c2) 2.1 use of tools of help to the conception 2.2 existence of a methodology of help to the conception 2.3 hardware equipment iii. human resources management (c3) a metrics-based diagnosis tool for enhancing innovation capabilities in smes 921 3.1 management of competences and the skills of the society 3.2 innovation stimulation iv. strategy (c4) 4.1 strategy integrated to favor the innovation 4.2 network operation 4.3 client importance 4.4 financing v. project management (c5) 5.1 project administration 5.2 management of project briefcase 5.3 organization of tasks tied to the innovation vi. capitalization of ideas and concepts (c6) 6.1 continuous improvement of the innovation process 6.2 politics of management of the intellectual property 6.3 knowledge capitalization in order to measure every concept on each category, verbal scales mapped onto five numerical levels are defined with values {0; 0.25; 0.5; 0.75; 1}, where 0 and 1 are the lowest and the highest level , respectively. each level was defined in detail for each concept, in order to avoid ambiguity and make the evaluation easier to the interviewer; a survey with 18 evaluations grouped into six categories is then applied. 2.2 reference profiles by observing the classification established by godet [11] and the six categories above, it is possible to establish intervals in which we can classify the enterprises; passive enterprises have the lowest values in every category whereas the preactive ones obtain the highest values. the division by interval in each category allows us to establish segments of values for each innovation profile in the characteristics to be measured by having into consideration that the values included in the interval belongs to the levels expected for a company of that profile. this can give us the idea that it is possible to determine reference profiles, where for example a proactive company will have all its evaluation values in the highest intervals. thus, each of the four divisions represents to a reference company with passive, reactive, preactive and proactive characteristics (table 1). is it possible to see that these reference profiles represent companies that have homogeneous development levels in each characteristic, which is not always the case; for instance, there exist companies with high levels of development in innovation stimulation, but at the same time poor levels in knowledge capitalization, or a company obtains proactive values in human resources management and reactive values in capitalization of ideas and concepts. we cannot hope that the majority of the companies will be homogeneous, therefore it is necessary to find out a method that allows us to establish a correct classification within the four profiles using a non compensatory mathematical tool. 3 flowsort method based on the ranking methodology of promethee, a new sorting method developed by nemery and lamboray [15] is proposed for assigning actions to completely ordered categories; 922 j. sepulveda, j. gonzalez, m. camargo, m. alfaro category passive reactive preactive proactive i. creation / concept generation [0 a2[ [a2 a3[ [a3 a4[ [a4 1] ii. conception activities [0 b2[ [b2 b3[ [b3 b4[ [b4 1] iii. hr management [0 c2[ [c2 c3[ [c3 c4[ [c4 1] iv. strategy [0 d2[ [d2 d3[ [d3 d4[ [d4 1] v. project management [0 e2[ [e2 e3[ [e3 e4[ [e4 1] vi. capitalization of ideas [0 f2[ [f2 f3[ [f3 f4[ [f4 1] table 1: interval distribution of category values these categories are defined either by limiting profiles or by central profiles (also named centroids). the assignment of an action into a category is based on the relative position of this action with respect to the defined reference profiles in terms or incoming or outgoing net flows. we denote by a : (a1, ..., an) the set of n actions to be sorted. these actions are evaluated on q criteria gj(j = 1, ..., q) that have to be maximized. we denote the categories to which the actions must be assigned by c1, c2, ..., ck. these categories are either delimited by two boundaries, in the case of limiting profiles, or by centroids in the case of central profiles. this categories are ordered as c1 > ...cl > ck, where ch > ck , with h < l, which denotes that ch is preferred to category cl. we denote r = (r1..., rk+1) as the set of limiting profiles in the case when a category is defined by an upper and lower profile, represented as rh+1 . on the other hand, when we define a category by one central profile, the centroid is denoted by r̃ = (r̃1, ..., r̃k), where r̃j is the centroid of category cj. we also define π(x, y) as the preference of action x over an action y, which is used in the same way as in promethee. thus, on the basis of these preference degree, positive, negative and net flows of each action x of ri, are computed by equations ( 3.1),( 3.2),( 3.3), where ri = r ∪ {ai}. ϕ+ ṙi = 1 |ṙi| − 1 ∑ y∈ṙi π(x, y) (3.1) ϕ− ṙi = 1 |ṙi| − 1 ∑ y∈ṙi π(y, x) (3.2) ϕ ṙi = ϕ+ ṙi − ϕ− ṙi (3.3) in this case we use ṙi when no difference can be made between a set of limiting profiles and a set of centroids. the flow-based assignment rules differ in the use of limiting profiles and central profiles. in the case of limiting profiles, the rules of the positive and negative flow assignment are defined as follows: cϕ+(ai) = ch, if ϕ + ri (rh) ≥ ϕ+ri(a1) > ϕ + ri (rh+1) (3.4) cϕ−(ai) = ch, if ϕ − ri (rh) < ϕ − ri (a1) ≤ ϕ−ri(rh+1) (3.5) if we want to strictly impose the assignment to one category, using the net flow we can define the assignment rule by ( 3.6). cϕ(ai) = ch, if ϕri(rh) ≥ ϕri(a1) > ϕri(rh+1) (3.6) a metrics-based diagnosis tool for enhancing innovation capabilities in smes 923 in the case of central profiles, the flow-based assignment rules of positive and negative flows are defined by ( 3.7) and ( 3.8). c̃ϕ+(ai) = ch, if ϕ+ r̃i (r̃h) + ϕ + r̃i (r̃h+1) 2 < ϕ+ r̃i (a1) ≤ ϕ+ r̃i (r̃h) + ϕ + r̃i (r̃h−1) 2 (3.7) c̃ϕ−(ai) = ch, if ϕ− r̃i (r̃h) + ϕ − r̃i (r̃h+1) 2 ≥ ϕ− r̃i (a1) > ϕ− r̃i (r̃h) + ϕ − r̃i (r̃h−1) 2 (3.8) here, we can also strictly impose the assignment to one category using the net flows with the assignment rule ( 3.9). c̃ϕ(ai) = ch, if ϕ r̃i (r̃h) + ϕr̃i (r̃h+1) 2 < ϕ r̃i (a1) ≤ ϕ r̃i (r̃h) + ϕr̃i (r̃h−1) 2 (3.9) 4 application in this section the method is explained in four main steps, by using information obtained from seven smes, ej, with (j = 1, ..., 7) taken from the metalworking industry located at santiago of chile, as follows. e1: appliances manufacturing such as refrigerators, gas and kerosene heaters. e2: appliances manufacturing such as gas and electric stoves and heaters. e3: appliances manufacturing such as home boilers and sinks. e4: faucets and gas valves manufacturing. e5: vehicle transforming maker such as for ambulances and safety vehicles. e6: safety deposit box manufacturing with electronic controls. e7: vending machine refurbishment and adapting for industrial utilization. 4.1 first step: determination of the weights and references profiles. by observing the weight used in each one of the practices in [13], we construct our own weight distribution, considering that our definition of categories and concepts is a grouping and in some cases the division of the innovation practices. this weight distribution can be observed in table 2 , where also for every category the local weight of each concept of a category is indicated. to establish the reference profiles, we will define four areas for each of the six categories using the construction of limiting profiles; this will allow us to establish min and max values in every category ci . in this case we constructed a symmetrical division in each of the categories because the necessary information to establish central profiles was not available (table 3). 4.2 second step: survey application and data processing. in this step we work with the information collected from the surveys made to each enterprise. according to the evaluation of each of the concepts, an evaluation for each category ci is made by the weighted sum ∑ eijwij, where eij is the evaluation between [0, 1] of the j-th concept in the i-th category , and wij is the local weight (table 4). 924 j. sepulveda, j. gonzalez, m. camargo, m. alfaro category (ci) local concept weights (wij) global category weight (wi) i. creation / concept generation {0.26; 0.33; 0.41} 0.175 ii. conception activities {0.43; 0.19; 0.38} 0.107 iii. human resources management {0.47; 0.53} 0.068 iv. strategy {0.05; 0.51; 0.27; 0.17} 0.232 v. project management {0.01; 0.47; 0.52} 0.194 vi. capitalization of ideas and concepts {0.43; 0.29; 0.37} 0.224 table 2: local and global weights concepts limiting profile c1 c2 c3 c4 c5 c6 r1 1 1 1 1 1 1 r2 0.75 0.75 0.75 0.75 0.75 0.75 r3 0.5 0.5 0.5 0.5 0.5 0.5 r4 0.25 0.25 0.25 0.25 0.25 0.25 r5 0 0 0 0 0 0 table 3: limiting profiles defined in flow-sort method a c1 c2 c3 c4 c5 c6 e1 0.31 0.32 0.12 0.13 0 0 e2 0.36 0.59 0.40 0.86 0.15 0.19 e3 0.28 0.16 0.40 0.58 0 0.10 e4 0.17 0.22 0.12 0.43 0.11 0.19 e5 0.26 0.42 0.24 0.34 0.15 0 e6 0.52 0.78 0.52 0.98 0.64 0.42 e7 0.17 0.2 0.18 0.29 0.34 0.11 table 4: evaluation results 4.3 third step: flow-sort aplication by defining the set of actions for the seven enterprises as a = {e1, e2, e3, e4, e5, e6, e7}, which have been evaluated in the six criteria already defined, and the four classification categories {passive, reactive, preactive, proactive} defined by the five limiting profiles of table 3, we start calculating the preference degrees, showed in table 5 between the reference profile and the seven enterprises in order to obtain positive and negative flows. with these calculations we can measure positive, negative, and net flows for each enterprise by using equations ( 3.1), ( 3.2), and ( 3.3).the calculations of all of the flows for the enterprises is shown in table 6, where for example the positive flow of enterprise 1 with respect to limiting profile r4 is calculated as ϕ+ r1 (r4) = ∑ π(r4, rj) + π(r4, e1) |r4| − 1 = 1 + 0.67 6 − 1 = 0.334 the assignment to each category in table 6 were obtained by equations ( 3.4) and ( 3.5); for example for assigning enterprise 1 the flow is between profile limits r4 and r5 as indicated by ϕ+ r1 (r4) ≥ ϕ+r1(e1) ≥ ϕ + r1 (r5) and ϕ−r1(r4) < ϕ − r1 (e1) ≤ ϕ−r1(r5). thus enterprise 1 is classified as passive. in the cases when positive and negative flows difers, for example enterprise 3 and 5, we must apply the equation ( 3.6) to obtain an unique classification. a metrics-based diagnosis tool for enhancing innovation capabilities in smes 925 r1 r2 r3 r4 r5 π(e1, rj) 0 0 0 0.33 0.67 π(rj, e1) 1 1 1 0.67 0 π(e2, rj) 0 0.17 0.33 0.67 1 π(rj, e2) 1 0.83 0.67 0.33 0 π(e3, rj) 0 0 0.17 0.50 0.83 π(rj, e3) 1 1 0.83 0.50 0 π(e4, rj) 0 0 0 0 1 π(rj, e4) 1 1 1 1 0 π(e5, rj) 0 0 0 0.50 0.83 π(rj, e5) 1 1 0 0.50 0 π(e6, rj) 0 0 0 0.50 0.83 π(rj, e6) 1 1 1 0.50 0 π(e7, rj) 0 0 0 0.33 1 π(rj, e7) 0 0 0 0.67 0 table 5: preference degrees between the reference profile and the actions r1 r2 r3 r4 r5 ei class ϕ+ 1 0.8 0.6 0.344 0 0.173 passive r1 ϕ− 0 0.2 0.4 0.656 0.916 0.744 passive ϕnet 1 0.6 0.2 -0.313 -0.916 -0.571 passive ϕ+ 1 0.754 0.532 0.284 0.0 0.431 reactive r2 ϕ− 0 0.246 0.468 0.716 1 0.569 reactive ϕnet 1 0.507 0.064 -0.433 -1 -0.139 reactive ϕ+ 1 0.8 0.554 0.305 0 0.303 passive r3 ϕ− 0 0.2 0.446 0.695 0.961 0.659 reactive ϕnet 1 0.6 0.107 -0.39 -0.961 -0.356 reactive ϕ+ 1 0.8 0.6 0.354 0 0.246 passive r4 ϕ− 0 0.2 0.4 0.646 1 0.754 passive ϕnet 1 0.6 0.2 -0.293 -1 -0.507 passive ϕ+ 1 0.8 0.6 0.297 0 0.258 passive r5 ϕ− 0 0.2 0.4 0.703 0.955 0.697 reactive ϕnet 1.0 0.6 0.2 -0.406 -0.955 -0.439 passive ϕ+ 1.0 0.732 0.445 0.2 0 0.623 preactive r6 ϕ− 0.0 0.268 0.555 0.8 1 0.377 preactive ϕnet 1.0 0.464 -0.11 -0.6 -1 0.246 preactive ϕ+ 1.0 0.8 0.6 0.315 0 0.285 passive r7 ϕ− 0.0 0.2 0.4 0.685 1 0.715 passive ϕnet 1.0 0.6 0.2 -0.37 -1 -0.43 passive table 6: flow-sort results the assignment of an enterprise into one of the four enterprises profiles can be easily displayed using the positive and negative flows diagram. in figure 1, which shows the flows of the enterprise 1, it is possible to view that there is not ambiguity in the classification of this enterprise into the passive profile , since the positive and negative flows allocate this enterprise into the same profile. in other case , in the figure 2 which shows the flows of the enterprise 3, we can observe that the positive flow classifies the enterprise into the passive profile and the negative flow classifies the enterprise into the reactive profile, but the final net flow classify this enterprise into the reactive profile. this final classification can be explained taking into consideration the 926 j. sepulveda, j. gonzalez, m. camargo, m. alfaro proximity of the positive and negative action score to the reactive area classification over the passive area classification. figure 1: flow diagram enterprise 1 figure 2: flow diagram enterprise 3 for the enterprise 6 identified as preactive in this method, the net flow action obtains a positive value, which is opposed to the net values obtained by the enterprises classified as passive which have the most negative value (figure 2). it is important to note that the profile areas where there is not exist any ambiguity depends only on the singular comparison between an enterprise and all of the reference profiles. the former explains the variety of these areas that we see in all these flows diagrams. 4.4 fourth step:analysis of the results. the analysis of the results and the search of possible alternatives of innovation progress in these enterprises can be analyzed by observing the detailed net score flows for each category, which show the net significance of all six categories in obtaining the final net flow value for every enterprise. we can observe that in most cases the category that contributes with the highest negative flows is the category capitalization of ideas, which is responsible for the third part of the total net flow. the second category with the most negative flows is the category project management. in most enterprises, these two categories grouped together represent between the 40% or 50% of the final significance in the net flow action (table 7). this can give us an idea figure 3: flow diagram enterprise 6 a metrics-based diagnosis tool for enhancing innovation capabilities in smes 927 that any improvement in the values obtained in the values of these categories can be critical to obtain a better evaluation. in other words, any improvement in any of the concepts that belongs to the categories above mentioned may produce an advance of the innovation process. thus, these enterprises would be more qualified to move to a higher profile. on the other hand, in the enterprises that obtained a classification as reactive and preactive, the values associated to the category strategy have positive net flows values having a positive significance into the total net flow action; thus we can say that enterprises with good evaluations in the concepts concerning to the strategy can present features of a reactive or a preactive enterprise profile. c1 c2 c3 c4 c5 c6 e1 6.13% 3.75% 7.15% 24.39% 27.19% 31.39% e2 7.61% 4.65% 2.96% 30.26% 25.30% 29.22% e3 7.80% 14.30% 3.03% 10.34% 34.58% 29.95% e4 20.70% 12.66% 8.04% 9.15% 22.95% 26.50% e5 7.97% 4.87% 9.29% 10.56% 26.50% 40.80% e6 10.43% 19.13% 4.05% 41.48% 11.56% 13.35% e7 24.44% 14.94% 9.50% 10.80% 9.03% 31.28% table 7: detailed net flow significance 5 conclusion in this paper a new enterprise classification method by using a non compensatory flowbased sorting method with limiting profiles has been proposed. the method called flow-sort was used to identify the current level of the enterprise and to classify it into four predefined levels of innovation: passive, reactive, preactive, and proactive. the aim of the method, besides classifying the enterprise into a profile, is to give new ideas to formulate an improvement strategy to allow the company to increase its innovation performance. along this work, we established many observations, as (a) the importance of defining a precise framework that allow us to evaluate all the characteristics and concepts in a precise and structured form, (b) the correct construction of the tool for gathering data, since this is a key element for obtaining the necessary information input, (c) the use of a mathematical tool that allows a comparison against an established profile; the tool is independent of the universe of enterprises to be measured so that it can be applied on a reduced or a large number of enterprises without changing its effectiveness, (d) the possibility of establishing the parameters for an innovation improvement strategy for each of the enterprises individually according to their obtained values and the analysis of significance of each of the categories and concepts. as a limitation of the application used in the example above, we have the highly arbitrary definition of the four reference profiles since we used four homogenous zones for the six categories when using limiting profiles, as shown in table 3. more accurate knowledge on a company may allow different values for the profiles, or better the use of central profiles. the latter may be continuously refined as the analysis is repeated in the mid and long term. a classification into new innovation levels can be made by using the proposed method. in such a case, the use of either central or limiting profiles will exclusively depend on the certainty about the characteristics of each new level. another comment is related to the interpretation of results and the creation of incentive policies towards better innovation performance levels; these aspects are left to the policy makers at each company since they cannot be predefined in a standardized way. however, an empirical study 928 j. sepulveda, j. gonzalez, m. camargo, m. alfaro with a broader universe of companies by using the method here proposed could give a better answer on the suitability of best practices of this field. bibliography [1] kerssens-van drongelen, i.c. and bilderbeek, j., r&d performance measurement: more than choosing a set of metrics, r& d management vol 29, nş1, p. 35-46, 1999 [2] koberg c., detienne d., heppard k.,an empirical test of environmental, organizational, and process factors affecting incremental and radical innovation, journal of high technology management research 14 p 21-45, 2002 [3] adams, r., bessant, j., phelps, r., innovation management measurement: a review, international journal of management reviews, vol 8 , nş1, p. 21-47. 2006 [4] bremser w., barsky n., utilizing the balanced scorecard for r&d 5 performance measurement, management vol 34 nş3, p. 229-238, 2004 [5] wang c.,lu i., chen i, evaluating firm technological innovation 15 capability under uncertainty, technovation vol 28, p. 349-, 2008 [6] chiesa, v., coughlan, p., voss, c.a., development of a technical innovation audit, journal of product innovation management 13 (2), p 105-136, 1996 [7] becheikh n., landry, r., amara, n., lessons from innovation empirical studies in the manufacturing sector: a systematic review of the literature from 1993-2003, technovation, vol 26, nş5-6, p. 644-664,2005 [8] cormican k.,sullivan d.,auditing best practice for effective product innovation management,technovation vol 24, p. 819-829, 2004 [9] boly, v., ingénierie de l’innovation : organisation et methodologies des entreprises innovantes,lavoisier, paris, france, 2004 [10] corona a. josé ramón, innovation et metrologie : une approche en terme d’indice d’innovation potentielle, thčse de doctorat, institut nationale polytechnique de lorraine, février, 2005 [11] godet, m., manuel de prospective stratégique. tome 2. l’art et la methode, ed. dunod, paris, france, 1997 [12] morel l., camargo m.,comparison of multicriteria analysis techniques to improve the innovation process measurement, iamot 2006, beijing, china, 8 pages, may 22-26 [13] assielou g, metrologie des processus d’innovation, thčse de doctorat, institut nationale polytechnique de lorraine, 2008 [14] camargo m., morel l., fonteix c., evolutionary based methodology to integrate product innovation degree on a firm technological strategy, iamot 2007 proceedings [15] nemery p, lamboray c. flowsort: a flow-based sorting method with limiting or central profiles, top 16:90-113, springer-verlag, 2008 international journal of computers, communications & control vol. i (2006), no. 2, pp. 15-22 an automatic grading system for panels surfaces using artificial vision cristhian aguilera, mario ramos, gabriel roa abstract: this work describes an automatic grading system using artificial vision to improve the quality of wood panels surfaces. the objective is to control stains on the surface. artificial vision techniques like thresholding and transformed watershed methods are applied. defects quantitative measures found on the surface are also presented, in particular quantity, area, intensity and distribution. keywords:vision, image processing, quality control, plywood 1 introduction the need of manufacturing companies to maintain high quality product requires an exhaustive production control during and at the end of the process. when control is human visual inspection product control is not completely reliable and it is not guaranty of a total quality control. however, the development of new technologies, and especially image analysis systems (artificial vision), has ostensibly improved the quality control process. since it is a noninvasive technology and is capable to inspect the 100% of the production, artificial vision offers an advantage when compared with the manufactured product quality control techniques like human inspection and sampling. the wood industry and specifically in the panels industry has produced efforts to improve each, every one of the production stages. two main characteristics determine the panel quality: mechanical resistance and appearance. artificial vision (garrido, 2003) is a solution for the appearance control quality. panels like plywood are used in the carpentry industry. decorative paneling is the reason why surface quality must be controlled. since the objective of these products is both functional and esthetic. the main objective of this paper is to propose an analytical artificial vision based method to classify panels according to the quantity, area, intensity, and stains distribution on the surface. it includes among these characteristics quantitative methods to measure the stain distribution on the panels. factors to permit the quantification of these parameters and especially of the stain distribution in this paper are proposed. 2 panels 2.1 definition panels can be defined (corma, 2003). structural panels this term refers to those panels employed as structural elements in the construction and packing industry, included plywood. non-structural panels this term refers to those panels employed in the furniture industry, included decorative plywood, hard panels, and medium density fiberboard, mdf. 2.2 classification traditionally, wood, and consequently wood-derived products, has been classified considering two fundamental criteria: resistance and appearance. in relation to the resistance, the objective is to control the mechanical resistance degree. there are standards that these products should satisfy. tests are related with the mechanical quality evaluation like thickness, density, weight, flexion, traction, elasticity, and humidity. copyright c© 2006 by ccc publications 16 cristhian aguilera, mario ramos, gabriel roa in the case of appearance, the objective is the visual appearance control, considering esthetic more than structural values. these criteria are important in the furniture and paneling industry. defects affecting the surface quality, especially in mdf and fiber panels, are the stains on the surface. as an example, a summary of the characteristics considered by a chilean company to grade surface quality of mdf and fiber panels are presented in table 1. it can be observed that panel grading is divided in three types. • first quality (i). • second quality (ii). • third quality (iii). 3 industrial vision system industrial vision systems are rapidly becoming a key factor in the development of total quality procedures in an industrial automation processes context. industrial vision systems permit to inspect production processes without fatigue or distraction, facilitating the quantification of quality variables and contributing to a continuous improvement (silvén and matti, 2003). the figure 1 presents the outline of the stages of an industrial vision system. figure 1: industrial vision system stages 3.1 image acquisitions and digitalization this is the stage in which sensors and the capacity to digitalize the signal produced by the sensor are used. the sensor is either color or monochrome camera that produces a complete image. after capturing the image, this information is sent to the computer to be analyzed (mery, 2003). 3.2 pre-processing in this process, the acquired image is modified in order to improve it according to the parameters to analyze considering: • noise elimination. an automatic grading system for panels surfaces using artificial vision 17 mdf fiber qual surface surface i both faces free of porosity, cracks, semi-inflated and dark stains both faces free of porosity, cracks, unsanded holes, semi-inflated, and stains falling from the surface i minor stains are permitted when there are no more than 2 per face and they are smaller than 2 cm longer strips that do not surpass 0.5 cm2 in area are permitted. the quantity should be less than 10 per face and presenting a separation greater than 5 cms. between them i good behavior during milling and coating application. minor stains are permitted if they are not greater than 5 cm2 of area. the quantity should be less than 5 per face and with a separation greater than 5 cm ii cracks, thick particles, dust, adhesive, or other agent stains, and semi-inflated porosity, cracks, un-sanded holes, thick particles on the surface, adhesive, dust, or other stains iii without quality requirements without quality requirements table 1: characteristics for panel grading according to the surface defects • accentuate or profile image characteristics (borders, limits, etc). • improve the quality of some parts of the image. 3.3 segmentation the segmentation process divides the digital image in unconnected regions in order to separate region of interest from the rest of the scene. in the last years, diverse segmentation techniques have been developed, which can be grouped in three techniques: pixel-oriented, border-oriented, and region-oriented techniques. 3.4 description this process labels the objects considering information supplied by inspection that can be: quantitative: measuring of areas, lengths, perimeters, etc. qualitative: verification of correct task performance (assembling, bottling, labeling, etc.). 3.5 classification classification orders the segmented regions in classes, assigning to each region a group of many preestablished groups that represent all the possible types of regions that are expected to exist in the image. in this stage, a statistical study is performed on the characteristics that are extracted from the objects whose defects are known a priori. 3.6 decision making frequently, computer vision systems control a mechanical apparatus that manipulate the products after classification. 18 cristhian aguilera, mario ramos, gabriel roa 4 proposed techniques to grade the panel surface defects, image analysis techniques need to be used. this stage differentiates one vision system from another. the analysis is performed on images using a gray scale where the intensity values for black are 0 and 255 for white. one of the techniques to be used is thresholding (guindos, 2001). panel surface stains are considered regions. another segmentation technique is the one based in growth of the regions applying functions under morphological operators, specifically the transformed watershed. 4.1 thresholding the thresholding technique (gonzales and goods, 1996) classifies each pixel in two groups, depending on whether or not the gray level exceeds the given threshold. if it does not exceed, then a lower gray level (color black) is assigned; in the opposite, the upper level (white color) is assigned. the objective is to obtain an image segmentation, creating black stains on a white background in a form that is similar to the objects seen from an upper plane, as can be observed in figure 2. figure 2: (a) original image, (b) i. gray-scaled image (c) thresholded image 4.2 transformed watershed this technique is part of a series of algorithms emerging to analyze images as a topographic surface where height is equal to the intensity. the highest pixel values correspond to the highest land areas and vice versa. the transformed watershed simulates, based in the minimum values of the image of water filling the image, figure 3. also, these points can be randomly selected, called markers. the point where the water comes from two regions is called the watershed and is the point that separates the basins corresponding to two minimums. figure 3: (a) marker selection, (b) flooding process from the markers, (c) finalized segmentation, (d) selection of markers using thresholding the key to segment using the transformed watershed is the markers selection. if each local minimum is taken, it could produce an over-segmentation. in order to reduce over-segmentation, the original image an automatic grading system for panels surfaces using artificial vision 19 is frequently softened before performing segmentation. with the thresholding method, a set of markers can be obtained in which a pre-determined filling level is fixed. figure 4 is an example of the over-segmentation when the transformed watershed is applied to the original image without establishing local minimums. figure 4: watershed results: (a) original image, (b) over-segmented image, (c) segmented image using local minimums 5 extraction of panel characteristics when the stains (defects) are found numeric properties are extracted. these characteristics provide information to grade the panel. the characteristic are quantity, area, intensity and distribution. 5.1 quantity this characteristic indicates the number of stains on the panel surface and whose factor is defined by the quantity of stains. fc = ct (1) where: fc is the quantity factor, ct is the number of stains present on the panels surface. 5.2 area this characteristic indicates the stained surface of the panel. its value is defined by the ratio between the sum of stain areas on the panel surface and the total panel surface area. this characteristic is called "area factor" and this is represented by: fa = 1 at k ∑ 1 an (2) where: fa is the area factor, at is the panel area, an is the stain area and k is the number of stains (ct ). in figure 5, it can be observed that the area factor increases proportionally with the stained area of the panel surface, indicating in this way a lower quality. 5.3 intensity this characteristic indicates the intensity level (gray scale, 0-255) of the stains. this property provides information of the stain type on the panel surface. for example, the humidity stain will have a different intensity than an oil stain. to represent this factor, the stain intensity average value and the stain-free panel intensity average are considered. this characteristic will be called "intensity factor" and is represented by: f i = x i −x im x i (3) 20 cristhian aguilera, mario ramos, gabriel roa figure 5: area factor v/s stained area figure 6: intensity factor v/s average stain intensity where: x i is the stain-free panel intensity average and x im is the stain intensity average. consequently, like can be appreciated in figure 6, the intensity factor will increase when stain intensity average value decrease, indicating in this a lower quality. 5.4 distribution this characteristic determines the spatial location of the stains on the surface. this shows if the stains are grouped in only one panel sector or rather are distributed throughout its surface. the position of the objects is established through cartesian coordinates. the method uses the average of the euclidean distances to the objects geometric centers. the factor is defined by the ratio between the distances average and a reference value. the reference value is the distance from the diagonal to the sample. expressed in percentage: f d(%) = 100∗ [ µ(d) dt ] (4) where: µ(d) is the average of euclidean distances, d is the set of objects, dt is the distance from the diagonal of the sample. the average of distances µ(d) depend how distant these object are from the geometric center. the farther they are, the greater is the value of (d) and consequently, f d (%) also be greater, indicating that the object distribution is greater. in figure 7, three examples of distributions are showed. as an example, table 2 presents numerical values of the factors proposed in this work, in relation to the grading criteria presented in table 1. the panel format was 1.5×2.3 meters. an automatic grading system for panels surfaces using artificial vision 21 figure 7: (a) fd=6.8%, (b) fd=9.05%, (c)fd=17.32% mdf fiber qual fc fa (%) fd fc fa (%) fd (%) i < 2 < 0,01 ne < 5 < 0.07 1,8 ii < 10 ne < 10 7 iii sec sec sec sec sec sec table 2: example of factors (ne: not specified, sec: without quality requirements.) 6 comments and conclusions this work is focused towards image analysis by segmentation of stains present on wood panel surfaces and in the definition of factors to quantify defects properties (quantity, area, intensity and distribution). techniques like thresholding and transformed watershed showed goods results to segment stains in gray scales. thresholding is a useful and simple technique, but when it is used only at one threshold level it is not capable of separating (labeling) the distinct stain intensity values that are below this value. the transformed watershed method offers the capacity of separating regions (stains) in function of the intensity value presented by each defect. however, this technique presents over-segmentation, problem that is solved through the image pre-processing to increase the contrast for the objects of interest and the assignment of local minimums (markers). factors proposed in this work provide the necessary information to define a stain quality index to on -line control of based-wood panels. acknowledgements this work was supported by the project incon-032008 3/r of the research secretary, university of bio-bio. references [1] garrido r., adquisición y tratamiento digital de señales para visión artificial, reporte final ingeniería electrónica, universidad del bío-bio, 2003. [2] corma, corporación chilena de la madera, www.corma.cl, 2004. [3] mery d., inspección visual automática, informe interno, departamento de ingeniería en computación, universidad de santiago de chile, 2003. [4] guindos f., fernandez j., and peralta m., visión artificial con imtdi, almería, 2001. 22 cristhian aguilera, mario ramos, gabriel roa [5] gonzález r.,woods r., tratamiento digital de imágenes, addison-wesley, 1996. [6] olli silvén and matti niskanen, framework for industrial visual surface inspections, 6th international conference on quality control by artificial vision, machine vision group, university of oulu, finland, 2003. cristhian aguilera, mario ramos, gabriel roa universidad del bío-bío, concepción-chile departamento de ingeniería eléctrica y electrónica departamento de ingeniería en maderas laboratorio de sistemas automatizados e-mail: cristhia@ubiobio.cl, mramos@pegasus.dci.ubiobio.cl international journal of computers, communications & control vol. ii (2007), no. 4, pp. 314-327 an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study benítez-pérez h., cárdenas-flores f., garcía-nocetti f. abstract: online reconfiguration performed by a computer network system needs to be addressed from several perspectives due to complexity onto the system. this paper proposes different modeling approximations to obtain a holistic view of reconfiguration onto complex systems. first model is dynamic system modeling, second is an automaton in order to bound possible scenarios and third model is a real time scheduling algorithm to match possible configurations and related control laws. 1 introduction one of the main issues in fault tolerance is to keep availability even in hazard situations. a way to guarantee this is by reconfiguration where several consequences are expected. in that respect, either fault coverage, masking or tolerance are strategies to use during reconfiguration. reconfiguration is a need in order to keep safety during fault scenarios. the results of this action modify several structures within complex systems like communication, dynamic behaviour and predictable response. in order to cover every aspect of these requirements, modeling becomes a crucial issue to get enough information by performing reconfiguration. in here, three different modeling techniques are followed, dynamic system modeling, automaton modeling and scheduling representation. these three strategies, by there own, lacks of a holistic view of the effects of a process such as reconfiguration. for instance, automaton strategy allows a structural view of reconfiguration without determining the effects of this action into dynamic behaviour of the system. alternatively, dynamic system modeling provides a formal view of the effects of time delays and the loose of certain dynamic elements, however, reconfiguration is not a predetermined action only the effects of it. the novelty of this approximation is to integrate various modeling strategies to accomplish reconfiguration and its effects. firstly, dynamic system is modeled in order to determine where time delays play a key role. secondly, automaton modeling is pursued in order to bound scenarios during fault and fault-free situations. from this automaton representation and taking into account real-time requirements, real-time scheduling through a special representation is implemented. the combination of these three allows system modeling even in complex situations like reconfiguration. the objective of this paper is to present a strategy for control reconfiguration based upon time delay knowledge using a scheduling algorithm. fault effects are local within a distributed system environment. the use of a case study is pursued to accomplish this objective. the novelty of this work is the amalgamation of scheduling and control techniques to get this strategy. in particular, for the case of dynamic system modeling, several strategies for managing time delay within control laws have been studied for different research groups. for instance nilsson [8] proposes the use of a time delay scheme integrated to a reconfigurable control strategy based upon a stochastic methodology. on the other hand, wu [10] proposes a reconfiguration strategy based upon a performance measure from a parameter estimation fault diagnosis procedure. another strategy has been proposed by jiang et al. [6] where time delays are used as uncertainties, which modify pole placement of a robust control law. izadi et al. [5] present an interesting view of fault tolerant control approach related to time delay coupling. reconfigurable control has been studied from the point of view of structural modification since fault appearance as presented by blanke et al. [2] where a logical relation between dynamic variables and faults are established. alternatively reconfigurable control may performs a combined modification of system structure as studied by benítez-pérez et al. [1] and thompson [9]. another technique copyright © 2006-2007 by ccc publications an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 315 like gain scheduling (khalil, [7]) may give an interesting approximation to several time delay scenarios, however complexity related to system modeling during fault conditions is out the scope of this paper. some considerations need to be stated in order to define this approach. firstly, faults are strictly local in peripheral elements and these are tackled by just eliminating the faulty element. in fact, faults are catastrophic and local. time delays are bounded and restrictive to scheduling algorithms. global stability can be reached by using classical control strategy for online time delays. 2 case study and control reconfiguration approach due to the complexity of this approach a particular implementation is pursued in order to present the potential of complementary modeling for reconfiguration. the case study is based on three conveyor belts (gudmundsson, [4]) integrated as follows, it comprises 3 conveyors belts, 4 actuators, and 12 sensors. it has 16 computing elements that considers the controller and the bus controller. fig. 1 shows a diagram of this implementation. the procedure of the example is next; conveyor belt 1 detects a box, it modifies its speed up to a certain level to transport it in a faster way the box. mc is stated for micro-controller figure 1: conveyor belt example when this box arrives to conveyor belt 2, its speed is modified up to another level to transport this box in a faster manner. similar behavior is presented at conveyor belt 3. the sensor vector is used to detect the current position of box in any of these conveyor belts. furthermore, actuator 4 has the task of pushing the current box when it arrives at this position. for the case of multiple boxes in this example, the aim is that the boxes never crashed between each other. from this explanation, table 1 shows the modification of speeds. this case study is peculiar in that each conveyor belt has two different speeds as shown in table 1. these speeds are dependent on the sensor situation. this sensor situation is depicted as low and high, which is a semaphore for determining the presence of an object. the second peculiarity is related to the difference between hs as follows: hs1 < hs3 < hs2, (1) where the middle conveyor belt is the fastest, then third conveyor belt, and so on. as the reader may realize, there are four motors, three for the conveyor belts and the fourth is to pull any object presented at its region. based on this case study, the response of the three actuators is shown in fig. 2. different speed-ups are shown assuming that a box is presented during a certain time. for instance, the first conveyor belt 316 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. table 1: speed selection conveyor belt conveyor belt conveyor belt 1 2 3 sensors lowspeed low speed low speed s1∗ = low sensors high speed low speed low speed s1∗ = high hs 1 sensors low speed low speed low speed s2∗ = low sensors low speed high speed low speed s2∗ = high hs 2 sensors low speed low speed low speed s3∗ = low sensors low speed low speed high speed s3∗ = high hs 3 presents a faster speed-up during the first 3000 seconds, in comparison with the low speed-up during 3000 to 6000 seconds. this speed-up is shown as a change of slope of the current graphic. similar behavior is presented for both conveyor belts as 2 and 3 are modified, because hs2 is bigger than hs3. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 10 20 30 d is p la m e n t o f c o n ve yo r b e lt 1 time 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 10 20 30 40 d is p la m e n t o f c o n ve yo r b e lt 2 time 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 10 20 30 d is p la m e n t o f c o n ve yo r b e lt 3 time figure 2: related displacement when a box is present in each conveyor belt 2.1 first modeling approach first modeling approach is based on control law modification taken into account time delay appearance, in particular for current case study. the schematic setup is based on fig. 3 considering system response and control implementation. an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 317 figure 3: dynamic system implementation in fig. 3, x is the linear displacement θ∗ is the angular displacement ω∗ is the angular velocity f is the lineal force j∗ is the lineal inercy k is the parameter τ∗ is the torque a is the radius v is the lineal velocity in this case, the plant presents two cases with or without a box per belt. as the second case is trivial, the first case is expressed per belt considering the mass of the box (referred to as m). the first conveyor belt is expressed as [ ẍ1 θ̇1 ] = [ j/m 0 j1 ] [ θ1 ẋ1 ] − [ 1/m 0 ] τ1 y = ẋ1. (2) the second conveyor and the third conveyor belt follow simmilar dynamics from these considerations, discrete plants are defined next by considering the presence of the box x(k + 1) = ax(k) + l ∑ i=0 bki u(k −i) bki = ∫ t ki−1 t ki exp(a(t −τ)bdτ, (3) where l = 1 because the maximum number of sensors with delays is just one. therefore, the a matrix is expressed as: a∗ = [ exp(j/m) 0 0 exp(j∗) ] , (4) 318 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. where t is the inherent sampling period, and t k0 , t k 1 , and t k 2 are the related delays of the plant. for the case of local control laws, these are expressed next as: xc(k + 1) = acxc(k) + bcuc(k) yc(k) = ccxc(x−τc −dcuc(k −τc), (5) giving the delays as a result of decomposition from sensor and actuators, which are expressed as τsc and τca respectively. the augmenting representation is given next: uc(k) = yp(k −τsc) up = yc(k −τca), (6) where states are augmented as: z = [ xp(k) xc(k) ] , (7) and expressed as: z(k + 1) = [ ap 0 0 ac ] z(k) + [ 0 0 bccp 0 ] z(k −τsc) + [ bpdccc 0 0 0 ] z(k −τsc −τca −τc) + [ 0 bpcc 0 0 ] z(k −τca −τc). (8) by modifying eqn. 8 to define the stability of network control, the next configuration is proposed: f j = [ a jp 0 0 a jc ] f j1 = [ 0 0 b jcc j p 0 ] f2 j = [ b jpd j cc j p 0 0 0 ] f j3 = [ 0 b jpc j c 0 0 ] . therefore, the state vector is modified for these time delays where the system is asymptotically stable based on f j + ∑3i=1 f j i . based upon a single control loop is stable (eqn. 8), it is possible to define stability for every loop as shown in eqn. 10. τ < σ δ ∑3i=1 ∣∣∣f ji ( f j + ∑3i=1 f j i )∣∣∣ , (9) where τ is the maximum value from all possible time delays at all loops. the absolute value is used in order to guarantee positve response with respect to current time delay. σ = λmin(q) 2λmax(p) δ = [ λmax(p) λmin(p) ] 1 2 , where λmax(p) and λmin(q) are the maximum and minimum eigenvalues of p and q matrices respectively. λmin and λmax can not be complex values since p and q are bounded to be real values. the proposed configuration is presented ( f j + 3 ∑ i=1 f ji )t p + p ( f j + j ∑ i=1 f ji ) = −q, (10) an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 319 where p, q are positive definite symmetric matrices and are eigenvalues of the matrix and where the chosen equation is v (x) = 1 2 x jt (t)px j(t). (11) based upon lyapunov proposed equation (eqn. 11) and by its derivative as shown in eqn. 12, where ẋ is substituted by the enhanced representation of ż which contains both states, from the plant as well as the controller. v̇ (x) = 1 2 ż jt (t)pz j(t) + 1 2 z jt (t)pż j(t) ≤ −1 2 z jt (t)qz j(t)+ ∣∣∣∣∣z jt p 3 ∑ i=1 fi ∫ 0 t ji [ f jz j(t + θ ) + 3 ∑ i=1 f ji z j(t −τ ji + θ ) ] dθ ∣∣∣∣∣ . (12) from control law expression, the related time delays are defined as τsc,τca and τc where their respective values will be incorporated later in this section thorugh spliting the time delay (eqn. 8). 2.2 second modelling approach having shown local control laws structures, second modeling approach is the global structure in terms of an automaton (fig. 4). where reconfiguration is expressed for the formal event manager. in this case, two states are possible with several events, which are managed by the sensor vector for each belt (first, second, and third belts) and expressed as s11≤i≤n ,s 2 1≤i≤n and s 3 1≤i≤n , respectively considering fault free scenario. it is important to mention that s11≤i≤n ,s 2 1≤i≤n and s 3 1≤i≤n are indepdent conditions between conveyors, then, s11≤i≤n = 0 means there is no box on conveyor belt 1. at the same time s 2 1≤i≤n 6= 0 can be stated meaning there is a box in second conveyor belt. other condition can be presented as s11≤i≤n 6= 0, s21≤i≤n 6= 0 and s31≤i≤n 6= 0 and where three boxes are presented on the system, each box per conveyor belt. the same sensor conditions are presented in fig. 5. figure 4: fault-free scenario in terms of global structure the switching effect is neglected in this fault-free scenario. in this scenario two cases are defined, when a box is presented (case ii) or the other case (case i). for the second case the chosen control is to maintain the conveyor belt in zero speedup. for first case, the chosen controller is related to certain speed up depending on each conveyor belt. 320 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. for the case of a fault scenario, a new state appears for global control (fig. 5) related to the action pursued when a fault is presented. the necessary event for reaching such a state is s11≤i≤n 6= 0 , and the fault’s last event is composed of local information given by each local sensor with a relation to the health condition measures. figure 5: local fault scenario for the global structure considering individual modeling, there is one type of local fault to be considered, which is that one of the sensors is faulty with no consideration of the type of fault. it is assumed that the fault is detectable and measurable (this is a condition in this paper). 2.3 third modeling approach third modeling approach is related to the use of scheduling algorithm in order to determine possible time delays between processes. it is important to remember that the fault tolerance strategy is based on the use of consecutive sensors to mask the fault using extra communication to perform lateral agreement. therefore, this approach provides two different time graphs, one for each scenario (fault and fault free), as shown in figs. 6 and 7, respectively. the cases from figs. 4 and 5 are related to bounded time delays from decision maker (benítez-pérez et al., [1] and have an effect into control and plan modeling as shown before. at the end of this section (eqn. 15) it is shown how time delays are modified based on time diagram representation (figs. 6 and 7). the reader should realize that time delays are bounded by the use of scheduling algorithm through art2 network. both scenarios are local with respect to one belt. it is considered that the other two belts do not present faulty conditions. as these two scenarios are bounded (fault and fault-free), the respective total consumption times ( tt and tt f respectively) are shown in eqns. 13 and 14 (figs. 6 and 7, respectively), where variable information is presented. tt = ts ∗4 + t sccm + tc + t cacm + ta (13) where: ts is the consumed time by sensors t sccm is the consumed time by communication between sensor and control tc is the consumed time by control node t cacm is the consumed time by communication between controller and actuator ta is the consumed time by actuator an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 321 figure 6: fault-free scenario figure 7: fault scenario considering fault masking 322 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. tt f = ts ∗4 + t sccm + t f sccm + tc + t cacm + ta (14) where: t f sccm is the time consumed for the fault sensor to send messages to its neighbor and produce agreement from this time boundary based on these three modeling approaches, it is feasible to implement the control strategy as presented in eqn. 10. as mentioned before, time delays take place in three representations τsc, τca and τc , therefore, by decomposing eqn. 14, time delays are expressed as: τsc = ts ∗4 + t sccm τc = tcm + tc + t cacm τca = ta, (15) a remarkable issue is related to a particular sensor fault related to any of three belts. considering this configuration, three cases are possible: • one local fault; • two local faults, one per belt; • three local faults, one per belt. based on these three possible configurations, there is a worst-case scenario related to three local faults that has an impact on the global control strategy. the other two configurations present a minor degradation for the global control strategy. despite this performance degradation, the system keeps normal functionality due to the inherent fault tolerance strategy (fault masking between sensors) and the local controllers. taking into account these three possible configurations, the local and global time delays are described in table 2. table 2: time delays related to local and global effects configuration 1 local time delays 110 ms one local fault global time delays 110 ms configuration 2 local time delays 110 ms two local fault global time delays 220ms configuration 3 local time delays 110 ms three local fault global time delays 400 ms 3 results from this implementation several results are presented in terms of fault presence and the related action to overcome system lack of performance. how the system responds to these control strategies is presented in the following graphics taking into account fault-free, one local fault and two local faults, respectively (figs. 8, 9 and 10). first scenario presents a fault free situation where local controller response is shown, it is important to highlight that fourth actuator response presents a normal response. when first fault appears (one local sensor does not response and the masking approach is followed) a local time delay takes place where its effects are shown in first local control response. similar situation an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 323 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 1 time 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 2 time 7000 7200 7400 7600 7800 8000 8200 8400 8600 8800 9000 0 0.5 1 f o u rt h a ct u a to r time figure 8: fault-free scenario 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 1 time 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 2 time 7000 7200 7400 7600 7800 8000 8200 8400 8600 8800 9000 0 0.5 1 f o u rt h a ct u a to r time figure 9: first local fault appearance and related global effects 324 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 1 time 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 0.5 1 1.5 l o ca l c o n tr o l 2 time 7000 7200 7400 7600 7800 8000 8200 8400 8600 8800 9000 0 0.5 1 f o u rt h a ct u a to r time figure 10: second local fault appearance and related global effects is presented when a second fault appears and first fault is still active (fig. 10). in this case no relevant modification is shown due to time switching controller takes place. this example presents three local control cases with a global automaton in which control reconfiguration is based on the scheduling algorithm, which is simple because it is dependent on the fault presence and on the related time delays. this reconfiguration approach becomes feasible due to the knowledge of fault presence and the consequence of time delays. it is obvious that fault presence is measurable; if this local fault localization approach cannot detect faults, this strategy becomes useless. 93%−95% no adequate structural selected plans with reconfiguration 5%−7% reconfiguration adequate structural selected plans with figure 11: percentage of selected valid plans for structural reconfiguration moreover, local time delay management refers to the use of a quasi-dynamic scheduler to propose dynamic reconfiguration based on current system behavior rather than on predefined scenarios. the scheduler performs task reorganization based on their consumption times and fault presence. the number of accepted plans is presented taking into those selected with no adequate response from structural reconfiguration (fig. 11). for instance, some tasks would not have enough time to be sampled and executed. this result is presented as the percentage of the adequate use of structural reconfiguration during on-line stage. in this case, current control law is modified according to time delays status. having defined the percentage related to those adequate plans during structural reconfiguration, this is taking as 100 % and is evaluated in terms of control law performance. the results are presented in fig. 12. in here, 97% of the valid plans have a valid response in terms of the mean square error response an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 325 97%−98% reconfiguration adequate dynamic selected plans with no adequate dynamic selected plans with reconfiguration 2%−3% figure 12: percentage of selected valid plans for control law reconfiguration figure 13: basic model of true time from the dynamic response of case study. to define the communication network performance, the use of the true-time network is pursued. this strategy achieves network simulation based on message transactions that are based on the real-time toolbox from matlab. extended information from this tool is available at (cervin et al. [3]) the true time main characteristics are shown next. in the true time model, computer and network blocks are introduced in fig. 13. these blocks are event driven, and the scheduling algorithm is managed by the user independently of each computer block. true time simulation blocks are basically two blocks. these have been developed by the department of automatic control, lund institute of technology, sweden. each kernel represents the interface between the actual dynamical model and the network simulation. here, continuous simulation and digital conversion take place to transmit information through the network. this tool provides the necessary interruptions to simulate delay propagation as well as synchronization within the network. 4 concluding remarks present approach shows the integration of three modelling techniques in order to perform reconfiguration. three approaches are followed, control law design, automaton modelling and rt scheduling strategy. although there is no formal verification in order to follow this sequence, it has been adopted since structural reconfiguration provides settle conditions for control reconfiguration. the use of a real-time scheduling algorithm in order to approve or disapprove modifications on computer network behaviour allows time delays bounding during a specific time window. this local time delay bounding allows the design of a control law capable to cope with these new conditions. preliminary results show that control reconfiguration is feasible as long as the use of a switching technique predetermines when one control is the adequate. this goal is reached by a strategy compose of three algorithms, one which is responsible for structural reconfiguration and it has been implemented in this paper as art2a network. second 326 benítez-pérez h., cárdenas-flores f., garcía-nocetti f. algorithm is responsible for dynamic control design and third algorithm is based on an automaton technique to perform switching control. what it is important for this last approach is that control conditions are strictly bounded to certain response. future work is focused to produce certain evaluation metrics that allows feasible comparison between different approaches. 5 acknowledgements the authors would like to thank the financial support of disca-iimas-unam, and unam-papiit (in101307 and in105303) mexico in connection with this work. and the high performance computing proyect within the “macroproyecto tecnologas para la universidad de la información y la computación” of the universidad nacional autónoma de méxico (unam). bibliography [1] benítez-pérez h. and garcía-nocetti f., reconfigurable distributed control, springer verlag, 2005. [2] blanke m. and kinnaert m. and lunze j. and staroswiecki m., diagnosis and fault tolerant control, springer, 2003. [3] cervin a. and henriksson d. and lincoln b. and eker j. and arzén k., how does control timing affect performance, ieee control systems magazine, vol. 23, pp. 16-30, 2003. [4] gudmundsson d. and goldberg k., tuning robotic part feeder parameters to maximize throughput, assembly automation publisher: mcb university press, vol. 19, no. 3, pp216-221, 1999. [5] izadi-zamanabadi r. and blanke m., a ship propulsion system as a benchmark for fault-tolerant control, control engineering practice, vol. 7, pp. 227-239, 1999. [6] jiang j. and zhao q., reconfigurable control based on imprecise fault identification, proceedings of the american control conference, ieee, pp. 114-118, san diego, june, 1999. [7] khalil h., nonlinear systems, prentice hall, 2002. [8] nilsson, j., real-time control with delays, phd. thesis, department of automatic control, lund institute of technology, sweden, 1998. [9] thompson, h., wireless and internet communications technologies for monitoring and control, control engineering practice, vol. 12, pp. 781-791, 2004. [10] wu n., reliability of reconfigurable control systems: a fuzzy set theoretic perspective, proceedings of the 36 th conference on decision & control, ieee, tp15 5:10, pp. 3352-3356, sandiego, usa, 1997. benítez-pérez h. universidad nacional autónoma de méxico departamento de ingeniería de sistemas computacionales y automatización apdo. postal 20-726., admón. no. 20 del. a. obregón, méxico d. f., cp. 01000, méxico. e-mail: hector@uxdea4.iimas.unam.mx an implementation of reconfigurable network control based upon automata proposal for three conveyor belt case study 327 cárdenas-flores f., garcía-nocetti, f. iimas, universidad nacional autónoma de méxico apdo. postal 20-726., admón. no. 20 del. a. obregón, méxico d. f., cp. 01000, méxico received: august 1, 2007 hector benítez-pérez is a full time researcher in the iimas unam (méxico). he obtained his bsc in electronic engineering at the engineering faculty unam in 1994 and his phd at sheffield university, uk en 1999. his areas of interest are in real time control and fault diagnosis. f. cárdenas-flores obtained his bsc in biomedical engineering at uam-iztapalapa 1990. he works in the departamento de ingenieria en sistemas computacionales iimas unam since 1994. he areas of interest are in real time, parallel computing and digital signal and image processing. f. garcía-nocetti bsc in electric engeneering at the engineering faculty at unam in 1984. mbs and phd at university of wales, uk 1988, 1991. he is a full time researcher at iimas unam since 2000. his areas of interest are architectures and algorithms for high performance computing including real time applications. he is member of ieee, iee and ifac. http://horos.rdsor.ro/ijcccv3n4draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 4, pp. 343-352 analysis and design on key updating policies for satellite networks yuxuan ji, hengtai ma, gang zheng abstract: satellite networks are becoming increasingly important because of the exciting global communication services they provide. key management policies have been successfully deployed in terrestrial networks to guarantee the information security. however, long propagation, storage and computation constraints bring new challenges in designing efficient and cost-effective key updating policies for satellite networks. based on the structure and communication features of satellite networks, a dynamic key management model for satellite networks (dkm-sn) is presented, which includes certificates owned by each satellite, primary keys and session keys both of which are shared between two satellites. furthermore, a protocol is designed for updating certificates for satellites; different policies for updating primary and session keys are studied and their efficiency and security are analyzed and compared. in addition, simulation environment for satellite networks is built and the key updating processes are implemented in walker constellation. from the simulation results, further contrasts on key updating time and storage costs between the applications of ibm hybrid key management model (hkmm) and dkm-sn in satellite networks are presented. finally, important suggestions in designing key updating policies are given. keywords: key updating, satellite networks, model, protocol, simulation 1 introduction satellite networks are composed of various kinds of communication satellites, vehicles and constellations. it contains both satellite-to-satellite and satellite-to-ground links. satellite networks integrate terrestrial systems and all sorts of satellites which are deployed in different orbits with diverse tasks. nowadays, satellite networks are increasingly used in the long-distance information transmission services. in order to ensure the message confidentiality, integrity and nonrepudiation, as well as efficiency of communication, a key management mechanism should be used to provide data encryption, authentication and key distribution and updating services for satellite communication. key management model defines the entities in the services, the categories and relationships of the keys, and the key updating protocols and algorithms. in contrast with terrestrial networks, satellite networks are subject to dynamic network topology, long propagation delay, as well as low computing and storage capabilities of satellites. due to these constraints, efforts should be made to decrease the key updating time in order to reduce the communication cost. besides, for those keys used to encrypt large amount of information, the key updating protocols should be based on symmetric encryption techniques for the sake of computation cost. the storage cost on satellites should also be reduced by efficiently lowering the number of the keys. currently, key management policies for terrestrial networks are comparatively sophisticated. there are generally three kinds of key management policies, including those that use symmetric key encryption techniques, public key encryption techniques and combination of the two. for example, kerberos [1] uses symmetric key encryption techniques and a kdc (key distribution center); both symmetric and public key encryption techniques are adopted in ibm hybrid key management model (hkmm) in which three kinds of keys including session key, primary key and public key are used. based on different network features and environments, the number of entities and encryption techniques involved in updating a certain type of key may be very different. for instance, though both for updating the session key, neuman-stubblebine protocol [3] includes three parties while janson-tsudik protocol [4] involves only copyright © 2006-2008 by ccc publications 344 yuxuan ji, hengtai ma, gang zheng two. besides, the encryption technique used to update session key can be either symmetric or public. however, all above key management policies are only applicable in terrestrial networks. some problems concerning key management policies in satellite networks have been studied. after studying a series of possible security threats, ccsds showed the urgency and necessity to implement security policies in satellite networks, such as key management, authentication, access control, etc [5]. ayan roy-chowdhury analyzed some problems that occur during encryption and key distribution processes when applying ipsec and ssl into satellite networks [6]. their discussion was based on a hybrid satellite network with a single satellite component and several ground terminals. cruickshank designed an authentication and key establishment protocol for two satellite users who need to encrypt data and voice information [7]. since the public encryption technique was used, the method was applicable in situations where the satellites are only used to relay messages rather than implement public encrypting operations which entail a large amount of computation cost. tanya vladimirova et al. introduced some security services required on satellites, proposed an on-board security architecture and aes fault-tolerant mechanism [8]. however, current literature seldom studies the key management policy for satellite networks with communication links between satellites. we focus on this issue and mainly discuss the categories of keys, the protocols for updating keys and the key updating efficiencies of different policies. hkmm uses session key, primary key and public key. however, the session key updating in hkmm may cause unendurably long propagation if directly applied in satellite networks. in order to solve this problem, a dynamic key management model applicable in satellite networks (dkm-sn)is presented, which also includes session keys, primary keys and public keys. based on dkm-sn, a protocol is designed for updating public keys in satellite networks. by further studying the protocols such as neumanstubblebine, janson-tsudik and improved beller-yacobi protocols [9], the efficiency and security issues are analyzed in designing policies for updating primary keys and session keys in satellite networks. finally, the differences on time and storage costs between hkmm and dkm-sn are shown through simulations under the satellite network environment. the rest of this paper is organized as follows. in section 2, we discuss dkm-sn, detailing the designing principles of all three parts including public key, primary key and session key updates. section 3 presents the simulation results under satellite network environment. we conclude with a short summary and extensions on future work in section 4. 2 key management model in satellite networks, communication process should be kept secret in order to ensure the message confidentiality. besides, robust and secure protocols are indispensable so that the communication process can resist well-known attacks, such as arrogating, playback, modification and so on. therefore, we design a dkm-sn to ensure the secrecy, authenticity and integrity of messages, and at the same time decrease the time, storage and computation costs with best efforts when providing key updating services. dkmsn consists of public, primary and session keys, which are divided based on their functions. firstly, every satellite has a pair of public and private keys, and a certificate issued by ca (certificate authority), all of which are updated through communication between a certain satellite and ca. secondly, there is a primary key shared between a pair of satellites and it is updated with their public key information (including public and private keys and certificates). besides, two satellites also need to share a session key when they communicate with each other and the session key is updated by the primary key shared between them. the differences between dkm-sn and hkmm are: (1) hkmm uses kdc while dkmsn does not; (2) each primary key in hkmm is shared between satellite and kdc while it is shared between two satellites in dkm-sn; (3) in order to lower storage cost, dynamic primary key updating policy is adopted in dkm-sn, which means that for some pairs of satellites their primary keys exist only when they need to establish session keys to communicate. figure 1 shows hkmm on left and dkm-sn on right. p denotes primary key, s for session key, t for terminal in terrestrial networks, and v for satellite. we can see that in hkmm the primary keys analysis and design on key updating policies for satellite networks 345 are shared between each terminal and kdc while the session keys are shared between every pair of terminals. for instance, in hkmm, session key s1 can be established by terminal 3, terminal 4 and kdc using primary keys p3 and p4. in dkm-sn, both the primary and session keys are shared between two satellites. for instance, session key s21 needs to be established and shared only by two satellites v2 and v3 using their primary key p2. p1 p2 p3 p4 p5 s1 s2 s3 p6p5p4 p3 p2 p1 s21, 22, ... s11, 12, ... hkmm dkm-sn ca kdc/ca t1 t2 t3 t4 t5 v1 v2 v3 v4 v5 figure 1: key management models: hkmm and dkm-sn 2.1 certificate updating generally, an entity’s public key information is updated by itself before it expires. based on pkix standards [10], we design a proper protocol for updating public key information. 1. b → m : b, pkb,cert(b) 2. m → b : m, pkm, [cert(m)], pk ′ m, e(pk −1 m , h(pk ′ m, m, b)) 3. b → m : cert(m)′ b, m ca and satellite m; pkx , pk −1 x , cert(x ) old public key, private key and certificate of satellite x; pk ′ x , (pk ′ x ) −1, cert(x ) ′ new public key, private key and certificate of satellite x; e(k,y ) public key encryption with key k and plaintext y ; h(y ) hush function; [y ] y is optional. the execution of this protocol between ca and satellite proceeds as follows: 1. ca sends its own identifier, public key and certificate to satellite and informs the satellite to start updating its public key information. 2. upon receiving message from ca, the satellite does the followings: (1) check validity of ca’s certificate; (2) generate a new pair of public and private keys for itself; (3) get a signature with its old private key and send this signature, its identifier, certificate and both old and new public keys to ca. 3. upon receiving messages from satellite, ca does the followings: (1) check the validity of satellite’s old certificate; (2) check satellite’s signature; (3) generate a new certificate for the satellite’s new public key. 4. upon receiving new certificate from ca, satellite can check its validity with ca’s public key. 346 yuxuan ji, hengtai ma, gang zheng note that the execution can continue only when the checks in the last step are successful. now we consider some possible attacks on ca and satellite when running the protocol. 1. attacks on ca (1) in the second step of our protocol, it is possible that adversary may arrogate satellite m by sending m’s certificate and a public key the adversary generated. however, the adversary has to send a signature at the same time. since we assume that the adversary doesn’t know the satellite’s old private key before it expires, then the adversary could not get a correct signature and would be detected by ca. (2) also in the second step, the adversary may try to replay a signature signed by the satellite’s private key which has expired. obviously, only if both satellite and ca use their valid public key information that hasn’t expired, our protocol could resist this playback attack. 2. attacks on satellite (1) since satellite m’s new public key is sent without encryption, the adversary may generate a certificate for m by signing m’s identifier and the new public key with its own private key, and then sends this false certificate to m in the third step. however, this attack would fail after satellite has received the certificate and checks its validity using ca’s public key. (2) as an alternative, in the third step the adversary could also replay a certificate that has expired. however, the fact is that in order to keep the freshness of every run of the protocol we require that new public and private keys are different from before. for this reason, the expired certificate would be proved invalid when the satellite checks it. the above discussion is suitable for a satellite. when updating the public key information for ca, we should first update it before it expires and then update certificates for all the satellites using ca’s updated certificate. 2.2 primary key updating although all satellites have their own public key information, we avoid using it to encrypt data due to the high complexity and low efficiency of public key encryption algorithms. in most systems, public key information is used to establish symmetric keys so that encryption on data could be faster. we consider two strategies for establishing symmetric keys with public key information: (1) using public key information, two satellites directly establish a shared session key to encrypt data; (2) they first establish a primary key between them with their public key information and then use this primary key to establish their session keys. both primary key and session keys are symmetric keys shared between the two satellites. in the first strategy, though the cost of data encryption is low, the cost of frequent session key updates remains high. as for the second strategy, since both of frequent data encryption and session key updates adopt symmetric key encryption techniques, it is more efficient than the first one. note that the primary keys are updated much less frequently than session keys. hkmm includes primary keys and a kdc in its system. there is a unique primary key shared between kdc and each terminal (or entity). hence, the number of primary keys in hkmm is n. in dkm-sn, the second strategy is adopted, but no kdc is deployed in our network and each unique primary key is shared between two satellites. we build dkm-sn in this way for the following reasons: (1) kdc may become a bottleneck since all the session key updates have to pass kdc; (2) satellite networks are typical of long propagation. since the session key updating process involving three parties (kdc and two satellites) has to be finished within at least 4 steps while that involving two parties (two satellites) in dkm-sn can be achieved within 3 steps, the former would be much slower than the latter. in analysis and design on key updating policies for satellite networks 347 satellite networks, even one trip may lead to unendurably long propagation due to the multi-hop routing and long space distance between two satellites. as for the communication protocol when updating primary keys, improved beller-yacobi protocol [9] is suggested. this sophisticated protocol is qualified for updating a symmetric key with public key information and engages only two entities. besides, this protocol is suitable for the satellites that have limited computing power. 2.3 session key updating session keys are distributed in the network to encrypt the large amount of data, such as images, languages, commands and so on. according to the previous analysis, session key in dkm-sn is shared between two satellites and updated by the primary key between the same pair of satellites. session keys must be updated more frequently than certificate and primary keys because they are used more often. in this way, the possibility of ciphertext-only attacks can be decreased. obtaining an old session key is not once and for all, since the attacker must intercept and analyze new ciphertexts in order to get new session keys. as for the protocols for updating session keys, security and efficiency are of most importance. first of all, the protocol should be able to resist well-known attacks, such as replay, modification, typing, reflection and so on. besides, it should not cost too much time and storage. based on satellite network features, such as long propagation and limited resources, janson-tsudik 2pkdp [4] is suggested for updating session keys. this protocol is illustrated as follows. 1. a → b : a, nab 2. b → a : au t hkab (nab, kba, b), ekab (n ′ ba ) ⊕ kba 3. a → b : ackkab (nab, kba, a) this key establishment protocol contains the minimum cost of computation and numbers of messages and steps as proved in [4]. a detailed comparison of the time and computation costs between session key updating protocol with kdc and that without kdc is presented as follows. as for session key updates with kdc, we use neuman-stubblebine protocol [3] which also has the minimum number of steps involved. according to janson-tsudik 2pkdp, we get the calculation time c jt in a single entity and overall session key establishment time tjt : tjt = 3∗ tab + 4∗ tmac + 2∗ tes + 2∗ t⊕ c jt = 2∗ tmac + tes + t⊕ (1) tmac calculation time of mac() function; tes calculation time of symmetric encryption; t⊕ calculation time of x or operation; tab propagation delay between satellites a and b. since t⊕ ≤ any other item, so we get: tjt ≈ 3∗ tab + 4∗ tmac + 2∗ tes c jt ≈ 2∗ tmac + tes (2) as for neuman-stubblebine protocol, we get the calculation time cns for a single node and overall session key establishment time tns similarly: tns = (2∗ tab + tac + tbc) + 8∗ tes cns = 8∗ tes (3) 348 yuxuan ji, hengtai ma, gang zheng tac propagation delay between kdc and satellite a; tbc propagation delay between kdc and satellite b. because propagation delay is much larger than the calculation time of either encryption or mac() in satellite networks, we conclude from the above estimation that both the calculation time cost of a single node and overall session key updating time cost of janson-tsudik 2pkdp are much less than those of neuman-stubblebine. for the three-party session key establishment policy, kdc may become a bottleneck in the system. fortunately, the two-party session key establishment policy could avoid this drawback. 3 simulations in order to verify the effectiveness and suitability of dkm-sn in satellite network environment, a proper simulation environment for satellite networks is very important and necessary. based on the simulation system for distributed satellite networks [11], we design a simulation scenario and implement the experiments. we set up a walker constellation consisting of 20 meo satellites. there are 4 orbital planes on each of which 5 satellites are equally deployed. each plane is of an inclination of 75◦ and orbit height 14163km. in certificate updating simulation, the protocol designed in section 2.1 is applied and 160-bit ecdsa [12] is implemented as signature algorithm. in primary key updating, improved beller-yacobi protocol is applied. ecdsa and ecies [13] are used as signature and encryption algorithms respectively. in session key updating, janson-tsudik 2pkdp and 128-bit aes are implemented. 3.1 certificate updating simulation dynamic topology in this part, we examine the influences of topological changes on the certificate updates for a certain satellite. dynamic changes of satellite network topology lead to the variations of routing tables in satellites. therefore, the time cost of certificate updating for a certain satellite varies with time. figure 2 shows both the overall and computation time costs of certificate updates for a certain satellite in different periods of time. we update a satellite’s certificate every 10 seconds. figure 2 shows the time cost during 500 seconds. the longest updating time for the satellite is 834.200ms. routing information shows that in the longest updating data transmission from the satellite to ca entails 5 hops and thus the three-step interaction between them entails 15 hops all together. the minimum time cost is 167.45ms when there is only 1 hop between satellite and ca and so it costs 3-hop effort to finish the certificate updating process. based on the result, we suggest update certificates when communication between satellite and ca needs the minimum number of hops. static topology in this part, we examine the certificate updates of different satellites in walker constellation during a fixed period of time. figure 3 shows both the overall and computation time costs of certificate updates for different satellites during a fixed period of time in walker constellation. we can see that there are huge gaps of time costs among the satellites since the number of hops between ca and the satellites are very different. in the simulation, for example, there are 5 hops between ca and no.6 satellite while 1 hop between ca and no.4. analysis and design on key updating policies for satellite networks 349 0 100 200 300 400 500 600 700 800 900 time (s) overall time cost computation time cost 5 10 15 20 25 30 35 40 45 50 time cost (ms) figure 2: time cost of certificate updating of a certain satellite in different periods of time 0 200 400 600 800 1000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 samples overall time cost computation time cost time cost (ms) figure 3: time costs of certificate updates of all satellites in the same period of time 350 yuxuan ji, hengtai ma, gang zheng besides, from figure 2 and figure 3 we can see that the computation cost for different satellites varies little. it is a small fraction of the overall time cost of certificate updates, ranging from 5% to 40%. 3.2 comparison of computation time costs figure 4 shows the computation costs of all three kinds of key updates in walker constellation. 20 samples are presented for each kind of updates. 0 20 40 60 80 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 samp les p rimary key up dating session key up dating certificate up dating time cost (ms) figure 4: computation costs of three kinds of key updates we see from figure 4 that session key update costs least, which is suitable for the most frequently updated session keys. the average time cost of certificate updates is less than that of primary key updates mainly due to the extra public key encryption in the improved beller-yacobi protocol. 3.3 comparison between key management models comparing dkm-sn with hkmm, we mainly have the following conclusions. firstly, the time costs for session key updates in dkm-sn are much less than that in hkmm. secondly, dkm-sn will contain more primary keys than hkmm if all primary keys are pre-distributed between all pairs of satellites. since the storage capacity is limited in satellite, we recommend that for some pairs of satellites their primary keys exist only when necessary. therefore, if we want to establish a session key between two satellites while they share no primary key, we need to first establish a primary key with their public key information and then establish the session key with their primary key. a much detailed comparison between hkmm and dkm-sn is presented as follows. suppose the total number of satellites is n; the average time cost of primary key updates is z. in dkm-sn, let a denote the maximum number of primary keys, namely a = n×(n−1) 2 ; h denotes the average time cost of session key updates when there is a shared primary key between every pair of satellites; x denotes the practical number of primary keys; y denotes the average time cost of session key updates when x pairs of satellites share primary keys. in hkmm, suppose the average time cost of session key updates is h + δ , δ > 0. based on dkm-sn, we have, y = x × h + (a − x) × (z + h) a = (z + h) − z a × x (4) obviously, given x = 0, we get y = z + h. this means there is no primary key pre-shared in dkmsn and for every two satellites before establishing a session key we should first set up a primary key. similarly, given x = a, we get y = h. under this condition, each pair of satellites owns a primary key. analysis and design on key updating policies for satellite networks 351 if y > h + δ , we get x < a×(z−δ ) z . so we conclude that when n < x < a×(z−δ ) z , hkmm is superior to dkm-sn in both average time cost of session key updates and storage cost. specifically, based on the simulation data, we have z ≈ 400ms, h ≈ 360ms, δ ≈ 120ms, n = 20. under this condition, y = (z + h) − z a × x ≈ 760 − 2 × x. figure 5 shows the relationship between average time cost of session key updates and the number of primary keys in dkm-sn. 760 480 average time cost (ms) number of primary keys 14020 2000 360 40 60 80 100 120 160 180 figure 5: average time cost of session key updates in dkm-sn given y > h + δ , namely 760 − 2 × x > 480, we get x < 140. we can see from the linear function shown in figure 5 that if the number of primary keys ranges from 20 to 140, hkmm is better than dkmsn in both time and storage costs. when 140 < x ≤ 200, average time cost of session key updates in dkm-sn is less than that in hkmm while the number of keys is more than that in hkmm. furthermore, if we can deploy the primary keys for those satellites that communicate most frequently, the average time cost function of the number of primary keys will be a concave function shown in figure 5. we can make estimation and decision given real on-board data in satellite networks. for examples, if satellites could store the maximum number of primary keys, pre-allocating a primary key for every pair of satellites is the best choice, which is especially suitable for a network with a small number of satellites. 4 summary and conclusions in this paper, a new key management model called dkm-sn is designed for satellite networks. a protocol for updating satellite certificate is designed and the efficiency and security of different policies for updating primary and session keys are analyzed. the performance is shown when updating three kinds of keys and a further contrast between dkm-sn and hkmm is given in both time cost and storage cost. the efficiency and applicability of different key updating policies are discussed under different onboard storage constraints and time requirements. in the future, we will further discuss the problems in designing efficient, low-cost and secure key management models for satellite networks. bibliography [1] j. kohl, c. neuman, the kerberos network authentication service (v5), http://www.ietf.org/rfc/rfc1510.txt, rfc 1510, 1993. 352 yuxuan ji, hengtai ma, gang zheng [2] v. le, s. m. matyas, d. b. johnson and j. d. wilkins, a public key extension to the common cryptographic architecture, ibm system journal, vol. 32, pp. 461-485, 1993. [3] b. c. neuman and s. g. stubblebine, a note on the use of timestamps as nonces, acm operating systems reviews, vol. 27, pp. 10-14, 1993. [4] philippe janson and gene tsudik, secure and minimal protocols for authenticated key distribution, computer communications, vol. 18, pp. 645-653, 1995. [5] ccsds, security threats against space missions, washington: informational report, ccsds 350.1-g-1, green book, issue 1, 2006. [6] a. roy-chowdhury et al., security issues in hybrid networks with a satellite component, ieee wireless communications, vol. 12, pp. 50-61, 2005. [7] h s cruickshank, a security system for satellite networks, fifth international conference on satellite systems for mobile communications and navigation, london: iee, pp. 187-190, 1996. [8] tanya vladimirova, roohi banu and martin n. sweeting, on-board security services in small satellites, mapld international conference, washington: nasa office of logic design, 2005. [9] c. boyd and a. mathuria, key establishment protocols for secure mobile communication: a selective survey, lecture notes in computer science, vol. 1438, pp. 344-355, 1998. [10] j. schaad, m. myers, public-key infrastructure (x.509), www.ietf.org/html.charters/pkixcharter.html, ietf, pkix 2797. [11] x. ying, z. gang, modeling and distributed simulation for satellite networks, computer simulation, vol. 25, pp. 65-69, 2008. [12] ansi x9.62, public key cryptography for the financial services industry: the elliptic curve digital signature algorithm (ecdsa), american national standards institute, 1999. [13] ansi. x9.63, public key cryptography for the financial services industry: key agreement and key transport using elliptic curve cryptography, american national standards institute, 2001. yuxuan ji institute of software, chinese academy of sciences national key laboratory of integrated information system technology 4# south fourth street, zhong guan cun, beijing 100190, p.r. china e-mail: jiyuxuan06@gmail.com hengtai ma institute of software, chinese academy of sciences national key laboratory of integrated information system technology 4# south fourth street, zhong guan cun, beijing 100190, p.r. china e-mail: htma@ios.cn gang zheng institute of software, chinese academy of sciences national key laboratory of integrated information system technology 4# south fourth street, zhong guan cun, beijing 100190, p.r. china e-mail: gangzhengcn@yahoo.com.cn international journal of computers, communications & control vol. iii (2008), no. 1, pp. 21-32 electroglottographic measures based on gci and goi detection using multiscale product aicha bouzid, noureddine ellouze abstract: this paper deals with glottal parameter estimation such as local pitch and open quotient from electroglottographic signal (egg). this estimation is based on glottal closing instants and glottal opening instants determined by a multi-scale product of this signal. wavelet transform of egg signal is made with a quadratic spline function. wavelet coefficients calculated on different dyadic scales, show modulus maxima at localized discontinuities of egg signal. the detected maxima and minima correspond to the glottal opening and closing instants called gois and gcis. to improve the estimate precision, we operate the multi-scale product of wavelet transform coefficients of three successive dyadic scales. this processing enhances edge detection. a multi-scale product is a nonlinear combination of successive scales; it reduces noise and spurious peaks. we apply cubic root amplitude on the product to improve the representation of weak amplitudes. the method has a good representation of gci and a best detection of goi. the method was tested on the keele university database; it is effective and robust in multiple cases even for a typical signal showing undetermined gois and multiple peaks at gcis. finally precise measurement of these instants allows accurate estimation of prosodic parameters as local pitch and open quotient. keywords: wavelet transform, multi-scale product, electroglottographic signal, glottal closing instant, glottal opening instant 1 introduction electroglottography is a non-invasive medical exploration technique of a glottal activity. the resulting signal called electroglottogram (egg) is a common and efficient reference signal for pitch estimation. egg signal can be used to determine glottal closing instant (gci) and glottal opening instant (goi). gci is commonly used in speech processing like voiced/unvoiced classification, accurate source parameter estimation and robust instant detection; it is very useful in synchronous speech analysis and synthesis. goi is useful for voice quality estimation and other voice and speaker characterization. in the present work, the estimated gci and goi are used to calculate the local fundamental frequency and the glottal open quotient. referring to childers [1], egg signal presents an important amplitude variation at gci, indicating a rapid behaviour change of the source (glottis). the derivative of the egg signal, called degg shows strong peaks at closing instants and weak ones at opening instants. referring to mallat [2], important information lies in sharp transitions on the signal or its derivative. these singularities are detected by following the wavelet transform modulus maxima at fine scales. as we have shown in previous work [3], wavelet transform is efficient in most cases for detecting singularities in egg signal at closing instants, but not so for glottal opening instant detection. in fact, large variations of amplitude on egg signal can be observed at gcis, however at gois the discontinuities are less obvious and can hardly be detected on the signal [4]. referring to sadler [5], [6], the multiscale product method (mpm) is the product of wavelet transform coefficients on different scales. the scale multiplication gives better results of discontinuity detection than any single scale, especially on the localization performance [7], [8], [9]. this method is used for edge detection in image processing. the aim of this paper is to present a new measurement method of glottal parameters from egg signal, such as goi, gci, the signal fundamental frequency f0 and the open quotient oq. different time and spectral based methods have been proposed for estimating the pitch period and the open quotient oq. in this work, we propose to apply the copyright © 2006-2008 by ccc publications 22 aicha bouzid, noureddine ellouze multiscale product method (mpm) on the egg signal, in order to improve the accuracy of goi and gci measurement, so as to obtain better estimation of pitch and open quotient measures. the present paper is organised as follows. after introduction, section 2 focuses the well-known methods applied on egg signal for gci and goi detection and their related problems. the first method uses various thresholds (or crossing levels) of the egg signal, the second method is based on the derivative of egg signal. besides, it is shown that in many cases, these methods present undetermined goi and in fewer cases ambiguous gci. section 3 presents the multiscale product method and its application to egg signal, in order to improve the detection of gois and gcis. section 4 presents a multiscale product enhancement for gci and goi detection based on the cubic root of the mp (crmp) and its comparison to the mp and the degg methods . section 5 deals with egg parameter measurements given by the crmp, the crossing level and the degg extrema methods. finally, section 6 concludes this work. 2 gci and goi detection methods and limitations glottal opening instants (goi) and closing instants (gci) estimation can be carried out on egg signal, by different methods using time or frequency based methods. here, we present two basic methods: the first method is based on egg amplitude crossing level (with different levels), and the second method is based on maxima and minima detection on the degg signal. egg threshold method rothenberg et al. [10] use the 50% crossing level of the signal amplitude from a base line. this method gives a direct value of goi and gci from egg signal in the case of modal and tense voice. 35% of the maximum amplitude of the egg has been also used as a threshold; this ratio gives also direct values of the gci and goi. howard [11] uses the 3/7 maximum egg amplitude threshold for goi detection. illustrations of these methods are depicted in figure 1. the major drawback of such methods is the lack of accuracy for the gci detection and a missing of goi. 0 50 100 150 −1 −0.5 0 0.5 1 0 50 100 150 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 goi 50 % 3/7 35 % gci gci goi figure 1: egg signal (female voice, speaker f4, vowel [o]), 3 crossing levels, and the degg. the top of figure 1 depicts the case of egg signal of a female voice pronouncing the vowel [o], the crossing levels of 50%, 3/7 and 35% of the amplitude allowing the estimation of goi and gci. degg maximum and minimum detection method a more precise method for gci detection uses the degg signal [12]. childers characterises the egg inflexion points by the degg [13], [14]. experimental investigation shows that degg signal shows two opposite peaks in each period. the strong peak corresponds to gci and the weak one corresponds to goi [15], [16], [17]. an illustration of the derivative method is depicted at the bottom of figure 1. goi and gci detection related problems electroglottographic measures based on gci and goi detection using multiscale product 23 methods based on egg and degg, for goi and gci detection have different problems, such as missing events or duplication. examples are taken from the keele university database. it is a speech database containing acoustics and egg signals simultaneously recorded in a soundproof room. it is made by five adult females and five adult males speakers. each utterance consists of the same phonetically balanced english text. egg and speech signals are given with the same sampling frequency of 20 khz [18]. many cases of missing peaks appear on degg at glottal closing instants [19]. some gcis and gois are indiscernible on the degg. this glottal behaviour is observed by anastaplo and karnell [20]. pérez et al. underline the difficulty of goi detection from the derivative of egg signal [21]. 0 500 1000 1500 2000 2500 3000 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0 500 1000 1500 2000 2500 3000 −0.12 −0.1 −0.08 −0.06 −0.04 −0.02 0 0.02 figure 2: egg signal of a male voice (speaker m2, voiced sound) and degg depicting the case of gci and goi missing. gci missing has a considerable effect on the time period measure. goi missing influences the oq measure. figure 2 illustrates problematical cases where threshold methods on egg or degg fail to detect gcis and gois. this example shows egg signal of a voiced sound of the male speaker m2 and its derivative. in many cases multiple peaks appear on degg at glottal closing instants and opening ones [19]. a typical example is presented in figure 3. in this case, the degg signal shows undetermined open instant and a double closing instant. egg signal used for this example is a vowel [i] of the female speaker f2. we can distinguish that the egg signal presents noise due to the subject movement during the recording. another typical example is shown on figure 4. here the degg signal shows glottal opening and closing instants with a poor precision. the egg signal used in this example is a voiced fricative [z] of the a male speaker m5. we can distinguish that the egg signal presents natural noise of the fricative vowel. 3 goi and gci detection by multiscale products it is commonly known that wavelet transform is an efficient tool for detecting and characterizing signal singularities [2]. singularities of the signal are detected by finding abscissa, where the wavelet modulus maxima converge at fine scales. the singularity type of the signal is characterised by wavelet vanishing moments and the decay of maxima across scales. this is explained by the fact that wavelet transform with n vanishing moments can be interpreted as a differential operator of nth order of the signal, smoothed by the primitive function of the wavelet called smoothing function. so if the wavelet is chosen to have one vanishing moment, modulus maxima appear at discontinuities of the signal, and 24 aicha bouzid, noureddine ellouze 0 50 100 150 200 250 300 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0 50 100 150 200 250 300 −0.3 −0.25 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 unclear goi redoubled gci figure 3: egg signal (speaker f2, vowel [i]) and the degg depicting the case of double and imprecise peaks at gci and goi. 0 100 200 300 400 500 600 700 800 900 −1 −0.5 0 0.5 1 0 100 200 300 400 500 600 700 800 900 −0.3 −0.2 −0.1 0 0.1 0.2 figure 4: egg signal (speaker m5, voiced fricative [z]) and the degg depicting the case of double and imprecise peaks at gci and goi. electroglottographic measures based on gci and goi detection using multiscale product 25 represent the maxima of the first derivative of the smoothed signal. in previous work [3], we showed that the local regularity of the egg signal can be characterised by the wavelet transform modulus maxima. modulus maxima of egg signal present two types of located singularities indicating glottal closing and glottal opening instants. the greater peak correspond to gci and the weak one to the goi. modulus maxima give an estimation of the events with a better precision for small scales. but no scale can give an accurate value of gci and goi, so as singularities are too smoothed for large scales, and too weak for small scales, to be well located. figure 5 shows the egg signal of a voiced of speaker m2 followed by its wavelet transforms at the following scales 1/2, 1 and 2. here wavelet transform (as well as degg), can’t detect some singularities of the signal. missed events still exist. that’s why multiscale analysis seems to be necessary to improve the egg edge localisation. the products of coefficients across scales are frequently used for image analysis. witkin [20] provided the foundation for scale space theory by generalizing rosenfeld’s work [22], in which smoothing filters at dyadic scales are used. based essentially on forming multiscale products of smoothed gradient estimates, this approach attempts to enhance the peaks of the gradients caused by true edges, while suppressing false peaks due to noise. the wavelet transform acts as an edge detector, and the detail coefficients should be equivalent to the estimated gradients. to distinguish edge maxima from noise and inappropriate maxima, mallat and zhong [23] analyze the singularity properties of wavelet transform domain maxima across various scales. the first derivative of a gaussian and the quadratic spline are used to play this role. xu et al. rely on the variations in scale of the wavelet transform. direct multiplication of wavelet transform data at adjacent scales are used to distinguish important edges from noise [9]. sadler and swami [6] studied multiscale product method of a signal in presence of noise. in wavelet domain, it is well-known that edge structures are present at each subband while noise decreases rapidly along the scales. it has been observed that multiplying the adjacent scales could sharpen edges while diluting noise [6], [9]. the expression of multiscale product is given by: p(n) = 3 ∏ j=1 ωs j ( f (n)) (1) where ωs j ( f (n)) is the wavelet transform of the function for the dyadic scale sj. the product p(n) has the property to reveal peaks at signal edges, and has relatively small values elsewhere. thus, singularities produce peaks along scale in wavelet transform. these peaks are reinforced by the product p(n). the signal peaks will just align across the first few scales, not all of them because increasing the amount of smoothing will spread the response and cause singularities separated in time to interact. thus, choosing too large scales will result in misaligned peaks in p(n). an odd number of terms in the product preserves the sign of the edge. choosing three dyadic successive scales is an optimal solution in multiscale product for detecting small peaks. as multiscale product improves the edge detection, we apply mpm to egg signal to outperform the detection of gci and goi and to improve the measure precision particularily for weak singularities at goi. at the bottom of figure 5, we find the mp of the egg signal of a voiced sound of speaker m2. we can clearly see the effect of the product on cancelling the additional noise peaks present at its derivative depicted in figure 2 and consequently the best detection of goi. we note the efficiency of the mpm to strengthen the gci and its ability to detect gois that become clear enough. however, some missing events still exist. that’s why multiscale product needs to be enhanced for an accurate gci and goi localisation. 26 aicha bouzid, noureddine ellouze 0 500 1000 1500 2000 2500 3000 −0.5 0 0.5 0 500 1000 1500 2000 2500 3000 −1 0 1 0 500 1000 1500 2000 2500 3000 −2 0 2 0 500 1000 1500 2000 2500 3000 −2 0 2 0 500 1000 1500 2000 2500 3000 −1 0 1 figure 5: egg signal of a voiced sound of speaker m2, the 3 wavelet transforms and their product. 4 multiscale product enhancement for goi and gci detection we have seen that multiscale product gives better results than wavelet coefficients. we use the cubic root of multiscale product to improve results for weak peaks. the cubic root of multiscale product has a zooming effect which enhances peak representation. this section deals with this basic enhancement and the comparative result detection of gci and goi detection by degg, mp and cubic root of mp. specific examples from the keele university database are presented below. figure 6 shows an example of egg signal and its derivative, which has precise peaks at goi and gci. the example is a frame of vowel [o] uttered by the speaker f4. the figure respectively shows the egg signal, its derivative, the multiscale product of the following scales 1/2, 1 and 2 and the cubic root of the products. the multiscale product depicts the resulting cross-scale product p(n) for three scales and shows clean peaks aligned with the degg signal edges. first, we note two types of peaks in the cross-scale product; those corresponding to gci are more distinguishable than those related to goi. the modulus cubic root shows maxima at goi and gci, the weak peaks at gois given by the modulus cubic root of the product are better represented and effectively reinforced than those obtained by the multiscale product. figure 7 illustrates the example of a female utterance of vowel [i] where the gois are undetermined and the peaks of gci present irregular structures. we note double peaks of glottal closing that bring about inaccurate measurements. besides, we can clearly see the effect of the product in cancelling the additional peaks, which, then, gives a better detection of goi. the modulus cubic root is used to reinforce the small peaks corresponding to goi. this figure underlines the importance of the modulus cubic root of the multiscale product. figure 8 shows the egg signal of fricative [z] of speaker m5, the degg signal, the multiscale product and its modulus cubic root. figure 9 shows the same representation for a voiced sound of speaker m2. these examples illustrate the modulus cubic root applied on the multiscale product of egg signal. in figure 9, continuous lines indicate gci and dotted lines indicate goi for missing events. in fact the cubic root takes out peaks at goi and gci that don’t exist either in degg signal or in the product. it’s a complex case. thus, we can see that modulus cubic root of multiscale product can give a better detection of gci and goi from the egg signal than the threshold methods and the degg approach. the mp cubic root reinforces the gci minima indiscernible not only at degg but also at mp. consequently the mpm associated with the cubic root gives the most efficient reference measures of goi and gci. electroglottographic measures based on gci and goi detection using multiscale product 27 0 50 100 150 200 250 300 −1 −0.5 0 0.5 1 0 50 100 150 200 250 300 −1 −0.5 0 0.5 0 50 100 150 200 250 300 −150 −100 −50 0 50 0 50 100 150 200 250 300 0 2 4 6 figure 6: egg signal of vowel [o] (speaker f4), degg, mp and its modulus cubic root. 0 50 100 150 200 250 300 −1 −0.5 0 0.5 1 0 50 100 150 200 250 300 −0.4 −0.2 0 0.2 0.4 0 50 100 150 200 250 300 −100 −50 0 50 0 50 100 150 200 250 300 0 1 2 3 4 figure 7: egg signal of vowel [i] (speaker f2), degg, mp and its modulus cubic root. 0 100 200 300 400 500 600 700 800 900 −1 0 1 0 100 200 300 400 500 600 700 800 900 −0.5 0 0.5 0 100 200 300 400 500 600 700 800 900 −1 −0.5 0 0.5 0 100 200 300 400 500 600 700 800 900 0 0.5 1 figure 8: egg signal of voiced fricative [z] ( speaker m5), degg, mp and its modulus cubic root. 28 aicha bouzid, noureddine ellouze 0 500 1000 1500 2000 2500 3000 −0.4 −0.2 0 0.2 0.4 0 500 1000 1500 2000 2500 3000 −0.15 −0.1 −0.05 0 0.05 0 500 1000 1500 2000 2500 3000 −2 −1 0 1 0 500 1000 1500 2000 2500 3000 0 0.5 1 1.5 figure 9: egg signal of a voiced sound (speaker m2), degg, mp, and its modulus cubic root. 5 egg parameter measurements this section deals with the local pitch period and the local open quotient measurement. these can be calculated by using the goi(k) and gci(k). the glottal closing instant represent the beginning of the pitch period. the glottal opening instant goi (k) corresponds to the beginning of the open phase. measurement of f0 and oq local pitch period is given by the following formula t0(k) = gci(k + 1)−gci(k) (2) the local fundamental frequency f0(k) is given by f0(k) = 1 t0(k) (3) the open quotient is defined as the ratio between the duration of the glottis open phase and the fundamental period. open quotient is given by the following formula oq(k) = gci(k + 1)−goi(k) t0(k) (4) in section 5, it is shown that the cubic root of mp outperforms the other methods in typical cases presented in this work. moreover, this performance can be confirmed by evaluating prosodic parameter measures using the proposed method. figure 10 depicts the local fundamental frequency f0 of a voiced sound of speaker m2 corresponding to a case where the degg method gives imprecise goi and the threshold method fails in determining some ambiguous gci and goi. figure 11 depicts the local open quotient for the same utterance determined by the same methods. the threshold methods mentioned above fail in detecting some gcis and gois leading to aberrant and missing measures of the fundamental frequency and the open quotient. besides, imprecise detection of goi from degg signal leads to aberrant measures of oq as shown in periods 12 and 14 of figure 11. 6 conclusion parameter characterisation of egg signal by glottal closing instant gci and glottal opening instant goi detection from this signal is carried out by a new method called multiscale product mpm. the proposed method consists of computing the product of the wavelet transform of egg signal at three successive dyadic scales. the wavelet used is the quadratic spline. this wavelet has one vanishing moment electroglottographic measures based on gci and goi detection using multiscale product 29 0 2 4 6 8 10 12 14 16 18 20 0 20 40 60 80 100 120 140 160 180 200 number of periods fu nd am en tal fre qu en cy (h z) degg threshold mp figure 10: fundamental frequency f0 given by degg (o), 3/7 threshold (*) and mp (+) methods for a voiced sound of speaker m2. 0 2 4 6 8 10 12 14 16 18 20 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 number of periods op en q uo tie nt degg threshold mp imprecise detection of goi by degg figure 11: open quotient oq given by degg (o), 3/7 threshold (*) and mp (+) methods for a voiced sound of speaker m2. 30 aicha bouzid, noureddine ellouze and the calculated coefficients show modulus maxima at discontinuities of the signal. wavelet transform is calculated at the following scales 1/2, 1 and 2. then the cubic root amplitude of the product is calculated to enhance the resulting signal maxima. this method gives better gci and goi localisation than classical methods obtained by the crossing level or by the signal derivative, especially in typical cases of multiple peaks and undetermined gci and goi on degg signal. the non-linear products reinforce the cross-scale peaks produced at gci and especially at goi, and reduce spurious noisy peaks. efficiency of the proposed method is proved. comparative results are given with the threshold and derivative methods for glottal closing instants, glottal opening instants, and glottal parameter measurements like pitch frequency and open quotient. locating gci and goi efficiently by using the cubic root of mp allows us to constitute a robust pitch and open quotient reference. bibliography [1] d. g. childers, a. m. smith and g. p. moore, relationships between electroglottograph, speech, and vocal cord contact, folia phoniatr., vol. 36, pp. 105-118, 1984. [2] s. mallat, a wavelet tour of signal processing, second edition, academic press, san diego 1999. [3] a. bouzid, and n. ellouze, local regularity analysis at glottal opening and closing instants in electroglottogram signal using wavelet transform modulus maxima, in proc. eurospeech 2003, geneve, pp. 2837-2840, 2003. [4] n. henrich, c. d’alessandro, m. castellongo, on the use of the derivative of electroglottographic signals for characterization of non-pathological phonation, journal of acoustical society of america, vol. 115, pp. 1321-1332, 2004. [5] b. m. sadler, t. pham, and l. c. sadler, optimal and wavelet based shock wave detection and estimation, journal of acoustical society of america, vol. 104, no. 2, pp. 955-963, 1998. [6] b. m. sadler, and a. swami, analysis of multiscale products for step detection and estimation, ieee trans. inform. theory, vol. 45, no. 3, pp. 1043-1051, 1999. [7] l. zhang, and p. bao, edge detection by scale multiplication in wavelet domain, pattern recognition letters, vol. 23, no. 14, pp. 1771-1784, 2002. [8] p. bao, l. zhang, and x. wu, canny edge detection enhancement by scale multiplication, ieee trans. on pattern analysis and machine intelligence, vol. 27, no. 9, pp. 1485-1490, 2005. [9] y. xu, j. b. weaver, d. m. healy, and j. lu, wavelet transform domain filters: a spatially selective noise filtration technique, ieee trans. image processing, vol. 3, no. 6, pp. 747-758, 1994. [10] m. rothenberg, and j. j. mahshie, monitoring vocal fold abduction through vocal fold contact area, journal of speech and hearing research, vol. 31, pp. 338-351, 1988. [11] d. m. howard, variation of electrolaryngographically derived closed quotient for trained and untrained adult female singers, journal of voice, vol. 9, no. 2, pp. 1212-1223, 1995. [12] d. m. howard, g. a. lindsey, and b. allen, toward the quantification of vocal efficiency, journal of voice, vol. 4, no. 3, pp. 205-212, 1990. [13] d. g. childers, and a. k. krishnamurthy, a critical review of electroglottography, crc critical reviews in biomedical engineering, vol. 12, pp. 131-161, 1985. electroglottographic measures based on gci and goi detection using multiscale product 31 [14] d. g. childers, d. m. hooks, g. p. moore, l. eskenazi, and a. l. lalwani, electroglottography and vocal fold physiology, journal of speech hearing research, vol. 33, pp. 245-254, 1990. [15] d. g. childers, and j. n. lara, electroglottography for laryngeal function assessment and speech analysis, ieee trans. on biomedical engineering bme, vol. 31, no. 12, pp. 807-817, 1985. [16] s. anastaplo, and m. p. karnell, synchronized videoscopic and electroglottographic examination of glottal opening, journal of acoustical society of america, vol. 83, no. 5, pp. 1883-1890, 1988. [17] m. h. hess, and m. ludwigs, strobophotoglottographic transillumination as a method for the analysis of vocal fold vibration patterns, journal of voice, vol. 14, no. 2, pp. 255-271, 2000. [18] f. plante, g. f. meyer, and w. a. ainsworth, a pitch extraction reference database, in . eurospeech 1995, pp. 837-840, 1995. [19] a. bouzid, n. ellouze, contribution à la détection des instants d’ouverture et de fermeture de la glotte sur les signaux de parole voisé par transformée en ondelettes, thése de doctorat, enit, juillet 2004. [20] a. witkin, scale-space filtering, proc. int. joint conf. artif. intell., pp. 1019-1021, 1983. [21] j. pérez, and a. bonafonte, automatic voice-source parametrization of natural speech, in proc. icslp 2005, lisboa, portugal, 2005. [22] a. rosenfeld, a non linear edge detection, proc. ieee, vol. 58, pp. 814-816, 1970. [23] s. mallat, and s. zhong, characterization of signals from multiscale edges, ieee trans. on pattern analysis and machine intelligence, vol. 14, no. 7, pp. 710-732, 1992. aicha bouzid enit signal processing lab enit b. p. 37, le belvédère 1002, tunis, tunisia e-mail: aicha.bouzid@enit.rnu.tn, bouzidacha@yahoo.fr noureddine ellouze enit signal processing lab enit b. p. 37, le belvédère 1002, tunis, tunisia e-mail: n.ellouze@enit.rnu.tn received: september 1, 2007 32 aicha bouzid, noureddine ellouze dr. aicha bouzid was born in 29 april, 1975. she has diploma in electrical engineering at ecole nationale d’ingénieurs de tunis (enit) in 1998, master degree on automatic and signal processing in 2000 and ph. d. thesis at signal processing laboratory (lsts), in july 2004. she has joined the institut supérieur des etudes technologiques de sfax as associate professor in 1999. currently she is working as assistant professor in the department of electronic at the institut supérieur d’electronique et de communication de sfax. she has more than 30 publications in international journals and conferences. her research areas of interest are signal processing, speech processing and applied mathematics. pr. noureddine ellouze was born in 19 december, 1945. he received a ph.d. degree in 1977 at inp (toulousefrance), and electronic engineering diploma from enseeiht in 1968 university p. sabatier. in 1978. pr. ellouze joined the electrical engineering department at enit (tunisia). in 1990, he became professor in signal processing, digital signal processing and stochastic process. he was the head of the electrical department from 1978 to 1983 and general manager and president of irsit from 1987-1994. he is now director of research laboratory lsts at enit, and is in charge of ats master degree at enit. pr. ellouze has directed multiple masters and thesis and published more than 300 scientific papers in journals and proceedings, in the domain of signal processing, speech processing, biomedical applications, pattern recognition, and man machine communication. international journal of computers, communications & control vol. ii (2007), no. 1, pp. 84-93 a software system for online learning applied in the field of computer science gabriela moise abstract: the computer-assisted learning is a very modern study area, which can be applied to the learning process. the main objective of this paper is to present a software system for online learning based on the intelligent software agents technologies. the main ideas on which this paper is built are: to any person is associated a learning profile (the idea is based on the existence of multiple intelligences, defined by gardner [3]); the pedagogical resources can be shaped through educational semantic networks or through conceptual maps; a flexible software system in computer assisted learning must be based on the intelligent agents’ technology. the system dedicated to computer-assisted learning must be adapted to the learning profile of each student. the author presents a flexible online teaching software system, which learns to teach according to the learning profile of each student (the author defines this system in the phd thesis and includes: intelligent agent structures, reward learning algorithms, algorithms to generate plans for an agent). the application includes two agents: the supervising agent and the pedagogical agent, which determines the optimal pedagogical resources for teaching the course. the application has been designed in microsoft visual studio 6.0 and uses microsoft agent technology, which allows vocal recognition. also, the protéjé 3.0 software has been used, software that allows building ontology for computer assisted learning. the system has been experimented on the graph theory course, taught at postuniversitary computer science courses, the results proving the necessity of defining a strategy for selecting the pedagogical resources presented to the students according to their learning profile. keywords: intelligent agent, conceptual map, learning style 1 introduction a software system for online learning in the field of the computer science is proposed in this paper, a system called ilearning. the system is based on shaping the pedagogical resources through conceptual maps or semantic networks and on using intelligent agent technology.[6] the main feature of the system is its flexibility.[7] in order to use this system we have to consider the learning styles of each person.[4] donald clark says that teaching in unconformity with the learning style of the students doesn’t mean that the students don’t learn, but students learn better if the teacher presents pedagogical resources according to the learning style of the students. [13] teachers have to follow six phases in order to use the system [7]: 1. establishing the learning style of the students through an interrogation of them; 2. drawing the conceptual map of the courses using a software to build conceptual maps; 3. teaching is done based on a technique as to traversing the conceptual map of the course; 4. the teacher has to build for each node of the conceptual map a set or pedagogical resources and the system will select the best resources conforming to the learning style of students; copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 a software system for online learning applied in the field of computer science 85 5. the students are evaluated in each node of the map and the teacher inputs the note in the software system; 6. the teaching takes place traversing all conceptual nodes and showing the resource to students. the system was proposed and tested by the author of this paper in the doctoral these with the same title[7]. 2 the architecture of ilearning system the system is composed by six functional components: instructional manage system, communication system, informational system, evaluation system, tutoring system, pedagogical system. [7] the figure 1: architecture of ilearning system instructional manage system is implemented by a sql server and manages databases about: faculties, students, marks, credits, entrances, registration, teachers, fees; builds reports and statistics about the educational process; plans the instructional process: study periods, evaluation periods; records educational plans; starts teaching process; takes care about securing. the communication agent is implemented by the software agent and accomplishes the communication between students, teachers, students and teachers and administration staff by e-mail, forum, chat; accomplishes the extern communication: e-mail, browser, chat, messaging tools. the informational system is implemented by the sql server and manages the courses and pedagogical resources: records the pedagogical materials on the servers, offers tools to search courses and information in the course’s databases; offers web searching tools: search engine. the evaluation agent is implemented by the software agent and builds personalized tests; evaluates students according to objectives of the instructional process; evaluates the educational process: reports and statistics. the tutor agent is implemented by the software agent and has the following roles: guides the teacher to build pedagogical resources; guides the students in the instruction process; guides the teacher in the teaching activities. the pedagogic agent is implemented by the software agent and verifies the instructional objectives (according to bloom’s taxonomy); checks the learning style of the student; defines pedagogical strategies; defines the curriculum; checks the pedagogical resources; checks the correctness of the evaluation’s activities. the interface is implemented by the software agent and customizes the interface. the space developed by the ilearning system is a flexible instructional environment. the work scenario of the participants to the educational process is presented in figure 2. 86 gabriela moise figure 2: ilearning work’s scenario 3 the agents of ilearning system the ilearning system contains three kinds of components [7]: 1. "execution" agents which perform teaching-learning process. these kinds of agents don’t have perception sensors; they receive the inputs from the supervisor agent. these kinds of agents are intelligent, reactive and goal oriented. 2. "supervisor agent" is a software module which has some intelligent grade. this kind of agent manages the whole system and it is able to learn how a system can be managed. 3. databases system. this component was implemented through a sql server and vb client. 3.1 the execution agents the execution agents are adapted according to interrap [8], model to which was added a capacity component and a decisional module, which establishes the ability of the agent to solve a situation. the architecture of this kind of agent is presented in the figure 3. the control unit receives messages about the state of the environment from the supervisor agent. the unit establishes the ability of the agent to solve the problem. if the agent is not able to solve the situation then it returns an error message. the capacity is defined by the role of the agent in the system. the module analyzes the information received from the supervisor agent; recognizes the situation (goal oriented job or reactive job) and decides the level that will be activated. finally, the module receives the actions that have to be performed by the actors or returns a message to the supervisor agent.the activities are implemented through three levels: communication level, goal oriented level and reactive level. the control unit has the duty to realize the maintenance of the plans library, the behaviors library and the knowledge base of the system. 3.2 the supervisor agents the supervisor agent performs the following functions: a software system for online learning applied in the field of computer science 87 figure 3: the architecture of execution agent 1. coordinates the whole activity of the system; 2. receives the information from the environment (students, teachers and staff) and decides the agent that will be called; 3. receives the requests from the agents and transmits them to the destination agents or solves them using its owner resources; 4. records the capacities of the agents; 5. manages the agents’ library; 6. manages the databases systems; 7. communicates with the ilearning developments. the supervisor agent has the properties of the facilitator agents, mediator agents and broker agents. the architecture of the agent is shown in the figure no. 4. the structure of the agent is simpler then the one of the execution agent while it performs only two types of situations: social situations and administrative situations. figure 4: the architecture of supervisor agent 88 gabriela moise 3.3 the model of ilearning system the ilearning system is a hybrid system, which contains a multi-agent system, and two databases systems. the multi-agent system is composed by agents that cooperate between them. [2] the agents have different goals and are managed by the supervisor agent.[9] the supervisor agent collaborates with the databases systems and coordinates the whole educational process. the model is presented in the figure 5. figure 5: the model of ilearning system 3.4 the ilearning’s programming and reward algorithm to test the system, it was realized a software with visual studio 6.0 and microsoft agent technology. the algorithm used to learn the agents of ilearning system is a reward algorithm based on the qlearning algorithm. this technique starts with an initial estimation q(s, a) for each pair state-action. when it is selected the action a in the state s, the system receives a reward r(s, a) and it is observed the next state s ′ . the q-learning algorithm (watkins, 1989) [11] appreciates the function value state-action as follows: q(s, a) = q(s, a) + α ×(r(s, a) + γ ×mina′ q(s ′ , a ′ )−q(s, a)) where α ∈ (0, 1) is the learning rate, γ ∈ (0, 1) is the discount factor and s′ is the state reached from state s executing the action a.[1] [5] the conceptual map of the course defines the space of system’s state. a student with a certain learning style is with his studies in a node of the conceptual map and he was examined and received notes during the instruction process. the objective of the system is to maximize the results of students at different evaluations. the contribution of the authors is the adaptation of this algorithm for the pedagogical agents. the reward is established through the student’s evaluation in a node of the conceptual map and is defined according to the equation: r (s, a) = note or r (s, a) = note×pnote+apriorknowledge×pbasetime where: note is the score received by the student at his/her evaluation in a node of the conceptual map, apriorknowledge is the score received by students at the initial evaluation (before starting teaching the course if the student starts the course or the average of the scores received by the student at the evaluations in the nodes before the current node in the conceptual map), pnote and pbase are parameters. the algorithm used is: a software system for online learning applied in the field of computer science 89 1. start with an array q for all possible pairs state-action. each item of the array is initialized with zero or a small value. 2. the optimal policy is initialized with a supervised policy. qoptim is initialized with q. 3. for each student the conceptual map is traversed and the q array is calculated. 4. the q is analyzed 4 the experimental results to test the system there were selected students with different learning style (visual style, auditory style, kinesthetic style) and different ages and a module from the "graph theory" course. the conceptual map [10] of the course with seven nodes is presented in the figure 6., each node has attached three pedagogical resource. the software contains two agents: the supervisor agent and the pedagogical agent.[12] the pedagogical agent establishes the optimal pedagogical resources to teach the course. the state of the system is defined by the combination (age, learning style and number of the node). the learning style no. 1 means the visual learning style, the style no. 2 means auditory learning style and the style no. 3 means the kinesthetic learning style. the age no. 1 means the persons with age between 20 and 30 years, the age no. 2 means the persons with age between 30 and 40 years and the age no. 3 means the persons with age between 40 and 50 years. the software teaches itself to teach better, selecting the best pedagogical resources for each node of the conceptual map. figure 6: the conceptual map of the course graph theory, module shortest path the results obtained for age category no. 2 and learning style no. 1 are presented in the table no. 1. the last column contains the values for the parameter q from the reward algorithm. the greater values of parameter q give the optimal policy (the best pedagogical resources for each node of the map according to the learning styles of students). the optimal policy is described in the table no. 2. the results obtained for age category no. 3 and learning style no. 1 are presented in the table no. 3. 90 gabriela moise age learning style no. node no. of pedagogical resource q 2 1 0 1 8.75 2 1 0 2 0 2 1 0 3 10.27 2 1 1 1 4 2 1 1 2 6 2 1 1 3 7 2 1 2 1 6.37 2 1 2 2 0 2 1 2 3 7.68 2 1 3 1 4.5 2 1 3 2 6.12 2 1 3 3 8.18 2 1 4 1 3.5 2 1 4 2 9.28 2 1 4 3 0 2 1 5 1 4 2 1 5 2 3.5 2 1 5 3 7 2 1 6 1 0 2 1 6 2 5.25 2 1 6 3 5.75 table 1: experimental results for age 2 and learning style 1 age learning style no. node no. of pedagogical resource 2 1 0 3 2 1 1 3 2 1 2 3 2 1 3 3 2 1 4 2 2 1 5 3 2 1 6 3 table 2: the optimal policy for age 2 and learning style 1 a software system for online learning applied in the field of computer science 91 age learning style no. node no. of pedagogical resource q 3 1 0 1 6.25 3 1 0 2 8.75 3 1 0 3 0 3 1 1 1 0 3 1 1 2 6.5 3 1 1 3 0 3 1 2 1 5 3 1 2 2 5.75 3 1 2 3 0 3 1 3 1 4 3 1 3 2 0 3 1 3 3 5 3 1 4 1 0 3 1 4 2 4.5 3 1 4 3 5 3 1 5 1 0 3 1 5 2 4.5 3 1 5 3 3.5 3 1 6 1 3.5 3 1 6 2 0 3 1 6 3 4.5 table 3: experimental results for age 3 and learning style 1 the greater values of parameter q give the optimal policy (the best pedagogical resources for each node of map according to the learning styles of students). the optimal policy is described in the table no. 4. it is true that the best results will be obtained if there are a lot of pedagogical resources for each node of the conceptual map. these pedagogical resources have to be in different formats (text, multimedia, audio, video) containing details, explanations, exercises, references, cases studies, and so forth. there are a lot of software tools which can be used to make different files formats. also, we need to improve the computers performances in order to use these kinds of softwares. age learning style no. node no. of pedagogical resource 3 1 0 2 3 1 1 2 3 1 2 2 3 1 3 3 3 1 4 3 3 1 5 2 3 1 6 3 table 4: the optimal policy for age 3 and learning style 1 the teachers validate the results; the pedagogical resources no. 2 and no. 3 are the best pedagogical resources built for this course. the pedagogical resources no. 2 and 3 contain a lot of details, examples and explanations. the resource no. 3 (means the selection of the third pedagogical resource) is the best choice for persons with age group no. 2 and learning style no. 1. the resources no. 2 and 3 (means the 92 gabriela moise selection of the second and the third pedagogical resources) are the best choices for persons with age no. 3 and learning style no. 1. 5 summary and conclusions the online instruction model can be implemented with the intelligent agent technology. the ilearning system proves this. the system models the teaching-learning process so that it can adapt itself at the learning profile of each person. there are defined two kinds of agents: the execution agent and the supervisor agent. the author in the doctoral study tested the system and proved the importance of using the technology of intelligent agents in the online instruction systems. references [1] bowling, m., veloso m., multiagent learning using a variable learning rate, journal artificial intelligence, vol. 136, pp. 215-250, 2002. [2] buiu, c., albu. m., agenti software inteligenti, editura icpe, 2000. [3] gardner, h., intelligence reframed, multiple intelligence for the 21st century, published by basic books, 1999. [4] joyce, b, weil. , calhoun.e. , models of teaching, published by basic books, 1999. [5] leon, f., sova, i., gâlea, d., reinforcement learning strategies for intelligent agents in knowledge-based information systems, proceedings of the 8th international symposium on automatic control and computer science, iaşi, 2004. [6] moise, g., the role of intelligent agents in online learning environment, cblis conference procedings, pp. 98-105, 2005. [7] moise g., a software system for online learning applied to higher education in the field of computer science, thesis: petroleum-gas university of ploiesti, 2006. [8] müller, jörg p., the design of intelligent agents: a layered approach, lecture notes in computer science, vol. 1177: lecture notes in artificial intelligence, springer-verlag, 1996. [9] rao, a., s., georgeff, m., p. , bdi agents from theory to practice,proceedings of the first international conference on multi agent systems icmas-95, san francisco, 1995. [10] sowa, j.f. ,kowledge representation logical, philosophical, and computational foundations, brooks/cole, thomson learning. [11] watkins,c. , learning from delayed rewards, thesis: university of cambridge, england. [12] wooldridge, m., jennings, r., n. , bdi agents from theory to practice,intelligent agents: theory and practice, knowledge engineering review , vol. 10 no 2, 1995. [13] http://www.nwlink.com a software system for online learning applied in the field of computer science 93 gabriela moise petroleum-gas university of ploiesti computer science department no. 39 bd. bucuresti, ploiesti, romania e-mail: gmoise@upg-ploiesti.ro received: november 11, 2006 editor’s note about the author: gabriela moise (born on february 13, 1969) graduated the faculty of mathematics, specialization informatics of the bucharest university. she worked as software development in the software industry. since 2003 she is lecturer at petroleum-gas university of ploiesti. her research fields are: e-learning, graph theory, intelligent agents, knowledge representation, e-health. she has (co)authored seven books and more than twenty research papers. she has participated to many international conferences in the elearning and e-business area. international journal of computers, communications & control vol. iii (2008), no. 1, pp. 103-109 state analysis of time-varying singular bilinear systems by rk-butcher algorithms v. murugesh, k. batri abstract: the runge-kutta (rk)-butcher algorithm is used to study the timevarying singular bilinear systems with the exact solutions. the results (discrete solutions) obtained using the haar wavelets, single-term walsh series (stws) and rk-butcher algorithms are compared with the exact solutions of the time-varying singular bilinear systems. it is found that the solution obtained using the rk-butcher algorithm is closer to the exact solutions of the time-varying singular bilinear systems. the rk-butcher algorithm can easily be implemented using a digital computer and the solution can be obtained for any length of time, which is an added advantage of this algorithm. keywords: time-varying singular bilinear systems, haar wavelets, runge-kutta butcher algorithm, stws algorithm. 1 introduction the development of singular bilinear systems has been studied by some researchers. campbell [1] had done some preliminary work, but there was no available closed-form solution in that paper. in some analysis of neural networks, both singular systems [2] and bilinear systems [3] have been used. the multipliers and algebraic interconnections between singular systems and bilinear systems are allowed in dynamical systems. for singular bilinear systems, lewis et al. [4] have been discussed extensively in the literature. however, the solution due to lewis et al. only applies for the time-invariant case. hsiao and wang [5] applied the haar wavelets for the solution of time -varying singular bilinear systems. sepehrian and razzaghi [6] applied the stws approach for finding the numerical solution of time-varying bilinear systems. runge-kutta (rk) methods have become very popular both as computational techniques and as a topic for research [7-12]. butcher [8] derived the best rk pair, together with an error estimate, and in all statistical measures this approach is known as the rk-butcher algorithm. this algorithm appears to be of sixth order because it requires six function evaluations, but in practice the ’working order’ is closer to five (fifth order). however, the accuracy of the results obtained is better than that of all other algorithms examined including the rkfehlberg, rk-merson, rk-centroidal mean (rkcem) and rk-arithmetic mean (rkam) algorithms. murugesh and murugesan [13-15] introduced the rk-butcher algorithm in raster and time-multiplexing cnn simulations. recently, [16, 18] the rk-butcher algorithm is used to find the numerical solution of an industrial application problem. in this article, we present a new approach for solving the time-varying singular bilinear systems using the rk-butcher algorithm with more accuracy. 2 the rk-butcher algorithm the normal order of an rk algorithm is the approximate number of leading terms of an infinite taylor series which calculates the trajectory of a moving point [17]. the remainder of the infinite sum, which is excluded, is referred to as the local truncation error (lte). these rk algorithms are forward-looking predictors, i.e. they do not use any information from preceding steps to predict the future position of a point. for this reason, they require a minimum of input data and consequently are very simple to program and use. copyright © 2006-2008 by ccc publications 104 v. murugesh, k. batri the general p-stage runge-kutta method for solving an ivp is y′ = f (x, y) (1) with the initial condition y(x0) = y0 is defined by yn+1 = yn + h p ∑ i=1 biki where ki = f ( xn + cih, yn + h p ∑ j=1 ai jk j ) , i = 1, 2, 3, ......, p and ci = p ∑ j=1 ai j, i = i, 2, 3, ....., p in the preceding equations c and b are p-dimensional vectors and a(ai j) is the p × p matrix. then the butcher array takes the form c1 a11 c2 a21 a22 c3 a31 a32 a33 · · · · · · · · · · · · · · · · · cp ap1 ap2 ap3 app b1 b2 bp−1 bp the rk-butcher algorithm of equation (1) is of the form k1 = h f (xn, yn) k2 = h f ( xn + h 4 , yn + k1 4 ) k3 = h f ( xn + h 4 , yn + k1 8 + k2 8 ) k4 = h f ( xn + h 2 , yn − k2 2 + k3 ) (2) k5 = h f ( xn + 3h 4 , yn + 3k1 16 + 9k4 16 ) k6 = h f ( xn + h, yn − 3k1 7 + 2k2 7 + 12k3 7 − 12k4 7 + 8k5 7 ) 5th order predictor yn+1 = yn + 1 90 (7k1 + 32k3 + 12k4 + 32k5 + 7k6) 4th order predictor y∗n+1 = yn + 1 6 (k1 + 4k4 + k6) the local truncation error estimate (ee) is ee = yn+1 −y∗n+1 then the formation of the butcher array of the above equation (2) takes the following form state analysis of time-varying singular bilinear systems by rk-butcher algorithms 105 0 1 4 1 4 1 4 1 8 1 8 1 2 0 1 2 1 3 4 3 16 0 0 9 16 1 37 2 7 12 7 12 7 8 7 7 90 0 32 90 12 90 32 90 7 90 1 6 0 0 4 6 0 1 6 3 analysis of time-varying singular bilinear systems consider the linear first order time-varying singular system k . x(t) = ax(t) + b(t)u(t) (3) with x0 = x(0), where k is an n×n singular matrix, a is an n×n matrix, b is an n×r matrix. x(t) is n-state vectors and u(t) is an r-input vector. the time-varying singular bilinear system is of the form e(t) . x(t) = a(t)x(t) + q ∑ i=1 ni(t)x(t)ui(t) + b(t)u(t) (4) equation (4)is written in the form (3) as e(t) . x(t) = ( a(t) + q ∑ i=1 ni(t)ui(t) ) x(t) + b(t)u(t) (5) where the singular matrix e(t) ∈ rn×n, the state x(t) ∈ rn , the control u(t) ∈ rq, a(t) ∈ rn×n and b(t) ∈ rn×q. ni(t) ∈ rn×n and ui(t), i = 1, 2, 3, ...., q, are the components of u(t). the response x(t), 0 ≤ t ≤ ti, is required to be found. the time-varying singular bilinear systems are much more difficult to solve than the time invariant singular bilinear systems. therefore, many authors have tried various transform methods to over come these difficulties. in this article, we introduce rk-butcher algorithms with more accuracy to solve these time-varying singular bilinear systems. 4 numerical example consider the time-varying singular bilinear system of the following form (hsiao and wang [5]) and sepehrian and razzaghi[6]). e(t) =   0 −t 0 1 0 t 0 1 0   a(t) =   −2 t 1 0 −4 2 −2t 0 1   n1(t) =   1 −t 1 0 3 −2 2t 0 −2   (6) b(t) = [ 2 1 3 ]t , u(t) = 1, with initial condition x(0) = [ 12 2 5 ]t 106 v. murugesh, k. batri when we solve (5), the analytic solution for x(t) can be shown as x(t) =   (2−t) ( ex p (−t 2 ) + ex p (t) ) + 8 2ex p (−t 2 ) −ex p (t) + 1 ex p (−t 2 ) + ex p (t) + 3   (7) the discrete solutions of equation (5) are evaluated using the rk-butcher algorithms (with step size t = 0.25 ) represented in equation (2) and the results are compared with the solutions obtained by the haar wavelets method by hsiao and wang [5] and the stws method by sepehrian and razzaghi [6]. the results are shown in tables 1 3 along with the exact solutions calculated using equation (7). errors between the exact and discrete solutions are also given in tables 1 3. s.no time discrete solution x1values exact solutions haar solutions haar error stws solutions stws error rkbutcher solutions rkbutcher error 1 0 12.000000 12.0000 0.000000 12.00000 0.000000 12.000000 0.000000 2 0.25 11.886053 11.8861 0.000047 11.88605 0.000003 11.886053 0.000000 3 0.5 11.791414 11.7914 0.000014 11.79142 0.000006 11.791414 0.000000 4 0.75 11.711533 11.7115 0.000033 11.71154 0.000007 11.711533 0.000000 5 1 11.641283 11.6413 0.000017 11.64128 0.000003 11.641283 0.000000 6 1.25 11.574810 11.5748 0.000010 11.57481 0.000000 11.574810 0.000000 7 1.5 11.505362 11.5054 0.000038 11.50537 0.000008 11.505362 0.000000 8 1.75 11.425089 11.4251 0.000011 11.42510 0.000011 11.425089 0.000000 9 2 11.324812 11.3248 0.000012 11.32481 0.000002 11.324812 0.000000 table 1: solutions for the problem at various values of x1. s.no time discrete solution x2values exact solutions haar solutions haar error stws solutions stws error rkbutcher solutions rkbutcher error 1 0 2.000000 2.0000 0.000000 2.00000 0.000000 2.000000 0.000000 2 0.25 1.745678 1.7457 0.000022 1.74568 0.000002 1.745678 0.000000 3 0.5 1.480968 1.4810 0.000032 1.48097 0.000002 1.480968 0.000000 4 0.75 1.203067 1.2031 0.000033 1.20307 0.000003 1.203067 0.000000 5 1 0.908880 0.9089 0.000020 0.90888 0.000000 0.908880 0.000000 6 1.25 0.594985 0.5950 0.000015 0.59498 0.000005 0.594985 0.000000 7 1.5 0.257579 0.2576 0.000021 0.25758 0.000001 0.257579 0.000000 8 1.75 -0.107578 -0.1076 0.000022 -0.10758 0.000002 -0.107578 0.000000 9 2 -0.505221 -0.5052 0.000021 -0.50522 0.000001 -0.505221 0.000000 table 2: solutions for the problem at various values of x2. 5 conclusions the discrete solutions obtained using the rk-butcher algorithm gives more accurate values when compared to the haar wavelets method discussed by hsiao and wang [5] and the stws method by state analysis of time-varying singular bilinear systems by rk-butcher algorithms 107 s.no time discrete solution x3values exact solutions haar solutions haar error stws solutions stws error rkbutcher solutions rkbutcher error 1 0 5.000000 5.0000 0.000000 5.00000 0.000000 5.000000 0.000000 2 0.25 5.072562 5.0726 0.000038 5.07256 0.000002 5.072562 0.000000 3 0.5 5.166522 5.1665 0.000022 5.16652 0.000002 5.166522 0.000000 4 0.75 5.284021 5.2840 0.000021 5.28402 0.000001 5.284021 0.000000 5 1 5.427522 5.4275 0.000022 5.42752 0.000002 5.427522 0.000000 6 1.25 5.599862 5.5999 0.000038 5.59986 0.000002 5.599862 0.000000 7 1.5 5.804289 5.8043 0.000011 5.80429 0.000001 5.804289 0.000000 8 1.75 6.044524 6.0445 0.000024 6.04451 0.000014 6.044524 0.000000 9 2 6.324812 6.3248 0.000012 6.32480 0.000012 6.324812 0.000000 table 3: solutions for the problem at various values of x3. sepehrian and razzaghi [6]. from the tables 1-3, one can observe that the solutions obtained by the rk-butcher algorithm match well with the exact solutions of the time-varying singular bilinear systems, but the haar wavelets and stws methods yields a little error. hence the rk-butcher algorithm is more suitable for studying the time-varying bilinear systems. bibliography [1] campell, s.l., 1987, bilinear nonlinear descriptor control systems, crsc technical report 102386-01, department of mathematics, n.c. state university, raleigh, nc 27695. [2] declaris, n. and rindos, a., 1984, semistate analysis of neural networks in apysia californica, proceedings of the 27th mscs, 686-689. [3] wiener, n., 1948, cybernetics (cambridge, mit press). [4] lewis, f. l., mertzios, b. c., and marszalek, w., 1991, analysis of singular bilinear systems using walsh functions, iee proceedings part-d,138, 89-92. [5] hsiao, c. h., and wang, w. j., 2000, state analysis of time-varying singular bilinear systems via haar wavelets, mathematics and computers in simulation, 52, 11-20. [6] sepehrian, b., and razzaghi, m., 2003, state analysis of time-varying singular bilinear systmes by single-term walsh series, international journal of computer mathematics, 80, 413-418. [7] alexander, r.k. and coyle, j.j.,1990, runge-kutta methods for differential-algebraic systems. siam journal of numerical analysis, 27, 736-752. [8] butcher, j.c., 1987, the numerical analysis of ordinary differential equations: runge-kutta and general linear methods (chichester: johnwiley). [9] butcher, j.c., 2003, numerical methods for ordinary differential equations (chichester: johnwiley). [10] shampine, l.f., 1994, numerical solution of ordinary differential equations (newyork: chapman & hall). 108 v. murugesh, k. batri [11] yaakub, a.r. and evans, d.j., 1999, a fourth order runge-kutta rk(4,4) method with error control. international journal of computer mathematics, 71, 383-411. [12] yaakub, a.r. and evans, d.j., 1999, new runge-kutta starters of multi-step methods. international journal of computer mathematics, 71, 99-104. [13] murugesh, v., and murugesan, k., 2004, comparison of numerical integration algorithms in raster cnn simulation, lecture notes in computer science, 3285, 115-122. [14] murugesh, v. and murugesan, k., 2005, simulation of cellular neural networks using the rkbutcher algorithm, international journal of management and systems, 21, 65-78. [15] murugesh, v., and murugesan, k., 2006, simulation of time-multiplexing cellular neural networks with numerical integration algorithms, lecture notes in computer science, 3991, 115-122. [16] devarajan gopal, murugesh, v., and murugesan, k., 2006, numerical solution of second-order robot arm control problem using runge-kutta butcher algorithm, international journal of computer mathematics, 83, 345-356. [17] shampine, l.f. and gordon, m.k., 1975, computer solutions of ordinary differential equations: the initial value problem (san francisco, ca:w.h. freeman). [18] v. murugesh and k. batri, “an efficient numerical integration algorithm for cellular neural network based hole-filler template design”, international journal of computers, communications & control, vol. ii (2007), no. 4, pp. 367-374. v. murugesh department of information and communication engineering hannam university 133 ojung-dong daeduk-gu, daejeon 306-791, republic of korea e-mail: murugesh72@gmail.com k. batri department of computer science and engineering muthayammal engineering college rasipuram 637 408 india e-mail: krishnan.batri@gmail.com received: november 26, 2007 dr. v. murugesh obtained his bachelor of science in computer science and master of computer applications degree from bharathiar university, coimbatore, india during 1992 and 1995 respectively. completed his phd in computer science from bharathidasan university, tiruchirappalli, india during 2006. he has held various positions at national institute of technology, tiruchirappalli, india and sona college of technology, salem, india. currently, he is working as assistant professor in the department of information and communication engineering at hannam university, daejeon, republic of korea. his fields of interest are in neural network based image processing and scientific computing. he has published more than 30 technical papers in international, national journals and conferences. state analysis of time-varying singular bilinear systems by rk-butcher algorithms 109 krishnan batri received the m.e. from madurai kamarj university in 2003. he is a research scholar with the department of computer science and engineering in the national institute of technology tiruchirapalli, tamil nadu, india. currently he is working as a assistant proffessor with the department of computer science and engineering at muthayammal engineering college,rasipuram, tamilnadu, india . his research interests include information retrieval, data fusion and genetic algorithms. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 837-843 modeling gilliland correlation using genetic programming m. olteanu, n. paraschiv, o. cangea marius olteanu, nicolae paraschiv, otilia cangea “petroleum-gas” university of ploiesti romania, ploiesti, 100680, bucuresti blvd., no.39 e-mail: {molteanu,nparaschiv,ocangea}@upg-ploiesti.ro abstract: the distillation process is one of the most important processes in industry, especially petroleum refining. designing a distillation column assesses numerous challenges to the engineer, being a complex process that is approached in various studies. an important component, directly affecting the efficient operation of the column, is the reflux ratio that is correlated with the number of the theoretical stages, a correlation developed and studied by gililland. the correlation is used in the case of simplified control models of distillation columns and it is a graphical method. however, in many situations, there is the need for an analytical form that adequately approximates the experimental data. there are in the literature different analytical forms which are used taking into account the desired precision. the present article attempts to address this problem by using the technique of genetic programming, a branch of evolutionary algorithms that belongs to artificial intelligence, a recently developed technique that has recorded successful applications especially in process modeling. using an evolutionary paradigm and by evolving a population of solutions or subprograms composed of carefully chosen functions and operators, the genetic programming technique is capable of finding the program or relation that fits best the available data. keywords: gilliland correlation, artificial intelligence, genetic programming. 1 introduction the early pioneers of computer science, like alan turing, john von neumann, norbert wiener studied natural systems as guiding metaphors for their desire to understand nature and create intelligent computer programs capable to learn and adapt to their environment. in the 1950s and 1960s, several scientists from germany and united states independently studied evolutionary systems with the aim to use evolution as an optimization tool for engineering problems. several techniques have been created in this period by different research groups: evolution strategies, evolutionary programming and genetic algorithms (see [5]). the basic idea behind all this techniques was to start with a random population of candidate solutions to the specific problem and by applying a set of genetic operators, inspired from the field of genetics, to modify this candidate solutions in such a way to achieve a better fitness or adequacy of the solution for the engineering problem in an iterative process. in this article we apply a technique of evolutionary algorithms, that of genetic programming, with the aim at finding an analytic expression for a well studied and used correlation, the gililland correlation, applied to the design of control models for distillation columns. the algorithms for implementing genetic programming are characterized by many heuristic tuning parameters, this paper underlines the most important ones as a result of the simulations. copyright c⃝ 2006-2010 by ccc publications 838 m. olteanu, n. paraschiv, o. cangea 2 genetic programming based symbolic regression genetic programming was introduced by john koza (see [4]) and it can be seen as an extension of the genetic algorithms by the increase of the complexity of the structures used to represent the potential solution to the problem. in his 1992 book ([1]), john koza suggested that these potential solutions should be represented as trees of functions and operators, dynamic structures of varying size and shape. the classes of problems that can be best approached using this technique are symbolic regression, in which an analytic expression for a function has to be discovered such that a set of experimental data is fitted and machine learning, domain that uses a set of possible computer programs that produce the desired behavior in the case of some particular input data. in genetic programming, the set of possible structures is determined by the set of nf functions from f = {f1, f2, ..., fnf}, each function can take a specified number of arguments denoted a (fi) called its arity and the set of nt terminals from t = {t1, t2, ..., tnt}. some examples of functions are: arithmetic operations: plus (+), minus (-) , multiply (*), divide (/); mathematical functions: logarithm (log), trigonometric functions sin, cos, etc; logical functions: and, or, not. the terminals are variable atoms that represent input variables, signals form sensors / detectors or constant atoms, for example the number 11.25 or the boolean constant true. an example of a simple function represented by such a tree is given in figure 1, the corresponding analytic expression being: f (x, y) = x + √ y − 2 . figure 1: example of a tree representing a possible solution as a particular aspect of functions and terminals representation is that of closure which assumes that each of the function from the set must be capable to accept as its input arguments any value and data type that could possibly be returned by any function in the set and any value accepted by any terminal. another property is that of sufficiency which states that the set of functions and terminals must be capable of defining a solution for the actual problem, the designer of the algorithm is the one that decides what are the most probable functions and constants that could express best a solution. the adequacy or fitness of a particular member of the population has to be measured for a set of fitness cases, in the case of symbolic regression these are the experimental data. the algorithm for implementing genetic programming has a structure that resembles that of a genetic algorithm: 1. the designers establishes the set of functions / operators and the set of terminals for the specific problem modeling gilliland correlation using genetic programming 839 2. t=0, t being the generation counter 3. a random initial population of solutions p(0) is generated 4. fitness evaluation for all the population 5. a new population is created by applying the genetic operators of cloning, mutation and crossover. 6. if the stop condition is met, than the algorithm stops, else t=t+1 and go to step 4 3 genetic programming applied to the gilliland correlation the gilliland correlation or gilliland plot (figure 2) correlates the reflux ratio and the number of theoretical stages for a distillation column (see [3]): x = r − rmin r + 1 , y = n − nmin n + 1 (3.1) given that the minimum reflux ratio rmin is calculated from underwood’s equation and the minimum number of stages nmin by fenske’s method. the resulting curve stretches form (0,1) coordinate at minimum reflux to (1,0) at total reflux. in the literature (see [3]) there are a series of numerical equations derived for this correlation, but because there is some scatter in the fit of data to the gilliland plot, the expressions that best fits the plot are not always the best reflux-stages correlations. one of the most used expressions is that of molokanov: y = 1 − e 1−54.4x 11+117.2x · x−1√ x (3.2) used for higher precision, alternative relations being that of eduljee: y = 0.75(1 − x0.5668) (3.3) and rusche (see [2]): y = 0.1256 · x − 0.8744 · x0.291 (3.4) also, other correlations have been obtained as a result of research in the domain of optimal control (see [6], [7] polynomial analytical expression). for implementing the genetic programming algorithm it was used a free matlab toolbox created by s. silva, a toolbox well documented and highly modular having many configurable parameters (see [8]). a usual running of the algorithm is started by entering the following command at the mathlab prompt: >> [vars, b]=gplab(g,n); where: g=maximum number of generations as stop condition n=the number of individuals in the population vars=a structure containing all the algorithm variables b=best fitted individual 840 m. olteanu, n. paraschiv, o. cangea figure 2: plot of the original gilliland correlation the main modules that compose the toolbox have the following functions: variables initializing, initial population and generation creating. among the many important features of the toolbox, the parameters that were especially important in the symbolic regression applied for the gililland correlation: • population initialization has three possible methods: fullinit, growinit and rampedinit which was used in the algorithm, and that produces an initial population having very diverse trees (a combination of fullinit and growinit methods, see [4], [8]); • with the purpose of avoiding function bloating, the toolbox uses a parameter called dynamiclevel that specifies if the trees depth or the trees number of nodes has a fixed limit or not. another experimental property, called veryheavy specifies if this dynamic limit can be decreased under the initial value during the running in the case that the best individual has a smaller depth or number of nodes. by using this option, a much simpler expression for the function has been obtained, and also the running time of the algorithm and the memory resources implied were substantially reduced; • the methods available for selecting the most adequate individuals are the classical roulette and tournament methods, in addition there are implemented other methods like lexictour or doubletour that chooses taking into account the shortest (having the smaller depth or number of nodes) individual. the best results were achieved using the lexictour method. the crossover operator (figure 3) randomly choose nodes from both parents and swaps the respective branches creating one or two offspring, in the case of the mutation a random node is chosen from the parent individual and substituted by a new random tree, taking into account the imposed restrictions on the depth and number of nodes (see [1]). a set of six functions have been chosen and two random constants with values between 0 and 1. the functions were: plus, minus, times, custom divide (having protection to divide-by-zero error) also custom square root and custom natural logarithm. modeling gilliland correlation using genetic programming 841 figure 3: example of applying the crossover operator the algorithm ran on a computer with an intel core 2 duo processor, having 2gb of memory and matlab 7.4 for windows xp. for a population with 1000 members and a number of 20 generations the running time was in the range of 4 minutes to 4.5 minutes. if the number of generations is increased too much it always results a very big expression for the final function, making it very hard for implementing and studying, a very slow increase in performance (fitness) being obtained. adding the two final points (0,1) and (1,0) in the data set conducts to a function that does not approximate well the middle data points having a poor general performance because of the relative big scatter of the terminal points from the plot, so for most of the simulations, the two ending points were not included. the fitness function used calculates the sum of the absolute difference between the desired output values and the value computed by the individual on all fitness cases. fitness = n∑ i=1 |yi − f (xi)| (3.5) where n is the number of fitness cases, yi the desired output and f (xi) is the value returned by the individual. with a generation number of 40 and a population of 500 individuals for a running time of 169 seconds, the expression obtained is presented in the following tree plot (figure 4): another common representation is the string representation, used in matlab to represent the function: f=plus(times(minus(mysqrt(mydivide(0.96486,0.56835)),times(plus(0.96486,0.33765),mysqrt (x1))),mylog(mysqrt(mydivide(0.8073,0.22837)))),mysqrt(plus(times(0.33765,times(x1,times (plus(mysqrt(0.8073),0.56835),mysqrt(x1)))),mylog(minus(mysqrt(mydivide(0.9393,0.56835)), times(plus(mysqrt(0.8073),0.56835),mysqrt(x1))))))), from which we can write the following simplified relation: 842 m. olteanu, n. paraschiv, o. cangea 0.96486 0.56835 mydivide mysqrt 0.96486 0.33765 plus x1 mysqrt times minus 0.8073 0.22837 mydivide mysqrt mylog times 0.33765 x1 0.8073 mysqrt 0.56835 plus x1 mysqrt times times times 0.9393 0.56835 mydivide mysqrt 0.8073 mysqrt 0.56835 plus x1 mysqrt times minus mylog plus mysqrt plus figure 4: the tree representation of the final solution 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 original data eduljee rusche genetic programming figure 5: plot of the final solution and other correlations together with the original data modeling gilliland correlation using genetic programming 843 f = 0.631(1.30294 − 1.30251 √ x) + √ |0.495 · x √ x + ln(|1.285 − 1.467 √ x|)| (3.6) from the plot of the classic correlations (figure 5) and that of the genetic programming function we can conclude that a very good approximation is obtained, challenging the methods used in the domain of identification. 4 conclusions and future works the study presented in this article aims at applying a recently and not too well studied technique of artificial intelligence, that of genetic programming to the problem of finding the best function that fits some data. the well known gililland correlation, applied in the domain of process control of the distillation process has been studied. using the classic representation of the potential solutions as trees, many interesting results have been obtained. after running the algorithm with varying parameters for initial population for the method of selection the best individuals, the method of creating the new offspring, the genetic operators of crossover and mutation and ending with the number of generations and of individuals in the population, it can be stated that the technique of genetic programming has a promising future potential, proved by the good estimation of the experimental data. one aspect that proved to be important is the careful chosen of the running parameters which directly influence the quality of the solution. bibliography [1] m. affenzeller, s. winkler, s. wagner, a. beham, genetic algorithms and genetic programming modern concepts and practical applications, crc press, 2009. [2] j.r. couper, w.r. penney, j.r. fair, s.m. wallas, chemical process equipment second edition, elsevier gulf professional publishing, 2005. [3] h.z. kister, distillation design, mcgraw-hill, 1992. [4] j.r. koza, genetic programming on the programming of computer by means of natural selection, mit press, 1992. [5] m. mitchell, an introduction to genetic algorithms, mit press, 1996. [6] n. paraschiv, equipment and programs for optimal control of fractionation processes, phd thesis, “petroleum-gas” university of ploiesti, ploiesti, 1987. [7] n. paraschiv, an analytical form of the gilliland graphical correlation for the advanced control of fractionation processes, chemistry magazine no.7-8, 1990. [8] s. silva, gplab a genetic programming toolbox for matlab user manual, ecos evolutionary and complex systems group, university of coimbra, portugal, 2007 accessible from http://gplab.sourceforge.net/index.html. international journal of computers, communications & control vol. i (2006), no. 1, pp. 5-6 editorial florin gheorghe filip, ioan dziţac, mişu-jan manolescu welcome to the international journal of computers, communications & control (ijccc), a new scientific journal in computer science. 1 why ijccc? nowadays there are many prestigious journals in the field of computer science, so it is only natural to ask the question: “is there any reason for a new journal in this area?” there is a saying "in the world of computers the only thing that stays the same is the changing". we live in the most dynamic era of creation and circulation of information. the transition from the information society to knowledge society is accompanied by the globalization of information. more and more specialists, researchers from institutes, universities and industries of all over the world, write scientific papers in this field. these papers must be put in the scientific circuit as fast as possible and, the existing journals cannot publish the increased number of papers. the increased interest of the participants from many countries for the international conference on computers and communications, initiated and organized by ioan dziţac in 20041 (with constantin popescu and horea oros, http://iccc.rdsor.ro), under the guidance of acad. florin-gheorghe filip and continued in 20062 under the name of international conference on computers, communications & control (www.iccc.univagora.ro) at agora university of oradea (president mişu-jan manolescu), gave us the courage and confidence to start this new journal, entitled international journal of computers, communications & control (ijccc). to this new editorial project have subscribed as members of the editorial board, the following professors and specialists in computer science: • pierre borne, ecole centrale de lille, france; • antonio di nola, university of salerno, italy; • ioan dziţac, agora university, oradea, romania (executive editor); • ömer egecioglu, university of california, santa barbara, usa; • florin gheorghe filip, romania academy, romania (editor in chief); • constantin gaindric, institute of mathematics and computer science of the academy of sciences of the republic of moldova; • kaoru hirota, tokyo institute of technology, japan; • mişu-jan manolescu, agora university, oradea, romania (managing editor); • george metakides, university of patras, greece; • shimon y nof, purdue university, usa; • gheorghe păun, imar, romanian academy, romania; • mario j. perez-jimenez, university of seville, spain; • imre j. rudas, budapest tech, hungary; • athanasios d. styliadis, alexander institute of technology, thessaloniki, greece; • gheorghe tecuci, george mason university, usa; • horia-nicolai teodorescu, institute of computer science, romanian academy, iasi, romania; • dan tufiş, racai, romanian academy, romania. 1in 2004 we received for review 112 papers (only 67 accepted) from authors of australia, austria, china, egypt, finland, france, germany, greece, india, ireland, italy, japan, republic of moldova, romania, spain, united kingdom and usa. 2in 2006 we received for reviews 142 papers (only 91 accepted) from authors of previous countries and from others countries: algeria, hungary, iran, serbia & montenegro, tunisia and thailand. copyright c© 2006 by ccc publications 6 florin gheorghe filip, ioan dziţac, mişu-jan manolescu 2 about ijccc international journal of computers, communications & control (ijccc) is published from 2006 and has 4 issues per year, edited by ccc publications, powered by agora university editing house, oradea, romania (www.journal.univagora.ro). every issue is published in online format (issn 1841-9844) and print format (issn 1841-9836). we offer free online access to the full content of the journal. the printed version of the journal should be ordered, by subscription, and will be delivered by regular mail. ijccc is directed to the international communities of scientific researchers from the universities, research units and industry. ijccc publishes original and recent scientific contributions in the following fields: • computing & computational mathematics; • information technology & communications; • computer -based control. to differentiate from other similar journals, the editorial policy of ijccc encourages especially the publishing of scientific papers that focus on the convergence of the 3 “c” (computing, communication, control). the articles submitted to ijccc must be original and previously unpublished in other journals. the submissions will be revised independently by two reviewers. ijccc also publishes: • papers dedicated to the works and life of some remarkable personalities; • reviews of some recent important published books. also, ijccc will publish as supplementary issues the proceedings of some international conferences or symposiums on computers, communications and control, scientific events that have reviewers and program committee. the authors are kindly asked to observe the rules for typesetting and submitting described in instructions for authors, which are to be found at the end of the journal and on the journal’s website www.journal.univagora.ro. there are no fees for processing and publishing articles. the authors of the published articles will receive a hard copy of the journal. topics of interest include, but are not limited to, the following: applications of the information systems; artificial intelligence; automata and formal languages; collaborative working environments; computational mathematics; cryptography and security; e-activities; fuzzy systems; informatics in control; information society knowledge society; natural computing; network design & internet services; multimedia & communications; parallel and distributed computing. florin-gheorghe filip editor in chief of ijccc romanian academy 125, calea victoriei, 71102 bucharest-1, romania e-mail: ffilip@acad.ro ioan dziţac executive editor of ijccc agora university 8, p-ta tineretului, 410526 oradea, romania e-mail: idzitac@univagora.ro mişu-jan manolescu managing editor agora university 8, p-ta tineretului, 410526 oradea, romania e-mail: rectorat@univagora.ro int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 183-195 comdevalco framework the modeling language for procedural paradigm bazil pârv, ioan lazăr, simona motogna abstract: this work is part of a series referring to comdevalco a framework for software component definition, validation, and composition. its constituents are: a modeling language, a component repository and a set of tools. this is the first paper describing the object-oriented modeling language, which contains finegrained constructions, aimed to give a precise description of software components. the current status of the language reflects the procedural paradigm constructs. keywords: software/program verification, validation, modeling methodologies, computer-aided software engineering, flow charts, object-oriented design methods, testing tools. 1 introduction two main forces drive the software development today: complexity and change. software development community looks for methods and practices to deal with these challenges. complexity in software development [6] is the same as in mathematics, dealing with problem-solving. the usual way of solving it is its reduction by reorganization. brooks [2] makes a distinction between essential and accidental complexity. essential complexity belongs to the problem to be solved and cannot be reduced or eliminated. accidental complexity belongs to its solution, being created when fine-grained, general-purpose abstractions are used to directly implement coarse-grained, problem-specific concepts. it can be reduced or even eliminated by increasing the level of abstraction, i.e. by using more coarsegrained, problem-specific concepts (classes). the other challenge in software development is change management: how to build software systems able to change. software needs to change in response to changes in its operational environment and in its requirements. sources of change are both in the problem domain (invalidating existing requirements, adding new ones) and in the solution domain, due to technological evolution. both challenges can be addressed in a disciplined manner using models, which increase the level of abstraction and allow for the automation of the software development process. model-driven development (mdd) processes propose the creation of extensive models before the source code is written. an example of mdd approach is the object management group’s model driven architecture [12] standard. agile versions of mdd approaches have been defined in order to better deal with change management. agile mdd processes [1] create agile models (models “just barely good enough”) that drive the overall development efforts, instead of creating extensive models before writing source code. another agile approach, agile mda [8], emphasizes on complete executable models [9]. our work follows the idea of executable models, proposing an object-based modeling language that fits the procedural paradigm and allows construction and execution of models. software components considered in our approach to the procedural paradigm are program (the only executable), procedure, and function, and the software development process is component-based and model-driven. the modeling language constructs allow both precise definition of these components (called program units), and their verification and validation (v & v), by simulating their execution. once these components pass the v & v process, they can be stored in a component repository, ready for later use in the development process. the structure of this paper is as follows. after this introductory section, the next one is discussing current status, problems, and ideal properties of a modeling language. the third section presents the proposed modeling language, starting with low-level constructs, followed by statements, and finally copyright © 2006-2008 by ccc publications 184 bazil pârv, ioan lazăr, simona motogna program units. the current status of our work is described in the fourth section, while the last one contains some conclusions and plans further efforts. 2 modeling process: current status, problems, and desired features 2.1 modeling languages it is generally recognized that the use of models raises the level of abstraction and favors the automation of the software development process. unfortunately, as greenfield and short stated in [6], the largest impediment to achieve these tasks was “the promulgation of imprecise general-purpose modeling languages as both de facto and de jure standards”, namely uml. martin fowler [5] identifies three different uml goals: informal design (sketching), model-driven development (blueprinting), and direct execution (model interpretation), noticing a similar and independent opinion made by steve mellor [8]. the conclusion is that uml succeeded in the first goal and failed in the others; the reasons for this failure, as they are discussed in [6], are: (1) lack of precision, (2) poor support for component-based development, and (3) weak extensibility mechanisms. uml 2 and its action semantics [15] provide the foundation to construct executable models, but the standardization efforts for defining a subset of actions sufficient for computational completeness are still in progress [14]. in order to make uml a computational-complete specification language, there are some tools [3, 17, 18, 11] which have defined non-standard subsets of actions. other issues related to uml 2 refer to the graphical notations and textual notations. the current version of uml does not define graphical notations for easy manipulation of uml elements. moreover, there are uml elements (e.g. uml structured activity nodes) without a proposed graphical notation, and textual notations for behavioral elements are still in the process of standardization [14]. 2.2 component-based development and the modeling process the process of component-based software development (or cbd for short) has two sub-processes more or less independent: component development process and system development process. naturally, the requirements concerning the components are derived from system requirements; the absence of a relationship, such as causal, may produce severe difficulties in both sub-processes mentioned above. the system construction by assembling software components [4] has several steps: component specification, component evaluation, component testing, and component integration. the system development sub-process focuses on identifying reusable entities and selecting the components fulfilling the requirements, while in the component development sub-process the emphasis is on component reuse: from the beginning, components are designed as reusable entities. component’s degree of reuse depends on its generality, while the easiness in identification, understanding, and use is affected by the component specification. the sole communication channel with the environment is the component’s interface(s). in other words, the client components of a component can only rely on the contracts specified in the interfaces implemented by the component. thus, it is obvious that component development must be interface-driven. in our opinion, the main cbd challenge is to provide a general, flexible and extensible model, for both components and software systems. this model should be language-independent, as well as programming-paradigm independent, allowing the reuse at design level. the design process of a component-based system [7] follows the same steps as in the classical methods: the design of architecture, which depicts the structure of the system (which are its parts) and the design of behavior (how these parts interact in order to fulfill the requirements). the structural description establishes component interconnections, while behavioral description states the ways in which each component uses the services provided by interconnected components in order to fulfill its tasks. comdevalco framework the modeling language for procedural paradigm 185 2.3 ideal properties of a modeling language our discussion here follows the general uses of a modeling language identified by martin fowler [5] and steve mellor [8]: informal design, model-driven development, and direct execution. in order to fulfill these goals, a modeling language should have: (1) good degree of precision, (2) good support for cbd, (3) good support for agile mda processes, and (4) good extensibility mechanisms. in order to be precise, a modeling language needs to have fine-grained constructs, which allow both the complete definition of computing processes and the simulation of their execution. the language elements should cover low-level constructs referring to data types, expressions, program state and behavior (body of statements). as we stated above, in order to offer a good support for cbd, a modeling language needs to build general, flexible and extensible models for both components and software systems. the resulting models should be both language-independent and programming-paradigm independent. in order to offer a good support for agile mda processes, a modeling language should provide a metamodel, together with graphical and textual notations for easy manipulation of language constructs. the metamodel should satisfy two important properties: computability and completeness. the extensibility of a modeling language means the extensibility of its set of constructs, like data types, expressions, statements, and program units. 3 a modeling language proposal: comdevalco solution this section discusses in more detail our proposal of a modeling language, part of a framework for component definition, validation, and composition. the proposed solution is comdevalco a conceptual framework for software components definition, validation, and composition. its constituents are meant to cover both cbd-related sub-processes described in 2.2: component development and component-based system development. the sub-process of component development starts with its definition, using an object-oriented modeling language, and graphical tools. the modeling language provides the necessary precision and consistency, and the use of graphical tools simplifies developer’s work, which doesn’t need to know the notations of the modeling language. once defined, component models are passed to a v & v (verification and validation) process, which is intended to check their correctness and to evaluate their performances. when a component passes the v & v step, it is stored in a component repository, for later (re)use. the sub-process of component-based system development takes the components already stored in repository and uses graphical tools, intended to: select components fulfilling a specific requirement, perform consistency checks regarding component assembly and include a component in the already existing architecture of the target system. when the assembly process is completed, and the target system is built, other tools will perform v & v, as well as performance evaluation operations on it. constituents of the conceptual framework are: the modeling language, the component repository and the toolset. any model of a software component is described as a compound object, using the elements of the object-based modeling language. the component repository represents the persistent part of the framework and its goal is to store and retrieve valid component models. the toolset is aimed to help developers to define, check, and validate software components and systems, as well as to provide maintenance operations for the component repository. starting in a top-down manner, program units considered are program (the only executable) and proper software components specific to the procedural paradigm procedure and function (see figure 1). each of these software components has a name, a state, and a body; the state is given by all variables local to the component, and the body is, generally speaking, a statement. according to the imperative paradigm, the program execution is seen as a set of state changes, i.e. the execution of a statement changes the value of a variable, usually by evaluating an expression. 186 bazil pârv, ioan lazăr, simona motogna figure 1: comdevalco modeling language. main constructs in the procedural paradigm we describe below, in a bottom-up manner, the language elements as they are considered so far. 3.1 low-level constructs basic language constructs are type and declaration. type class abstracts the concept of data type, while a declaration object is used to associate a specific type object to a name (identifier). this corresponds to explicit variable declaration in imperative programming languages. the next important concept is value. each value object encapsulates a value of a specific type. values are fundamental in our model, because a variable represents an alternate name for a value stored in the memory, a function returns a value, or, more generally, the process of evaluating an expression returns a value. having these facts in mind, we designed the expression class hierarchy shown in figure 2. the root of the hierarchy, expression, is abstract and has a single abstract operation, getvalue(), overriden by subclasses and returning a value result. the concrete specializations of expression are: value, variable, binaryexpression, unaryexpression, and definedfunction. figure 2: expression class hierachy value is the simplest expression descendant, its instances corresponding to typed literals (constants). its proper operations are: getdatatype(), which returns the data type of the value stored in the object, comdevalco framework the modeling language for procedural paradigm 187 getvaluestring(), returning the value as a string, and setvalue(). variable is probably one of the most important subclasses of expression, having multiple uses in our model: (1) a variable is a simple expression; (2) all statement objects deal with variable instances, and (3) the state of a program unit is seen as a collection of variable objects. according to the general definition, each variable object has a name (identifier) and a value (a value object). its own operations are: getname(), getdatatype(), and setvalue(). specific expression classes considered so far are binaryexpression and unaryexpression, having an operator and two, respectively one expression operands. the extensible operator class implements evaluate() operations for all operand types, called by getvalue() code in binaryexpression and unaryexpression. definedfunction object corresponds to a one-argument function call. its instance variables are the name of the function and its actual parameter, an expression. 3.2 statements statement class hierarchy employs composite design pattern, with subclasses simplestatement and compoundstatement. a compoundstatement object contains a list of statement objects; both concrete simple and compound statement objects are treated uniformly. as figure 3 shows, statement class is abstract and represents the root of all simple and compound statement classes. its single abstract operation is execute(), which usually produces a state change. statement’s concrete subclasses will implement this operation accordingly. figure 3: statement class hierachy simplestatement subclasses cover all important control statements in any imperative programming language: assignmentstatement, callstatement, inputstatement, outputstatement, loopstatement, and branchstatement. assignmentstatement object takes an expression and a variable; after its execution, the variable takes the value of that expression. inputstatement takes only a variable, being considered as a special kind of assignment: its execution means reading a value from standard input, evaluating and assigning it to the considered variable. the execution of an outputstatement extracts the value of its variable to standard output. callstatement object corresponds to a procedure call. its instance variables are the procedure being 188 bazil pârv, ioan lazăr, simona motogna called (the callee object) and actual (call) parameters, whose values belong to the caller object. according to the definition of a procedure object (see next subsection), three different parameter lists are needed, corresponding to in-, in-out, and out parameters. the execution of this statement has five steps: (1) extracting the values of inand in-out parameters from the caller state; (2) building the callee state; (3) running the callee object; (4) extracting the values of in-out and out parameters from the callee state and (5) updating the state of the caller object with these values. all loop statements execute repeatedly their body, a statement object. three different loop statements were considered in our design, considered as subclasses of the abstract loopstatement: forstatement, repeatstatement, and whilestatement. in the case of a forstatement object, the number of iterations is known a priori, and its execution uses a counter variable, with values ranging from lower to upper bounds. whilestatement and repeatstatement objects use a test expression to continue the iterative process. their execution differs by the test strategy, i.e. evaluate test then execute body (while), respectively execute body then evaluate test (repeat). branchstatement objects correspond to if-then-else constructs. the condition to be checked is an expression object, and both branches are statement objects. its execution evaluates test expression and then, based on its value, executes the corresponding statement. 3.3 program units as we already stated, the program units considered so far are program, procedure, and function (see figure 4), specific to the procedural paradigm. program is the only executable software component, having a name, a state, and a body; the state is made up by all variables local to the component, and the body is a statement object. the only operation of a program object is its run() method, implemented by a call to the execute() method of its body. figure 4: program units class hierachy proper software components are procedure and function. as in the imperative programming world, a procedure declaration must define its name, formal parameters, local state and procedure body. consequently, it is easy to consider procedure as a program subclass; the proper instance variables of the procedure class are the lists of in-, in-out, and out parameters, needed for a complete implementation of execute() method from callstatement class, discussed in 3.2. the concept of a user-defined function in imperative programming languages considers it without side-effects, i.e. the only result of its execution is the value it produces, without affecting the caller’s state. having this in mind, we designed the function class accordingly, i.e. it has only input (in) formal parameters, and produces as result a value object. comdevalco framework the modeling language for procedural paradigm 189 4 experimental results from a methodological viewpoint, our main concern was to model all theoretical aspects in concrete objects constructs of the modeling language. the idea was to apply an iterative and incremental process: start with simple objects, perform checks after each modeling step, in order to be sure that things work. each modeling step covers both theoretical/analytical activities the abstract model of the concept and practical/applicative ones coding, testing and integrating it in the already existing language. the initial step of our work was to prove that things are working well. so we conducted first a proof-of-concept study, and then we started the development of graphical tools. 4.1 modeling language: proof-of-concept stage the modeling language described in section 3 was implemented in java. the classes containing the current implementation are included in three packages: syntax (expression classes, declaration, declarationlist, operator, state, and type), statements (all classes in figure 3), and programunits (program, procedure, and function). the implementations were tested by building some simple components, like solving of polynomial equations of first and second degree, or computing the integer square root (isqrt()) of a positive integer. as we discuss below, in order to test a proper component p, two program units need to be designed: the component p itself and the corresponding test driver (a program component). in each situation, the building process has two main steps: (1) build the state of the component and (2) build its body. as the state is a set of variable objects, its creation is a sequence of allocate() messages. additionally, in the case of procedure and function components, the parameter lists need to be also defined, in the same way. next, the body of a component is a compoundstatement, so the building process needs to create all the statement objects which describe the computing process, and to include them into the body, preserving the sequence of computing steps. consider the simplest example of designing a component ecgr1 which solves polynomial equations of the first degree, and its corresponding test program. the building process of ecgr1 is defined in the following static method: public static procedure buildecgr1() { declarationlist inp = new declarationlist(); // in params declarationlist outp = new declarationlist(); // out params declarationlist inoutp = new declarationlist(); // in-out params declarationlist locale = new declarationlist(); // local state // input parameters inp.allocate("a", value.tdouble); inp.allocate("b", value.tdouble); // output parameters outp.allocate("cod", value.tint); outp.allocate("x", value.tdouble); compoundstatement body = new compoundstatement("solves the equation a x + b = 0"); procedure proc = new procedure("proc ecgr1", locale, body, inp, outp, inoutp); // body: branchstatement(s1, s2) (a == 0) statement s11 = new assignmentstatement("cod = 2", // infinite solution set proc.getlocalstate().get("cod"), new value(value.tint, "2")); statement s12 = new assignmentstatement("cod = 1", // no solution 190 bazil pârv, ioan lazăr, simona motogna proc.getlocalstate().get("cod"), new value(value.tint, "1")); expression e1 = proc.getlocalstate().get("b"); expression e2 = new value(value.tdouble, "0"); expression e = new binaryexpression(e1, e2, new operator(operator.eq)); // s1: branchstatement(s11, s12) (b == 0) branchstatement s1 = new branchstatement("b == 0", e, s11, s12); compoundstatement s2 = new compoundstatement("unique solution"); s2.add(new assignmentstatement("cod = 0", proc.getlocalstate().get("cod"), new value(value.tint, "0"))); e1 = proc.getlocalstate().get("b"); e2 = new value(value.tint, "-1"); expression e3 = new binaryexpression(e1, e2, new operator(operator.times)); // -b e2 = proc.getlocalstate().get("a"); e = new binaryexpression(e3, e2, new operator(operator.div)); // -b/a s2.add(new assignmentstatement("x = -b/a", proc.getlocalstate().get("x"), e)); e1 = proc.getlocalstate().get("a"); e2 = new value(value.tint, "0"); e = new binaryexpression(e1, e2, new operator(operator.eq)); body.add(new branchstatement("a == 0", e, s1, s2)); return proc; } the method builds a procedure object who implements the well-known algorithm for solving first degree polynomial equations (its body being a branchstatement object) and returns it when the building process is done. this object has two in parameters (a and b) and two out parameters (x and cod). the test driver program object is built as follows: public static program buildprogecgr1() { declarationlist state = new declarationlist(); compoundstatement body = new compoundstatement("test driver for ecgr1"); program prog = new program("demoecgr1", state, body); state.allocate("ca", value.tdouble); // coefficient a state.allocate("cb", value.tdouble); // coefficient b state.allocate("rez", value.tint); // return code state.allocate("sol", value.tdouble); // the solution // resets state prog.setstate(state); // start program body.add(new outputstatement("*** program " + prog.getname() + " started ***", null)); // read coeffs body.add(new inputstatement("read coeff ca", prog.getstate().get("ca"))); body.add(new inputstatement("read coeff cb", prog.getstate().get("cb"))); // calls ecgr1 declarationlist pin = new declarationlist(); pin.allocate(prog.getstate().get("ca")); pin.allocate(prog.getstate().get("cb")); declarationlist pout = new declarationlist(); pout.allocate(prog.getstate().get("rez")); comdevalco framework the modeling language for procedural paradigm 191 pout.allocate(prog.getstate().get("sol")); declarationlist pinout = new declarationlist(); procedure ecgr1 = buildecgr1(); // create the ecgr1 procedure object simplestatement s = new callstatement("call ecgr1", ecgr1, pin, pinout, pout); body.add(s); // print results statement s11 = new outputstatement("unique solution", null); statement s12 = new outputstatement("print solution", prog.getstate().get("sol")); compoundstatement s1 = new compoundstatement("print unique solution"); s1.add(s11); s1.add(s12); expression e1 = prog.getstate().get("rez"); expression e2 = new value(value.tint, "1"); expression e = new binaryexpression(e1, e2, new operator(operator.eq)); s11 = new outputstatement("empty solution set", null); // cod = 1 (a=0, b<>0) s12 = new outputstatement("infinite solution set", null); // cod = 2 (a=0, b=0) branchstatement s2 = new branchstatement("rez == 1", e, s11, s12); e2 = new value(value.tint, "0"); e = new binaryexpression(e1, e2, new operator(operator.eq)); branchstatement st = new branchstatement("rez == 0", e, s1, s2); body.add(st); body.add(new outputstatement("*** program " + prog.getname() + " terminated ***", null)); return prog; } this time, the body of the constructed program object is a sequence of statements which: (1) read the coefficients (using a sequence of inputstatement objects), (2) call the ecgr1 component (using a callstatement object), and (3) print the result (using branchstatement objects in which the condition tests the value of the out parameter rez while the branches are outputstatement objects). the above code also contains statements which create and build the state of the program object, and prepare the call process, i.e. create and populate the actual in, out, and in-out parameter lists and then create the callee procedure object ecgr1 (by invoking buildecgr1() method). the main() method of the demo class first creates the driver program object and then calls its run() method: public static void main(string[] args) { textio.putln("demo program units"); program pecgr1 = buildprogecgr1(); pecgr1.run(); } the program object runs its body by executing sequentially the statements in it: (1) asks the user to enter the values of coefficients, (2) calls the ecgr1 procedure and (3) prints an explanatory message and the unique solution (if this is the case). above-described component definition approach is tedious and error-prone. for example, in order to build a branchstatement object, the process is bottom-up: (1) create the statement objects corresponding to the branches and (2) create the branchstatement object containing them. in a real-world situation, the building process is assisted by graphical tools, as we discuss below. these tools will perform at least the following: (1) graphical or textual building of components, (2) 192 bazil pârv, ioan lazăr, simona motogna saving and restoring component definitions to/from a component repository, (3) component testing and debugging. 4.2 the toolset the comdevalco toolset proposal includes graphical tools for component definition, validation, and composition. this subsection describes current status of these tools. as part of the comdevalco framework, a procedural action language (pal) was defined and it is described in [10]. pal contains all statements included in figure 3, has a concrete textual syntax for uml structured activities, and graphical notations for some uml structured activity actions. the main idea for simplifying the construction of uml structured activities is to use the pull data flow for expression trees. also, we propose new graphical notations for conditionals and loops, following the classical flowchart style. in order to allow the exchange of executable models with other tools, a uml profile is also defined, specifying the mapping between pal and uml constructs. a component definition and validation tool is under development, using both graphical and textual pal notations for building program, procedure, and function program units. this tool is used within an agile mda process which includes test-first component design steps: (1) add a test (in the form of a program component calling a non-existing procedure or function), (2) run the tests (in order to report the missing components), (3) add the production code (i.e. design the missing components), and (4) goto step (2). the process ends during the step (2), when all the tests pass. in the steps (1) and (3), developers are allowed to use either the graphical notation or the concrete syntax of pal; the tool maintains automatically the consistency of the two views. the debugging and testing techniques employed in step (2) are defined according to model-level testing and debugging specification [14, 13]. a detailed description of this tool will be given in a separate paper. 4.3 original elements of the proposed solution the proposed solution brings original elements in at least the following directions: • the object model is precise and fine-grained, because all objects are rigorously defined, and the component behavior is described at statement level. the uml metamodel has no correspondent for modeling constructs more fine-grained than program and procedure; • the models are executable and verifiable because each component can be executed; moreover, one can use tools for validation and evaluation of complexity; • the models are independent of any specific object-oriented language; • the modeling language is flexible and extensible in the following dimensions: the statement set, the component (program units) family, the component definition, the data type definition, and the set of components; • the modeling language allows the use of graphical tools in all the phases: building, validating, and using software component models; • the modeling language allows automatic code generation for components in a concrete programming language, according to model driven architecture (mda) specifications. one can define mappings from the modeling elements to specific constructs in a concrete programming language in a declarative way. comdevalco framework the modeling language for procedural paradigm 193 5 conclusions and further work this paper describes the current status of the modeling language, part of the comdevalco framework. as we discussed above, this version implements a minimal set of elements, corresponding to the procedural programming paradigm. the approach considered was aimed to control the complexity of the problem and of the development process. we started with the simplest programming paradigm, using simple data types and expressions and a small but complete set of statement objects. the development process consisted of small steps, meaning either the implementation of a new concept (transforming the concept into an object), or the extension of a model element. as the experiments were successful, we believe that our approach is feasible. future developments of the modeling language will include: extending type, expression, and operator classes in order to define and manage structured and object types, extending the program units with constructs specific to modular, object-oriented, and component-based paradigms. these steps are considered within the planned evolution of the comdevalco framework, which include steps for defining the structure of component repository and developing the tools aimed to operate in the component definition, validation, evaluation, simulation, and composition. acknowledgements this work was supported by the grant id_546, sponsored by nurc romanian national university research council (cncsis). bibliography [1] s.w. ambler, agile model driven development (amdd): the key to scaling agile software development, http://www.agilemodeling.com/essays/amdd.htm. [2] f.p. brooks, no silver bullet: essence and accidents in software engineering, ieee computer, april 1987, pp. 10-19. [3] k. carter, the action specification language reference manual, 2002. http://www.kc.com/ [4] i. crnkovic, m. larsson, building reliable component-based software systems, prentice hall international, artech house publishers, isbn 1-58053-327-2, available july 2002. http://www.idt.mdh.se/cbse-book/ [5] m. fowler, umlmode, may 2003, http://martinfowler.com/bliki/umlmode.html [6] j. grenfield, k. short, software factories: assembling applications with patterns, models, frameworks, and tools, wiley, 2004. [7] p. henderson, r.j. walters, behavioural analysis of component-based systems, declarative systems and software engineering research group, department of electronics and computer science, university of southampton, southampton, uk, 06 june 2000. [8] s.j. mellor, agile mda, 2005. http://www.omg.org/mda/mda_files/agilemda.pdf [9] s.j. mellor, m.j. balcer, executable uml: a foundation for model-driven architecture, addisonwesley, 2002. 194 bazil pârv, ioan lazăr, simona motogna [10] i. lazăr, b. pârv, s. motogna, i.g. czibula, c.l. lazăr, an agile mda approach for executable uml activities, studia ubb, informatica, lii, no. 2, 2007, pp. 101-114. [11] p.a. muller et al, on executable meta-languages applied to model transformations, model transformations in practice workshop, montego bay, jamaica, 2005. [12] object management group, mda guide version 1.0.1, 2003. http://www.omg.org/docs/omg/0306-01.pdf [13] object management group. uml 2.0 testing profile specification, 2005, http://www.omg.org/cgibin/apps/doc?formal/05-07-07.pdf. [14] object management group, model-level testing and debugging, 2007, http://www.omg.org/cgibin/doc?ptc/2007-05-14/ [15] object management group, uml 2.1.1 superstructure specification, 2007, http://www.omg.org/cgi-bin/doc?ptc/07-02-03/ [16] b. pârv, s. motogna, i. lazăr, i.g. czibula, c.l. lazăr, comdevalco a framework for software component definition, validation, and composition, studia ubb, informatica, lii, no. 2, 2007, pp. 59-68. [17] projtech al: project technology, inc, object action language, 2002. [18] telelogic ab, uml 2.0 action semantics and telelogic tau/architect and tau/developer action language, version 1.0, 2004. bazil pârv, ioan lazăr, and simona motogna babeş-bolyai university faculty of mathematics and computer science department of computer science 1, m. kogalniceanu, cluj-napoca 400084, romania e-mail: {bparv,ilazar,motogna}@cs.ubbcluj.ro received: november 20, 2007 comdevalco framework the modeling language for procedural paradigm 195 bazil pârv is professor at the department of computer science, faculty of mathematics and computer science, babeş-bolyai university, cluj-napoca. 7 books and university courses, and more than 75 papers. his research topics cover: programming paradigms, component-based sofware development, mathematical modeling in experimental sciences, and computer algebra. dr. ioan lazăr is lecturer at the department of computer science, faculty of mathematics and computer science, babeşbolyai university, cluj-napoca. he published 7 books and university courses, and more than 15 papers. his current research topics include: object-oriented analysis and design, modeling languages, and programming methodologies. simona motogna is associate professor at the department of computer science, faculty of mathematics and computer science, babeş-bolyai university, cluj-napoca. she obtained her ph.d. in 2001, with the thesis formal specification of objectoriented languages. her topics of interest are: compilers, semantics, formal specification related to object oriented languages and component based programming. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 2, pp. 118-126 integrated system for stereoscopic cognitive vision, localization, mapping, and communication with a mobile service robot cătălin buiu politehnica university of bucharest department of automatic control and systems engineering spl. independentei 313, 060042 bucharest, romania e-mail: cbuiu@ics.pub.ro abstract: this paper describes a stereo-vision-based mobile robot that can navigate and explore its environment autonomously and safely and simultaneously building a tridimensional virtual map of the environment. the control strategy is rule-based and the interaction with robot is done via bluetooth. the stereoscopic vision allows the robot to recognize objects and to determine the distance to the analyzed objects. the robot is able to generate and simultaneously update a full colour 3d map of the environment that is being explored. the position and type of each detected and recognized object is marked in this 3d map. furthermore, the robot will be able to use a gripper in order to collect detected objects and carry them to dedicated collecting bins, and so will be able to work in commercial waste cleanup applications. this application represents a successful integration of computers, control and communication techniques in mobile service robot control. keywords: control, communication, localization, mapping, mobile robot, stereoscopic vision, virtual reality 1 introduction more than 7 million robots will be sold from 2005 to 2008 according to estimations of the international robotics federation and of the economic commission for europe of the united nations. until 2010 a robust increase of 4% per year in the number of robots is estimated. many of these are service robots which are used to assist or even to replace humans in tedious, dull, dangerous or repetitive tasks. the same sources estimate that by 2010, service robots will be able to fully assist elder people and people with disabilities, will extinct fires, will explore industrial pipes and more [1]. in ecological applications, service robots are used to collect waste and dangerous items in indoor and outdoor environments. for doing that, the robots must be able not only to perceive and act upon the environment by using a wide range of sensors and actuators, but also to manifest human-like cognitive abilities, such as to localize themselves, to recognize and classify objects, to generate maps of the environment, to learn from experience, to interact in a natural way with humans and other robots or to develop physical and cognitive abilities in a kind of developmental process similar to humans. it is often the case that a team of robots is asked to fulfill such a task. there are already a lot of interesting results obtained in collective robotics, see for example [2] where coordinated control based on artificial vision is investigated and [3] where decentralized formation control of mobile robots with limited sensing is addressed. the problem of simultaneous localization and mapping (slam) consists of estimating concurrently the robot’s position and generating a map of its surrounding environment. this is an essential skill for a mobile robot but to this day it has eluded complete and robust solutions because noisy robot dynamics and sensors make solving slam a difficult task. copyright © 2006-2009 by ccc publications integrated system for stereoscopic cognitive vision, localization, mapping, and communication with a mobile service robot 119 slam has been widely used for navigation and typically makes use of laser range-finders or sonars. an advantage of using stereo vision over laser range-finders is the ability to detect obstacles at different heights. the solution presented in [4] is based on learning maps of 3d point-landmarks whose location is estimated using correlation-based stereo and identification is performed using their appearance in images using the scale invariant feature transform (sift) [5]. the authors derive an estimate of the robot’s motion from sparse visual measurements using stereo vision and multiple view geometry techniques [6] known in robotics as visual odometry [7], [8], [9]. a number of professional stereo vision systems and related software systems have been developed and have found a number of interesting applications in various domains, from the control of industrial manipulators for assembly and pick-and-place operations, material handling, collision warning and obstacle detection in robotics, people-tracking, environment modeling, autonomous guidance of corn harvesters, digitizing books, to medical applications, such as ophthalmic diagnostics, ir mammography, and robotic laparoscopy. stereo vision for navigation has a long history and is frequently exploited for autonomous navigation, but has limitations in terms of its density and accuracy in the far field [10]. if landmarks can be placed in the field of view of the camera, the location of a vehicle can be determined by means of stereo vision [11], and if a solid model of the target object is available, a robotic manipulator will have at its disposal a modeled environment for automatic tasks [12]. in [13] it is presented a stereoscopic vision system for a khepera miniature robot. the vision system performs objects detection by using the stereo disparity and stereo correspondence. an adaptive panoramic stereo vision approach for localizing 3d moving objects has been developed in the department of computer science at the university of massachusetts at amherst. in the adaptive stereo model, the sensor geometry can be controlled to manage the precision of the resulting virtual stereo system [14]. other indoor and outdoor stereo vision systems have been developed and tested with satisfactory results and some drawbacks, see [15], [16] and [17]. a novel optical system allows the capture of a pair of short, wide stereo images from a single camera, which are then processed to detect vertical edges and infer obstacle positions and locations within the planar field of view, providing real-time obstacle detection [18]. very few applications concern the problem of waste collecting service robots acting indoor. the application reported in this paper is part of the bigger remaster research project currently under development at the autonomous robotics lab of the politehnica university of bucharest, romania. this project concerns the development of a commercial cognitive service robot to be used in waste cleanup in office buildings. a first prototype (remaster one) has been built. related details on the structure of the prototype and of its cognitive vision system using a monocular vision system are given in [19] and [20]. the acquired expertise has been used to propose the structure and to design a stereoscopic cognitive vision system which is detailed in [21]. the aim of this paper is to present the current phase in the remaster project which consists in the design and implementation of an integrated system for stereoscopic cognitive vision, localization, mapping, and communication with the robot. the goals of this system is to allow the robot to recognize and classify various objects and to determine the distance to the objects. combined with the self-localization ability of the robot, this allows the absolute position of detected objects to be determined and marked on a tridimensional map of the working space that is continously updated. so, stereo vision and slam are integrating in order to create a map of the environment, without using any landmarks. the realization of this vision based mapping is the main contribution of this paper. the paper is structured as follows. section 2 gives an overview of the system architecture, and of the robot control and communication system, while section 3 presents the realization of the stereoscopic cognitive vision system. section 4 describes the way in which the robot is able to generate, maintain and update a tridimensional virtual map of the environment that is being explored. the last section of the paper presents conclusions and some directions for further research and developments. 120 cătălin buiu 2 robot control and communication system the integrated system was implemented on a koala robot (fig. 1) which is a mid-size robot designed for real-world applications and capable of carrying larger accessories. it has been chosen for this application, as koala has the functionality necessary for use in practical applications (like sophisticated battery management), and rides on 6 wheels for indoor and all-terrain operation. it has 16 distance sensors and can be controlled via bluetooth. figure 1: koala mobile robot (www.k-team.com) two commercial webcameras have been mounted on top koala at the same level (fig. 2), at a distance of 95 mm between them, and at a height of 170 mm. the cameras are inclined at 10 degrees, and have cmos 1.3 megapixel sensors (1280*960 pixels images and 640*480 videos), manual focus, and a focal distance of 1/4.8 mm. figure 2: stereoscopic vision system on-board koala on the robot side, there is a bluetooth 333s module installed and directly connected to the serial interface of the robot. the control program runs on a separate laptop which communicates with the robot by using a bluetooth connection. the robot can localize itself by using a dedicated and redundant system consisting of a beacon and two transponders ([19], [21]) and an odometry algorithm. the robot is able to navigate in indoor environments consisting of walls and various objects, such as empty cans and bottles. the control program is implemented in matlab and is based on simple control rules which allow an obstacle avoidance and waste finding behavior (fig. 3). the robot will move forward and will be able of a safe navigation and detection of objects in the workspace (fig. 4). after detecting an obstacle, the robot will stop and action according to the type of the obstacle. if wall, the obstacle will be avoided and the robot will resume moving. if not wall, using the distance sensors on-board the robot, the system will compute the distance to the object and the corresponding angle. using these two measurements, the system will compute the absolute position of the detected object and will compare this with the stored coordinates of previously detected objects. if the object is new (its absolute position is not in the database), it will get more attention from the robot which will turn so that it is facing the object (fig. 5). now, the system is ready to acquire stereoscopic images of the object. the images are processed and analyzed as explained in the next section. the distance to the object is determined and based on integrated system for stereoscopic cognitive vision, localization, mapping, and communication with a mobile service robot 121 figure 3: control algorithm figure 4: robot navigating in a test environment figure 5: robot turning to a detected object 122 cătălin buiu the absolute position of the robot, the absolute position of the object is also determined. then the robot resumes its movement in the workspace after storing the type and coordinates of the object in the database and after having marked its position in the tridimensional map which will be detailed later. 3 stereoscopic cognitive vision system stereoscopy is a technique for infering the 3d position of objects from two or more simultaneously views of the scene. reconstruction of the world seen through stereo cameras can be divided in two steps. first, the correspondence problem means that for every point in one image to find out the correspondent point on the other and compute the disparity of these points. this disparity correlates to distance, and the higher disparity of object pixel means that the object is closer to the cameras. secondly, there is the triangulation step. given the disparity map, the focal distance of the two cameras and the geometry of the stereo setting (relative position and orientation of the cameras) compute the (x,y,z) coordinates of all points in the images. the system presented in this paper solves both steps as will be described below. key advantages of camera based systems include: they offer minimally complex solutions, have very low costs, they are entirely solid state, and colour information can be easily acquired at the same time as range data, helping to build realistic full colour 3d models of the environment. all these advantages are exploited in the application reported in this paper. stereo vision provides realtime, full-field distance information, and is useful in many applications in a wide variety of fields, including robotics. there is a number of dedicated software packages, such as small vision system for realtime stereo analysis from sri’s artificial intelligence center. sentience is a volumetric perception system for mobile robots and uses webcam-based stereoscopic vision to generate depth maps, and from these create colour 3d voxel models of the environment for obstacle avoidance, navigation and object recognition purposes. a "cognitive vision system" is defined in [22] as a system that uses visual information to achieve: recognition and categorization of objects, structures and events, learning and adaptation, memory and representation of knowledge, control and attention. for example, a cognitive monocular vision system for a mobile robot using a cmucam2+ camera is presented in [20]. the visual system’s architecture is presented in fig. 6. all the visual information processing is done on the same separate laptop. given the disparity map, the focal distance of the two cameras and the geometry of the stereo setting (relative position and orientation of the cameras), the system is able to compute the coordinates of all points in the images. the distance to the object is used to determine the absolute position of the object which is marked on the 3d map. figure 6: stereovision system’s architecture integrated system for stereoscopic cognitive vision, localization, mapping, and communication with a mobile service robot 123 screenshots from our application that present two stereoscopic images of a detected object are given in fig. 7. these images will be further processed. figure 7: stereoscopic images of a detected object (left and right hand camera) now the images contain relevant data that will be brought in such a form that contours can be extracted. the images are binarized by extracting colour channels corresponding to the colour of detected objects (yellow, in our case). then, dilatation and errosion filters are applied to the images (see fig. 8). then the images are segmented and objects detected (fig. 9). figure 8: extraction of yellow colour channel and application of dilatation and errosion filters (left and right hand image) figure 9: detected contour for the object in the image using simple scalar descriptors, such as area and perimeter, the detected object is recognized and classified as a can, in our case. 4 generation and update of a tridimensional map of the environment simultaneous localization and mapping (slam) is an essential capability for mobile robots exploring unknown environments. the robot presented in this paper is using a dedicated self-localization 124 cătălin buiu system based on the use of a beacon unit and two transponders (master and slave) [21]. the two transponder units are fixed, while the beacon unit is installed on the robot. half-duplex bidirectional communication between beacon and transponders is realized by using infrared light and ultrasounds. the system is using a atmega8 microcontroller with 16mips at 16mhz. the localization of the robot is realized by triangulation of the distances to the two transponders. more, odometry algorithms contribute to a more precise localization of the robot in the working space. the system is able to generate a a virtual map of the explored environment, in which the space, the robot and the objects are modeled as vrml (virtual reality modeling language) objects. vrml is a standard file format for representing tridimensional interactive vector graphics. it also enables the integration of interactive 3d graphics into the web. by using the virtual reality toolbox from matlab, the system will generate realistic 3d views of the working space and the robot (fig. 10), and objects (fig. 11, in which a question mark means an unknown object). figure 10: vrml models of the working space and robot figure 11: vrml models of objects the robot will explore the working space according to the control strategy presented above and simultaneously will update the tridimensional map. after an object is detected and the robot turns towards it, both cameras are taking images of the scene. further, the images are analyzed and the object recognized. the absolute position of the object is also determined and the object marked on the map (fig. 12). then the robot resumes its movement in the workspace and associated activities: navigation, search, classification and localization of objects. the test results show a good and robust functioning of the stereovision system, and although the processing times are not low, this can be improved by the use of an embedded pc with more computing power. 5 summary and conclusions the main research thrust of this paper has been to demonstrate that an integrated system for communication, control, localization and mapping using stereoscopic vision and 3d maps can be designed and implemented for a mobile service robot which will collect waste in indoor environments. this integrated system will be transferred to a more powerful version of the first prototype (remaster one) of the commercial waste cleanup robot that is the final aim of the remaster project. the new robot will have integrated system for stereoscopic cognitive vision, localization, mapping, and communication with a mobile service robot 125 figure 12: robot taking pictures of an object, recognizing it as a can, and marking it on the map a gripper such that the detected objects can be grasped and carried to dedicated bins. future efforts will address the design and implementation of new navigation strategies based on fuzzy logic. image processing algorithms based on cellular neural networks are currently under investigation and implementation. more research will be done in what regards the interactive aspects of the robotic system so that the robot will be able to interact with humans and other robots in a natural way. acknowledgements we acknowledge the support of the romanian government through the excellence research program (contract 83-ceex-ii-03/31.07.2006) and the work of cristian ionita and laura antochi to the development of the stereoscopic vision system and virtual map. bibliography [1] c. buiu (editor), cognitive robots (in romanian), editura universitara, 2008. [2] c. m. soria, r. carelli, r., j. m. ibarra zannatha, coordinated control of mobile robots based on artifcial vision, international journal of computers, communications, and control, vol. i (2006), no. 2, pp. 85-94. [3] k.d. do, bounded controllers for decentralized formation control of mobile robots with limited sensing, international journal of computers, communications, and control, vol. ii (2007), no. 4, pp. 340-354. [4] p. elinas, r. sim, j. j. little, sigmaslam: stereo vision slam using the rao-blackwellised particle filter and a novel mixture proposal distribution, in proc. of the ieee int. conf. on robotics and automation (icra), florida, usa, 2006. [5] d. g. lowe, object recognition from local scale-invariant features, in int. conf. on computer vision, corfu, greece, september 1999, pp. 1150-1157. [6] r. hartley, a. zisserman, multiple view geometry in computer vision, cambridge, uk: cambridge univ. pr., 2000. [7] d. nister, o. naroditsky, j. bergen, visual odometry, in proc. ieee computer society conference on computer vision and pattern recognition (cvpr 2004), 2004, pp. 652-659. 126 cătălin buiu [8] m. agrawal, k. konolige, rough terrain visual odometry, in proceedings of the international conference on advanced robotics (icar), august 2007. [9] k. konolige, m. agrawal, frame-frame matching for realtime consistent visual mapping, in proceedings of ieee international conference on robotics and automation (icra), april 2007. [10] m. j. procopio, t. strohmann, a. r. bates, g. grudic, jane mulligan, using binary classifiers to augment stereo vision for enhanced autonomous robot navigation, university of colorado at boulder technical report cu-cs-1027-07, april 2007 [11] wang, l. k., s. hsieh, e. c. hsueh, f. hsaio, k. huang, complete pose determination for low altitude unmanned aerial vehicle using stereo vision, in proc. ieee/rsj international conference on intelligent robots and systems (iros 2005), pp. 108 113. [12] lee, s., d. jang, e. kim, s. hong, j. han, a real-time 3d workspace modeling with stereo camera, in proc. ieee/rsj international conference on intelligent robots and systems (iros 2005), pp. 2140 2147. [13] t. chinapirom, u. witkowski, r. ulrich, stereoscopic camera for autonomous mini-robots applied in kheperasot league, research report, university of paderborn, germania, 2007 [14] d. r. karuppiah, z. zhu, p. shenoy, e. m. riseman, a fault-tolerant distributed vision system architecture for object tracking in a smart room, in b. schiele and g. sagerer (eds.), springer lecture notes in computer science 2095, pp 201-219, 2007 [15] s. florczyk, robot vision: video-based indoor exploration with autonomous and mobile robots, weinheim: wiley-vch, 2005. [16] m. f. ahmed, development of a stereo vision system for outdoor mobile robots, m.s. thesis, university of florida, 2006. [17] f. rovira-más, s. han, j. wei, j. f. reid, autonomous guidance of a corn harvester using stereo vision, agricultural engineering international: the cigr ejournal, manuscript atoe 07 013, vol. ix. july, 2007. [18] w. lovegrove, b. brame, single-camera stereo vision for obstacle detection in mobile robots, in intelligent robots and computer vision xxv: algorithms, techniques, and active vision., proceedings of the spie, volume 6764, pp. 67640t, 2007 [19] c. buiu, f. cazan, r. ciurlea, developing of a service robot to recognize and sort waste, in: 16th international conference on control systems and computer science, pp. 298-303. politehnica press, bucharest, 2007. [20] ana pavel, c. vasile, c. buiu, cognitive vision system for an ecological mobile robot, in proceedings of sintes 13, the international symposium on system theory, automation, robotics, computers, informatics, electronics and instrumentation, pp. 267-272, universitaria press, craiova, 2007. [21] c. buiu, design and development of a waste cleanup service robot, in proceedings of the first international eurobot conference, heidelberg, pp. 194-202, 2008. [22] a.g. cohn, d. magee, a. galata, d. hogg, s. hazarika, towards an architecture for cognitive vision using qualitative spatio-temporal representations and abduction, in c. freksa, w. brauer, c. habel, k.f. wender (editors), spatial cognition iii, routes and navigation, human memory and learning, spatial representation and spatial learning, pp. 232-248, springer-verlag, 2003. int j comput commun, issn 1841-9836 vol.7 (2012), no. 3 (september), pp. 403-416 a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection h. chen, q. du, p. ren hao chen 1. department of information and communication engineering, xi’an jiaotong university, xi’an, shaanxi,710049, china 2. state key laboratory of integrated services networks, xidian university, xi’an, shaanxi, 710071, china e-mail: js.sq.chenhao@stu.xjtu.edu.cn qinghe du, pinyi ren department of information and communication engineering, xi’an jiaotong university, xi’an, shaanxi,710049, china e-mail: {duqinghe, pyren}@mail.xjtu.edu.cn abstract: cognitive radio has recently emerged as a promising technology to improve the utilization efficiency of the radio spectrum. in cognitive radio networks, secondary users (sus) must avoid causing any harmful interference to primary users (pus) and transparently utilize the licensed spectrum bands. in this paper, we study the puprotection issue in multi-hop cognitive radio networks. in such networks, secondary users carefully select paths and time slots to reduce the interference to pus. we formulate the routing and time-slot assignment problem into a mixed integer linear programming (milp). to solve the milp which is np-hard in general, we propose an algorithm named rsaa (routing and slot assignment algorithm). by relaxing the integral constraints of the milp, rsaa first solves the max flow from the source to the destination. based on the max flow, rsaa constructs a new network topology. on the new topology, rsaa uses branch and bound method to get the near optimal assignment of time slots and paths. the theoretical analyses show that the complexity of our proposed algorithm is o(n4). also, simulation results demonstrate that our proposed algorithm can obtain near-optimal throughputs for sus. keywords: cognitive radio networks; primary-user protection; joint routing and time-slot assignment. 1 introduction the rapid growth in the number of wireless applications such as wifi, wimax, 3g et al. leads to a big radio spectrum shortage. recent studies by the federal communications commission (fcc) highlight that the average utilizations of some licensed spectrum bands allocated through the current static frequency spectrum assignment policies vary between 15% and 85% [1]. to make sufficient use of the spectrum resources in the environment, the notion of cognitive radio (cr) was proposed by dr. joseph mitola in 1999 [2]. in cognitive radio networks, nodes are allowed to sense and explore a wide range of the frequency spectrum and identify currently underutilized spectrum blocks for data transmission. cr can transparently exploit the licensed spectrum bands and is widely considered as the technique for the next generation of wireless communication [3]. to maximize the advantages of cognitive radio networks (crns)łźit is necessary to update the physical layer, media access control (mac) layer and network layer of the traditional wireless communication system. after the concept of cr was proposed, many studies on spectrum sensing and mac protocol copyright c⃝ 2006-2012 by ccc publications 404 h. chen, q. du, p. ren design have been conducted and a lot of progress has been made [4] [5] [6]. the aim of spectrum sensing is to find the spectrum holes in the crns and the mac protocol is to select the one-hop optimal spectrum bands for sus’ transmitting. however, khalife et al. indicated that mac protocol which gave optimal solutions in a single hop configuration may become largely inefficient in a multi-hop scenario and it was of great importance to design cross-layer protocols capable of scheduling, spectrum selecting and routing [7]. cesana et al. in [8] pointed out the challenges of routing in cognitive radio networks: any routing solutions designed for multi-hop crns must be highly coupled to the entire cognitive cycle of spectrum management and the routing module should be able to make fast route maintenance at the sudden appearance of pus. the authors of [9] extended the routing solution in multi-channel multi-radio networks (mcmrns) to crns and proposed a layered graph framework to address channel assignment and routing jointly. hou et al. in [10] [11] illustrated the difference about routing in mcmrns and crns. in crns the radios could send packets over non-contiguous frequency bands and the authors proposed a mixed integer non-linear programming (minlp) model to minimize the required networkwide radio spectrum resources. filippini et al. in [12] proposed a minimum maintenance cost routing for cognitive radio networks. the authors formulated the maintenance cost problem to be an integer optimization model and by carefully selecting routing metrics the authors designed a heuristic distributing algorithm. among all the above routing solutions the accurate information about spectrum availability sensed by the physical layer is crucial for the routing module. so these routing solutions make severe demand on the spectrum sensing module of cr nodes. to ease this demand, in [13] chowdhury et al. proposed a routing solution which avoided harmful interference to pu receivers by designing proper routing metrics. in that solution, each time sus chose the path that passed through regions having minimum overlap with pus’ transmission coverage areas. in [14] ding et al. proposed a distributed algorithm to maximize the capacity of links without generating harmful interference to other users by performing joint routing, dynamic spectrum allocation and scheduling. in [15] xie et al. proposed a geometric approach for relay selections which avoided causing harmful interference to pus in crns. each time the approach selected the best channels available to transmit data to the nearest neighbors or the farthest ones greedily. in [16] the authors zhou et al. gave a mathematical model aiming at minimizing the interference to pus. by relaxing the model’s constraint conditions, the authors transformed the original optimization problem to a linear programming model and gave a joint channel assignment and path selection algorithm. in spectrum sharing multi-hop crns, to guarantee the pus’ priority on the licensed spectrum bands sus must not generate harmful interference to pus. in this paper, to make sufficient use of spectrums we design the routing module of sus through joint routing and time-slot assignments. firstly, we exploit the protocol model [17] which describes the conditions of successful transmission between two nodes and abstract the routing and time-slot assignment problem to be a kind of mixed integer linear programming (milp) model. in the milp model, our objective is to maximize the throughput of sus and our constraints are avoiding harmful interference to pus and eliminating sus’ conflicts caused by concurrent transmissions. then, to get an approximate solution of the milp which is a np-hard problem we propose a near optimal joint routing and time-slot assignment algorithm named rsaa. the theoretical analysis shows that the complexity of rsaa is o(n4). the simulation results demonstrate that rsaa can obtain near optimal throughput. what is more, through the simulation results we analyze the effect of node density and slot periods on the throughput of multi-hop crns. a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 405 2 network model and problem formulation 2.1 network model in 2004, the fcc proposed to allow unlicensed wireless devices to utilize television channel frequencies under the precondition of causing no harmful interference to pus. under this proposal, sus could use the underutilized broadcasting tv spectrum bands for multi-hop communications. in multihop crns, tdma is very necessary for the avoidance of conflicts among sus and the reduction of interference to pus. in the current wlans, nodes use csma/ca to avoid access conflicts. however, csma/ca cannot assure that sus cause no harmful interference to pus. hence it may be not suitable for spectrum sharing crns. in this paper, we consider a cognitive ad hoc network consisting of p pus, n sus and a cognitive scheduling center (csc). the csc is able to access the data base of pus [8] and gathers the information about the pus’ locations and interference thresholds. the interference threshold is defined as the highest interference power which a pu can tolerate. also the csc is designed to be able to collect the information about sus’ locations and the transmitting power via existing communication networks like gsm. after gathering all these information, the csc computes the optimal routing and time-slot assignments and schedule sus’ access to licensed spectrum by delivering these messages to the corresponding nodes. the network architecture is shown in fig. 1. as is shown in fig. 1, the tv receivers act as pus and have priority to use the spectrum f .the csc coordinates and schedules sus to utilize the band f transparently. for example, the csc assigns the path and slot solution s 1 −→ a 2 −→ b 3 −→ c 1 −→ e 2 −→ d for source node s and destination node d. the symbol "a 1 −→ b" represents that node a transmits to node b in time slot 1. although the path s → a → g→ e → d is of less hops and much more throughput, the csc does not choose it because node g causes harmful interference to pus.this paper focuses on finding the optimal routing and time-slot assignment which maximizes the sus’ throughput while avoiding harmful interference to pus. pu a 1 su s su a su b su g su e su d su c 1 2 3 2 pu c pu b csc figure 1: system model 2.2 problem formulation to describe the network mathematically, we first model the successful transmitting conditions among nodes and introduce binary integral variables xi jt, where xi jt=1 indicates that su node i sends packets to su node j in slot t; otherwise xi jt=0. that is, xi jt = { 1, s u i send packets to s u j in slot t 0,otherwise (1) 406 h. chen, q. du, p. ren we assume that all the sus’ radios use the same transmitting power q and the successful transmitting range among sus are rt . let ai denote the neighbor set of node i. so we have ai = { j|di j < rt } (2) where di j denotes the euclid distance between node i and node j. let ii denote the interfered node set of node i, and ri denote the interference range among sus. so we have ii = { j|di j < ri } (3) note that node i cannot transmit to multiple nodes at the same time. we have∑ q∈ai xiqt 6 1 (4) due to potential interference among nodes in the network, if node i uses slot t for transmitting data to node j ∈ ai, then any other nodes which conflict with node j should not use this slot. so we have xi jt + xpqt 6 1, p ∈ i j, p , i,q ∈ ap (5) this is the difference between our model with the model in [9][10], where the authors state the conflict constraint as xi jt + ∑ p∈i j,p,i,q, j xpqt 6 1 (6) it is important to understand that in the conflict constraint (5), two links which interfere with xi jt but do not interfere with each other can access the channel at the same time slot. constraint (4) is the node’s successful sending condition and constraint (5) is the node’s successful receiving condition. under the constraint (4) and (5), nodes in the network can transmit data without conflicting with each other. to guarantee that two nodes transmit data without bit error, the flow rates on each link must not exceed the link’s capacity. let fi jt denote the flow rate between node i and node j at time slot t and gi j denote the channel gain between node i and node j. we have fi jt 6 xi jt blog2(1 + gi j q η ) (7) where b denotes the bandwidth of spectrum band f and η denotes the noise power in the environment. note that the denominator inside the log function contains only η. this is because the interference constraint (5) assures that the interference power received by the su’s receiver is negligible and this helps to simplify our model to be a linear model. what’s more, to make sure that no drop of packet happens at the intermediate nodes, the aggregate data rates in the slot period should meet the flow conservation constraint. i.e. t∑ t=1 ∑ j∈ai fi jt = t∑ t=1 ∑ i∈ap fpit (8) where t denotes the period of scheduling slots of the network. to make sure that all the transmitting power of sus detected at pus does not exceed pus’ threshold int , we have the following constraints n∑ i=1 xi jtgik q 6 int , j ∈ ai,k ∈ p, (9) a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 407 where p denotes the set of pus. in practice the value of int depends on the sensitivity of pu receivers as well as the noise power in the environment. note the average value of sus’ throughput s is the ratio of aggregate amount of data to the time slots, so we have s = 1 t t∑ t=1 ∑ i∈as fsit (10) where s denotes the source node. when there are a number of source-destination pairs in the network, we can introduce one more virtual source-destination pair and simplify the network to be a single source-destination pair network. in such networks, our aim is to find the optimal routing and time-slot assignments which maximize the throughput of sus. mathematically, we have the following optimization problem. max  1t t∑ t=1 ∑ i∈as fsit  (11) s.t.  ∑ q∈ai xiqt 6 1 xi jt + xpqt 6 1, p ∈ i j, p , i,q ∈ ap fi jt 6 xi jt blog2(1 + gi j q η ) t∑ t=1 ∑ j∈ai fi jt = t∑ t=1 ∑ i∈ap fpit n∑ i=1 xi jtgik q 6 int , j ∈ ai,k ∈ p,0 6 t 6 t xi jt = 0 or 1 fi jt > 0 (12) note that the above optimization problem has both integral and continuous variables and the constraint conditions are all linear. so it is a kind of milp problem. in the above milp problem, the optimization variables consists of continuous variables fi jt and binary variables xi jt , while b, t , q, η and int are all constant. 3 routing and time-slot assignment algorithm the above optimization problem is a kind of milp problem, which is np-hard in general [18]. to solve the milp problem, yuan et al. in [16] proposed a greedy algorithm which relaxed the integral constraints and then simplified the milp to be a linear programming (lp) problem. after solving the lp problem, the algorithm fixed the binary variables in the descending order of their relaxed values one by one. although the complexity of this algorithm is equal to solving just one lp problem, the algorithm cannot guarantee that the solution is a feasible flow and that the result meets the interference constraints (4) (5) absolutely. hou et al. in [10] proposed the sequential fixing (sf) algorithm which solved o(n) lp problems iteratively to fix the binary variables. another method to solve milp is to replace the integral constraint to be the following constraint xi jt(xi jt − 1) = 0. (13) based on constraint (13) we can transform milp to be quadratic programming (qp). but we still cannot get optimal solution under polynomial complexity because constraint (13) is non-convex. sherali et al. in [18] pointed out that to solve the milp problem one should exploit the problem’s inherent special structures in the process of model formulations and in algorithmic developments. taking 408 h. chen, q. du, p. ren a closer look at our milp problem we can find that if we relax the integral constraint (1) to be continuous constraint 0 6 xi jt 6 1, (14) and neglect the interference constraint (4)(5). then the milp problem will reduce to a kind of max flow problem. so the optimal solutions of milp are likely to be the subsets of the max flow. based on this idea, we develop our algorithm rsaa which can solve the milp problem efficiently. let e denote the number of edges and n denote the number of su nodes in the crns. since the original milp consists of et binary variables, to get the optimal solution of the milp problem we should enumerate 2et combinations of xi jt. once the binary variables are fixed, the original milp problem is reduced to be the following lp problem. max  1t t∑ t=1 ∑ i∈as fsit  (15) s.t.  fi jt 6 xi jt blog2(1 + gi j q η ) t∑ t=1 ∑ j∈ai fi jt = t∑ t=1 ∑ i∈ap fpit n∑ i=1 xi jtgik q 6 int , j ∈ ai,k ∈ p,0 6 t 6 t fi jt > 0 (16) we denote the new lp problem as lp1 and it consists of et continuous variables. in rsaa algorithm, we first neglect the constraint conditions (4)(5)(7) and solve the max flow problem from the source to the destination. the max flow problem can be formulated to be the following lp problem max  1t t∑ t=1 ∑ i∈as fsit  (17) s.t.  fi jt 6 blog2(1 + gi j q η ) t∑ t=1 ∑ j∈ai fi jt = t∑ t=1 ∑ i∈ap fpit fi jt > 0 (18) we denote the above lp problem as lp2 and use push-pull flow algorithm [20] to obtain the max flow φ= { fi jt}. after getting φ, we construct a new set of binary variables by xt = {xi jt| fi jt > 0, fi jt ∈φ} (19) and xt is the new enumeration set of rsaa. we denote k as the number of variables of xt , i.e. k = |xt |. when we enumerate the new variables in xt , we use constraints (4)(5) as the branch and bound conditions. the complete rsaa algorithm is given in table 1. in the procedure of rsaa algorithm, we first construct new searching variables or edges by the solution of the max flow problem and then cut off all the nodes and edges which have nothing to do with the max flow in the network. to solve the milp in newly constructed network, we take the condition (4) (5) as bound conditions and simplify the milp problem to be a number of lp1 problems. also when we solve lp1, we take it as a kind of special max flow problem, and use dinic algorithm to solve it. as we can see from the algorithm’s process, the solution of rsaa always meets all the constraints of the original milp problem and so we can conclude that the solution of rsaa is a feasible solution to the original milp problem. a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 409 table 1: rsaa algorithm steps contents step 1: let the csc update the pus’ and sus’ locations and compute the sus’ link capacity and their interference power to pus. introduce a virtual source-destination pair and simplify the network to be a signal source-destination pair network. step 2: set up and solve lp2 and obtain its solution φ. use the equation (19) and φ to construct new binary variable set xt . sort the new binary variables in the ascending order by slot index. step 3: initialize the sus’ throughput s = 0; set the current optimal flow solution as φ∗ = ∅, temp_i = 0. step 4: if temp_i > 2k , then the whole algorithm ends, output the optimal throughput s and the optimal flow solution set φ∗; else transform temp_i into |xt | bit binary digits, each digit represents the assignment of corresponding link and slot. if each digit of temp_i meets the interference condition (4)(5),then go to step 5;else temp_i = temp_i + 2b_last−1, where b_last is the smallest digit index in all temp_i’s transformed digits which violate the interference condition (4)(5). go back to step 4. step 5: after getting one combination of {xi jt},use dinic algorithm to solve lp1 and get the max flow value temp_ fval as well as the corresponding flow rates ft = { fi jt}. in the steps of dinic algorithm, when we search the augmenting flows in the layered networks, we select the augmenting flow according to the ascending order of their interference to pus. if the adding of augmenting flow with the minimum interference exceeds int , then augmenting step of dinic algorithm ends; else continue to find the other augmenting flows. when dinic algorithm ends, if s < temp_ fval, then s = temp_ fval,φ∗ = ft ; else go back to step 4. 410 h. chen, q. du, p. ren 4 performance analysis of rsaa 4.1 complexity of rsaa we now analyze the complexity of rsaa using the random network theory. in the original milp problem, the complexity of obtaining optimal solution is exponential and we should solve o(2|e|) linear programming lp1. by reducing the searching variables, the complexity of rsaa algorithm is reduced to be polynomial. in fact, we have the following theorem. theorem 1. in the network where the average degree of each node is constant, the complexity of rsaa is o(n4). proof: let constant d denote the average degree of each node in the network and in practice the value of d is determined by the node density and the node’s transmitting range. by the er model in random network theory [21], the average number of edges in the network is e = dn 2 (20) let l denote the average path length from the source node to the destination node, and then the number of nodes in the network has the following expression [21], n ∝ dl (21) so the average route length can be written as l =α log2 n log2 d , (22) where α is a constant. note that the capacity of each link in random networks is i.i.d. so the maximum throughput we obtain from lp2 are dc, where c denotes the average capacity of links. and then we can conclude that the maximum number of paths in the max flow for source to destination is d. hence, the number of newly constructed binary variables is k = |xt |= dt l =αt d log2 n log2 d . (23) so rsaa need to solve o(2k ) = o(n) linear programming problems lp1. by dinic algorithm the complexity of solving lp1 is o(n3). hence, the total complexity of rsaa algorithm is o(n • n3) = o(n4). � from theorem 1 we can see that both rsaa and sf need to solve o(n) linear programming problems lp1. the difference between them is that rsaa exploits the flow structures of the network to obtain better performance. 4.2 optimal approximation although rsaa restricts the searching space and this restriction may reduce the throughput of sus, we find that this kind of reduction is almost negligible. in fact we have the following theorem. theorem 2. if φ∗ is the optimal solution to the milp problem and pt is the optimal routing and timeslot assignment, then the intersection set between pt and the rsaa’s new constructed searching set xt is not null. a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 411 proof: we prove this theorem by constructing contradictions. suppose the intersection set between xt and the new constructed searching set xt is null, i.e. pt ∩ xt = ∅. we denote the optimal flow rate of the milp as φ∗ and denote the max flow of lp2 as φ. because φ∗ is the solution of the milp, and so φ∗ satisfies all the constraint flow conditions in the milp. then φ∗ satisfies all the constraint conditions of lp2. so φ∗ is a feasible augmenting flow to lp2. because pt ∩ xt = ∅, and this means pt is an independent augmenting path on which we can augment φ∗ to the original max flow. so the optimal solution of lp2 is φ∗ +φ and this is contradictory to the fact that φ is the optimal solution. so the supposition that the intersection set between pt and the rsaa’s new constructed searching set xt is null is false and our theorem is proven. � however, theorem 2 cannot guarantee that the solution of rsaa is optimal. only when pt is the subset of xt , can we say that the solutions of rsaa are optimal. in fact, we can conclude that pt belongs to the subset of xt with high probability according to theorem 2. especially, in the small networks where the max flow consists of only one path, we can conclude that the solution of rsaa will be optimal according to theorem 2 and the flow conservation condition(8). 4.3 the effect of time-slots and conflicts in our milp model, there is a constant t which represents the slot scheduling period of the crns. we can see that the existing of t increases the complexity of our algorithm, and this is because t decides the number of variables. in the network layer, the routing module should fix the best slot period according to the network parameters such as the node density and pu’s threshold. note that the minimum slot period should be enough to avoid the conflicts among sus and the interferences to pus. so we can get the average minimum value of t , tmin = max{lqg∗/int , l/c} (24) in the above equation, c is the average number of mutual interference edges and l is the average route length from the source to destination, and g∗ denotes the average channel gain between two neighbor nodes. in equation (24), the first item means that to connect the source and the destination at least lqg∗/int slot periods are needed to guarantee no harmful interference to pus. the second item means that to avoid the conflicts among sus at least l/c slot periods are needed. and the equation (14) means that only the slot periods are long enough to avoid harmful interference to pus and eliminate the conflicts among sus, the source and destination pair can set up a successful route. in fact, it is necessary to assure that the slot period is greater than the minimum one, or the slot period will become the bottleneck constraint of su’s throughput. and when the slot periods are smaller than the minimum one the increase of slot period will dramatically increase sus’ throughput. but if the slot periods are greater than the minimum one, the increase of slot period will not necessarily lead to the increase of sus’ throughput. and in this scenario sus’ throughput in crns are the tradeoff between the amount of data and the delay as is shown in equation (10). however, if we divide one fixed length of time into a number of slots, we can find that the more slots we divide the fixed time into, the more throughput sus can obtain. in the best case if we divide the fixed time into infinite slots, and then the solution of milp will approximate the solution of the relaxed lp where the integral constraint is reduced to be constraint (14). to describe the effect of conflict on sus’ throughput, we introduce r denoting the ratio of node’s interference distance to transmitting distance. i.e. r = ri/rt (25) note that as the ratio r increases the number of conflicting edges in the network will increase. and this means the number of conflict constraint inequality (5) will increase and so the solutions of the milp will 412 h. chen, q. du, p. ren decrease. intuitively, the increase of the ratio r will decrease the concurrent transmissions and cut down sus’ throughput. however, as the ratio r increases, the number of paths from the source to destination will decrease because of the concurrent conflicts. so according to theorem 2 we can conclude that the solution of rsaa will become closer to the optimal results as the ratio r increases. from the analysis above, we can find that rsaa algorithm can obtain the near optimal throughput of sus at the complexity of o(n4). in the next section we will verify the performance analysis through simulations. 5 simulation results in this section, we present simulation results for the proposed rsaa algorithm and compare it to sf algorithm and the enumeration algorithm. since the enumeration algorithm can obtain optimal solutions, we denote the results of enumeration algorithm as optimal solutions in the following figures. our simulation scenario is set at the rural and mountainous areas where the tv broadcast spectrum is underutilized and the sus can transparently use these spectrums without generating harmful interference to pus. the simulation parameters are shown in table 2. table 2: simulation parameters simulation parameters values the topology area 1000x1000 m2 the distribution of sus’ location uniform distribution channel propagation model two way ground reflection model the transmitting range of sus 250m the interfering range of sus 300m the band width of pus 1mhz the power of noise -140dbw the transmitting power of sus 2w the number of pu 1 the location of pu (0,0) the length of each slot period 1s simulation times 200 5.1 the sus’ throughput vs pu’s outage probability fig. 2 shows the outage probability of pus in the condition that sus do not take the pu’s threshold into consideration. we count a time of outage of pu when pu detects that sus’ interference power exceeds int . in fig. 2 the slot period is set to be 3 and the ratio of interference to transmitting is set to be 6/5. we use software cplex to get the optimal solution of milp. from fig. 2 we can find that as the pu’s threshold increases the outage probability of pu decreases. also the outage probability decreases as the node density nm in the network decreases. this is because the interference power received by pu is the sum of all sus’ transmitting power and more nodes in the network means more interference. as we can see from fig. 2, the outage probability is very high and unbearable if sus do not carefully select paths and slots. so in the networks with high node density, it is very necessary to protect pu from sus’ interference at network layer. fig. 3 compares the sus’ throughput in two different scenarios: in one scenario sus avoid harmful interference to pus and in the other scenario sus neglect pu’s threshold. from fig. 3 we can see that sus’ throughput are very sensitive to pu’s threshold when sus take the interference to pu into a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 413 −115 −110 −105 −100 −95 −90 0 10 20 30 40 50 60 the threshold of pu (dbw) th e o u ta g e p ro b a b ili ty o f p u (% ) nm=8 nm=16 nm=24 figure 2: the outage probability of pu as the increase of pu’s threshold consideration. and the throughput obtained from neglecting pu’s threshold are the upper bound of those of considering pu’s threshold. what’s more, fig. 3 shows that when pu’s threshold is low enough, pu’s threshold becomes the bottleneck of sus’ throughput. fig. 2 and 3 demonstrate the performance tradeoff between pus and sus in spectrum sharing crns. and so our model can offer valuable reference for the design of multi-hop crns. −115 −110 −105 −100 −95 −90 1 2 3 4 5 6 7 the threshold of pu (dbw) th ro u g h p u ts (m b p s) nm=8 not protecting pu nm=16 not protecting pu nm=24 not protecting pu nm=8 protecting pu nm=16 protecting pu nm=24 protecting pu figure 3: sus’ throughput as the increase of pu’s threshold 5.2 the effect of node density fig. 4 compares sus’ throughput of rsaa algorithm, sf algorithm and the enumerate algorithm. in the simulation, the slot period is 3 and the pu’s threshold is -90dbw. the ratio of interference to transmitting is 6/5. from fig. 4 we can find that the results of rsaa outperform the results of sf and can obtain 97% of the optimal throughput for sus averagely. especially when the node density is low, rsaa can obtain 99% of the optimal throughput, while sf just gets 55% optimal throughput for sus. this is because when the node density is low, the optimal path will almost surely locate in the searching set xt as is shown in theorem 2. what’s more, fig. 4 shows that sus’ throughput decrease as the node density increases which is the same with the results in [16]. the reason is that when the node density increases, sus need more slots which mean more delay to avoid the conflicts among sus and the interference to pu. 414 h. chen, q. du, p. ren 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 throughputs with different node density node density(nodes/km2) th ro u g h p u ts (m b p s) optimal solution rsaa sf figure 4: sus’ throughput on different node density. 5.3 the effect of time-slots and conflict fig. 5 compares the throughput of sus got from the three algorithms as the slot periods in the network increase. in this simulation the node density is set as 13 nodes per square kilometer. the pu’s threshold int and the ratio r are the same with those in fig. 4. from fig. 5 we can see that the rsaa’s approximation to the optimal solution is not affected by slots and in any slot number condition rsaa can get 98% of the optimal throughput for sus. also we can find that when we fix the length of each slot as 1 second and increase the slot numbers in the network, the sus’ throughput increase dramatically when the number of slot periods is small. if we increase the slot periods from 3 to 5, sus’ throughput decrease because the increase of data cannot offset the increase of delay. but when the slot period is 6 the throughput of sus increase as the increase of data outweighs the increase of delay. the fluctuation in fig. 5 shows the complex relationship between relay and throughput in multi-hop wireless networks. 2 2.5 3 3.5 4 4.5 5 5.5 6 1 2 3 4 5 6 7 slot peroids(s) th ro u g h p u ts (m b p s) optimal solution rsaa sf figure 5: sus’ throughput on different slot periods. fig. 6 shows the throughput of sus vary as the ratio of interference distance to transmitting distance increases under the three algorithms. in this simulation the pu’s node density is set as 16 nodes per square kilometer and the pu’s threshold is the same as that in fig. 4. the slot period is 4. from fig. 6 we can also find that rsaa can get 99% of the optimal throughput in average compared to sf’s 34%. what is more, fig. 6 shows that as the ratio increases the solutions of rsaa become much closer to the optimal results and when the ratio exceeds 2, the two solutions nearly overlap with each other which is identical with our above performance analysis. a joint routing and time-slot assignment algorithm for multi-hop cognitive radio networks with primary-user protection 415 1 1.5 2 2.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 the ratio of interferece and transmitting th ro u g h p u ts (m b p s) optimal solutions rsaa sf figure 6: sus’ throughput on different ratio of interference to transmitting. 6 conclusions in spectrum sharing multi-hop crns, by carefully selecting paths and slots sus can utilize the licensed spectrum band transparently. in this paper, we first formulate a milp model to describe the joint routing and time-slot assignment issue and then develop rsaa algorithm to solve this np-hard problem. theoretical analyses and simulation results demonstrate that rsaa algorithm can obtain near-optimal throughput with a polynomial complexity and so it can be widely used in crns. acknowledgment this work was supported in part by the national natural science foundation of china (60832007), national hi-tech research and development plan of china (2009aa011801), and the national science and technology major project( 2010zx03005-003). bibliography [1] fcc, et docket no 03-222 notice of proposed rule makingand order, december 2003. [2] j. mitra iii and g. q. maguire jr., "cognitive radio: making software radios more personal," ieee personal commun., pp. 13-18, aug. 1999. [3] i. akyildiz, w. lee, m. vuran, and s. mohanty. "next generation / dynamic spectrum access/cognitive radio wireless networks: a survey." compo netw. jour. (elsevier), vol.50, no.13, pp. 21272159, sept. 2006. [4] t. yucek, h. arslan, "a survey of spectrum sensing algorithms for cognitive radio applications," communications surveys & tutorials, ieee , vol.11, no.1, pp.116-130, first quarter 2009. [5] h. wang, h. qin, l. zhu, "a survey on mac protocols for opportunistic spectrum access in cognitive radio networks," computer science and software engineering, 2008 international conference on , vol.1, no., pp.214-218, 12-14 dec. 2008 [6] y. wang, p. ren, and g. wu, "a throughput-aimed mac protocol with qos provision for cognitive ad hoc networks," ieice trans. commun., vol. e93-b, no. 6, pp. 1426-1429, jun. 2010. 416 h. chen, q. du, p. ren [7] h. khalife, n. malouch, s. fdida, "multihop cognitive radio networks: to route or not to route," network, ieee , vol.23, no.4, pp.20-25, july-august 2009 [8] m. ceasna, f. cuomo, e. ekici, "routing in cognitive radio networks: challenges and solutions", ad hoc netw., vol. 9, no. 3, pp.228-248, may 2011 [9] x. zhou, l. lin, j. wang and x. zhang, "cross-layer routing design in cognitive radio networks by colored multigraph model," wireless personal communications, vol. 49, no.1, pp. 123-131, april 2009 [10] y.t. hou, y. shi, h.d. sherali, "optimal spectrum sharing for multi-hop software defined radio networks," infocom 2007. 26th ieee international conference on computer communications. ieee , vol., no., pp.1-9, 6-12, may 2007 [11] y.t. hou, y. shi, h.d. sherali, "spectrum sharing for multi-hop networking with cognitive radios," selected areas in communications, ieee journal on , vol.26, no.1, pp.146-155, jan. 2008 [12] i. filippini, e. ekici, m. cesana, "minimum maintenance cost routing in cognitive radio networks," mobile adhoc and sensor systems, 2009. mass ’09. ieee 6th international conference on , vol., no., pp.284-293, 12-15 oct. 2009 [13] k.r. chowdhury, i.f. akyildiz, "crp: a routing protocol for cognitive radio ad hoc networks," selected areas in communications, ieee journal on , vol.29, no.4, pp.794-804, april 2011 [14] l. ding, t. melodia, s.n. batalama, j.d. matyjas, m.j. medley, "cross-layer routing and dynamic spectrum allocation in cognitive radio ad hoc networks," vehicular technology, ieee transactions on , vol.59, no.4, pp.1969-1979, may 2010 [15] m. xie, w. zhang, k.k. wong, "a geometric approach to improve spectrum efficiency for cognitive relay networks," wireless communications, ieee transactions on , vol.9, no.1, pp.268-281, january 2010 [16] z. yuan, j. b. song, z. han, "interference minimization routing and scheduling in cognitive radio wireless mesh networks," wireless communications and networking conference (wcnc), 2010 ieee , vol., no., pp.1-6, 18-21 april 2010 [17] p. gupta, p.r. kumar, "the capacity of wireless networks," informationtheory, ieee transactions on, vol.46, no.2, pp.388-404, mar 2000. [18] k. jain, j. padhye, v.n. padmanabhan, l. qiu, "impact of interference on multi-hop wireless network performance", wireless networks, vol 11, no 4, pp. 471-487, july 2005 [19] h.d. sherali, w.p. adams, p.j. driscoll, "exploiting special structures in constructing a hierarchy of relaxations for 0-1 mixed integer problems", operations research, vol.46, no.3, pp.396-405, may 1998 [20] s. gao. graph theory and network flow theory, 1rd ed., beijing: higher education press, 2009, pp.307-314 [21] p. erdfs and a. renyi, "on the evolution of random graphs", pubi. math. inst. hung. acad. sci. 5, 1960, pp.17-61. international journal of computers communications & control issn 1841-9836, 11(2):282-291, april 2016. the maximum flows in planar dynamic networks c. schiopu, e. ciurea camelia schiopu* 1. transilvania university of brasov romania, 500091 braşov, iuliu maniu, 50 *corresponding author: camelia.s@unitbv.ro eleonor ciurea transilvania university of brasov romania, 500091 braşov, iuliu maniu, 50 e.ciurea@unitbv.ro abstract: an nontrivial extension of the maximal static flow problem is the maximal dynamic flow model, where the transit time to traverse an arc is taken into consideration. if the network parameters as capacities, arc traversal times, and so on, are constant over time, then a dynamic flow problem is said to be stationary. research on flow in planar static network is motivated by the fact that more efficient algorithms can be developed by exploiting the planar structure of the graph. this article states and solves the maximum flow in directed (1,n) planar dynamic networks in the stationary case. keywords: network flow, planar network, dynamic network, maximum flow. 1 introduction the static network flow models bridges several diverse and seemingly unrelated areas of combinatorial optimization. more often in scientific writing, flow in a network refers to the flow of electricity, phone calls, email messages, commodities being transported across truck routes, or other such kinds of flow. many efficient algorithms have been developed to solve the maximum flows problem in static network [1]. the planar static network also arise in practical contexts such as vlsi design and communication networks, and hence it is of interest to find fast flow algorithms for this class of graphs. the computation of a maximum flow in a planar static network has been investigated by many researchers starting from the work of ford and fulkerson [5] who developed an o(n2) time algorithm for (1,n) networks when the source node 1 and sink node n are on the same face. this algorithm was later improved to o(n log n) time by itai and shiloach [8]. by introducing the concept of potentials, hassin [6] gave an algorithm that run in o(n log0.5 n) time using frederickson′s shortest path algorithm [4]. itai and shiloach [8] also developed an algorithm to find a maximum flow in an undirected planar networks when the source node and sink node are not on the same face. for faster maximum flow algorithms in planar (but not necessarily (1,n) planar) undirected and directed static networks see hassin and johnson [7] and johnson and venkatesan [9]. khuller and naor [10] present the flow in planar static networks with nodes capacities. however, in some other applications, time is an essential ingredient [1]. in this instance, to account properly for the evolution of the underlying system over time, we need to use dynamic network flow models. for dynamic network flow problem see [1], [2], [3]. in this paper, we present the maximum flow problem in directed (1,n) planar dynamic networks. we present the case when the planar dynamic network is stationary. further on, in section 2 the maximum flow in directed (1,n) planar static network is exposed. in section 3 some copyright © 2006-2016 by ccc publications the maximum flows in planar dynamic networks 283 basic dynamic network notations and results are presented, while in section 4 is presented the method for solving the maximum flow in directed (1,n) planar dynamic network. the conclusions are presented in section 5 and an example is given in section 6. 2 the maximum flow in directed (1, n) planar static network research on flow in planar static network is motivated by the fact that more efficient algorithms can be developed by exploiting the planar structure of the digraph. definition 1. a digraph g = (n,a) is said to be planar if we can draw it in a two-dimensional plane so that no two arcs intersect each other. researchers have developed very efficient algorithms (in fact, linear time algorithms) for testing the planarity of a digraph. definition 2. let g = (n,a) be a planar digraph. a face of g is a region of the plane bounded by arcs that satisfies the condition that any two points in the region can be connected by a continuous curve that meets no nodes and arcs. the boundary of a face x is the set of all arcs that enclose it. faces x and y said to be adjacent if their boundaries contain a common arc. the planar digraph g has an unbounded face. recall two well-known properties of planar digraphs: – if a connected planar digraph has n nodes, m arcs and q faces, then q = m−n + 2; – if a planar digraph has n nodes and m arcs, then m < 3n. our discussion in this paper applies to a special class of planar digraphs known as (1,n) planar digraphs (the node source 1 and node sink n lie on the boundary of unbounded face). let g = (n,a,u) be a static network with the set of nodes n = {1, . . . , i, . . . ,j, . . . ,n}, the set of arcs a = {a1, . . . ,ak, . . . ,am}, ak = (i,j) and the upper bound (capacity) function u : a → r+, where r is real number set. to define maximal static flow problem, we distinguish two special nodes in the static network g = (n,a,u): a source node 1 and a sink node n. a static flow is a function f : a → r+, satisfying the following conditions: ∑ j f(i,j)− ∑ k f(k,i) =   v, if i = 1 (1a) 0, if i ̸= 1,n (1b) −v, if i = n (1c) 0 ≤ f(i,j) ≤ u(i,j), (i,j) ∈ a (2) for some v ≥ 0. we refer to v as the value of the static flow f. the maximum flow problem is to determine a flow f which maximizes v. a cut is a partition of the node set n into two subsets s and s̄ = n − s. we represent this cut using notation [ s,s̄ ] . we refer to an arc (i,j) with i ∈ s and j ∈ s̄ as a forward arc of the cut and an arc (j,i) with j ∈ s̄ and i ∈ s as a backward arc of the cut. let ( s,s̄ ) denote the set of forward arcs in the cut and let ( s̄,s ) denote the set of backward arcs. we have that the arc set of cut is [ s,s̄ ] = ( s,s̄ ) ∪ ( s̄,s ) . we refer to a cut[ s,s̄ ] as an 1−n cut if 1 ∈ s and n ∈ s̄. for the maximum flow problem, we define the capacity of the 1−n cut [ s,s̄ ] as: 284 c. schiopu, e. ciurea c[s,s̄] = ∑ (s,s̄) u(i,j) (3) we refer to an 1 −n cut whose capacity is the minimum among all 1 −n cuts as a minimal cut. recall the maximum flow minimum cut theorem. theorem 3. the maximum value of the flow from a source node 1 to a sink node n in network g equals the capacity of minimum 1−n cut. many efficient algorithms have been developed to solve the maximum flows problem in some static network [1]. next we present the maximum flow problem in directed (1,n) planar static network. first, we define the dual directed static network denoted by g ′ = (n ′ ,a ′ ,c ′ ). we add the arc (n,1) with u(n,1) = 0, which divides the unbounded face into two faces: a new bounded face and a new unbounded face. in this case we have n ′ = q+1 faces, with q = m−n+2. then we place a node x ′ inside each face x of the network g. we have n ′ = {1 ′ , . . . ,x ′ , . . . ,y ′ , . . . ,n ′ }. let 1 ′ and n ′ , respectively, denote the nodes in the dual directed static network g ′ corresponding to the new bounded face and the new unbounded face. each arc (i,j) ∈ a lies on the boundary of the two faces x and y. corresponding to this arc, the network g ′ contains two oppositely arcs (x ′ ,y ′ ) and (y ′ ,x ′ ). if arc (i,j) is a clockwise arc in the face x, we define the cost c ′ (x ′ ,y ′ ) = u(i,j) and the cost c ′ (y ′ ,x ′ ) = 0. we define arc costs in the opposite manner if arc (i,j) is a counterclockwise arc in the face x. the network g ′ contains the arcs (1 ′ ,n ′ ) and (n ′ ,1 ′ ) which we delete from the network. we have a ′ = {(x ′ ,y ′ ),(y ′ ,x ′ )|x ′ ,y ′ ∈ n ′ ,(x ′ ,y ′ ) and (y ′ ,x ′ ) correspond to (i,j) ∈ a}. there is an one-to-one correspondence between 1−n cuts in the network g and paths from node 1 ′ to node n ′ in the network g ′ . moreover, the capacity of the cut equals the cost of the corresponding path. consequently, we can obtain a minimum 1 − n cut [s,s̄] and c[s,s̄] in network g by determining a shortest path p ′ and c ′ (p ′ ) from node 1 ′ to node n ′ in the network g ′ . we can solve the shortest path problem in the network g ′ using dijkstra′s algorithm [1]. now, we present an algorithm for finding a maximum flow in a directed (1,n) planar static network g = (n,a,u). let d ′ (x ′ ) denote the shortest path distance from node 1 ′ to node x ′ in the dual directed static network g ′ = (n ′ ,a ′ ,c ′ ). the algorithm for maximum flow in directed (1,n) planar static network (amfdpsn) is presented in figure 1 [1]. 1: amfdpsn; 2: begin 3: compute the network g ′ ; 4: dijkstra (g ′ ,d ′ ); 5: for (i,j) ∈ a do 6: f(i,j) := d ′ (y ′ )−d ′ (x ′ ); 7: end for 8: end. figure 1: algorithm for maximum flow in directed (1,n) planar static network theorem 4. the amfdpsn determines a maximum flow in network g. theorem 5. the amfdpsn determines a maximum flow in o(n2) time. using frederickson′s algorithm (see [4]), the amfdpsn determines a maximum flow in o(n1.5) time. the maximum flows in planar dynamic networks 285 3 the maximum flows in dynamic network let g = (n,a,u) be a static network with the node set n, the arc set a, the upper bound function u,1 the source node and n the sink node. let n be the natural number set and let h = {0,1, . . . ,t} be the set of periods, where t is a finite time horizon, t ∈ n. let us state the transit time function h : a×h → n and the time capacity function uh : a × h → r+, where h(i,j;t) represents the transit time of arc (i,j) at time t, t ∈ h and uh(i,j;t) represents the capacity (upper bound) of arc (i,j) at time t,t ∈ h. the maximal dynamic flow problem for t time periods is to determine a flow function fh : a×h → n, which should satisfy the following conditions in dynamic network gh = (n,a,h,uh): t∑ t=0 ( ∑ j fh(i,j;t)− ∑ k ∑ τ fh(k,i;τ)) = vh, if i = 1 (4a) ∑ j fh(i,j;t)− ∑ k ∑ τ fh(k,i;τ) = 0, if i ̸= 1,n, t ∈ h (4b) t∑ t=0 ( ∑ j fh(i,j;t)− ∑ k ∑ τ fh(k,i;τ)) = −vh, if i = n (4c) 0 ≤ fh(i,j;t) ≤ uh(i,j;t), for all (i,j) ∈ a and for all t ∈ h (5) maxvh, (6) where τ = t−h(k,i;τ), vh = t∑ t=0 v(t), v(t) is the flow value at time t and fh(i,j;t) = 0, (i,j) ∈ a, t ∈{t −h(i,j;t) + 1, . . . ,t}. in other words, a dynamic flow fh from 1 to n is any flow fh from 1 to n in which not more than uh(i,j;t) flow units starting from node i at time t and arriving at node j at time t+h(i,j;t) for all arcs (i,j) and all t. note that in a dynamic flow, units may be departing from the source at time 0,1, . . . ,t ′ , t ′ < t . a maximum dynamic flow for t time periods from 1 to n is any dynamic flow from 1 to n in which the maximum possible number of flow units arrive at the sink node n during the first t time periods. we will show how to transform the maximum dynamic flow problem in the dynamic network gh = (n,a,h,uh) into a static flow problem on a static network g ′ h = (n ′ h,a ′ h,u ′ h), called the reduced time-expanded network. for a given dynamic network gh = (n,a,h,uh), we form the time expanded network gh = (nh,ah,uh) as follows. we make t + 1 copies it, t = 0,1, . . . ,t of each node i in gh. node it in gh represents node i in gh at time t. for each (i,j) in gh, there are arcs (it,jθ), θ = t + h(i,j;t), t = 0,1, . . . ,t − h(i,j;t) with capacity uh(it,jθ) = uh(i,j;t) in gh. the arc (it,jθ) in gh represents the potential movement of a commodity from node i to node j in time h(i,j;t). the number of nodes in gh is n(t + 1), and number of arcs is limited by m(t + 1) − ∑ a h̄(i,j), where h̄(i,j) = min{h(i,j; 0), . . . ,h(i,j;t)}. it is easy to see that any dynamic flow in dynamic network gh is equivalent to a static flow in static network gh from the source nodes 10,11, . . . ,1t to the sink nodes n0,n1, . . . ,nt and vice versa. we can further reduce the multiple source, multiple sink problem in network gh to the single source, single sink problem by introducing a supersource node 1∗ and a supersink node n∗ constructing time superexpanded network g∗h = (n ∗ h,a ∗ h,u ∗ h), where n ∗ h = nh ∪{1 ∗,n∗}, a∗h = ah ∪ {(1 ∗,1t)|t = 0,1, . . . ,t}∪{(nt,n∗)|t = 0,1, . . . ,t}, u∗h(it,jθ) = uh(it,jθ) for all (it,jθ) ∈ ah, u∗h(1 ∗,1t) = u ∗ h(nt,n ∗) = ∞, t = 0,1, . . . ,t . now, we construct the time reduced 286 c. schiopu, e. ciurea expanded network g ′ h = (n ′ h,a ′ h,u ′ h) as follows. we define the function h ∗, h∗ : a∗h → n, h∗(1∗,1t) = h ∗(nt,n ∗) = 0, t = 0,1, . . . ,t , h∗(it,jθ) = h(i,j;t), t = 0,1, . . . ,t −h(i,j;t). let d∗(1∗, it) be the length of the shortest path from the source node 1∗ to the node it in network g∗h and d∗(it,n∗)the length of the shortest path from node it to the sink node n∗, with respect to h∗. the computation of d∗(1∗, it) and d∗(it,n∗) for all it ∈ n∗h is performed by means of the usual shortest path algorithms. we have n ′ h = {1 ∗,n∗}∪ {it|it ∈ nh,d∗(1∗, it) + d∗(it,n∗) ≤ t}, a ′ h = {(1 ∗,1t)|d∗(1t,n∗) ≤ t}∪ {(nt,n∗)|d∗(1∗,nt) ≤ t}∪ {(it,jθ)|(it,jθ) ∈ ah,d∗(1∗, it) + h∗(it,jθ) + d ∗(jθ,n ∗) ≤ t} and u ′ h is restriction of u ∗ h at a ′ h. in network g ′ h we rewrite the nodes 1∗, n∗ by 1 ′ , respectively n ′ . it is easy to see that the network g ′ h is always a partial subnetwork of g∗h. since an item released from a node at a specific time does not return to that location at the same or an earlier time, the networks gh, g∗h, g ′ h cannot contain any circuit, and are therefore acyclic always. in the most general dynamic model, the parameter h(i) = 1 is waiting time at node i, and the parameter uh(i;t) is defined as the capacity of the node i, which represents the maximum amount of flow that can wait at node i from time t to t + 1. this most general dynamic model is not discussed in this paper. the maximum dynamic flow problem for t time periods in dynamic network gh formulated in conditions (4), (5), (6) is equivalent with the maximum static flow problem in static network g ′ h as follows: ∑ jθ f ′ h(it,jθ)− ∑ k τ ′ f ′ h(kτ′, it)) =   v ′ h, if it = 1 ′ , (7a) 0, for all it ̸= 1 ′ ,n ′ , (7b) −v ′ h, if it = n ′ , (7c) 0 ≤ f ′ h(it,jθ) ≤ u ′ h(it,jθ), for all (it,jθ) ∈ a ′ h (8) max v ′ h, (9) where by convention it = 1 ′ for t = −1 and it = n ′ for t = t + 1. it is easy to see that network g ′ h is no planar, in general. a dynamic flow problem is said to be stationary if the network parameters as capacities, arc traversal times, and so on, are constant over time (c : a → r+,h : a → n, and so on). in the stationary case it does not require the construction of the reduce time expanded static network g ′ h = (n ′ h,a ′ h,u ′ h) for solving the maximum dynamic flow problem for any t . a maximum dynamic flow in the stationary case can be generated from a maximum value and minimum time flow f in static network g = (n,a,c,u), where c(i,j) = h(i,j) is the cost for any arc (i,j) ∈ a. the algorithm for stationary maximum dynamic flow (asmdf) problem is presented in figure 2 [5]. 1: asmdf; 2: begin 3: amvmcf (g,f); 4: adfef (f,r(p1), . . . ,r(pk)); 5: arf (r(p1), . . . ,r(pk)); 6: end. figure 2: algorithm for stationary maximum dynamic flow. the procedure amvmcf performs the algorithm for maximum value and minimum cost flow f in network g. for statements we suppose that use the algorithm of klein variant (minimum the maximum flows in planar dynamic networks 287 mean cycle canceling algorithm, see [1]). this algorithm have the complexity o(n2m3 log n). the procedure adfef performs the algorithm for decomposition of flow f in elementary flows with r(p1), ...,r(pk) path flows. is necessary that c(pi) ≤ t . this algorithm have complexity o(m2). the procedure arf performs the algorithm for send r(pi) flow, i = 1 . . . ,k, starting out from source node 1 at time periods 0 and repeat it after each time period as long as there is enough time left in the horizon for the flow along the path to arrive at the sink node n. this algorithm have complexity o(kt). hence, the algorithm for stationary maximum dynamic flow have complexity o(n2m3 log n) (we consider that kt ≤ n2m3 log n). the flow obtained with asmdf is called a temporally repeated flow for the obvious reason that is consists of repeated shipments along the same flow paths from 1 to n. the maximum value of a temporally repeated flow obtained with asmdf is: vh = (t + 1)v − ∑ a h(i,j)f(i,j) (10) where v is the maximum value of the flow f obtained with amvmcf. 4 the maximum flows in planar dynamic networks in this section we consider the maximum flows in planar dynamic networks in the stationary case. hence, we use the asmdf which has presented in section 3. the network g = (n,a,c,u) is planar. the minimum mean cycle canceling algorithm is a special case of the klein′s algorithm (cycle canceling algorithm, see [1]). recall that the mean cost of a directed cycle (circuit) p̊ is ( ∑ (c(i,j)|(i,j) ∈ p̊))/ ∣∣∣p̊∣∣∣, and that the minimum mean cycle is a cycle with the smallest mean cost in the network g. is known that use dynamic programing algorithm to find the minimum mean cycle in o(nm) time, see [1]. in this case, the minimum mean cycle canceling algorithm starts with a maximum flow f in the network g. this flow is computed with algorithm presented in section 2. at every iteration, the minimum mean cycle canceling algorithm identifies a minimum mean cycle p̊ in residual network g̃. if the mean cost of the cycle p̊ is negative, the algorithm augments the maximum possible flow along p̊ , updates g̃, and repeats this process. if the mean cost of p̊ is nonnegative, g̃ contains no negative cycle and f is a maximum value and minimum cost flow, so the algorithm terminates. this algorithm is surprisingly simple to state. theorem 6. the asmds correctly computes the maximum flow in planar stationary dynamic network. proof: the asmds correctly computes the maximum flow in general stationary dynamic network. obviously that algorithm is correctly and for planar network. 2 theorem 7. the asdms applied in planar network has the complexity o(n5logn). proof: the asmdf applied in general network has the complexity o(n2m3logn). in planar network we have m = o(n). hence, the asmdf applied in planar network has the complexity o(n5 log n). 2 5 conclusions the computation of a maximum flow in a general network has been an important and well studied problem, both in the fields of computer science and operations research. many efficient 288 c. schiopu, e. ciurea algorithms have been developed to solve this problem, see, e.g., [1]. research on maximum flow in planar network is motivated by the fact that more efficient algorithms can be developed by exploiting the planar structure of the graph. the planar flow algorithms are not only extremely efficient, but they are also very elegant. planar networks also arise in practical contexts such as vlsi design and communication networks, and hence it is of interest to find fast flow algorithms for this class of networks. in this paper, we have studied a generalization of the maximum flow in directed (1,n) planar networks, to include transit time features encountered in many practical situations. the our model, assumes that all attributes in the problem, including arc capacities and transit times, do not change over time. in this case we have used an efficient procedure to find the maximum value and minimum cost flow in directed (1,n) planar static networks g = (n,a,c = h,u), and then develops a set of temporally repeated flows, with the optimal flow decomposed into a set of path flows. we remark that the problem of maximum flow in (1,n) planar dynamic networks was not studied up to the present. also, we introduce the notion of reduced time expanded network g ′ h = (n ′ h,a ′ h,u ′ h) and show how make this network. future research directions include problems: (1) the maximum flow in directed (1,n) planar dynamic networks, where the transit times, the capacities of arcs are all time-varying; (2) the maximum flow in directed (1,n) planar dynamic networks with lower bounds in stationary case and in nonstationary case. these are more practical features in many real-world problems where we desire to control the speed of flows at different arcs. 6 example the planar dynamic network is presented in figure 3(a) and time horizon being set to t = 4, therefore h = {0,1,2,3,4}. the transit times h(i,j) and the upper bounds (capacities) u(i,j) for all arcs are indicate in figure 3(b). (a) (i, j) (1, 2) (1, 3) (2, 3) (2, 4) (3, 4) h(i, j) 1 3 1 2 1 u(i, j) 3 2 1 2 2 (b) figure 3: the planar dynamic network figure 4 shows the (1 ′ ,4 ′ ) dual network g ′ = (n ′ ,a ′ ,c ′ ) corresponding to network gh. the maximum flows in planar dynamic networks 289 figure 4: dual network g ′ corresponding to the network g the flow obtained with amfdpsn is presented in figure 5(a). (a) (b) figure 5: (a) maximum flow; (b) maximum flow of minimum cost with the minimum mean cycle canceling algorithm we obtain the maximum flow of minimum cost and is presented in figure 5(b). applying the procedure adfef we have the following path: p1 = (1,2,4),h(p1) = 3,r(p1) = 2; p2 = (1,2,3,4),h(p2) = 3,r(p2) = 1; p3 = (1,3,4),h(p3) = 4,r(p3) = 1. with the procedure arf we obtain the maximum dynamic flow which is shown in network g ′ h = (n ′ h,a ′ h,u ′ h) in figure 6. 290 c. schiopu, e. ciurea figure 6: the maximum dynamic flow applying the formula (10) we have vh = (4 + 1)4− (3 + 3 + 1 + 4 + 2) = 7. for s ′ h = { 1 ′ ,10,11,22,33 } , s̄ ′ h = { 21,32,43,44,4 ′} we have [ s ′ h, s̄ ′ h ] = (s ′ h, s̄ ′ h) = {(10,21),(22,44),(33,44)} and v ′ h = vh = f ′ h(s ′ h, s̄ ′ h) = u ′ h(s ′ h, s̄ ′ h) = 3 + 2 + 2 = 7. bibliography [1] ahuja,r.; magnanti,t.; orlin,j. (1993); network flows. theory, algorithms and applications, editing prentice hall, inc.,englewood clifss, new jersey. [2] cai,x.; sha,d.; wong,c. (2007); time-varying network optimization, editing springer. [3] ciurea,e. (1984); les problemes des flots dynamiques, cahiers du cero, 26(1-2): 3-9. [4] frederickson,g. (1987); fast algorithms for shortest path in planar graphs, with applications, siam journal on computing, 16: 1004-1022. [5] ford,l.; fulkerson,d. (1962); flows in networks, princeton university press, princeton, n.j. [6] hassin,r. (1981); maximum flows in (s,t) planar networks, information processing letters, 13: 107. the maximum flows in planar dynamic networks 291 [7] hassin,r.; johnson,d. (1985); an o(n log2 n) algorithm for maximum flow in undirected planar networks, siam journal on computing, 14: 612-624. [8] itai, a.; shiloach, y. (1979); maximum flow in planar networks, siam journal on computing, 8: 135-150. [9] johnson, d.; venkatesan,s. (1982); using divide and conquer to find flows in directed planar networks in o(n1.5 log n) time, proceedings of the 20th annual allerton conference on communication , control and computing, university of illinois, urbana-champaign, il., 898-905. [10] khuller,s.; naor,j. (1994); flows in planar graphs with vertex capacities, algorithmica, 11: 200-225. ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 263-272 an algorithm for initial fluxes of metabolic p systems roberto pagliarini, giuditta franco, vincenzo manca university of verona, italy computer science department strada le grazie 15, 37134 verona, italy e-mail: {roberto.pagliarini, giuditta.franco, vincenzo.manca}@univr.it received: april 5, 2009 accepted: may 30, 2009 abstract: a central issue in systems biology is the study of efficient methods inferring fluxes of biological reactions by starting from experimental data. among the different techniques proposed in the last years, the theory of metabolic p systems, which is based on the log-gain principle, proved to be helpful for deducing biological fluxes from temporal series of observed dynamics. according to this approach, the algebraic systems provided by the log-gain principle determine the reaction fluxes underlying a system dynamics when initial fluxes are known. here we propose a heuristic algorithm for estimating the initial fluxes, that is tested in two case studies. keywords: biological modeling, p systems, mp systems, metabolic flux estimation, heuristic algorithms. 1 introduction in the last years, the problem of reverse-engineering of biological phenomena from experimental data has spurred increasing interest in scientific communities. for these reasons, many computational models inspired from biology have been proposed. among these models, the metabolic p systems [11, 12], shortly mp systems, proved to be relevant in the analysis of dynamics of biochemical processes, that is, structures where matter of different type is transformed by reactions. by means of mp systems models of several interesting phenomena were provided, among which we mention: the lotka-volterra dynamics [2, 3, 15], a susceptible-infected-recovered epidemic [2], the leukocyte selective recruitment in the immune response [2], the protein kinase c activation [3], the mitotic cycle [14], the pseudomonas quorum sensing [4] and the non-photochemical quenching phenomenon [16]. the importance of mp systems is their potential applicability to the reverse-engineering problem of biological phenomena. in fact, in the framework of mp systems, a theory called log-gain [10, 11, 12] has been introduced, specifically devoted to the deduction of reaction fluxes, that is, the amount of reactants transformed by the reactions at any step of the system. as we will show, a key point for achieving this task consists in the discovery of the fluxes associated to the passage of a metabolic system from the state at the initial observation instant to the next one. in this paper a heuristic algorithm is proposed for estimating the initial fluxes vector from few steps of observation. in few words, the algorithm first roughly computes the initial fluxes by assuming they have a form recalling the mass action principle, and then solves a system of equations to deduce the corresponding fluxes at the next step. from these values, the algorithm evaluates how much of each substance is necessary to activate the first evolution step, and finally the actual initial fluxes are computed by solving a minimization problem. the present paper is organized as follows. section 2 is devoted to the definition of metabolic p systems, while in section 3 log-gain theory is briefly recalled. in section 4 we describe the algorithm copyright c© 2006-2009 by ccc publications 264 roberto pagliarini, giuditta franco, vincenzo manca which solves the initial fluxes problem. section 5 reports the simulations of a couple of systems obtained by starting with initial fluxes computed by our algorithm. further remarks and some directions for future research are discussed in the last section. 2 metabolic p systems mp systems are a special class of dynamical systems (the reader can find some details concerning dynamical aspects of mp systems in [13]), based on p systems [5, 18, 19], which are related to metabolic processes. mp systems are essentially constituted by multiset grammars where rules are regulated by specific functions depending on the state of the system. from a membrane computing point of view, mp systems can be seen as deterministic mono-membrane p systems where the transitions between states are calculated by a suitable recurrent equation. in an mp system the variation of the whole system is considered in a macroscopic time interval. in this manner, the evolution law of the system includes the knowledge of the contribution of each reaction in the evolution from one state to the next one. therefore, dynamics is given at discrete steps, and in each step, it is ruled by a partition of matter among the reactions transforming it. the principle underlying the partitioning is called mass partition principle, and it defines the transformations of object populations, rather than single objects, according to a suitable generalization of chemical laws [11]. the following definition introduces the mp systems in a formal way (n, z, and r denote the sets of natural, integer, and real numbers, respectively). definition 1 (mp system). an mp system m is specified by the following construct: m = (x , r,v, h, φ, ν, µ, τ) where x , r and v are finite disjoint sets, and moreover the following conditions hold, with n, m, k ∈ n: • x = {x, x, . . . , xn} is a finite set of substances. this set represents the types of molecules; • r = {r, r, . . . , rm} is a finite set of reactions. a reaction r is a pair of type αr → βr, where αr identifies the multiset of the reactants (substrates) of r and βr identifies the multiset of the products of r (λ represents the empty multiset). the stoichiometric matrix a of a set r of reactions over a set x of substances is a = (ax,r | x ∈ x , r ∈ r) with ax,r = |βr|x − |αr|x, where |αr|x and |βr|x respectively denote the number of occurrences of x in αr and βr. of course, a reaction r can be seen as the vector r = (ax,r | x ∈ x ) of r n. we also set rα (x) = {r ∈ r | x ∈ αr}, rβ (x) = {r ∈ r | x ∈ βr}, and r(x) = rα (x) ∪ rβ (x); • v = {v, v, . . . , vk} is a finite set of parameters. this set represents entities which affect the dynamics but are not transformed by reactions; • h = {hv | v ∈ v } is a set of parameters evolution functions. the function hv : n → r states the value of parameter v, and h[i] = (hv(i) | v ∈ v ); • φ = {ϕr | r ∈ r} is the set of flux regulation maps, where, for each r ∈ r, ϕr : r n+k → r. let q ∈ rn be the vector of substance values and s ∈ rk be the vector of parameter values. then (q, s) ∈ rn+k is the state of the system. we set by u (q, s) = (ϕr(q, s) | r ∈ r) the flux vector in the state (q, s), constituted by the state q and by the parameters state s; • ν is a natural number which specifies the number of molecules of a (conventional) mole of m; • µ is a function which assigns, to each x ∈ x , the mass µ(x) of a mole of x (with respect to some measure units). an algorithm for initial fluxes of metabolic p systems 265 • τ is the temporal interval between two consecutive observation steps; let x [i] = (x[i], x[i], . . . , xn[i]), for each i ∈ n, be the vector of substances values at the step i, and let x [] be the initial values of substances. the dynamics of an mp system is completely identified by the following recurrent equation, called equational metabolic algorithm, shortly ema: x [i + ] = a ×u (x [i], h[i]) + x [i] (1) where a is the stoichiometric matrix of reactions having dimension n × m, while ×, +, are the usual matrix product and vector sum. we denote by ema[i] the system (1), which allows us to obtain the vector x [i + ] from vectors x [i] and u (x [i], x [i]). if in an mp system the elements ν , µ , and τ are omitted, then the result is called mp grammar. it is a multiset rewrite grammar where rules are regulated by specific functions. such a grammar is completely specified by: i) reactions, ii) flux regulation functions, iii) parameter evolution functions, iv) substances, which are the elements occurring in the reactions, and their initial values and v) parameters, which are the arguments of flux regulation functions different from substances. parameter evolution maps and/or initial values of substances may be omitted when only the mp grammar structure is specified. 3 log-gain theory: a brief recall the starting point of the log-gain theory [10, 11, 12] for mp systems is the allometry law [1, 7], which has many possible formulations [10], but, in the case here discussed, it can be expressed in a simple way. namely, a proportion can be assumed, at each step, between the relative variations of the flux of a reaction and the sum of relative variations of its reactants, with a possible gap, called offset. given the dynamics of an mp system, we will use the following simplified notations, for i ∈ n, and r ∈ r: ur[i] = ϕr(x [i], h[i]) and u [i] = (ur[i] | r ∈ r). (2) assuming to know the vectors x [i] and x [i + ], the equation (1) can be rewritten in the following form, which we call ada[i] (avogadro and dalton action [12]): x [i + ] − x [i] = a ×u [i]. (3) formula (3) expresses a system of n equations and m variables (n is the number of substances and m the number of reactions) which is assumed to have maximal rank. this assumption is not restrictive. in fact, if it does not hold, the rows which are linearly dependent on other rows can be removed, by keeping the notations a, x [i +] and x [i] for the stoichiometric matrix and the vectors of concentration of substances, respectively. we assume thus that a has maximum rank, which we newly call n. then there exist n linearly independent reactions of r, and we call r such a subset of reactions. from a metabolic point of view, this means that fluxes of each reaction of r can be obtained as linear combination of fluxes of the reactions of r. formally, ada[i] is essentially the system ema[i] introduced in section 2. however, these two systems have dual interpretations. in fact, in ema[i], the vectors u [i] and x [i] are known, and the vector x [i + ] is computed by means of them, while in ada[i], the vector x [i + ] − x [i] is known and u [i] is computed by solving a system comprised of both the equations in ada[i] and further equations, dictated by the following log-gain principle, to state the reaction regulation level, as we will see by formula (6). indeed, since the number of reactions is realistically assumed greater than the number of substances, then system (3) has more than one solution. therefore, fluxes cannot be univocally deduced by means of ada[i]. the log-gain principle allows us to add more equations in order to get a univocally solvable system which could provide the flux vector. 266 roberto pagliarini, giuditta franco, vincenzo manca the two following definitions state the log-gain principle. for the detailed motivations of this principle we refer to papers on mp systems theory [10, 11, 12]. further developments providing theoretical and experimental evidences of this principle will be matter of forthcoming papers. definition 2 (discrete log-gain). let (z[i] |i ∈ n ) be a real valued sequence. then, the discrete log-gain of z, for each step i, is given by the following equation: lg(z[i]) = z[i + ] − z[i] z[i] . (4) principle 1 (log-gain regulation). let u [i] be the vector of fluxes at step i, for i ≥ , and let r ⊂ r be a set of n linearly independent vectors of rn. then, the log-gain regulation can be expressed in terms of matrix and vector operations: (u [i + ] − u [i])/u [i] = b × lg(x [i]) + c ⊗ p[i + ] (5) where: • b = (pr,x |r ∈ r, x ∈ x ) where pr,x ∈ {, } with pr,x =  if x is a reactant of r and pr,x =  otherwise; • lg(x [i]) = (lg(x[i]) |x ∈ x ) is the column vector of log-gains of substances; • c = (cr |r ∈ r ), where cr =  if r ∈ r, while cr = ; • p[i + ] is a column vector of values associated with the reactions and called (log-gain) offsets at step i + ; • × denotes the usual matrix product; • +, −, /, ⊗ denote the component-wise sum, subtraction, division and product of vectors. if we assume to know the flux unit vector at step i and put together the equations (5) and (3) at steps i and i +  respectively, we get the following linear system called offset log-gain adjustment module at step i, shortly olga[i], where the number of variables (reported in bold font) is equal to the number of equations: a ×uuu [iii + ] = x [i + ] − x [i + ] (6) (uuu [iii + ] − u [i])/u [i] = b × lg(x [i]) + ccc ⊗ ppp[iii + ]. given the vector lg(x [i]), for i = , , . . . , l, where l ∈ n, it is possible to prove that olga[i], for i = , , . . . , l − , univocally provides u [i] for i = , , . . . , l − . 4 an algorithm to estimate initial metabolic fluxes the iteration of the olga module, introduced in the previous section in order to deduce the fluxes of reactions, assumes the knowledge of the initial values of fluxes. this leads to the formulation of the following problem. problem 1 (initial fluxes problem). given x [] and x [], find a flux vector u [] such that it satisfies the initial dynamics, that is: x [] ≅ a ×u [] + x [] where ≅ means that we are searching for the vector u [] providing the minimum value of the stoichiometric error, defined as (‖·‖ represents the euclidean norm) ‖a ×u [] − (x [] − x [])‖. the algorithm given below solves the initial fluxes problem by using the knowledge about the dynamics in the first evolution steps in order to evaluate the amount of each substance which is necessary to activate the first evolution step. an algorithm for initial fluxes of metabolic p systems 267 4.1 the proposed algorithm our algorithm consists of three phases, some of which include different computational steps. the first phase consists in the approximation of initial fluxes by assuming that fluxes are proportional to the reactant quantities product. in the second phase an olga module is employed to approximate the amount of substances which needs as a fuel for the first evolution step. in the third phase an optimization problem is solved, which is based on the ada system (3). the details of the algorithm work-flow are described in the following. phase 1. the goal here is to roughly evaluate the initial reaction fluxes by assuming that they are proportional to the reactants for certain initial evolution steps i. this could appear restrictive, but at this stage we require only an initial approximation. therefore, at a given step i, for all r ∈ r, we set: ûr[i] = kryr[i] (7) where kr ∈ r, and yr[i] is the product of all substance quantities, at the step i, which are reactants for r. we suppose that if αr = λ then yr[i] = , and we set û [i] = (ûr[i] | r ∈ r). (8) for example, in a metabolic system having three kinds of substances, a, b, c, and as a set of reactions those given in the first column of table 1, the relationships between the fluxes of these reactions and their reactants are reported in the second column of table 1. for any x ∈ x , let us consider the following system, called local-stoichiometric module at the step i, where a is the stoichiometric matrix: x[i + ] − x[i] = ∑ r∈r(x) ax,rûr[i]. (9) if we assume that the constants kr, with r ∈ r, do not sensibly change in few steps, then by applying the system (9), in at most m − n steps either we obtain a square linear system of dimension m having maximum rank or the algorithm ends without an output. in fact, under the assumption that the rank of local-stoichiometric module is n (that is, the number of equations) and that the number of variables is m, with n < m, then the system is completely determined if we add other m − n equations. assuming to gain at least one new significant equation at each step i, then in at most m − n steps we obtain a system of (m − n)n + n equations with m variables and rank equals to m. in this way, we can obtain a square linear system having unique solution. in the example reported in table 1, we have a local-stoichiometric module of  equations having rank  which initially has  variables. at the second iteration of this module, starting from the step , we reactions maps r : a → bc kr a r : b → a kr b r : c → ab kr c r : c → cc kr c table 1: reactions and corresponding flux regulation maps of the local-stoichiometric module. 268 roberto pagliarini, giuditta franco, vincenzo manca get other  equations finally giving the following system: aaa[] − aaa[] = −kkkaaa[] + kkkbbb[] + kkkccc[] b[] − b[] = ka[] − kb[] + kc[] ccc[] − ccc[] = kkkaaa[] − kkkccc[] + kkkccc[] a[] − a[] = −ka[] + kb[] + kc[] bbb[] − bbb[] = kkkaaa[] − kkkbbb[] + kkkccc[] ccc[] − ccc[] = kkkaaa[] − kkkccc[] + kkkccc[] where a[] = , b[] = , c[] = , a[] = ., b[] = ., and c[] = .. this system has rank , and  linearly independent equations are reported in bold font. thus, we can obtain a system of equations having unique solution. in general, if we start with the local-stoichiometric module at the step  then we can compute the vector û [] = (ûr[] |r ∈ r ) by applying the local-stoichiometric module for a suitable number of steps. the algorithm stops with no output if after m − n iterations of the above technique, the number of equations linearly independent is less than m. phase 2. the aim of this step is to estimate the amount of substance necessary to start the first system evolution step. we describe this step along with two sub-phases. in the first sub-phase we solve olga[] module, with u [] = û [], where û [] is the vector of fluxes computed in the previous step. let us call u ∗ = (u∗r | r ∈ r) the solution of this system. however, if some elements of this vector have a negative value, then we choose a different set of n linearly independent reactions in olga and newly apply the above procedure. the algorithm stops with no answer if a positive solution is not found after a number of attempts equal to the number of such different sets. however, general methods are under investigation which systematically and efficiently search for an unique positive solution u ∗. in the second sub-phase we compute, for each x ∈ x , the amount of substance x̄ occurring for the application of the reactions in the first evolution step. if a− is the activation matrix defined by a−x,r = |αr|x, for x ∈ x , r ∈ r, then the searched values are obtained by computing the vector x̄ = a − ×u ∗. phase 3. in the last step we obtain the actual vector of fluxes u ◦ by solving a norm minimization problem [9] such that u◦ provides the minimum of the following (euclidean) norm ‖a × ξ − (x [] − x [])‖ (10) over all the positive vectors ξ = (ξr | r ∈ r) of r m such that a − × ξ = x̄ , (11) where x̄ is the vector computed at the previous step. 5 experiments in this section, in order to evaluate the performance of our algorithm, we apply it to two case studies: i) a synthetic oscillatory metabolic system and ii) the belousov-zhabotinsky reaction [8, 20, 21]. 5.1 a synthetic metabolic system let us consider the synthetic non-cooperative metabolic system without parameters called sirius [11] and given by table 2. firstly, we compute u [] = (ϕ(x [], ϕ(x []), . . . , ϕ(x []). then, we use our algorithm to approximate the vector of fluxes u ◦. the two vectors are essentially the same. an algorithm for initial fluxes of metabolic p systems 269 reactions flux regulation maps r : a → aa ϕ = ka/(k + kc + kb + k) r : a → b ϕ = kac/(k + kc + kb + k) r : b → λ ϕ = kb/(k + k) r : a → c ϕ = kab/(k + kc + kb + k) r : c → λ ϕ = kc/(k + k) x [] = (  ) k = k = k = , k = k = ., k =  table 2: the sirius mp grammar. 5.2 a biochemical case study in this subsection the application of the algorithm to approximate the initial fluxes of the belousovzhabotinsky reaction, also known as bz reaction, is discussed. this system represents a well-known example of biochemical oscillatory phenomenon, in fact this is the first evidence of a chemical clock. although the stoichiometry of the bz reaction is quite complicated, several simplified mathematical models of this phenomenon have been proposed. in particular, prigogine and nicolis [17] proposed a simplified formulation of the dynamics of the bz reaction, called brusselator, whose oscillating behaviour is represented by only two substances, x and y respectively, and it is governed by the following system of differential equations: dx dt = k − kx + kx  y − kx (12) dy dt = kx − kx  y where k = , k = , k =  − and k =  represent constant rates. we use the oscillatory dynamics obtained by solving the system (12), with initial conditions x =  and y = , as experimental data on which testing our algorithm. mp formulation of the brusselator is expressed by the set of rewriting rules reported in table 3, where, according to the literature, the fluxes of each rule r depend on the concentrations of the reactants of r. in fact, species x has two positive and two negative contributions, while one positive and one negative contributions characterize y. thus, the equations can be mapped into suitable stoichiometry by following the strategy described in [6]. rules r : λ → x r : x → y r : xxy → xxx r : x → λ table 3: a set of rewriting rules that describes the brusselator stoichiometry. in the case of bz we adopt a different strategy of validation of our algorithm. in fact, there is a complete correspondence between the dynamics computed by the differential model and that one computed by the equational metabolic algorithm using the fluxes deduced by olga module (figure 1), starting from the initial fluxes inferred by means of our algorithm. 6 conclusions the study of efficient methods for defining mp systems from experimental data is of crucial importance for systematic applications of mp systems to complex dynamics. an essential component of 270 roberto pagliarini, giuditta franco, vincenzo manca figure 1: the bz reaction fluxes calculated by solving the system (6) with initial vector of fluxes inferred by our algorithm. the regulation level of an mp system can be deduced by applying the log-gain theory to data that can be collected from observations of the system. a crucial task to perform in this context is the reliable determination of the initial vector of fluxes. in this paper we have devised an algorithm to infer the initial reaction fluxes of a biological network. the proposed algorithm has been validated on test cases of a synthetic metabolic oscillator and the brusselator phenomenon. future investigations will be developed with the aim i) to develop the computational features of this algorithm and ii) to show the applicability of our method to complex biological cases. bibliography [1] l. von bertalanffy. general systems theory: foundations, developments, applications. george braziller inc, new york, ny, 1967. [2] l. bianco, f. fontana, g. franco, and v. manca. p systems for biological dynamics. in [5], 81–126, 2006. [3] l. bianco, f. fontana, and v. manca. p systems with reaction maps. international journal of foundations of computer science, 17(1):27–48, february 2006. [4] l. bianco, d. pescini, p. siepmann, n. krasnogor, f.j. romero-campero, and m. gheorghe. towards a p systems pseudomonas quorum sensing model. lecture notes in computer science, 4361:197–214, 2007. an algorithm for initial fluxes of metabolic p systems 271 [5] g. ciobanu, m. j. pérez-jiménez, and g. păun (eds.). applications of membrane computing (natural computing series). springer-verlag new york, inc., secaucus, nj, usa, 2006. [6] f. fontana and v. manca. discrete solution to differential equations by metabolic p systems. theoretical computer science, 372:165–182, 2007. [7] j. s. huxley. problems of relative growth. 2nd ed., dover, new york, 1972. [8] d. s. jones and b. d. sleeman. differential equations and mathematical biology. chapman & hall/crc, february 2003. [9] d. g. luenberger. optimization by vector space methods, john wiley & sons, inc., 1969. [10] v. manca. log-gain principles for metabolic p systems, in a. condon et al. (eds.), algorithmic bioprocesses, chapter 28, natural computing series, springer-verlag, berlin heidelberg, 2009. [11] v. manca. the metabolic algorithm for p systems: principles and applications. theoretical computer science, 404:142–157, 2008. [12] v. manca. fundamentals of metabolic p systems. in g. păun, g. rozenberg, and a. salomaa, editors, handbook of membrane computing, chapter 16. oxford university press, 2009. to appear. [13] v. manca. metabolic p dynamics. in g. păun, g. rozenberg, and a. salomaa, editors, handbook of membrane computing, chapter 17. oxford university press, 2009. to appear. [14] v. manca and l. bianco. biological networks in metabolic p systems. biosystems, 91(3):489–498, 2008. [15] v. manca, l. bianco, and f. fontana. evolution and oscillation in p systems: applications to biological phenomena. lecture notes in computer science, 3365:63–84, 2005. [16] v. manca, r. pagliarini, and s. zorzan. a photosynthetic process modelled by a metabolic p system. natural computing, 2009. doi 10.1007/s11047-008-9104-x. [17] g. nicolis and i. prigogine. exploring complexity. an introduction. freeman ans company, san francisco, ca, 1989. [18] g. păun. membrane computing: an introduction. springer, 2002. [19] g. păun and g. rozenberg. a guide to membrane computing. theoretical computer science, 287(1):73–100, september 2002. [20] k. s. scott. chemical chaos. cambridge university press, cambridge, uk, 1991. [21] a. m. zhabotinsky. proc. acc. sci, usrr. 157:392, 1964. roberto pagliarini (july 23, 1981) earned his m. s. degree in computer science at university of verona, where he is currently a phd student in computer science. his research interests focus on system biology, molecular and membrane computing. he has collaborated with the biochemistry and vegetal physiology group at biotechnological department of verona university, in order to investigate computational models for crucial events related to photosynthetic organisms. he is co-author of scientific papers on this subject. 272 roberto pagliarini, giuditta franco, vincenzo manca giuditta franco (august 5, 1974) graduated in mathematics at the university of pisa and earned her phd in computer science, with a dissertation titled “biomolecular computing — combinatorial algorithms and laboratory experiments”, at university of verona, where she is currently an assistant professor. her research interests focus on discrete mathematics and computational models of biological systems, namely on dna and membrane computing. she gave talks in several international workshops and she is co-author of scientific papers published by prestigious sectoral journals. she is an effective member of both the european molecular computing consortium (emcc) and the international society for nanoscale science, computing and engineering (isnsce). vincenzo manca (march 9, 1949) is a full professor at the computer science department of the university of verona, where he is also chair of the bioinformatics programme. he obtained his degrees from the university of pisa. his research interests cover a wide class of topics from mathematical logic, discrete mathematics, and theoretical computer science to informational analysis and computational models of biological systems. at present, his investigation is focused on “natural computing” (in particular dna computing and membrane computing, synthetic computational biology). he is author of more than 100 scientific publications, appearing in international journals and scientific series. international journal of computers, communications & control vol. i (2006), no. 3, pp. 85-92 coalition formation for cooperative information agent-based systems nacer eddine zarour, sabrina bouzidi abstract: the communication technology evolution led to an increase of the carried out services’ and tasks’ number. the aim of actual research in the cooperation and particularly the negotiation between agents is to reach a coherent global state of the multiagent system by favoring agents’ synergy. in this paper, we propose a coalition formation-based negotiation model for the task allocation in the cooperative information agent-based systems. in this model, the agent that activates a negotiation seeks partners for achieving a complex task. the way that the partners take part in a coalition is done one by one according to the choice of all the coalition members. this choice is based on a multicriterion analysis. some obtained experimental results show the suggested model performances. keywords: negotiation, coalition formation, cooperative information systems, multiagent systems, task allocation. 1 introduction in an open environment as cooperative information systems (ciss), which gathers distributed; heterogeneous; and autonomous information systems (iss), the cooperation requires the intervention of a negotiation process in order to identify and structure the various problems, to propose and defend the solutions, to re-examine the intentions in a conflict, and finally to confirm the commitments [1]. in our context, each is is modelled by an autonomous, rational, and egoistic agent. several negotiation models were developed like market mechanisms [2], contract net protocol [3], social laws [4], multiagent planification [5], and organizational structures (coalitions, teams, congregations, etc.) [6]. the coalition formation is a negotiation technique which is particularly preferred for solving the conflicts between agents whose behavior is economic and thus rational. a coalition is a short-term organization based on specific and contextual commitments of involving agents. this allows agents to profit from their respective competencies. to solve the task allocation problem, several coalition formation-based models were suggested [7] [8] [3]. however, these models are not adapted to the context of ciss because they do not define relations of partnership between agents, but rather relations of subcontracting. generally in these models, the agent that activates a negotiation process will only decides to structure the coalition. it selects its partners separately according to its own desires. consequently, the agents’ autonomy is not respected. the objective of this work is to propose a coalition formation-based model for the task allocation in ciss. the proposed model, named cfotacis1 , is inspired from the reality of the cooperation between entreprises. it respects the agents’ autonomy by allowing them to take part in the coalition formation process. it is recursive and includes four phases, the initialization, the negotiation, the evaluation, and the finalization. the rest of the paper is organized as follows. in the following section, we present some related work to the coalition formation. in section 3, we develop the suggested negotiation model. section 4 enumerates the proposed model properties. some experimental results are presented in section 5. section 6 summarizes the contributions of this paper and the research perspectives. 1coalition formation for task allocation in cooperative information systems. copyright c© 2006 by ccc publications selected paper from icccc 2006 86 nacer eddine zarour, sabrina bouzidi 2 related work according to the literature, we consider two approaches for studying the coalition formation process, the macroscopic approach and the microscopic one. the macroscopic approach, which is based on the game theory, considers the coalition as the basic unit [9]. the microscopic approach considers agents as the basic unit where several models were proposed and applied in many fields, especially the e-business [10] and the task allocation [7] [8] [3]. we focuss our discussion on the models based on the second approach which deal with the task allocation problem. in [7], the authors proposed a model where agents exchange their preferences w.r.t. the possible solutions. although, forcing agents to form alliances ensures the termination of the negotiation process, but the model does not respect agents’ freedom since it imposes a solution which may not satisfy all agents. in [8], the authors propose a model where the agent that activates the negotiation process first filters agents of its environment. it uses a multicriterion analysis to find agents that best satisfy its requirements. then, it starts an argumentative negotiation with the candidates, which are classified according to its preferences. this approach does not ensure the reach of a consensus but limiting the negotiation time seems to be a reasonable strategy. two models are proposed in [3]. the first one is dedicated to the competitive agents. the agent selection is based on a preference model, which is built using several criteria. the major inconvenient of this model is that the representing agent of the coalition has a kind of authority on the coalition members. in the second model, agents cooperate in an altruistic way. the model ensures the reach of a consensus and has some advantages like the integration of the new partners one by one in the coalition. however, the altruistic strategy of agents does not require the gradual integration of agents in the coalition. this approach seems to be interesting in the case of egoistic agents. in [10], the authors proposed a formalization of the trust criteria which an agent grants to the other ones of the environment. this trust modeling ensures the stability in the coalition formation due to its reliability. however, the authors do not specify how to find the value of the current evaluation of trust. in order to response at this question in our proposal, we will deduce the trust from some criteria. 3 cfotacis: a coalition formation-based negotiation model in ciss before describing the suggested model, let us admit the following assumption: an agent which wants to integrate the cis must update the portal of this cis [4]. it must specify its localization, its know-how, the information about its branch of industry, its competencies, its capital, etc. cfotacis is recursive and includes four phases, the initialization, the negotiation, the evaluation, and the finalization. in the beginning of the negotiation process, the manager which is the first coalition member, follows only the model phases. after that, when new partners join the coalition and become members, all the members try to find the next partner. the negotiation process iters until the coalition size will be reached. let us give the essential description of the different phases 3.1 the initialization phase the manager consults the portal of the cis (first assumption) to obtain useful informations on agents. then, it decomposes the global task into subtasks w.r.t. the agents’ industry branches. for each subtask, the manager makes a set of the candidates among agents of the environment. coalition formation for cooperative information agent-based systems 87 3.2 the negotiation phase the manager simultaneously sends the proposals to agents of the same set. the message which the manager sends to the candidates must contain all information about the cooperation project, as well as the waiting period that accords to them. then, the manager receives the responses from the candidates. figure 1 represents the state transitions for a negotiation between a manager (m) and a candidate (c). after receiving a proposal from a manager for cooperation, a candidate can: • refuse to cooperate (refuse(c, m)); • accept to achieve the subtask (accept(c, m)); • accept to achieve the subtask and also propose to achieve another subtask(s) (ok(c, m)); • refuse to achieve the subtask but propose to achieve another subtask(s) (no(c, m)); • not answer. in this case, after the expiry of a waiting period, the manager considers the not reply as a rejection (refuse(c, m)). if the candidate agrees to cooperate, it must send to the manager a message that contains its consideration of the cost and the time for achieving the subtask, as well as the maximum reply time that it grants to the manager to evaluate the proposal. figure 1: state transition graph of the negotiation between the manager (m) and a candidate (c) 3.3 the evaluation phase after receiving the candidates’ responses, the manager evaluates and classifies them according to their importances. the evaluation is made using a multicriterion analysis. this phase includes two stages. the first one deals with the evaluation of the criteria and the second one with the aggregation of the evaluations. criterion evaluation in this stage, the manager evaluates agents which sent their proposals according to various criteria. in [11], the author defines a whole of interesting criteria for the selection of the most adequate partner. we select those which seem most significant to our context. we have classified the criteria into three categories: (a) criteria related to the partner the cooperation degree of the candidate agent with the manager (d1) 88 nacer eddine zarour, sabrina bouzidi the cooperation degree of the manager with the candidate agent (d2) the quality of the relation (d3) deduced from three others subcriteria: (i) respect of the allowed time for achieving the subtask (s1) (ii) the quality of achieving the subtask (s2). (iii) honesty with regard to the profit distribution after the last experiment (s3) the experiment in the cooperation: (i) the cooperation number carried out by the partner (a1) (ii) the cooperation number carried out by the partner without interruption (a2). (b) criteria related to the cooperation the capital (c1). the technical capacity (c2). the technological competencies (c3) the existence of a single capability (c4). (c) criteria related to the candidate agent proposal the candidate must specify in its acceptance message the time t and the cost c for achieving the subtask. the aggregation stage after the evaluation of the different criteria, the manager incorporates the evaluations associated with all the criteria in order to have an overall estimate of each agent. in cfotacis, the aggregation of the criteria is used in two cases: (i) for the trust quantification: the trust e, which results from the current relation with the agent partner, is carried out using the equation e = p1*s1+p2*s2+p3*s3 where p1, p2, and p3 are the weights that the agent must specify and p1+p2+p3=1. (ii) for the evaluation of each candidate: the aggregation operator is defined using a deviation at an aspiration point which gathers the preferred values of the criteria [12]. the evaluations are represented using a vector named b. the deviation b to the aspiration point a is defined by the relation. deviation(a,b) = maxj=1..p(λ j(aj-bj)) with λ j=1/( idealjantiidealj) and p is the number of criteria. ideal is a vector which gathers the maximal criteria values of the evaluation vector and antiideal is a vector which gathers the minimal criteria values of the evaluation vector. the best evaluation d* is that which minimizes the deviation to the aspiration point: d*=min{ deviation(a,b)} for well explaining the evaluation mechanism, let us consider the following example. agents ag1, ag2, and ag3 are evaluated according only to the criteria criterion1, criterion2, and criterion3 in the vectors eval1, eval2, and eval3 (table 1). agents ag1 ag2 ag3 ideal antiideal λ criterion eval1 λ (ideal-eval1) eval2 λ (ideal-eval2) eval3 λ (ideal-eval3) criterion1 0.18 0 0.10 1 0.14 0.50 0.18 0.10 12.5 criterion2 0.16 0 0.12 1 0.15 0.25 0.16 0.12 25 criterion3 0.10 1 0.18 0 0.15 0.375 018 0.10 12.5 deviation 1 1 0.50 d* 0.50 coalition formation for cooperative information agent-based systems 89 table 1: an illustrative example of the adopted aggregation operator 3.4 the finalization phase after evaluating agents’ proposals, the manager classes agents in a list according to their deviations. the manager sends the agent which is at the head of the list a message for inviting it to join the coalition; else it contacts the next agent in the list, and so on. the coalition members merge their deviation vectors to have a unified view of the candidates. this merger allows the coalition members to have supplemented information since agents have only a partial vision of their environment. the merger is carried out by the minimum operator. let us consider an example showing how to make the unified evaluation vector. agent ag3 is evaluated by the members ag1 (eval1) and ag2 (eval2) w.r.t. to the eleven (11) criteria (see section 3.3.1). eval1= (0.32, 0.56, 0.88, 20, 10, 2000, 1500, 5, 1, 0.53, 0.23) eval2= (0.56, 0.12, 0.68, 20, 10, 2000, 1500, 5, 1, 0.53, 0.23) the unified deviation vector is eval= (0.32, 0.12, 0.68, 20, 10, 2000, 1500, 5, 1, 0.53, 0.23) thus, for each subtask, the coalition members together try to choose the adequate partner. the negotiation process will be finished when the coalition size is reached, and therefore, the coalition members start the execution of the tasks. hence, with cfotacis, the decision of the coalition structure is collective. 4 the cfotacis properties the proposed model presents several advantages. the choice of the partners is carried out by the coalition members thanks to the unification process of agents’ estimates carried out by each member. the adopted aggregation operator does not authorize the compensation, which permits to choose a partner which has acceptable values for all the criteria. cfotacis ensures the equity property because it offers the same chances to the candidates by limiting the time of the binary negotiations. when the candidate specifies its waiting time, this avoid the coalition members to send message to an agent that is no more waiting. consequently, a considerable profit of time will be obtained. when a partner disengages, it is obvious that it will be sanctioned. this sanction is expressed by the a2 parameter (see section 3.3.1.a). in this case, the coalition members have two alternatives for replacing the disengaged agent. they propose the subtask to the coalition members to cheek whether it exists a partner which is interested to achieve it. therefore, a new negotiation process is avoided. the second alternative is applied when there are not members which are interested. the coalition is obliged to start a new negotiation process to find another partner. finally, if the manager could not find partners or the required size of the coalition is not reached; the negotiation process will be remade. 5 experimental results we have implemented cfotacis using jade 3.0 (java agent development). we have compared its performances with those of a similar model [3]. we remind that in [3], the author proposed two 90 nacer eddine zarour, sabrina bouzidi negotiation models. we are interesting to the one dedicated to egoistic agents considering the rationality of our agents. we have made several series of experiments. in this paper, we show the effect of varying the agents’ and subtasks’ number on the global time of the negotiation process (figures 2 and 3). figure 2: the negotiation time versus the agents’ number for different subtasks’ number in cfotacis figure 3: the negotiation time versus the agents’ number for different subtasks’ number in the model proposed in [3] in each negotiation process, we fixe the subtasks’ number and we increase the agents’ number to finally deduce the consumed time. the graphs presented in this section are drowning using the origin 6.0 software. on the graph of figure 2 (cfotacis), we observe that we could vary agents’ number from 2 to 100 and subtasks’ number from 2 to 10. whereas, on the figure 4 (the comparative model), we could vary agents’ number only from 2 to 8 and subtasks’ number only from 2 to 7. therefore, we deduce that the cfotacis’ scalability is stronger than the one of the comparative model. one reason of this result is that in the comparative model, all agents are in competition for the coalition formation. so, if we have "n" agents in the system, we have also "n" parallel negotiations which cause a scheduling problem in the system. on the other hand, we observe that the negotiation time in cfotacis increases as agents’ and coalition formation for cooperative information agent-based systems 91 subtasks’ number increase. but this increase stills reasonable and very small in comparing it with the one of the comparative model. this is due to the weak scalability of the last one. also, in the comparative model, there is no limitation of the negotiation time between agents 6 summary and conclusions in this paper, we have proposed a coalition formation-based negotiation model for the cooperative information agent-based systems, named cfotacis. the proposed model is inspired from the reality of the cooperation between enterprises. it includes four phases, the initialization, the negotiation, the evaluation, and the finalization. the essential properties of cfotacis are its consideration of the preferences of the coalition members for choosing the future partners. it does not apply any authority on agents and ensures the equity by limiting the time of the binary negotiations due to the absence of the cycles in the proposed negotiation protocol. however, it does not ensure the reach of a consensus but tries to encourage agents to cooperate. the simulation results show that in cfotacis the spent time for the negotiation is reasonable and the messages’ number is deterministic. these results have been confirmed by comparing the cfotacis’ performances with those of the negotiation model proposed in [3]. in the future work, we will improve cfotacis so that it will ensure the reach of a consensus. also, we will adopt it in other application fields like e-commerce. references [1] l. putnam, m. s. pool, “conflict and negociation in handbook of organizational communication: an intersciplinary perspective,” f.m.jablinetal, eds. saga newbury park,, pp. 549-599, california, 1987. [2] t. sandholm, “an algorithm for optimal winner determinism in combinatorial auctions,” in proc. of the 16th int. joint conf. on ai, stockholm, sweden,, 1999. [3] s. aknine, “modèles et méthodes de coordination des systèmes multi agents,” thesis of doctorate, university paris ix dauphine-ufr science of the organizations,, december 2000. [4] n. zarour, m. boufaida, and l. seinturier, “a negotiation framework for organizational information systems,” int. journal of information technology and decision making (ijitdm). world scientific publishing co,, vol. 3, nř2, pp. 213-238, june 2004. [5] a. e. f. saghrouchni and s. haddad, “recursive model for distributed plannin,” in proc. of the 2nd int. conf. on multi-agent systems (icmas’96),, aaai press. kyoto, japan, 1996. [6] c. brooks and e. durfee, “congregating and market formation,” proc. of the 1st int. joint conf. on autonomous agents and multiagent systems,, acm press, pp 96-103, 2002. [7] a. e .f. saghrouchni and g. vauvert, “formation de coalitions pour agents rationnels,” in proc. of ilipn’2000. viiith days of lipn. multi-agent systemes and formal specification and software technologies ,,viltaneuse, france 09, 11-12, 2000. [8] l. k. soh, c. tsatsouli, and h. servey, “a satisficing negotiated and learning coalition formation architecture,” in v.lesser, c.ortiz, and m.tambe, editors, distributed sensor networks: a multi-agent perspective,,kluwer academic publishers, 04, 25-27, 2001. [9] l. larson and t. sandholm, “anytime coalition structure generation: an average case study,” journal of experiments and therotical al,11, 1-20, 2000. [10] vassileva, j. breban and s. horsch, “agent reasoning mechanism for long-term coalitions based on decision making and trust,” computational intelligence, 18, 4, special issue on agent mediated electronic commerce,, pp 583-595, nov. 2002. 92 nacer eddine zarour, sabrina bouzidi [11] c. li and k. sycara, “a stable and efficient scheme for task allocation via agent coalition formation,” www.2.cs.cmu.edu/ softagents/papers/cco3.pdf,, 2003. [12] ] n. r. jennings, p. faratin, p. johnson, m. j. o’brien, and m. wiegand, “using intelligent agents to manage business processes,” practical application of intelligent agents and multi-agents technology, paam 96,1999. nacer eddine zarour, sabrina bouzidi university mentouri of constantine lire laboratory, 25000 algeria e-mail: nasro_zarour@yahoo.fr, sab_bouzidi@yahoo.fr international journal of computers, communications & control vol. i (2006), no. 3, pp. 5-12 from algorithms to (sub-)symbolic inferences in multi-agent systems boldur e. bărbat, sorin c. negulescu abstract: extending metaphorically the moisilean idea of “nuanced-reasoning logic” and adapting it to the e-world age of information technology (it), the paper aims at showing that new logics, already useful in modern software engineering, become necessary mainly for multi-agent systems (mas), despite obvious adversities. the first sections are typical for a position paper, defending such logics from an anthropocentric perspective. through this sieve, section 4 outlines the features asked for by the paradigm of computing as intelligent interaction, based on “nuances of nuanced-reasoning”, that should be reflected by agent logics. to keep the approach credible, section 5 illustrates how quantifiable synergy can be reached even in advanced challenging domains, such as stigmergic coordination by injecting symbolic reasoning in systems based on sub-symbolic “emergent synthesis”. since for future work too the preferred logics are doxastic, the conclusions could be structured in line with the well-known agent architecture: beliefs, desires, intentions. keywords: nuanced-reasoning logic, multi-agent systems, sub-symbolic inferences, stigmergic coordination, synergy 1 introduction. from chrysippus, via moisil, to agent logics for over 40 years, determinism and bivalence of chrysippean logic were the pillars of computer science; likewise, algorithms were the backbone of computer programs, complying with their etymon: pro-gramma = what is written in advance. they sufficed for both fortran-like number crunching and cobol-like business data processing. when early real-time applications (firstly, operating systems) required less autistic programs, algorithms tried to adapt and bizarre terms, such as “unsolicited input”, were coined to fit the incipient non-determinism due to user free will. bivalence not only survived, but also grew in importance strongly backed by hardware. indeed, in the early 70’s, the role of bivalent logic transcended the borders of narrow data processing, penetrating “computer-aided x”, where x stays for almost any intellectual activity. thus, “algorithmic reasoning”, instead of being perceived as a side effect of “analogue humans loosing the battle with digital computers”, became a paradigm in the very sense of kuhn. emerging within this “digital zeitgeist”, nuanced-reasoning [12] was too anti-paradigmatic to redress the balance at least in it (besides, it was technologically useless, as most fascinating heresies). only after the “pc-windows-www” revolution was this “nuanced” kind of fuzzy logic developed by zadeh as “computing with words” acknowledged as an alternative approach to software development (albeit seldom necessary). on the other hand, after a decade of success stories, within artificial intelligence (ai) the perpetual stronghold of applied logics and symbolic processing -, expert systems (based on the newell-simon hypothesis) began to disappoint, because of their brittleness (in all nuances of the word), showing the actual limits of the symbolic paradigm. the reaction was prompt, overwhelming, and exaggerated: “gofai” (good old-fashioned ai) has to be replaced by “bic” (biologically inspired computing), based on sub-symbolic paradigms. the most nihilist and powerful one, i.e. the ethological paradigm (based on the physical-grounding hypothesis), is, for good reasons, still in vogue. however, paradoxically, new, “much nuanced” logics are already used in modern software engineering, tending to become necessary mainly for non-trivial mas, despite many, major, and obvious adversities. the paper aims to: a) defend not just those logics but also the inexorable need of symbolic processing, copyright c© 2006 by ccc publications selected paper from icccc 2006 6 boldur e. bărbat, sorin c. negulescu even in systems where intelligent behaviour emerges sub-symbolically (because of its synergistic potential); b) after explaining why synergy, show how it can be reached. (that is why the title contains the unusual term “(sub-)symbolic”.) thus, after a short history (section 2), the approach is rendered from an anthropocentric perspective: the agent shall behave naturally (i.e., closer to human behaviour), not the opposite (section 3). through this sieve, section 4 outlines the features and symbolic mechanisms asked for by the paradigm of “computing as intelligent interaction”, based on “nuances of nuancedreasoning”. to keep the approach credible, section 5 sums up recent research showing how quantifiable interparadigmatic synergy can be reached even in advanced challenging domains, such as stigmergic coordination by injecting symbolic reasoning in systems based on sub-symbolic “emergent synthesis”. since for future work the preferred logics are doxastic, the conclusions (section 6) far from being apodictic can be structured in line with the well-known agent architecture: beliefs, desires, intentions. 2 history. in search of synergy the research roots are in over 20 papers/articles published in 1997-2002 and synthesised in [3]. after 2002 there are two history strands having the common denominator “looking for synergy in the world of humans and agents”: • stigmergic coordination. after minor improvements in 2003, in [13] some (less quantifiable) synergy was achieved deviating from the biological model applied in the elitist ant systems by adding symbolic processing components (firstly adapting the environment and secondly instituting limited central coordination). in [7] a refined experimental model attested that in operational research, through “stigsynergy” the same solution quality could be reached with fewer ants than used in common benchmarks, saving thus at least one order of magnitude of processing time. • human-agent communication. user-avatar interaction was illustrated in medical captology, employing pathematic agents as virtual therapists [4]. the framework was widened (in the context of broadband communication) to any anthropocentric interface in [5], focusing on the languages enabled by modern multimodal interfaces. on a more abstract level, [6] showed how trans-disciplinary metaphors, applied in communication procedures, can help humanists and technologists get close. 3 approach. towards natural behaviour of artificial entities two perspectives guide the approach: anthropocentric systems, as non-negotiable goal, and agentoriented software engineering (aose), as amendable means depending on long-range effectiveness. (anthropocentrism means focusing on the human being as user, beneficiary, and, ultimately, raison d’être of any application or, more general, technology [5]. here, “anthropocentric” is synonymous to “humancentred”). the premises are: 1. regarding the goal: • despite their fast rising technological level, most it applications involving intense humancomputer interaction (hci) have low degree of user acceptance, ignoring the very slogan: “computing as interaction” [1]. • that drawback holds mainly for ai systems, widening the gap between humanists and technologists. • the main cause: system development is rather technocentric than anthropocentric. from algorithms to (sub-)symbolic inferences in multi-agent systems 7 • the main neglected human features are: 1f) invariants: humans are intrinsically analogue in information processing and multimodal in perception. 2f) prevalent in hci: humans prefer symbolic communication but sub-symbolic response. 2. regarding the means: • the it infrastructure is sufficiently advanced (in both facts and trends: nanoelectronics, broadband communication, semantic web, multimodal interfaces, etc.) to allow anthropocentrism for most it applications. • intelligent system behaviour whatever that could mean becomes a crucial user expectation. regrettably, in ai neither technology, nor design philosophy were yet able to offer it in a user-relevant manner. • nevertheless, agent technology, as ai flagship, proved to be a significant step towards user acceptance. • aose is not bounded to ai, but tends to become the dominant it development paradigm [11], [15]. while the first premises in each category are generally accepted, the last ones are debatable (e.g., a4b is rather an “author thesis” and b4 is strongly contested by object-oriented designers). the corollaries relevant for the paper are: • c1. the geometrically increasing computing power (due to moore’s law) promotes at least five factors tending to reduce radically the role of any species of logic in it at least for applications affordable on usual configurations: 1. since deterministic applications are vanishing, the conventional algorithm is not anymore program backbone. 2. even when still useful, the conventional algorithm is not anymore the main programming instrument (being hidden in procedures easily reached in a host of libraries or being generated by 4gl). 3. in ai the symbolic paradigm is steadily replaced by several sub-symbolic ones, based on fine-grain parallelism. 4. even when symbols are used, they are stored in and retrieved from huge and cheap memory, rather than processed through sophisticated reasoning schemes (case-based reasoning is just a blatant example). 5. cognitive complexity of new, sophisticated logics is too high for a designer, when “cut and try” is affordable. • c2. the rules for human-agent interaction can and should be set by users (at least while we have the demiurgic privilege of shaping agents as we like it!): 1. since interaction is carried out through the interface, anything behind it is user-irrelevant. 2. since natural and artificial intelligence encounter at interface level, they shall join, not collide. 3. to join closer to human demeanour, users should engage interface agents as naturally as possible. 4. hence, let agents behave more and more naturally (e.g., it is not difficult to go beyond gestures to show emotivity, since not emotion has to be replicated, but its appearance firstly forged, later more genuine [5]). 8 boldur e. bărbat, sorin c. negulescu 5. since interaction involves communication, the communication procedures (the term “procedures” is here a prudent, albeit partial, place holder for “language” or, even, “empathy”) must be those humans are familiar with (e.g., body language can and shall be added to verbal messages). 6. since beside how to communicate (the vehicle), it is vital what (the message), beyond the procedures, there must be a representational compatibility between humans and agents (expressed through common ontologies, primitive surrogate of a yet impossible common “weltanschauung”). if regarding c2.1-c2.4, the blend “symbolic/sub-symbolic” is unclear, c2.5 implies symbols, whereas c2.6 is stronger, implying symbolic inferences. at least some of them shall be based on logic(s). for short, acknowledging the decline of logic (because of c1), its necessity is asserted (in line with c2). anyway, the role of desirable features of new logics could be credibly defended outside largescale systems, were the proof is futile only comparing diverse implemented mas designed with or without employing such logics. because of c1.5, this is impractical. to weaken this main approach drawback, the argument is split to render two complementary paths, both based on the idea that the blend “symbolic/sub-symbolic” yields synergy: a) axiological perspective: why and what symbolic processing (section 4, closer to a position paper); b) praxiological perspective: how can symbolic processing be added in experimental sub-symbolic models (section 5, closer to a technical report). 4 nuances of nuanced-reasoning in human-agent dialogue it would be both arrogant and absurd if authors lacking educational background in both mathematics and logic would utter value judgments in these fields. hence: • without claiming that moisil actually attached to “nuanced” other connotation than “fuzzy”, bearing in mind his gifted baroque way of catalysing brainstorming, it is legitimate to use undertones of three (partial) synonyms “degree”, “gradation (sequence, development)”, “fine distinction” as metaphor sources. • all assertions about existing or desirable logics mirror the angle of potential users of such logics, mainly in interface agents and mas based on stigmergy. they convey “calls for help”, not requests, and are uttered as desires. • since, as regards logics dealing with agent-related aspects, for many basic aose requests, fisher’s logic [9] seems for a non-specialist by far to be the most responsive and appropriate, all desiderata below refer to it. ¥ diversified inferences. smith’s propositional-representation theory should be: a) revisited and thoroughly extended; it shall include all main mechanisms (symbolic or not) employed by humans to infer and to make decisions (even “right-hemisphere based” processes, as educated guess, intuition or gambling); b) applied, depending on the sub-field; such mechanisms should be replicated as “omomorph”, as adequate (not as possible!) in agent decision making schemata. if all of them would reach the elegance and dependability of logic, it would be nice, but let it be yet a kind of “princess lointaine”, because in real-world systems most concepts involved tend to become blurred. for instance, even metalogic is now nuanced: soundness remains crucial (still apart from time-critical applications it can be circumvented through revisable reasoning); completeness is more negotiable (the oversimplified solution: “otherwise, nothing happens”). ¥ “more time for agents”. nowadays, any software piece unable to interact efficiently with unpredictable environments (humans included) and with its peers is hardly useful outside toy-problems. that from algorithms to (sub-)symbolic inferences in multi-agent systems 9 means: parallelism, temporal dimension, non-determinism, reactivity. corollary: any such program entity has to be implemented as execution thread (atomic, sequential, asynchronous and dynamic) [3]. to develop into an agent, the thread needs also non-trivial informational and motivational components. (however, the “dynamic component” is a treble confusing term: a) it is not a component but the very agent nature; b) the “sense of time” refers to much more than activity e.g., “waiting” is rather inactivity; c) “dynamic activity” sounds pleonastic from any stance.). ¥ no “start” and no “synchronous agents”. if for e-commerce, it is conceivable to consider that the entire world restarts with each transaction, for process control (even for discrete manufacturing) such eternal re-birth is practically excluded. moreover, it is against the very spirit of: a) the (still dominant) “client-server” paradigm (the tailor is not spawned every time a client needs new clothes); b) real-time software engineering (to react timely to environment stimuli, the thread must exist to handle the interrupt); c) agency itself: the basic feature of autonomy (implying asynchronous behaviour) is endangered. luckily, current timers permit a “fine-grain universal metronome”, avoiding the costly implication: “asynchronously executing agents → temporal logic of the reals”. thus, “asynchronously executing agents” should be perceived as pleonasm, despite their logic is still based upon a discrete model of time, with both infinite past and future. (in real-world mas, there is no “big-bang”.) ¥ no “negative introspection”. unable to comment upon the advantages of ideal doxastic logics outside large-scale mas, the authors feel that positive introspection is highly desirable but that assuming the negative one is ineffective for both agents and humans. thus, if it makes sense and simplifies the features, maybe kd4, not kd45. ¥ no more certitude. less checking. until agent logics offer mechanisms to deal with uncertainty, at least, in simple expressions, the “ugly chasm” separating formal theory and practical system development [9] cannot be avoided. just a plain example of a badly needed such mechanism: exception handling. even primeval animals move “algorithmically” (“if gap then get round, else go on”) only a few steps, in very hostile environments. moreover, reaction to stimuli cannot mean perpetual looking for the stimulus. (instead, the stimulus causes an interrupt that can be treated as exception.) the cardinal hindrance stems not from logic, but from the mechanisms employed: neither nature, nor technology can afford in the long run mechanisms involving large amount of testing because they are too time-consuming tools: “if temperature > n oc then alarm”. thus, the main problem is not the semantics of “unless”, but the repeated checking of “if ”. from this angle, the semantics of “unless” in reiter’s default logic would be more tempting if it would be rather diachronic than synchronic (a bird is or is not a penguin but will never become one). however, a kind of m operator meaning roughly “while no alarm is heard it is consistent to believe that nothing happened”. indeed, the agent is condemned to be a risk-taker, hearing (reactively) the environment, not listening (proactively) to it: the agent stops performing a task only if he hears the alarm bell. the point is that this “if ” belongs to the metalanguage and does not involve thermometer reading! perhaps a non-monotonic logic with “reiter-unless” inserted in a temporal logic with “fisherunless” is what designers dream of. (since dreams are forward-thinking, maybe more: a graphical “flowchart-like” symbol of this m shall be understood by an interpreter of an “aose-ml” -without “object legacy” that can create code for defining, raising, propagating, and handling exceptions. 5 down to ants: synergy, stigmergy, and symbols since as regards stigmergic coordination the research was recently summarised in [7], [8], [13] and the current results are presented in [7], here, only the approach and some relevant aspects of achieving synergy through grafting symbolic processing onto sub-symbolic systems are emphasised. the and written in capitals emphasises the similarity with the synonymous boolean operator, i.e. synergy is searched for in all possible combinations. the mas that relies on sub-symbolic processing more than any other is the biologically inspired ant system (as) where the sub-symbolic echelon is represented by the pheromones in such a way that global 10 boldur e. bărbat, sorin c. negulescu information is available locally. moreover, this system is not only sub-symbolic by itself but it also manifests autopoiesis (it emerges subsymbolic) and the trouble to understand what is in fact going on at system level, is less upsetting than in the case of more familiar sub-symbolic paradigms (as artificial neural networks or evolutionary algorithms) since ant behaviour is easier to follow due to its simplicity. the stigmergy related to mas, “describes a form of asynchronous interaction and information exchange between agents mediated by an ‘active’ environment”, or “the production of certain behaviour in agents as a consequence of the effects produced in the local environment by previous behaviour”. in this context: “the agents are simple, reactive, and unaware of other agents or of the emerging complex activities of the agent society; the environment is an important mechanism to guide activities of these agents and to accumulate information about ongoing activities of the whole agent society” [13]. whereas in [2], [10], [14], the approach was mainly based on self-organization, the approach is an alternative one by obtaining synergy through adding symbolic processing (firstly adapting the environment and secondly instituting limited central coordination). as shown in [7], the as manifests a threshold and it depends on problem type and complexity; the same solution quality can be obtained with fewer ants than used in common benchmarks, saving thus at least one order of magnitude of processing time. details can be found in [13] (improvements to conventional eas), [8] (motivation, approach and new perspective), and [7] (experimental results about moving the threshold in fact modifying the sigmoid function to improve efficiency). possible scientific openings e.g. whether in real-life problems there are instances when “many starts from four” can be found also in [7]. 6 conclusions: beliefs, desires, intentions the conclusions are presented within the bdi frame not just to keep up the atmosphere, but because: a) the conclusions are far from being apodictic and the logics preferred for mas are doxastic; b) using the meanings given by smets, the belief functions have rather dispersed values, and the plausibility functions have quite low values for section 4 and some assertions of section 3; c) the largest part of section 3 is actually a gathering of desires; d) intentions is more humble than “future work”; d) if we intend to interact keener with agents, we have to make steps towards common ontologies preferably based on success stories. beliefs: • despite the fall of conventional algorithms and the fast rise of sub-symbolic paradigms, symbolic processing is unavoidable in aose and agent logics become necessary even outside large-scale systems. • an essential problem in designing agents is implementing their reactivity; main cause: current development environments admit rather very poor exception handling. • even mas based on the most radical sub-symbolic paradigm (stigmergy being “a-symbolic” par excellence), become more effective grafting upon symbolic processing. • taking into account the increasing weight of mas acting as man-machine systems, the anthropocentric perspective requires that human-agent communication should be the model for agentagent communication. • although the brains-surrogate of current agents is still primitive, it shall have two hemispheres, as human do. the left hemisphere, where logic is king, is designed predominantly to implement pro-activeness, whereas the right one, as realm of its instincts, emerges sub-symbolically, and is the main source of reactivity (again, similar to humans). desires: they are addressed to future agent logics, from an outsider (but outspoken aose) perspective: from algorithms to (sub-)symbolic inferences in multi-agent systems 11 • tackle neglected problems common to all kinds of agent-based systems (dwarfs and trolls welcomed). • give us sectorial solutions. they are just fine to begin with. completeness in its polysemy can follow. (if the mas is sound, nobody minds if agents manifest a bit of schizophrenia.) • don’t give us sectorial approaches. they are less applicable (e.g., time without uncertainty or vice versa). • let mas be lasting, even if some agents are mortal. • don’t condemn mas to act synchronously. both environment and users are too capricious to accept it. (instead, we promise to be happy with discrete time.) • don’t sentence us to perpetual testing. to rephrase dijkstra: (the condition in) if is harmful. (allow us to handle exceptions, and we promise not to exaggerate eliminating all “iffs”.) • help us pass the mental rubicon separating objects from agents. (no agent is fond of being considered “intelligent and responsive like an object”.) intentions: • as regards stimergic coordination, the intentions are those states in [7]: for short, increasing “stigsynergy”. • showing how agent reactivity can be significantly improved, through exception-driven multimodal interfaces. • trying dialectics as inference mechanism for negotiation strategies used by e-commerce agents. acknowledgment. this paper is related to the eu-sponsored action cost-298. references [1] “agentlink roadmap: overview and consultation report”, agentlink iii. agent based computing, university of southampton, 2004. [2] banzhaf, w., “self-organizing systems”, encyclopedia of physical science and technology, academic press, new york, 14, pp. 589-598, 2002. [3] bărbat, b.e., “sisteme inteligente orientate spre agent”, ed. academiei române, bucureşti, 467 pages, 2002. [4] bărbat, b.e., “the avatar a pseudo-human extending the genuine one”, the good, the bad and the irrelevant: the user and the future of information and communication technologies, (l. haddon et al, eds.), pp. 38-42, media lab/university of art and design, helsinki, 2003. [5] bărbat, b.e., “the impact of broad-band communication upon hmi language(s). (chapter 7.) communicating in the world of humans and icts. (chapter 8.)”, cost action 269. e-citizens in the arena of social and political communication, (l. fortunati, ed.), pp. 113-142, eur21803, office for official publications of the european communities, luxembourg, 2005. [6] bărbat, b.e., n. bulz, “e-world and real world. from analysing concepts towards integrating approaches”, proc. of the wosc 13th international congress of cybernetics and systems, university of maribor in cooperation with encyclopaedia of life support systems, 1, pp. 47-57, 2005. 12 boldur e. bărbat, sorin c. negulescu [7] bărbat, b.e., s.c. negulescu, c.b. zamfirescu, “human-driven stigmergic control. moving the threshold”, proc. of the 17th imacs world congress (scientific computation, applied mathematics and simulation), paris, july 11-15, 2005. [8] bărbat, b.e., c.b. zamfirescu, s.c. negulescu, “the best from ants and humans: synergy in agent-based systems”, studies in informatics and control journal, 13, 1, 47-59, 2004. [9] fisher, m., “temporal development methods for agent-based systems”, autonomous agents and multi-agent systems, 10, pp. 41-66, springer science + business media inc., 2005. [10] knyazeva, h., haken, h., “synergetics of human creativity. dynamics, synergetics, autonomous agents”, anonlinear systems approaches to cognitive psychology and cognitive science singapore: world scientific, pp. 64-79, 1999. [11] luck, m., mcburney, p., priest, c., “a manifesto for agent technology: towards next generation computing”, autonomous agents and multi-agent systems, 9, 203-252, kluwer academic publishers, 2004. [12] moisil, gr.c., “lecţii despre logica raţionamentului nuanţat”, ed. ştiinţifică şi enciclopedică, bucureşti, 1975. [13] negulescu, s.c., bărbat, b.e., “enhancing the effectiveness of simple multi-agent systems through stigmergic coordination”, fourth international icsc symp. on engineering of intelligent systems (eis 2004), icsc-naiso academic press canada, 149 (abstract; full paper on cd-rom enclosed), 2004. [14] parunak, h.v.d., brueckner, s., john a. sauter, matthews, r., “global convergence of local agent behavior”, submitted to the fourth international joint conference on autonomous agents and multi-agent systems (aamas’05), 2005, available at http://www.erim.org/ vparunak/ aamas05converge.pdf. [15] zambonelli, f., omicini, a., “challenges and research directions in agent-oriented software engineering”, autonomous agents and multi-agent systems, 9, 253-283, kluwer academic publishers, 2004. boldur e. bărbat “lucian blaga” university of sibiu faculty of science address: 5-7, ion raţiu street, sibiu, 550012, românia e-mail: bbarbat@gmail.com sorin c. negulescu “lucian blaga” university of sibiu faculty of engineering address: 4, emil cioran street, sibiu, 550025, românia e-mail: sorin−negulescu@yahoo.com international journal of computers, communications & control vol. i (2006), no. 1, pp. 59-67 personalized e-learning implementation the gis case athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou abstract: personalized e-learning implementation is recognized as among one of the most interesting research areas in the distance learning web-based education. in particular, the gis e-learning initiatives that incorporate —by default— a number of sequencing spatial techniques (i.e. spatial objects selection and sequencing), will well benefit from a welldefined personalized e-learning implementation with embedded spatial functionality. this is the case addressed in this paper. the gis e-learning implementation introduced in the current paper is based on a set of teaching (lecturing) rules according to the cognitive style of learning preferences of both the learners and the lecturers as well. it is important to note that, in spite of the fact that most of these teaching rules are generic (i.e. domain, view and user independent), there are no so far well-defined and commonly accepted rules on how the learning spatial gis objects and techniques should be selected and how they should be sequenced to make “instructional sense" in a web-based gis course. keywords: e-learning, distance learning, gis, lis, am/fm, spatial sciences. 1 introduction gis learning object selection is the first step to adaptive space navigation and adaptive course sequencing with gis (space) functionality. adaptive navigation seeks to present the gis learning objects associated with an on-line course in an optimized order, where the optimisation criteria takes into consideration the learner’s background and performance in related learning objects [2], whereas adaptive course sequencing is defined as the process that selects learning objects from a digital repository and sequence them in a way which is appropriate for the targeted gis learning community or individuals [16, 11, 17]. selection and sequencing is recognized as among the most interesting research questions in intelligent web-based gis education [13, 6]. although many types of intelligent learning systems with no gis functionality are available, in the proposed gis case five key components could be identified, which are common in most gis systems, namely: data acquisition, retrieval and analysis, preliminary data processing, database construction, and communication and visualization. figure 1 provides a view of the interactions between these five gis modules [18]. figure 1: the main components of a gis intelligent learning systems in most intelligent learning systems that incorporate course sequencing techniques, the pedagogical module is responsible for setting the principles of content selection and instructional planning. the selection of content (in our case, the gis learning objects) is based on a set of teaching rules according to the topology-based cognitive style or learning preferences of the learners [3, 15]. in spite of the fact that most of these rules are generic (i.e. domain independent), there are no well defined and commonly accepted rules on how the gis learning objects should be selected and how they should be sequenced to make “instructional sense” with gis functionality [14]. moreover, in order to design highly adaptive learning systems a huge set of topology-based rules is required, since dependencies between educational characteristics of gis learning objects and learners are rather complex [8, 12, 9, 10]. copyright c© 2006 by ccc publications 60 athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou in this paper, the learning object selection problem in gis intelligent learning systems is addressed by proposing a methodology that instead of “forcing” an instructional designer to manually define the set of selection rules; produces a decision model that mimics the way the designer decides, based on the observation of the designer’s reaction over a small-scale learning object selection problem. in the next (second) section the gis learning object selection process is discussed as a part of a spatial-course sequencing. the third section discusses a topology-based filtering process of gis learning objects used for reduction of learning objects searching space and proposes gis metadata elements that can be used for learning object filtering according to the open gis consortium guidelines (standards) for gis functionality. 2 gis learning object selection in spatial-course sequencing in automatic and semi-automatic course sequencing, the main idea is to generate a course suited to the needs of the learners. as described in the literature, two main approaches for automatic and semi-automatic course sequencing have been identified: adaptive courseware generation (acg) and dynamic courseware generation (dcg) [3]. in acg the goal is to generate an individualized course taking into account specific learning goals, as well as, the initial level of the student’s knowledge. the entire course is adaptively generated before presenting it to the learner, instead of generating a course incrementally, as in a traditional sequencing context. in dcg on the other hand, the system observes the student progress during his interaction with the course and dynamically adapts the course according to the specific student needs and requirements. if the student’s performance does not meet the expectations, the course is dynamically re-planned. the benefit of this approach is that it applies as much adaptivity to an individual student as possible. both, the above mentioned techniques, in the case of gis lecturing employ a pre-filtering topology-based mechanism to generate a group (“pool”) of gis learning objects that match the general content requirements. this pool can be generated from both distributed and local gis learning object repositories, provided that the appropriate access controls have been granted. the filtering process is based on general requirements such as topology, gis functionality, characteristics of the teaching language, the media of the targeted gis learning objects, as well as, the use of ontologies and topology for the domain in question (known as the spatial knowledge module). the result of the filtering process falls in a virtual pool of gis learning objects that will act as an input space for the content selector (gis functionality). after the creation of the initial pool of the gis learning objects, the content selection process and the underlined topology is applied based on learner characteristics, such as accessibility and competency characteristics or even historical information about related learning activities, included in the student model module. in the next section some filtering elements based on the open gis consortium (o-gis.c) learning object metadata (lom) standard are presented and the methodology is analyzed for the proposed content selection phase of a semi-automatic gis course sequencing with spatial functionality. 3 gis learning object filtering generally, the main goal of a filtering process is the reduction of the searching space. gis learning object repositories (g.lor) often contain hundreds of thousands of gis learning objects, thus the selection process may require a significant computational time and effort. in most intelligent learning systems, learning object filtering is based, either on the knowledge domain they cover, or on the media type characteristics they contain [11]. in the open gis consortium’s (o-gis.c) spatial metadata model, there exist a number of elements covering requirements such as gis functionality, topology, geometry, subject, teaching language, media type of the targeted gis learning object, etc. figure 2 presents the o-gis.c elements identified for each one of the above mentioned topology-based filtering categories and the conditions required. alternatively, filtering can be based on integration of the o-gis.c metadata model elements and ontologies [19, 16]. those approaches assume that both the domain model and the learning objects themselves use the same ontology [14] and limit the filtering only to knowledge domain filtering with gis functionality. personalized e-learning implementation the gis case 61 figure 2: elements for gis learning object filtering the gis learning object selection procedure typically, the design of highly adaptive learning systems requires a huge set of rules, since dependencies between educational characteristics of learning objects and learners are rather complex. this complexity introduces several problems on the definition of the rules required [20, 4], namely: inconsistency, when two or more rules are conf1icting. conf1uence, when two or more rules are equivalent. insufficiency, when one or more rules required have not been defined. the proposed methodology is based on an intelligent mechanism that tries to mimic an instructional designer’s decision model on the selection of the gis learning objects. for this purpose, a framework that attempts to construct a suitability function that maps gis learning object characteristics over learner characteristics and vice versa is designed. the main advantage of this method is that it requires less effort by the instructional designer, since instead of identifying a huge set of rules related to space and topology, only the designer’s selection from a small set of gis learning objects over a reference set of learners is needed. the machine learning technique will try then to discover the dependence between gis learning object and learner characteristics that produce the same selection of gis learning objects per learner as the instructional designer did [1, 13, 20]. the proposed methodology does not depend on the characteristics used for learning objects and learner modelling, thus can be used for extraction of even complex pedagogy-related dependencies. it is obvious that since characteristics/requirements like the domain are used for filtering, the dependencies produced are quite generic, depending only on the educational characteristics of the content and the cognitive characteristics of the learner gis student [5, 2, 16]. figure 2 presents a graphical representation of the proposed selection model extraction framework, which it is consisting of the following three main steps: 1) the 3-d modelling and selection of gis criteria the selection methodology is generic, independent of the learning object and the learner characteristics used for the selection. in the proposed method experiment, gis learning object characteristics was used derived from 62 athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou figure 3: selection model extraction framework the o-gis.c standard, and learner characteristics derived from the ims global learning consortium inc. learner information package (lip) specification. there exist many criteria affecting the decision of gis learning objects selection. those criteria that lead to a straightforward exclusion of learning objects, such as the topology, the subject, the language and the media type and the gis functionality are used for filtering. the rest set of criteria such as the educational characteristics of gis learning objects are used for selection model extraction, since the dependencies of those criteria can model the pedagogy applied by the instructional designer, when selecting learning objects. those criteria, due to the complexity of interdependencies between them, are the ones that cannot be directly mapped to rules from the instructional designer. thus an automatic or semi-automatic extraction method, like the proposed one, is needed. 2) the selection model extraction after identifying the set of the characteristics and the criteria (see: step 1) that will be used as the input space of the i/o selector, the extract procedure for each gis learning object characteristic and the expert’s suitability evaluation model over a reference set of lip-based characterized learners is presented. the input to this phase is the o-gis.c characteristics of a reference set of learning objects, the ims lip characteristics of a reference set of learners and the suitability preference of an expert for each of the gis learning objects over the whole reference set of learners. the model extraction methodology has the following formulation: let us consider a set of learning objects, called a, which is valued by a set of criteria g = (g1, . . . , gn). the assessment model of the suitability of each gis learning object for a specific learner, leads to the aggregation of all criteria into a unique criterion that we call a suitability function s(g) = s(g1, . . . , gn). personalized e-learning implementation the gis case 63 we define the suitability function as an additive function of the form s(g) = n ∑ i=1 si(gi) with the following additional notation: • si(gi): marginal suitability of the ith selection criterion valued gi, • s(g): global suitability of a learning object. the marginal suitability evaluation for the criterion gi is calculated using the formula si(x) = ai + bix exp(−cix2), where x is the corresponding value of the gi gis learning object selection criterion. this formula produces, according to parameters a, b and c as well as the value space of each criterion, the main criteria forms, we have identified: • monotonic form: when the marginal suitability of a criterion is a monotonic function. • non monotonic form: when the marginal suitability of a criterion is a non-monotonic function. the calculation of the optimal values of parameters a, b and c for each selection criterion is the subject of the knowledge model extraction step. let us call n the strict preference relation and e the indifference relation. if so1 is the global suitability of a learning object o1 and so2 is the global suitability of a learning object o2, then the fol1owing properties generally hold for the suitability function s: so1 > so2 ⇐⇒ (o1)p(o2), and the relation r = p∪i is a week order relation so1 = so2 ⇐⇒ (o1)i(o2). the expert’s requested information then consists of the weak order r defined on a for several learner instances. using the provided weak order relation r and based on the form definition of each learning object characteristic we can define the suitability differences ∆ = (∆1, . . . , ∆m−1), where m is the number of learning objects in the reference set a and ∆k = sok − sok+1 ≥ 0, depending on the suitability relation of (k) and (k + 1) preferred learning object for a specific learner of the reference set. we can introduce an error function e for each suitability difference: ∆k = sok −sok+1 + ek ≥ 0. using constrained optimization techniques, we can then solve the non-linear problem: minimize m−1 ∑ j=1 ( e j )2 subject to the constraints: ∆ j > 0 if o j po j+1 ∆ j = 0 if o j io j+1 } for each one of the learners of the reference set. this optimisation problem will lead to the calculation of the optimal values of the parameter a, b and c for each gis learning object selection criteria over the reference set of learners. 64 athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou 3) the extrapolation the purpose of this third phase is to generalize the resulted marginal suitability model from the reference set of learners to all learners, by calculating the corresponding marginal suitability values for every combination of learner characteristics. this calculation is based on the interpolation of the marginal suitability values between the two closest instances of the reference set of learners. suppose that we have calculated the marginal suitability sl1i and s l2 i of a criterion gi matching the characteristics of learners l1 and l2 respectively. we can then calculate the corresponding marginal suitability value for another learner l using interpolation if the characteristics of learner l are mapped inside the polyhedron that the characteristics of learners l1 and l2 define, using the formula: si(g l i ) = si(g l1 i ) + gli −g l1 i gl2i −g l1 i [ si(g l2 i )−si(g l1 i ) ] , if si(g l2 i ) > si(g l1 i ) let ci = bci, c?i c, i = 1, 2, . . . , n be the intervals in which the values of each criterion — for both learning object and learners — are found, then we call global suitability surface the space c = ×ni=1ci. the calculation of the global suitability over the above mentioned space is the addition of the marginal suitability surfaces for each of the learning object characteristics over the whole combination set of learner characteristics. some experimental results and discussion in order to evaluate the total efficiency of the proposed methodology both ïn calculating the suitability on the training set of gis learning objects and on estimating the suitability of gis learning objects external from the reference set, we have designed an evaluation criterion, defined by: success(%) = 100· correct learning objects selected n , where n is the number of the desired gis learning objects from the virtual pool that will act as input to the instructional planner. it is assumed that the number of desired gis learning objects is less than the total number of the gis learning objects in the input space (the learning objects pool) and that both the gis learning object metadata and the learner information metadata have normal distribution over the value space of each criterion. additionally, the gis learning objects are classified, for both testing and estimation set, in two classes according to their functionality and aggregation level, since granularity is a parameter affecting the capability of an instructional designer to select learning content for a specific learner. the classification is based on the value space of the “general/aggregation leíel" element of the o-gis.c standard. in the rest of the paper experimental results are presented of the proposed methodology by comparing the resulting selected gis learning objects with those selected by gis experts. also, the success of the proposed method has been evaluated on both the training set of learning objects (the training success) and on the suitability estimation of learning objects external from the reference set (the estimation success). so, figure 4 present average experimental results for gis learning objects with aggregation level 1 and 2 respectively. if it is considered that for one learner instance, the different combinations of gis learning objects, calculated as the multiplication of the value instances of characteristics with gis functionality, lead to more than 1,000 gis learning objects, it is evident that it is almost un-realistic to assume that an instructional designer can manually define the full set of selection rules which correspond to the dependencies extracted by the proposal method and at the same time to avoid the inconsistencies, conf1uence and insufficiency of the produced selection rules. the proposed topology-based methodology is capable of effectively extracting dependencies between gis learning object and learner characteristics affecting the decision of an instructional designer on the gis learning object selection problem. the analysis on the results, presented in figure 3, shows that when the desired number of gis learning objects (i.e. n) is relatively small (less than 100), the selected learning objects by the extracted decision model are almost similar to those the instructional designer would select. on the other hand, when the desired number of gis learning objects is relatively large (say, about 500) the success of the selection is affected, but remains at acceptable level (i.e. about 90%). another parameter affecting the selection success is proved to be the granularity of gis learning objects. granularity mainly affects the capability of an instructional designer to express selection preferences over learning personalized e-learning implementation the gis case 65 figure 4: average experimental results for gis learning objects objects. learning objects with small aggregation level have bigger possibility of producing “gray” decision areas, where the instructional designer cannot decide which gis learning object matches most the cognitive style or learning preferences of a learner [1, 5]. in paper’s experiments, gis learning objects with aggregation level 2, which can be small or even bigger collections of gis learning objects with aggregation level 1, appear to have less possibility of producing indifference relations, enabling to make secure decisions even for bigger desired number of learning objects (n = 1, 000). 4 summary and conclusions in this paper the gis learning object selection problem is addressed as an intelligent topology-based gis learning systems, by proposing a methodology that instead of “forcing” an instructional designer to manual1y define the set of selection rules; produces a decision model that mimics the way the designer decides, based on the observation of the designer’s reaction over a small-scale gis learning object selection problem. hence, the proposed personalized e-learning method, describes a new methodology about selecting and sequencing learning objects with gis functionality in an instructional-sense and user-friendly way. acknowledgements the current paper is supported by the epeaek ii archimedes i research project (action 2.2.17), “personalized e-learning in a reusable way”, of the alexandrium technological educational institute of thessaloniki (atei), greece. this project is co-funded by the greek ministry of education & religious affairs and the european union. references [1] l. b. baruque & r.n. melo, “learning theory and instructional design using learning object”, in learning objects 2003 symposium: lessons learned, questions asked. honolulu, hawaii, usa. retrieved in september 2005 from the world wide web: http://www.cs.kuleuven.ac.be/ erikd/pres/2003/lo2003/baruque.pdf [2] p. brusilovsky, “adaptive and intelligent technologies for web-based education”, kunstliche intelligenz journal, vol. 4, pp.19-25, 1999. [3] p. brusilovsky and j. vassileva, “course sequencing techniques for large-scale web-based education", international journal of continuing engineering education and life-long learning, vol.13 (1/2), pp. 75-94, 2003. [4] l. calvi & a. cristea. “towards generic adaptive systems: analysis of a case study”, in proc, of the 2nd international conference on adaptive hypermedia and adaptive web based systems, malaga, spain, 2002. 66 athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou [5] k. chitwood, et al., “battle stories from the field: wisconsin online resource centre learning objects project", in the instructional use of learning objects: online version. d.a. wiley, ed., 2000. retrieved in september 2005 from the world wide web: http://reusability.org/read/chapters/ chitwood.doc [6] p. dolog, w. nejdl, “challenges and benefits of the semantic web for user modelling”, workshop on adaptive hypermedia and adaptive web-based systems, in proc. of the 12th international world wide web conference, budapest, hungary, 2003 [7] p. dolog, n. henze, w. nejdl & m. sintek, “personalization in distributed elearning environments”, in proc. of the 13th international world wide web conference, new york, usa, 2004 [8] epeaek ii common european union and greek government project (2001-2006). world wide web page: http://www.epeaek.gr/epeaek/en/home.html [9] ieee, “draft standard for learning object metadata”, ieee 1484.12.1-2002, 2002. retrieved in september 2005 from the world wide web: http://ieeeltsc.org/wg12lom/1484.12.1 [10] ims – global learning consortium. qti lite specification. ims question & test interoperability, 2002. retrieved in september 2005 from the world wide web: http://www.imsglobal.org/question/qtilite03.html [11] kinshuk, r. oppermann, a. patel & a. kashihara, “multiple representation approach in multimedia based intelligent educational systems”, artificial intelligence in education journal, amsterdam: ios press. pp. 259-266, 1999. [12] lsal, scorm best practices guide for content developers, 2003. cernegie mellon learning systems architecture lab. retrieved in september 2005 from the world wide web: http://www.lsal.cmu.edu/lsal/expertise/projects/developersguide [13] g. mccalla, “the fragmentation of culture, learning, teaching and technology: implications for the artificial intelligence in education research agenda in 2010”, international journal of artificial intelligence in education, vol. 11, pp. 177-196, 2000. [14] p. mohan, j. greer & g. mcgalla, “instructional planning with learning objects”, workshop on knowledge representation and automated reasoning for e-learning systems. 2003. in proc. of the 18th international joint conference on artificial intelligence, acapulco, mexico. [15] p. r. polsani, “use and abuse of reusable learning objects”. journal of digital information, (2003). retrieved in september 2005 from the world wide web: http://jodi.ecs.soton.ac.uk/articles/v03/i04/polsani. [16] a. styliadis, k. pehlivanis & d. zahariou, “personalized e-learning for gis lecturing”. hawaii international conference on education. honolulu, hawaii, usa, january 6th-9th, 2006. [17] a. styliadis, k. pehlivanis & d. zahariou, “e-learning with re-usable gis functionality”. global universities in distance education (guide) 2006 – developing a common platform for global co-operation. rome it, february 13th-14th, 2006. [18] a. styliadis & k. pehlivanis, “personalized e-learning in a re-usable way: a proposed gis system design – the architecture”. international journal on engineering and applied sciences (jeas), 2005. [19] m. s. urban & e. g. barriocanal, “on the integration of ieee-lom metadata instances and ontologies”, learning technology newsletter, vol. 5 (1), 2003. [20] h. wu & p. de bra, “sufficient conditions for well-behaved adaptive hypermedia systems” in proc. of the first asia-pacific conference on web intelligence: research and development, maebashi city, japan, 2001. athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou the atei of thessaloniki, greece epeaek ii, the arximedes 2-2-17 project e-mail: styl@it.teithe.gr personalized e-learning implementation the gis case 67 editor’s note about the author: athanasios d. styliadis is a professor at the department of information technology at the alexander institute of technology (atei) of thessaloniki, greece. he was born in 1956 in florina, greece and he received a diploma in surveying engineering (aristotle university of thessaloniki, greece, 1980), an m.sc. in computer science (dundee university, scotland, 1987) and a ph.d. in cad/gis/computer modeling (aristotle university of thessaloniki, greece, 1997). he was a fellow research scholar at the department of geomatics, university of melbourne and at the center for gis and modeling (cgism), australia. prof. styliadis is the writer of three books in computer graphics, human-computer interaction (hci) programming and gis-geomatics engineering, and he has over 70 journal and conference proceedings publications. also, has been worked at the hellenic army geographical service (hags, athens) for three years as gis system analyst and programmer. his current research interests include: e-learning & geographic information, computer modeling, web-based caad, temporal gis systems, concurrent engineering & 3-d geometry, and digital documentation of monuments and sites. international journal of computers, communications & control vol. ii (2007), no. 2, pp. 159-173 an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts kamalrulnizam abu bakar, bernard s. doherty abstract: with the advent of agent technology, the need for security of applications becomes a concern that is beyond classical data security capability and considerations. without proper security protection especially against a malicious host attack, the widespread use of agent technology can be severely impeded. the random sequence 3-level obfuscated algorithm has been proposed by the authors to improve agent security: in this paper, an enhancement to the protection level of this algorithm is proposed. the effectiveness of the obfuscation algorithm is enhanced by addition of noise, which surrounds the true value carried by the agent with false values. a malicious host can thus at best guess the true value carried by the agent. keywords: agent security, malicious host, spying attack, noise code. 1 introduction security is considered as an important factor for an agent used in real world applications. the problems in agent security arise when an agent is used in open and unsecured environments [8, 3]. one kind of attack by an execution host (malicious host) is spying on the agent’s code, data and state [6, 11]. spying attack by the malicious host may invade the agent’s privacy, especially an agent’s critical data, for example a user’s maximum budget carried by the agent. knowledge of an agent’s critical data gives a malicious host an advantage in any competition over other hosts because the malicious host knows what is expected by the agent. for example, a customised agent is sent out (in an open and unsecured environment) to find a suitable flight with the fare price under or equal to 500 pounds. malicious host attack based on a spying attack is to raise the offered price until it meets the maximum price that has been set by the agent’s owner, even though the normal price is much lower. spying attack by the malicious host on an agent’s data or state is difficult to detect, because the attack doesn’t leave any detectable trace [6, 11, 5]. the executing host has to read the agent’s code, must have access to the agent’s data, and must be able to manipulate the agent’s variable data in order to execute the agent [6, 5, 8]. therefore, the executing host can see and access all of the agent’s code including data and state, and is thus able to hide any traces of an attack, which makes any attempt to address spying attack difficult. to reduce the likelihood of this attack succeeding, the authors have proposed the random sequence 3-level (rs3) obfuscated algorithm [1], which obfuscates the actual value of an agent’s critical data to prevent a malicious host spying attack. the rs3 obfuscated algorithm consists of multiple polynomial functions which obfuscating the actual value of the agent’s critical data to produce an obfuscated value that is meaningless to the attacker. only selected polynomial functions are used in the conversion process and in each selected function, multiple random inputs are implied. the main objective of using the rs3 obfuscated algorithm is to enable the comparing of confidential values within an unsecured remote host environment without exposing the actual confidential value to an unauthorised party, using comparison of obfuscated values rather than actual values. unfortunately, implementing the rs3 obfuscated algorithm alone may expose the algorithm to an attack, which could execute multiple copies of the algorithm many times in order to analyse it, and propose actual values that will obfuscate to give the comparison outcome sought by the malicious host. this paper proposes an enhancement of the protection level of the rs3 obfuscated algorithm by adding noise code in the agent application that executes in the remote host environment, to hide the actual obfuscated value among a number of false values. the enhancement makes it more difficult for copyright © 2006-2007 by ccc publications 160 kamalrulnizam abu bakar, bernard s. doherty the attacker to analyse the actual obfuscated value in order to discover the actual value of an agent’s critical data: the attacker can deobfuscate the set of values carried by the agent, but can at best guess which is the correct value. this paper is organized as follows: section 2 present an overview of the random sequence 3-level obfuscated algorithm. section 3 describes the random sequence 3-level obfuscated algorithm with noise code, the implementation of noise code to enhance the obfuscated algorithm protection level and the deobfuscation time of the rs3 obfuscated algorithm. section 4 presents the experimental results on the overhead of implementing noise code with the rs3 obfuscated algorithm. section 5 analyse the strength of the rs3 obfuscated algorithm with noise code. section 6 presents a discussion and the conclusion is presented in section 7. 2 an overview of the random sequence 3-level obfuscated algorithm the random sequence 3-level obfuscated algorithm [1] is an algorithm that is designed to protect the confidentiality of an agent against malicious host spying attack. this algorithm uses three polynomial functions for obfuscating the actual value of the agent’s critical data to an obfuscated value that is meaningless to the malicious host, in order to prevent the malicious host from spying on the agent critical data (figure 1 show the obfuscation process of the rs3 obfuscation algorithm). the obfuscated method used in the random sequence 3-level obfuscated algorithm enables the execution host to execute the process of comparing its offer with the agent budget with both values in an obfuscated format without the execution host having any knowledge of the actual value of the agent’s critical data. this comparing process can be done without needing deobfuscation of the data, unlike cryptographic methods, which require decryption of the data, thus revealing its value, before a comparison can be made. although the rs3 obfuscated algorithm is able to obfuscate an agent’s critical data to make it more difficult for the malicious host to spy, the malicious host can execute multiple copies of the obfuscated algorithm in parallel in order to analyse the algorithm quickly, making this obfuscated algorithm vulnerable. this attack can be addressed by limiting the processing time available to the host before the agent is discarded [6]. however, the problem in determining an effective protection interval that can prevent the malicious host having enough time to execute multiple copies of the obfuscated algorithm also makes it difficult for this obfuscated algorithm to be implemented in real applications, where sufficient time must be allowed for legitimate processing. in order to overcome the problem of a malicious host executing multiple copies of the rs3 obfuscated algorithm and of determining an effective protection interval to protect the algorithm, noise code [9, 10] is introduced for an agent that executes in the remote host environment. the rs3 obfuscated algorithm with noise code is described in the next section. 3 the random sequence 3-level obfuscated algorithm with noise code the objective for implementing the noise code in the agent application is to hide the actual obfuscated value among a numbers of fake obfuscated values so the malicious host can at best guess at the true value of the agent’s critical data [9, 10]. the difference between ordinary rs3 algorithm and rs3 with noise code algorithm is in the number of obfuscated values generated and added by the master agent into the slave agent application before the slave agent is dispatched to the remote host execution environment to execute its tasks. in order to discover the true value of the agent’s critical data, the malicious host must first guess the actual obfuscated value among a number of fake obfuscated values. any wrong decision in choosing the obfuscated value will result in using a wrong true value of the agent’s critical data. for instance, if the agent is equipped only with the actual obfuscated value, x without adding any noise code, the probability that the malicious host could discover the actual obfuscated value by searching a range of values is one, an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 161 p o l y n o m i a l f u n c t i o n f i r s t r a n d o m n u m b e r u s e r b u d g e t s e l e c t e d s e q u e n c e n u m b e r l e v e l 1 r a n d o m n u m b e r m o d f i r s t r a n d o m n u m b e r p o l y n o m i a l f u n c t i o n l e v e l 2 r a n d o m n u m b e r m o d f i r s t r a n d o m n u m b e r s e l e c t e d s e q u e n c e n u m b e r f i r s t r a n d o m n u m b e r p o l y n o m i a l f u n c t i o n l e v e l 3 r a n d o m n u m b e r m o d f i r s t r a n d o m n u m b e r s e l e c t e d s e q u e n c e n u m b e r f i r s t r a n d o m n u m b e r o b f u s c a t e v a l u e l e v e l 1 l e v e l 2 l e v e l 3 p o l y n o m i a l r e s u l t f r o m l e v e l 1 p o l y n o m i a l r e s u l t f r o m l e v e l 2 figure 1: the rs3 obfuscation algorithm obfuscation process i.e. p(x ) = 1. however, if noise codes ei (fake obfuscated values) are added to the agent, where i = 1, 2, . . . , 100−1, the probability of discovering the actual obfuscated value is 1100 . the probability of guessing the actual obfuscated value becomes smaller as more noise codes are added. figure 2 illustrates the effect of introducing noise codes into the agent application. in addition, the time needed to guess the actual obfuscated value will delay the malicious host in analysing the obfuscated algorithm. therefore, the use of an effective protection interval in enhancing the obfuscated algorithm protection will be less important. 3.1 implementing rs3 obfuscated algorithm with noise code the operation of the rs3 obfuscated algorithm with noise code is almost the same as the operation of the rs3 obfuscated algorithm without noise code (refer to [1]). the only difference between these two obfuscated algorithms is in the number of obfuscated values generated and added by the master agent into the slave agent application before the slave agent is dispatched to the remote host execution environment to execute its tasks. in the operation of rs3 obfuscated algorithm without noise code, the master agent only has to obfuscate the value of user’s budget and add the obfuscated value into the slave agent application before dispatching the slave agent to execute its tasks in the remote host execution environment. however, in the operation of rs3 obfuscated algorithm with noise code, the master agent has to generate more than one obfuscated value (the extra obfuscated values serve as noise codes) and add these obfuscated values 162 kamalrulnizam abu bakar, bernard s. doherty 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 1 0 a n a g e n t w i t h o n e o b f u s c a t e d v a l u e a n a g e n t w i t h a n u m b e r o f o b f u s c a t e d v a l u e s n o i s e c o d e ( a n u m b e r o f f a k e o b f u s c a t e d v a l u e s ) + t h e r e a l o b f u s c a t e d v a l u e figure 2: the effect of adding noise codes into the agent application into the slave agent application before dispatching the slave agent to execute in the remote host execution environment (see figure 3). v e c t o r h o s t a d d r e s s = n e w v e c t o r ( ) ; d o u b l e n e w o f f e r = 0 ; d o u b l e b e s t o f f e r 1 , b e s t o f f e r 2 , b e s t o f f e r 3 ; u r l b e s t s h o p 1 , b e s t s h o p 2 , b e s t s h o p 3 ; i f ( n e w o b f u s c a t i o n v a l u e < = o b f u s c a t i o n v a l u e 1 ) ) / / f a k e o b f u s c a t e d v a l u e { b e s t o f f e r 1 = n e w o f f e r ; b e s t s h o p 1 = h o s t a d d r e s s ; } e l s e i f ( n e w o b f u s c a t i o n v a l u e < = o b f u s c a t i o n v a l u e 2 ) ) / / t r u e o b f u s c a t e d v a l u e { b e s t o f f e r 2 = n e w o f f e r ; b e s t s h o p 2 = h o s t a d d r e s s ; } e l s e i f ( n e w o b f u s c a t i o n v a l u e < = o b f u s c a t i o n v a l u e 3 ) ) / / f a k e o b f u s c a t e d v a l u e { b e s t o f f e r 3 = n e w o f f e r ; b e s t s h o p 3 = h o s t a d d r e s s ; } figure 3: a slave agent program added with noise code (data block) to illustrate, the noise code is a fake obfuscated value that is generated by the master agent from a fake user budget value. this fake user budget value is created by the master agent by adding or subtracting a random number to or from the actual user budget value. for example, say the actual user budget value is č500. to create a fake user budget value, the master agent needs to generate a random an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 163 number, e.g. 176. if the master agent chooses to add the random number to the actual user budget value, the fake user budget value becomes 676. this value is then converted to the obfuscated value to represent the fake obfuscated value. on the other hand, if the master agent chooses to subtract the random number with the actual user budget value, the fake user budget value becomes 324. the same conversion process will be applied to convert the fake user budget value to a fake obfuscated value. to generate more fake obfuscated values, the master agent has to generate more random numbers. once the obfuscation process in the home host is completed, the master agent dispatches the slave agent together with all the obfuscated values generated (including fake obfuscated values) to the remote host to execute its given tasks. in the remote host execution environment, the slave agent starts its execution process by converting any offer that was gathered from the remote host into an obfuscated value to be used in the comparing process. for example, if the slave agent has 4 obfuscated values (one actual and three fake values), the slave agent has to execute 4 comparing processes. if any of the obfuscated user budget value matches the obfuscated offer value, the corresponding obfuscated user budget value will be excluded from the obfuscation stage (see figure 4). the next obfuscation stage starts by obfuscating a new remote host offer. in the authors’ work, a maximum of three obfuscation stages are used to searches for a flight offer (the obfuscated user budget value is compared with the first class obfuscated fare value in the obfuscation stage 1, business class obfuscated fare value in the obfuscation stage 2 and economy class obfuscated fare value in the obfuscation stage 3) or less than three times if all the obfuscated user budget values have been excluded. o b f u s c a t i o n v a l u e 1 ( f a k e ) o b f u s c a t i o n v a l u e 2 ( t r u e ) o b f u s c a t i o n v a l u e 3 ( f a k e ) o b f u s c a t i o n v a l u e 4 ( f a k e ) o f f e r 1 r s 3 o b f u s c a t i o n a l g o r i t h m o f f e r 1 � s o b f u s c a t i o n v a l u e o b f u s c a t i o n v a l u e 2 ( t r u e ) o b f u s c a t i o n v a l u e 3 ( f a k e ) o b f u s c a t i o n v a l u e 4 ( f a k e ) o f f e r 2 r s 3 o b f u s c a t i o n a l g o r i t h m o f f e r 2 � s o b f u s c a t i o n v a l u e o b f u s c a t i o n v a l u e 3 ( f a k e ) o f f e r 3 r s 3 o b f u s c a t i o n a l g o r i t h m o f f e r 3 � s o b f u s c a t i o n v a l u e m a t c h n o t m a t c h n o t m a t c h n o t m a t c h n o t m a t c h m a t c h m a t c h n o t m a t c h o b f u s c a t i o n s t a g e 1 o b f u s c a t i o n s t a g e 2 o b f u s c a t i o n s t a g e 3 c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s c o m p a r i n g p r o c e s s figure 4: the illustration of the obfuscation stages and the comparing process after completing the execution process in the remote host, the slave agent returns to its home host together with the remote host offer. the home host then extracts only the offer that fulfils the requirement of the true obfuscated value for further actions. 164 kamalrulnizam abu bakar, bernard s. doherty 3.2 the deobfuscation time of the rs3 obfuscated algorithm with noise code the experiment on the deobfuscation time of the rs3 obfuscated algorithm with noise code is conducted to examine the time taken by the execution host (assumed to be the malicious host) to deobfuscate a full set of obfuscated value. the experiment is conducted using one 700 mhz personal computer with 128 mb of main memory, which running windows 98 operating system. in this experiment, the deobfuscation time is taken starting from the start of the deobfuscation process for the first obfuscated value and ending when the last obfuscated value from a set of obfuscated value have been deobfuscated. the experiment is performed by the execution host by executing the rs3 obfuscated algorithm using different input value many times until the matching obfuscated value is produced and continue until a full set of the obfuscated value are deobfuscated (see figure 5). twenty sets of obfuscated values are examine with the number of values in each set ranging from five to one thousand obfuscated values. each set of obfuscated values contained one correct value and the remainder false values. r s 3 o b f u s c a t e d a l g o r i t h m a s e t o f i n p u t v a l u e s o b f u s c a t e d v a l u e p r o d u c e d a s e t o f o b f u s c a t e d v a l u e s s u p p l i e d c o m p a r i n g p r o c e s s m a t c h ? e n d s t a r t n o y e s figure 5: the deobfuscation process the deobfucation time results (which were gathered in milliseconds and then converted into seconds) of the rs3 obfuscated algorithm with noise code are shown in table 1 and 2, and illustrated in figure 6 and 7 respectively. an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 165 obfuscated values 5 10 15 20 25 30 35 40 45 50 deobfuscation time 8.95 21.57 29.42 37.69 49.96 60.71 62.53 72.46 81.66 85.58 table 1: summary statistics of the random sequence 3-level obfuscated algorithm deobfuscation time for small number of obfuscated values obfuscated values 100 200 300 400 500 600 700 800 deobfuscation time 180.15 376.33 581.28 779.12 982.06 1142.27 1376.64 1568.75 obfuscated values 900 1000 deobfuscation time 1765.94 1887.83 table 2: summary statistics of the random sequence 3-level obfuscated algorithm deobfuscation time for large number of obfuscated values p r o t e c t i o n t i m e f o r t h e r s 3 o b f u s c a t e d a l g o r i t h m w i t h n o i s e 0 2 0 4 0 6 0 8 0 1 0 0 5 1 0 1 5 2 0 2 5 3 0 3 5 4 0 4 5 5 0 n u m b e r o f o b f u s c a t e d v a l u e s t e s t e d ti m e i n se co nd s d e o b f u s c a t i o n t i m e figure 6: the deobfuscation time of the random sequence 3-level obfuscated algorithm for small number of obfuscated values from the results given in table 1 and 2, and illustrated in figure 6 and 7 respectively, it can be seen that the deobfuscation time of the rs3 obfuscated algorithm with noise code increases linearly with the number of obfuscated values in the test set. note that even after deobfuscation, the malicious host is left with a set of values of which only one is the correct value, and has no way of knowing which one is the correct value. 166 kamalrulnizam abu bakar, bernard s. doherty p r o t e c t i o n t i m e f o r t h e r s 3 o b f u s c a t e d a l g o r i t h m w i t h n o i s e 0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 1 0 0 0 n u m b e r o f o b f u s c a t e d v a l u e s t e s t e d ti m e i n se co nd s d e o b f u s c a t i o n t i m e figure 7: the deobfuscation time of the random sequence 3-level obfuscated algorithm for large number of obfuscated values 4 the overhead of implementing noise code with the rs3 obfuscated algorithm the experiments to measure the overhead of implementing the rs3 obfuscated algorithm with noise code were conducted using six 400 mhz sun ultra sparc 5 workstations with 128 mb of main memory. each of the workstations is running the solaris 8 operating system and is connected to the others using 100 mbit/s utp1 cable. all of the workstations involved in this experiment were situated in the same room. in this configuration, one workstation was chosen among the six workstations to be the home host for the agent, and only this host had permission to manage and dispatch the agent. the rest of the workstations were assumed to be remote hosts, having only the capability to receive the agent and to dispatch the agent back to its home host. to examine the security overhead in implementing noise code with the random sequence 3-level obfuscated algorithm in an agent-based application, times are measured starting from sending of the agents to the remote hosts and ending with the home host receiving the agents back from the remote hosts. four different experiments are conducted starting with one remote host, two remote hosts, three remote hosts and five remote hosts using three different kinds of agent: a plain agent2, an agent with the random sequence 3-level obfuscated algorithm (rs3) and an agent with the rs3 obfuscated algorithm with noise code (rs3n). the times were measured using the “system.currenttimemillis()” method in the java language. this method produces a specific instant in time with millisecond precision [7]. the experiment is performed for 20 runs3 and the time for each run gathered in milliseconds. the average result of the 20 runs is taken and converted into seconds. the result is then rounded and presented in two decimal places as shown and illustrated in tables 4 to 7 and figure 8 to 11 respectively. the results of the security overhead of the random sequence 3-level obfuscated algorithm without noise (rs3) and the random sequence 3-level obfuscated algorithm with noise are compared to the plain agent as shown in table 3. from these results, it can be seen that there is not much difference in 1unshielded twisted pair category 5e 2agents without security mechanisms 3the results were observed to be consistent after twenty runs an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 167 number of mean remote hosts plain rs3 rs3n 1 1.49 1.5 1.69 2 2.45 2.52 2.67 3 3.36 3.56 3.63 5 5.42 5.43 5.66 table 3: summary statistics of the random sequence 3-level obfuscated algorithm (1 cycle, 1 obfuscation value experiment(without noise code) and 1000 obfuscation value experiment(with noise code)) the security overhead for the rs3 without noise and rs3 with noise for all numbers of remote hosts. the highest difference is for one remote host, where the security overhead for rs3 with noise is just 12.67 % higher than the security overhead of rs3 without noise. therefore, it is concluded that rs3 with noise will add a small and acceptable overhead. more detail of the results now follows: firstly, consider plain and rs3, then plain and rs3n experimental results. number of mean standard error standard deviation remote hosts plain rs3 plain rs3 plain rs3 1 1.49 1.5 0.001 0.001 0.003 0.004 2 2.45 2.52 0.003 0.005 0.011 0.022 3 3.36 3.56 0.003 0.004 0.011 0.02 5 5.42 5.43 0.007 0.006 0.031 0.025 table 4: summary statistics of the random sequence 3-level obfuscated algorithm overhead (1 cycle and 1 obfuscation value experiment(without noise code)) number of mean standard error standard deviation remote hosts plain rs3n plain rs3n plain rs3n 1 1.49 1.54 0.001 0.001 0.003 0.003 2 2.45 2.52 0.002 0.007 0.011 0.031 3 3.36 3.51 0.003 0.005 0.011 0.022 5 5.42 5.44 0.007 0.007 0.031 0.031 table 5: summary statistics of the random sequence 3-level obfuscated algorithm (1 cycle and 100 obfuscation value experiment(with noise code)) from the results given in tables 4 and 5 and illustrated in figure 8 and 9 respectively, it can be seen that the mean of the security overhead for a plain agent is almost the same as the security overhead for rs3 and rs3n, where when comparing with rs3, the highest difference is just 5.95 % and 4.46 % when comparing with rs3n. however, from table 6 and illustrated in figure 10, it can be seen that as the number of noise codes is increased, the difference becomes larger, where the highest difference is 13.42 %, which is still considered acceptable. from table 7 and figure 11, the security overhead for both the agents is almost the same as the 168 kamalrulnizam abu bakar, bernard s. doherty s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r a n d o m s e q u e n c e 3 l e v e l o b f u s c a t e d a l g o r i t h m 0 1 2 3 4 5 6 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n r s 3 figure 8: security overhead of the random sequence 3-level obfuscated algorithm (1 cycle and 1 obfuscation value experiment(without noise code)) s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r a n d o m s e q u e n c e 3 l e v e l o b f u s c a t e d a l g o r i t h m 0 1 2 3 4 5 6 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n r s 3 n figure 9: security overhead of the random sequence 3-level obfuscated algorithm (1 cycle and 100 obfuscation value experiment(with noise code)) security overhead given in tables 4 to 6, even though now the number of cycles4 has been increased to 100. these results show that implementation of the random sequence 3-level obfuscated algorithm with noise code does increase the overhead by up to 13.42 % compared to the plain agent, but the noise code adds little to the overhead. 5 the analysis of rs3 obfuscated algorithm strength with noise code implementation to analyse the strength of the rs3 obfuscated algorithm after the implementation of noise code, the authors have listed vulnerabilities and the way to address them as follows: 4a loopings that simulate an agent tasks an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 169 number of mean standard error standard deviation remote hosts plain rs3n plain rs3n plain rs3n 1 1.49 1.69 0.001 0.004 0.003 0.016 2 2.45 2.67 0.003 0.006 0.011 0.028 3 3.36 3.63 0.003 0.003 0.011 0.015 5 5.42 5.66 0.007 0.006 0.031 0.028 table 6: summary statistics of the random sequence 3-level obfuscated algorithm (1 cycle and 1000 obfuscation value experiment(with noise code)) number of mean standard error standard deviation remote hosts plain rs3n plain rs3n plain rs3n 1 1.48 1.65 0.0003 0.002 0.001 0.008 2 2.46 2.65 0.002 0.003 0.01 0.014 3 3.45 3.67 0.007 0.005 0.03 0.021 5 5.46 5.67 0.013 0.004 0.06 0.02 table 7: summary statistics of the random sequence 3-level obfuscated algorithm (100 cycle and 1000 obfuscation value experiment(with noise code)) s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r a n d o m s e q u e n c e 3 l e v e l o b f u s c a t e d a l g o r i t h m 0 1 2 3 4 5 6 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n r s 3 n figure 10: security overhead of the random sequence 3-level obfuscated algorithm (1 cycle and 1000 obfuscation value experiment(with noise code)) 5.1 the vulnerabilities of rs3 obfuscated algorithm with noise code there are two main weaknesses of the rs3 obfuscated algorithm with noise code that have been identified. • if the attacker (malicious host) takes a guess at the correct obfuscated value from many obfuscated values (including noise code) carried by the visiting agent and the attacker is given enough time to execute, the attacker can execute the rs3 obfuscated algorithm many times using different result values and watch the pattern of the rs3 obfuscated algorithm outcomes (which result value the 170 kamalrulnizam abu bakar, bernard s. doherty s e c u r i t y o v e r h e a d f o r i m p l e m e n t i n g t h e r a n d o m s e q u e n c e 3 l e v e l o b f u s c a t e d a l g o r i t h m 0 1 2 3 4 5 6 1 2 3 5 n u m b e r o f r e m o t e h o s t s ti m e i n se co nd s p l a i n r s 3 n figure 11: security overhead of the random sequence 3-level obfuscated algorithm (100 cycle and 1000 obfuscation value experiment(with noise code)) agent accepts and which it rejects) to analyse the chosen obfuscated value in order to discover the actual value of agent’s critical data. • if the noise code generated from the actual value are very much out of range from the reasonable value, the malicious host could easily omit that values and take a guess from fewer values. 5.2 addressing vulnerabilities of rs3 obfuscated algorithm with noise code in order to overcome the weaknesses of the rs3 obfuscated algorithm with noise code, two main points are suggested: • to prevent the attacker (malicious host) from being able to guess a correct obfuscated value among many obfuscated values in a short time, and running many tests on rs3 obfuscated algorithm by analysing which result value the agent accepts and which it rejects, the number of noise codes added in the agent application, could be made bigger. this is due to the fact that the probability to guess the correct obfuscated value becomes smaller as the number of noise code added become bigger, i.e. p(x ) → 0 as n → ∞. the malicious host can at best guess the actual value from among the noise code. • to prevent the malicious host able to omit any of the noise code values, the value of the noise codes must be within a reasonable range of the actual value and this can be done by limiting the range of the random numbers. 6 discussion in this paper, the problem of a malicious host spying on the actual value of an agent’s critical data, such as the user maximum budget, has been discussed. the random sequence 3-level obfuscated algorithm, which is able to obfuscate the actual value of an agent’s critical data in order to make it more difficult for the malicious host to spy on the actual value of the critical data, has been previously proposed by the authors. to address weaknesses in the rs3 obfuscated algorithm, an enhancement has been proposed in this paper. an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 171 the implementation of the rs3 obfuscated algorithm alone exposes the obfuscated algorithm to the attacker that could execute multiple copies of the obfuscated algorithm many times to analyse the algorithm. the agent owner could also face the problem of determining an effective protection interval for the obfuscated value that is carried by the agent in order to prevent the value from being analysed and discovered by the malicious host. these problems can be overcome by introducing noise codes carried by the agent application to force a malicious host to guess the actual obfuscated value, thus leaving a malicious host with at best a guess at the actual value of the user maximum budget. the noise code implementation also delays the malicious host in analysing the obfuscated algorithm, which has been shown in section 3.2. therefore, the use of an effective protection interval to enhance the level of obfuscated algorithm protection is less important. on the other hand, based on the experimental results on the overhead of implementing the rs3 obfuscated algorithm with noise code, the implementation of the rs3 obfuscated algorithm does increase the overhead by up to 13.42 % compared to the plain agent, but this is considered acceptable. this suggests the random sequence 3-level obfuscated algorithm can be implemented in “real world” agent applications to protect the agent application from the spying attack by the malicious host. experiment shown that adding noise codes to the rs3 obfuscated algorithm gives little (12.67 %) increase in security overhead. 7 conclusion the random sequence 3-level obfuscated algorithm is an algorithm that improves the level of protection of an agent against malicious host spying attack. this obfuscated algorithm does not protect against all spying attacks by the malicious host, only an attack to the agent’s critical data. however, the implementation of noise code in the agent application prevents the malicious host discovering the actual value of critical data carried by the agent; the malicious host can at best guess the actual value from among a number of noise values. the addition of noise code has strengthened the protection of the obfuscated algorithm and has reduced the likelihood of successful attack on the rs3 obfuscated algorithm, with very small increase in execution time. references [1] abu bakar, k. and doherty, b. s.: a random sequence 3-level obfuscated algorithm for protecting mobile agents against malicious hosts. proceedings of the 2003 international conference on informatics, cybernetics and systems. i-shou university(2003) 525 – 530 [2] divincenzo, d. p., leung, d. w. and terhal, b. m.: quantum data hiding. ieee transactions on information theory, vol. 48, no. 3. ieee(2002) 580–598 [3] farmer, w.m. and guttman, j.d. and swarup, v.: security for mobile agents: issues and requirements. proceedings of the 19th national information system security conference. baltimore (1996) 591–597 [4] harmsen, j. j. and pearlman, w. a.: steganalysis of additive noise modelable information hiding. proceedings of spie electronic imaging 5022. spie (2003) 21–24 [5] hohl, f.: a framework to protect mobile agents by using reference states. in: proceedings of the 20th international conference on distributed computing systems (icdcs 2000). ieee computer society (2000) 410-417 172 kamalrulnizam abu bakar, bernard s. doherty [6] hohl, f.: time limited blackbox security: protecting mobile agents from malicious hosts. in: g. vigna (ed.). mobile agent and security. lecture notes in computer science, vol. 1419. springerverlag, berlin(1998) 92–113 [7] sun microsystems, inc. java 2 platform std. ed. v1.3.1 http://java.sun.com/j2se/ 1.3/docs/api/index.html (2004) [8] mandry, t., pernul, g. and rohm, a.: mobile agents in electronic markets: opportunities, risks, agent protection. international journal of electronic commerce. m.e. sharpe (2001) 47–60 [9] ng, s. k. and cheung, k. w.: protecting mobile agents against malicious hosts by intention spreading. in h. arabnia (ed.), proc. international conference on parallel and distributed processing techniques and applications (pdpta’99). csrea (1999) 725–729 [10] ng, s. k. and cheung, k. w.: intention spreading: an extensible theme to protect mobile agents from read attack hoisted by malicious hosts. in jimming liu, ning zhong(ed.), intelligent agent technology: systems, methodologies and tools. world scientific (1999) 406–415 [11] sander, t. and tschudin, c.: protecting mobile agent against malicious hosts. in: g. vigna (ed.). mobile agent and security. lecture notes in computer science, vol. 1419. springer-verlag, berlin(1998) 44–60 [12] yeh, w. h. and hwang, j. j.: hiding digital information using a novel system scheme. computers and security, vol. 20, no. 6. elsevier science (2001) 533–538 kamalrulnizam abu bakar faculty of computer science and information system universiti teknologi malaysia 81310 utm skudai johor d. t. malaysia e-mail: kamarul@fsksm.utm.my bernard s. doherty school of engineering and applied science aston university aston triangle, birmingham b4 7et united kingdom e-mail: b.s.doherty@aston.ac.uk received: july 22, 2006 kamalrulnizam abu bakar is a lecturer at universiti teknologi malaysia, malaysia. he received the diploma and degree of computer science in 1994 and 1996 respectively from universiti teknologi malaysia, malaysia. he then received masters in computer communication and networks degree from leeds metropolitan university, united kingdom in 1998 and phd in network security from aston university, united kingdom in 2004. his current research interests include computer and network security, distributed systems and parallel processing, grid computing, wireless and cellular network. an enhancement of the random sequence 3-level obfuscated algorithm for protecting agents against malicious hosts 173 bernard s. doherty (born october 2nd, 1945) obtained the degrees of bachelor of engineering (electrical), bachelor of arts and master of engineering science from the university of melbourne in 1967, 1971 and 1981 respectively. he has held positions with the state electricicity commission of victoria, lm ericsson pty ltd, swinburne college of technology (all in melbourne) and, since 1980, at aston university (birmingham, uk), where is presently lecturer in computer science. his main fields of teaching and research are distributed and networked applications and information security. in addition to supervising a number of doctoral students, he has developed computer-based administration and teaching software, written a number of papers and presented papers at international conferences. international journal of computers, communications & control vol. ii (2007), no. 3, pp. 241-251 hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions eric duviella, pascale chiron, philippe charbonnaud abstract: the hybrid control accommodation (hca) strategy was proposed to improve the water-asset management of hydraulic systems by resource allocation and setpoint assignment. hydraulic system dynamics are taken into account during the setpoint assignment step which consists in controlling gates for large operating conditions. for hydraulic systems subjected to strong disturbances, transfer delays are variable, thus different operating modes must be considered. a multimodelling method, associated to a selection technique of transfer delay, allowing for the determination of the number of models, is proposed. the simulation results on the first reach of the neste canal show the effectiveness of the hca strategy. keywords: hybrid control accommodation, resource allocation, setpoint assignment, multimodelling, water management. 1 introduction hydrographic networks naturally convey water quantities upstream to downstream. they are equipped with dams, catchment areas, channels, etc., and are instrumented for water resource management and satisfaction of human activity needs. several control methods have been designed [9], and are still designed [8, 2], to supply hydraulic systems with water quantities corresponding to the management objectives and rejecting disturbances. other techniques, such as lpv regulation [10] or supervised internal multimodel controller [3] were recently proposed in order to consider these systems for different operating points. these control methods are accurate for a local control. however, they are not designed to allocate water quantities in excess towards the catchments areas, and water quantities in lack amongst the users. an original proposition for the management of such situations consists in recalculating setpoints according to the resource value (continuous dynamics) and to the resource state (discrete events) of the hydrographic systems. the supervision and hybrid control accommodation strategy by resource allocation and setpoint assignment proposed in [4] allows the water-asset management to take into account the management constraints. the strategy efficiency has been shown by simulation, in the case of an open-channel hydraulic system considering large operating conditions. the problem addressed in this paper deals with the water-asset management of a hydraulic system subjected to scenarii with large disturbances. in the second section, the supervision and hybrid control accommodation strategy, well adapted to consider large operating conditions, is presented. in the third section, a multimodelling method is proposed for determining the number of operating modes (om) necessary to represent open-surface hydraulic system dynamics, accurately. for each om, the transfer delay identification is done in the fourth section. finally, the effectiveness of this proposed strategy is shown by simulation on the first reach of the neste canal. 2 hybrid control accommodation hybrid control accommodation (hca) strategy (see figure 1) allows the computation of new setpoints for each gate g j of hydraulic systems according to data measured on the measurement points mi (see figure 2). the setpoints are computed according to the resource state ei, and taking into account management objectives q j ob j, λ j and µ j weekly fixed by the management objective generation module. copyright © 2006-2007 by ccc publications 242 eric duviella, pascale chiron, philippe charbonnaud figure 1: hca strategy scheme. figure 2: open-surface hydraulic system equipped with measurement points mi and gates g j. hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions 243 the resource state ei determination is carried out at the detection period te by concurrent hybrid automata (see figure 3) designed for each measurement point mi [4]. the five pertinent states retained correspond respectively to no-discrepancy state e0, two states where the discharge discrepancy is either positive (e+) or negative (e−) and constant c, and two states where the discharge discrepancy is either positive (e+) or negative (e−) and no constant ¬c. transitions between states are defined as conditions on the measured discharge value and variation:    di : [|∆qmi| > thi] , ψi : [∆qmi < 0] , ωi : [∣∣q̇mi ∣∣ < dthi ] , (1) with ∆qmi = qmi − n ∑ j=ni q j ob j, where qmi is the measured discharge, q j ob j is the management objective of the gate j, ni the index of the first gate downstream the ith measurement point mi, n the number of gates, q̇mi the estimate derivative of qmi , thi and dthi respectively the detection and diagnosis thresholds. the discharge discrepancy allocation is carried out according to the resource state. when the state is e0, the gate setpoints correspond to their discharge objective q j ob j. when the state is e±∧c, the discharge discrepancy ∆qmi is allocated amongst gates, according to their weights λ j and µ j, by optimizing, for each measurement point, a cost function. finally, when the state is e±∧¬c, the discharge discrepancy is allocated on gate each one on its turn [4]. at each detection date kte, the discharge discrepancy allocation leads to the allocation vector qkmi : qkmi = [ 0 0 . . . 0 qkni q k ni+1 . . . qkn ]t , (2) figure 3: hybrid automata for the measurement point mi. then, to synchronize the control of the gate with the appearance of lacks or excess of the water due to the disturbances, the setpoints must be assigned at a date taking into account the transfer delays tmi, j between the measurement point mi and the gate g j. it is computed according to the relation (3): tmi, j = tmi,ni + j ∑ r=ni+1 tr , (3) where tr is the time necessary for the water quantity to go from gate gr−1 to gate gr (see figure 4). the delay tr depends on the physical characteristics of the hydraulic system and on the discharge value qr. thereafter, the allocation vector qkmi is associated with an allocation dates vector t arising 244 eric duviella, pascale chiron, philippe charbonnaud figure 4: time delays between mi and g j. from the transfer delay values tmi, j. finally, taking into account the allocation date, the setpoints are sent to gates periodically. the control period tc is chosen as a multiple integer of te. in the next section, a multimodelling method is proposed to identify the system dynamics for several om. 3 multimodelling steps the modelling of the free-surface hydraulic system dynamics is generally carried out starting from the diffusive wave equation (4) which is obtained by simplifying saint venant equations [1]. dq dt + c dq dx −d d2q dx2 = 0 , (4) where c and d are respectively the celerity and diffusion coefficients. the diffusive wave equation can be linearized according to an operating discharge qe [7], and the identified celerity and diffusion parameters, denoted ce and de, are expressed as:    ce = 1l2 ∂ j∂ qe [ ∂ l ∂ x − ∂ jl∂ z ] , de = 1l ∂ j∂ qe , (5) where l is the surface width, z is the discharge depth, j is the friction slope expressed with the manning-strickler relation as j = q 2p 4 3 k2s 10 3 where k is the strickler coefficient, p is the wetted perimeter and s the wetted surface. the open-channel systems dynamics can be modelled by transfer functions, as: f(s) = e −τ s 1+w1s+w2s2 , (6) where the coefficients w1, w2 and the pure delay τ are computed according to the coefficients ce, de, to the open-channel system length x , and to the adimensional coefficient cl = 2cex 9de ; if cl ≤ 49 , w2 = 0 and τ = 0, if 49 < cl ≤ 1, w2 = 0. this modelling method allows the identification of the free-surface hydraulic system dynamics with good accuracy only around an operating point. however, setpoint assignment must be done for hydraulic system subjected to large operating conditions. thus, the hydraulic system dynamics must be identified for different om. based on the previous modelling method, the multimodelling approach consists in determining the number of om and their corresponding operating points. the celerity coefficient c is a very relevant parameter of the hydraulic system dynamics. the model identified for each om is available as soon as the error on the celerity coefficient is less than a predefined percentage πc. thus, a validity domain is defined for each om, and the number of om which are necessary to identify the dynamics with a good accuracy, is determined. to limit the switching between two om, an interval ∆c is shared by two successive om validity domains. the selection of parameters πc and ∆c is carried out taking into account the system dynamics. the multimodelling steps are described hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions 245 table 1: multimodelling algorithm. input: cmin, cmax, πc, ∆c, output: cidr , cin fr , csupr , cmed = cmin+cmax 2 , r = 1, for i: ⌊ ln cmin cmed ln 1+πc 1−πc ⌋ + 1 to ⌊ ln cmaxcmed ln 1+πc 1−πc ⌋ , cidr = ( 1+πc 1−πc )i cmed − sign(i)∆c1−sign(i)πc |i| ∑ j=1 ( 1+πc 1−πc )i−sign(i). j , csupr = (1 + πc) ( 1+πc 1−πc )i cmed −sign(i) (1+πc)∆c1−sign(i)πc |i| ∑ j=1 ( 1+πc 1−πc )i−sign(i). j , cin fr = (1−πc) ( 1+πc 1−πc )i cmed −sign(i) (1−πc)∆c1−sign(i)πc |i| ∑ j=1 ( 1+πc 1−πc )i−sign(i). j , r + +, endfor by an algorithm (see table 1), where the om are determined starting with cmed . this one is computed with the parameters cmin and cmax corresponding respectively to the minimum and maximum discharges of the system. the algorithm requires the definition of bxc which corresponds to the integer part of x, and sign(x) such as sign(x) = |x|x . then, according to cidr , the water elevation zidr of each r th om is determined, with one millimeter accuracy, using the digital resolution of the relation (7) with the newton method. cid = √ jks 5 3 p 2 3 l2 [ −12 ∂ l∂ z − l3p ( 2 ∂ p∂ z −5 ps ∂ s∂ z )] . (7) then, the water elevation zidr value is used to compute the discharge qidr with the relation (8). the same steps are used for parameters cin fr and csupr to obtain the domain validity boundaries of the om: [qin fr ; qsupr [. qidr = √ jks 5 3 p 2 3 . (8) finally, the celerity and diffusion coefficients cidr and didr (5), and the transfer function parameters w1, w2 and τ (6) are computed according to the discharge qidr . these parameters allow for the computation and the selection of the transfer delays of each om. this is described in the next section. 4 transfer delay identification the hydraulic systems consist of several reaches, i.e. a part between two measurement points (see figure 5.a), each reach being composed of open-channel reach section (ocrs), i.e. a part between two gates, or between a measurement point and a gate or between a gate and a measurement point. thus, the reach dynamics are modelled with a concurrent hybrid automaton cha (see figure 5.b) composed of several ha defined for each ocrs. this representation is directly inspired from the concurrent hybrid automata proposed in [5, 6]. in the study case, the cha is deterministic. the input of the first automaton haoi of the first ocrs following mi is the discharge measured on mi. the input of the second automaton, haoi+1 is the discharge downstream haoi minus qni , the discharge setpoint assigned to the gate between this two ocrs. 246 eric duviella, pascale chiron, philippe charbonnaud figure 5: (a) a canal reach and (b) its modelling by concurrent hybrid automaton (cha). the ocrs dynamics (see figure 6.a) are modelled using the multimodelling method described in the previous section, and are represented by a ha (see figure 6.b). each state corresponds to one om identified as transfer function fl given by the relation (6). the transition conditions are defined according to the upstream discharge qo and the lth om boundaries qin fl and qsupl . figure 6: (a) ocrs with index o and (b) its modelling by hybrid automaton (ha). for each om, the transfer delay tr is obtained from the step response of the corresponding transfer function. it is chosen as the time value for which πq percent of step is reached. the percentage πq can be tuned from simulation. in the next section, the hca strategy is used to valorize water quantities of a hydraulic system subjected to large operating conditions. hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions 247 table 2: geometrical characteristics of each ocrs. ocrs b [m] f x [m] j [rad] qmin [m3/s] qmax [m3/s] 1 5.73 0.79 204 7.10−4 0.8 10 2 5.09 0.96 702 7.10−4 0.8 9 3 5.21 0.95 562 6.10−4 0.7 7 4 3.72 0.94 1360 5.10−4 0.6 5 5 simulation results the effectiveness of the proposed strategy is shown by simulation on the first reach of the neste canal located in gascogne, a french southwestern region. it is composed of one measurement point m1, three gates g1 to g3 and one output considered as a non-controlled gate g4 (see figure 7). this canal reach is composed of four ocrs with trapezoidal profile characterized by the bottom width b, the average fruit of the banks f , the profile length x and the reach slope i (see figure 8). the geometrical characteristics and operating conditions of each ocrs are detailed in table 2. the fourth ocrs, between g3 and g4, is not modelled, because gate g4 is not locally controlled. in the case of a trapezoidal profile, celerity and diffusion coefficients c and d are expressed by the following relation: figure 7: first reach of the neste canal. { c = ql2 [ − f + l3 ( 2b pz + 5l s − 2z )] d = q2lj , (9) where l = b + 2 f z, s = zb + f z2, p = b + 2z √ 1 + f 2. figure 8: geometrical characteristics of a trapezoidal profile. the multimodelling steps which are carried out with πc = 15 % and ∆c = 0.1, lead to the determination of three om for each ocrs. their corresponding transfer function parameters are given in table 3. the transfer delays tr are computed with a value πq = 63 %. this value, chosen by simulation, leads to the best water quantity valorization. 248 eric duviella, pascale chiron, philippe charbonnaud table 3: multiple models of each ocrs. ocrs q qmin [m3/s] qmax [m3/s] w1 w2 τ tr [s] 1.6 0.8 2.4 161 0 0 160 1 3.2 1.9 5.2 128 0 0 130 7.7 4.3 10 100 0 0 100 1.4 0.8 2.2 424 24331 145 575 2 3 1.7 4.9 364 0 89 450 7.4 4.1 9 355 0 0 355 1.2 0.7 1.9 377 0 129 505 3 2.4 1.5 4 357 0 29 385 5.8 3.2 7 320 0 0 320 the neste canal is supplied with water corresponding to an objective discharge equal to 7 m3/s. the objective discharges and the weights of each gate are displayed in table 4. the canal is subjected to strong withdrawals of 3 m3/s and 4.5 m3/s upstream to m1 (see figure 9.a). this scenario was selected among several simulated scenarii, because it reveals accurately the inversion phenomenon of the discharge tendency. the hca strategy goals consist in the allocation of the water resource amongst the gates according to their weights, and in the minimization of the discharge discrepancy at gate g4. the detection and control periods are selected as te = 12 s and tc = 120 s. in figure 9, the simulation results are shown in continuous line when the transfer delay selection method is used, and in dashed line when the transfer delays are fixed to 100 s for the first ocrs, to 355 s for the second and to 320 s for the third. these transfer delay values are selected according to the operating point of each ocrs, i.e. 7 m3/s, 5 m3/s and 4 m3/s. they correspond to the third om of each ocrs. 2 4 6 (a) q m 1 [ m 3 /s ] e+ c e+ ~c e0 e− ~c e− c (b) 0 1 2 (c) q 1 [ m 3 /s ] 0.5 1 (d) q 2 [ m 3 /s ] 0 1 2 (e) q 3 [ m 3 /s ] 0 2 4 6 8 10 12 14 16 18 2 2.05 (f) q 4 [ m 3 /s ] time[h] figure 9: discharge qm1 (continuous line) and objective discharge qm1ob j (dotted line) (a), resource states (b), setpoints assigned q j (continuous line when the delay selection method is used, dashed line in other case) and objective discharge q job j (dotted line) to g1 (c), g2 (d), g3 (e) and discharge at g4 ( f ). hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions 249 table 4: gate objective discharges q job j, gate weights λ j and µ j, and minimum and maximum discharges q jmin and q jmax . gate g1 g2 g3 g4 q job j [m3/s] 2 1 2 2 λ j 10 10 4 − µ j 10 4 10 − q jmin [m 3/s] 0.02 0.1 0.02 0.15 q jmax [m 3/s] 3.6 4.5 3.5 3 table 5: criteria computed when the transfer delay selection method is or not used. criterion min(q4 [m3/s]) max(q4 [m3/s]) v [m3] with selection method 1.9778 2.0451 541 without selection method 1.9763 2.0455 602 figure 9 displays the discharges qm1 in (a), the corresponding discharge states in (b), the setpoint assigned at gate g1 in (c), g2 in (d), g3 in (e) and the resulting discharge at g4 in (f). the resource in lack measured on m1 is allocated on gates g1 and g3, as long as their setpoints are upper than their respectively minimum discharge characteristics q jmin , otherwise it is allocated on gate g2 (see figures 9.c, 9.d and 9.e). thus, the gates g1 and g3 are controlled between the 1st and 4th hours, and the gate g2 between the 4th and 7th hours. during all the simulation time, the discharge on g4 is close to the objective value of 2 m3/s (see figure 9. f ). however, when the transfer delay selection method is not used, the setpoints are always assigned too early. consequently at g4, the discharge is in excess when the water resource decreases on m1, and the discharge is in lack when the water resource increases on m1. the tendency of qm1 discharge is inverted at g4 the end of the canal reach. the use of the transfer delay selection method improves the performances of the hca strategy and maintains the tendency. the maximum and minimum discharges reached at g4 and the water volume v which was not allocated, are displayed in table 5. the maximum discharge discrepancy at g4 corresponds to 2.26 % of the objective discharge q4ob j when the transfer delay selection method is used and to 2.28 % in the other case. 6 conclusion the hca strategy is adapted to valorize the water resource by allocation and setpoint assignment of open-surface hydraulic system submitted to strong disturbances. a multimodelling method is proposed to identify by a determined number of linear models the open-surface hydraulic systems. then, a transfer delay selection method is proposed to take into account variable transfer delays by the selection of the right setpoint assignment date according to the system dynamics and to the measured discharge. finally, the hca strategy performances are shown by simulation on the first reach of the neste canal subjected to large operating conditions and to strong disturbances. the study of control stability proof of the hca strategy is a future goal. 250 eric duviella, pascale chiron, philippe charbonnaud bibliography [1] chow, v. t., d. r. maidment and l. w. mays. applied hydrology. mcgraw-hill. new york, paris, 1988. [2] choy, s. and e. weyer (2005). reconfiguration schemes to mitigate faults in automated irrigation channels. cdc-ecc’05, 44 th ieee conference on decision and control and european control conference, seville, spain, 12-15 december, pp. 1875-1880, 2005. [3] duviella, e., p. charbonnaud, p. chiron and f. carrillo. supervised internal multi-model control of a dam-gallery open-channel system. cdc-ecc’05, 44 th ieee conference on decision and control and european control conference, seville, spain, 12-15 december, pp. 1887-1892, 2005. [4] duviella, e., p. chiron, p. charbonnaud and p. hurand. supervision and hybrid control accommodation for water-asset management. control engineering practice. vol. 15, issue 1, pp. 17-27, 2007. [5] funiak, s., l. j. blackmore and b. c. williams. gaussian particle filtering for concurrent hybrid models with autonomous transitions. csail memo, 2006. [6] hofbaur, m. w. and b. c. williams. hybrid diagnosis with unknown behavioural modes. international workshop on principles of diagnosis (dx-02), semmering, austria, may 2-4, pp. 97-105, 2002. [7] litrico, x. and d. georges. robust continuous-time and discrete-time flow control of a dam-river system. (i) modelling. applied mathematical modelling, vol. 23, pp. 809-827,1999. [8] litrico, x. and v. fromion. design of structured multivariable controllers for irrigation canals. cdcecc’05, 44 th ieee conference on decision and control and european control conference, seville, spain, 12-15 december, pp. 1881-1886, 2005. [9] malaterre, p.o., d.c. rogers and j. schuurmans. classification of canal control algorithms. journal of irrigation and drainage engineering, vol.124, issue 1, pp. 3-10, 1998. [10] puig, v., j. quevedo, t. escobet, p. charbonnaud and e. duviella. identification and control of an open-flow canal using lpv models. cdc-ecc’05, 44 th ieee conference on decision and control and european control conference, seville, spain, 12-15 december, pp. 1893-1898, 2005. eric duviella ecole des mines de douai département informatique et automatique 941, rue charles bourseul, bp 10838, 59508 douai cedex, france phone: 33.3.27.71.21.02 ; fax : 33.3.27.71.29.80 e-mail: duviella@ensm-douai.fr pascale chiron laboratoire génie de production ecole nationale d’ingénieurs de tarbes 47, avenue d’azereix, bp1629, 65016 tarbes cedex, france phone: 33.5.62.44.27.69 ; fax : 33.5.62.44.27.08 e-mail: pascale.chiron@enit.fr philippe charbonnaud laboratoire génie de production ecole nationale d’ingénieurs de tarbes 47, avenue d’azereix, bp1629, 65016 tarbes cedex, france hybrid control accommodation for water-asset management of hydraulic systems subjected to large operating conditions 251 phone: 33.5.62.44.27.34 ; fax : 33.5.62.44.27.08 e-mail: philippe.charbonnaud@enit.fr received: january 29, 2007 revised: may 22, 2007 eric duviella was born in france in 1978. in 2001, he received the diploma in engineering from the national engineering school, tarbes, france. he received the ph.d. degree from the institut polytechnique, toulouse, france, in 2005. since 2007, he has been an assitant professor in the department informatic and automatic of the ecole des mines, douai, france. he has published around 15 papers in journals or international conferences. his research interests include modelling, hybrid dynamical systems, supervision, reactive control strategy. pascale chiron was born in france in 1961. she is assistant professor at the ecole nationale d’ingénieurs de tarbes, france since 2000. she has obtained his phd in 1989 at ecole centrale in nantes on ’matching and similarity criterion in medical imaging’. now, she is involved in the theme ’planning, control, supervision and distributed simulation’ in the ’automated production’ group of laboratoire de génie de production. her domains of interest are modelling and simulation for system control. philippe charbonnaud was born in france in 1962. since 2003, he is full professor at the ecole nationale d’ingénieurs de tarbes. he is coordinator of the spanish-french project gepredo dealing with the management of hydrographical networks and the predictive management of the water resource. the main contribution lies in the development of a hybrid control method applied to distributed systems. his main topic of interest concerns the real-time decision support systems, and more particularly supervision and control accommodation of distributed systems. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 684-692 advanced information technology support of improved personalized therapy of speech disorders m. danubianu, s.g. pentiuc, i. tobolcea, o.a. schipor mirela danubianu, stefan gheorghe pentiuc, ovidiu andrei schipor “ştefan cel mare” university of suceava romania, 720229 suceava, 13 universităţii e-mail: {mdanub, pentiuc, schipor}@eed.usv.ro iolanda tobolcea “alexandru ioan cuza” university of iaşi romania, 700506 iasi, 11 bulevardul carol i e-mail: itobolcea@yahoo.com abstract: one of the key challenges of the sustainable development strategy adopted by the european council in 2006 is related to public health whose general objective envisages a good level of public health. one of the specific targets includes better treatments of diseases. it is true that there are affections which by their nature do not endanger the life of a person, however they may have a negative impact on her/his life standard. various language or speech disorders are part of this category, but if they are discovered and treated in due time, they can be often corrected. the difficulty for researchers and therapists is to identify those children who have disorders that show a wide range of issues that cannot be solved spontaneously or which may lead to further significant deficiencies. information technology in the latest years was used by specialists in order to assist and supervise speech disorder therapy. consequently they have collected a considerable volume of data about the personal or familial anamnesis, regarding various disorders or regarding the process of personalized therapies. these data can be used in data mining processes that aim to discover interesting patterns which can help the design and adaptation of different therapies in order to obtain the best results in conditions of maximum efficiency. the aim of this paper is to present the logo-dm system. this is a data mining system that can be associated with terapers system in order to use the data from its database as a source for analysis and to provide new information based on an improved system of therapy. through the use of appropriate techniques of data mining logo-dm realizes predictions on the evolution and the final status of patients undergoing therapy and enriches the knowledge data of expert system embedded in terapers. keywords: personalized therapy, data mining, classification, clustering, associations rules. 1 introduction various forms of speech disorders affect an important percent of people. there are affections which, by their nature, do not endanger the life of a person, however may have a negative impact on her/his life standard. discovered and treated in due time, they can be corrected, most often during childhood. the use of information technology in order to assist and supervise speech disorder ther-apy allows specialists to collect a considerable volume of data about the personal or familial anam-nesis, regarding various disorders or regarding the process of personalized therapy. copyright c⃝ 2006-2010 by ccc publications advanced information technology support of improved personalized therapy of speech disorders 685 even if these data can provide plenty of statistical information little useful knowledge can be obtained from it. in order to get such useful knowledge it is necessary to discover patterns in the data regarding the common characteristics of children with different types of diagnosis, about the connection between antecedents, personal and family behaviour and evolution of the child, or on the connection between the anamnesis and the response to different types of treatments or to different phases of the therapeutic process. these patterns are used to establish such a future strategy so as to maximize the benefits of the therapy and to minimize the costs. what are the speech disorders? a speech disorder is a problem with fluency, voice, and/or how a person utters speech sounds. classifying speech into normal and disorder is complex because the statistics points out that only 5% to 10% of the population has a completely normal manner of speaking, all others suffer from one disorder or another. the most common speech disorders are: stuttering, cluttering, voice disorders, dysartria and speech sound disorders. the speech disorder therapy should begin as soon as possible. children enrolled in therapy early in their development (younger than 5 years) tend to have better outcomes than those who begin therapy later. during the therapy, speech therapists use a variety of strategies including: oral motor or feeding therapy, articu-lation therapy and language intervention activities [2]. during the language intervention activities the therapist will interact with a child by playing and talking. he may use pictures, books, objects, or ongoing events to stimulate language development. the therapist may also model correct pro-nunciation and use repetition exercises to build speech and language skills. in the area of speech disorders there are some european projects developed as part of the eu quality of life and management of living resources program, like: olp (ortho-logo-paedia) pro-ject [8], star speech training, assessment, and remediation [12] [19], speechviewer iii developed by ibm [11] or artur (articulation tutor) [17] [18]. currently, the priorities at the international level focus on the development of information systems that can provide a personalised therapy. at the national level, little research has been conducted on the therapy of speech impairments [13]. terapers project [1] [2], developed with the financial support granted by the national agency for scientific research, contract ref. no. 56-ceex-ii03/27.07.2006 by the research center for computer science in the university "stefan cel mare" of suceava, aims to assist and support the speech disorder therapists in their efforts to develop personalized programs for the therapy of dyslalia. 2 data mining and its application in logopaedic area data mining is defined as the process of discovering non-obvious and potentially useful patterns in large data volumes. as exploration and analysis technique of large amounts of data in order to de-tect patterns or rules with a specific meaning, data mining may facilitate the discovery from appar-ently unrelated data, relationships that can anticipate future problems or might solve the studied problems. data mining represents one phase in the complex process of knowledge discovery in databases (kdd) [5]. according to crisp-dm [15], the reference model for this process, kdd consists of a sequence of steps. these steps are presented in figure 1. using appropriate methods, data mining can solve two broad categories of problems: prediction and description [10] [14]. the most used methods for prediction are classifications and regressions, and for description, clustering, deviation detection or association rules. the specific logopaedic tasks performed by data mining fall into the following categories [3]: • classification which places the people with different speech impairments in predefinited classes. thus it is possible to track the size and structure of various groups. we can use 686 m. danubianu, s.g. pentiuc, i. tobolcea, o.a. schipor figure 1: crisp_dm process of knowledge discovery in databases classi-fication which is based on the information contained in many predictor variables, such as per-sonal or familial anamnesis data or related to lifestyle, to join the patients with different seg-ments. • clustering which groups people with speech disorders on the basis of similarity of different features. it is an important task because it helps therapists understand their patients. cluster-ing aims to finding subsets of a predetermined segment, with homogeneous behavior to-wards various methods of therapy that can be effectively targeted by a specific therapy but it is not based on the previous definition of groups. • association rules aim to find out associations between different data which seem to have no semantic dependence. it may be a way to determine why a specific therapy program has been successful on a segment of patients with speech disorders and on the other was ineffective. to conclude with we state that data mining can be a useful tool. still, there is a limitation we have to consider. data mining applications generate information by analyzing patterns of data ob-tained from the systems which assist and supervise the speech therapy. such patterns can help pre-dict the evolution of the individuals that are currently in the process of therapy, or design a scheme of an appropriate therapy for them. however data mining technology can not provide information about impairments, people or behaviors that are not found in the databases that provide data for analysis. 3 logo-dm system 3.1 objectives the idea of trying to improve the quality of logopaedic therapy by applying some data mining tech-niques started from terapers project developed within the research center for computer sci-ence in the university "stefan cel mare" of suceava. this project has proposed to develop a system which is able to assist speech therapists in their speech therapy of dislalya and to asses how the pa-tients respond to various personalized therapy programs. starting in march 2008 the system is cur-rently used by the therapists from regional speech therapy center of suceava. at present, because of the limited time and the economical aspects involved, information regard-ing the therapy for each particular case is of interest [4]: what is the predicted final state for a child or what will be his/her state at the end of various stages of therapy, which the best advanced information technology support of improved personalized therapy of speech disorders 687 exercises are for each case and how they can focus their effort to effectively solve these exercises or how the family receptivity which is an important factor in the success of the therapy is associated with other as-pects of family and personal anamnesis. all this may be the subject of predictions obtained by ap-plying data mining techniques on data collected by using a computer based therapy system. it is also interesting, as part of the knowledge discovered by data mining algorithms, to be used to enrich the knowledge base of expert system embedded. to achieve this goal we propose the development of logo-dm system. consequently its objectives are: • analysis of data collected and their preprocessing in order to assure a proper quality for data mining algorithms • feature selection for the elimination of those irrelevant or redundant • the use of corresponding data mining methods and algorithms that can be applied in order to find models which can answer to problems raised in speech disorders therapy • models evaluation and their validation on new cases • to find new rules which can enrich the knowledge base of the expert system embedded in terapers 3.2 system architecture data mining aims at deriving knowledge from data. the architecture of a data mining system plays an important role in the efficiency with which data is mined. considering the characteristic of the domain we have proposed for the system a two tier client server architecture. this architecture is presented in figure 2. figure 2: logo-dm architecture on the client side there is the user interface (gui) which allows the user to communicate with the system in order to select the task to perform, to select and submit the datasets on which data mining needs to be applied. pattern evaluation and the post-processing step consisting in pattern visualiza-tion are performed also on the client. the knowledge base is the module where the background knowledge is stored. 688 m. danubianu, s.g. pentiuc, i. tobolcea, o.a. schipor the more difficult computational tasks of data mining operations are carried out on the server. here, the data mining kernel contains modules able to perform classifications and association rule detection. supplementary the pre-processing data module allows data to become suitable for apply-ing data mining algorithms. 3.3 some aspects regarding the system implementation it is well known that the best results of data mining algorithms are obtained by applying on data in data warehouses. but in this case the development of a data warehouse is not appropriate, so, it is used, as the primary source of data, a database that contains data collected from the different speech therapists’ offices. in order to choose the right solution for the implementation of the system we have made an analysis of available data both its structure and content. we have started from a scheme with over 60 tables and after deleting tables with irrelevant content for the intended purpose we have obtained, as underlying tables for the final data set, 27 tables as presented in figure 3. content analysis can reveal interesting issues related to data quality or the need for transformation. we have made a first assessment of data quality through the following measures: completeness, conformity, accuracy, consistency and redundancy. the mechanisms provided by the used da-tabase management system have imposed a minimum, controlled redundancy and have assured data consistency. values stored in fields correspond to reality, but unfortunately in some records useful data for analysis are missing. therefore it is necessary to supplement data gaps, and where not pos-sible, the removal of the record for accurate results is suggested. figure 3: the useful part of database schema proper data for the analysis are subjected to the following types of transformation: transformations of the structure, and changes aimed value. structural transformations are dictated by the fact that there are fields in the database contain-ing data related to a complex of features to be addressed individually in the analysis. values of transformations refer to the replacement of coded data by the rules, enabling, for example, the effective storage with descriptive values of characteristics allowing rapid interpretation of results. an example of these transformations is the following. an issue addressed in the anamnesis form is related to the skills of the child. in figure 4 we can see that there is a complex of skills of interest (verbal, perceptual, numeric, psycho-motor or special skills). in the database, all these skills are in two distinct fields: one for general skills, which groups data regarding verbal, perceptual, numeric, psycho-motor and intelligence skills and one for advanced information technology support of improved personalized therapy of speech disorders 689 figure 4: sample of anamnesis data special skills (figure 5). the field called ’aptitudini’ is numeric and is represented in the table by a string of five bits, as shown in figure 5. these bits, positioned from left to right, have the following meaning: • the first bit verbal skills (1present, 0absent) • the second bit perceptual skills (1present, 0absent) • the third bit numeric skills (1present, 0absent) • the fourth bit psycho-motor skills (1present, 0absent) • the fifth bit intelligence (1normal intelligence, 0 mental deficiency) figure 5: data to be transformed since all these attributes may affect the analysis it is desirable that they can be addressed indi-vidually and explicitly in the final data set. for this purpose the original table structure is changed and values are converted to descriptive values as in figure 6. these changes have conducted to a modified form of the relational database used by terapers. in the first phase, construction of target data sets for each of the methods to be applied in the system is through the application of relational expressions like those presented in (1).∏ ii (t1 ◃ ▹t2 ◃ ▹... ◃ ▹tk) (1) where: • ii is a superset of the attributes regarding the useful characteristics for each method • t1 . . . tk is the set of tables containing the attributes in the list of projection. 690 m. danubianu, s.g. pentiuc, i. tobolcea, o.a. schipor figure 6: transformed data each of these expressions was implemented in sql, and has generated intermediate tables. for example, the target data set necessary to establish the profile of children with speech disorders, can be obtained by joining tables which contain: general data about children, family and personal an-amnesis, data on complex evaluation and diagnosis associated. the statement that performs that is presented in (2). the result is a table that contains 129 features. create table caract_copii as select f.∗, l.diagn_final from fise f, logopat l where f.idc = l.idc; (2) data mining techniques were not designed to process large amounts of irrelevant features. conse-quently before their application, a selection of the relevant features is required [6] [7]. the most im-portant objectives of feature selection are: to avoid over fitting and improve model performance. a variant of the mrmr method [9] for categorical values has been used for feature selection. it is based on mutual information criteria, formally defined, for two discrete random variables x and y, as: i (x; y) = ∑ y∈y ∑ x∈x p (x, y) log ( p (x, y) p1(x)p2(y) ) (3) where p(x,y) is joint probability distribution function of x and y, and p1(x) and p2(y) are the marginal probability distribution functions of x and y respectively. for discrete random variable, the joint probability mass function is: p(x, y) = p(x = x, y = y) = p(y = y|x = x) ∗ p(x = x) = p(x = x|y = y) ∗ p(y = y) (4) since these are probabilities, we have∑ x ∑ y p(x = x, y = y) = 1 (5) the marginal probability function, p (x = x) is: p(x = x) = ∑ y p(x = x, y = y) = ∑ yp(x = x|y = y)p(y = y) (6) the criterion used is related to minimizing redundancy and maximizing relevance to the chosen characteristics. the result of tests performed on data prepared as described in the example mentioned above, revealed that, for classification, the minimum error is obtained if we deal with a number between 20 and 22 features selected. the target data set, obtained after these steps, is advanced information technology support of improved personalized therapy of speech disorders 691 subject to data mining algorithms. for an effective implementation of algorithms we have taken into account, and we tested, two possibilities: to use the oracle data mining kernel (odm) which offers the possibility to apply algorithms for classification, clustering and association rules and to use some open source implementations of relevant algorithms adapted and integrated into our own system. we took into account the types of data included in the set and we used implementations in oracle of adaptive bayes network, seeker model and decision trees build with cart [16] and id3/c4.5 for classification, for clustering the oracle implementation of a-clustering algorithm and for association rules apriori algorithm. it should be noted that for the moment, the volume of data on which work is relatively low, because the system which is the main source of these data is operational for only several months. 4 conclusions and future works considering the opportunity of data mining techniques application on data collected in the process of speech therapy, we have concluded that methods such as classification, clustering or as-sociation rules can provide useful information for a more efficient therapy. consequently, we have designed and we are currently implementing a data mining system that aims to use data provided by terapers system, developed by the research center for computer science in the university "stefan cel mare" of suceava, in order to achieve an optimized personalized therapy of dyslalia. we have tested the modules for data pre-processing and on target data sets obtained from these modules we have applied more algorithms for detecting the most appropriate solutions for the data mining kernel. at present efforts are directed towards the implementation of evaluation patterns and visualization modules and towards building a user friendly interface. bibliography [1] m. danubianu, s.g. pentiuc, o. schipor, i. ungureanu, m. nestor, distributed intelligent system for personalized therapy of speech disorders, in proc. of the third international multi-conference on computing in the global information technology iccgi, july 27august 01, athens, greece, 2008. [2] m. danubianu, s.g. pentiuc, o. schipor, m. nestor, i. ungurean, d.m. schipor, terapers intelligent solution for personalized therapy of speech disorders, international journal on ad-vances in life science, p.26-35, 2009. [3] m. danubianu, t. socaciu, does data mining techniques optimize the personalized therapy of speech disorders?, journal of applied computer science and mathematics, p.15-19, 2009 [4] m. danubianu, s.g. pentiuc, t. socaciu, towards the optimized personalized therapy of speech disorders by data mining techniques, the fourth international multi conference on computing in the global information technology iccgi 2009, vol: cd, 23-29 august, cannes la bocca, france, 2009 [5] f.g. filip, decizie asistata de calculator, ed. tehnica, bucuresti, 2005 [6] i. guyon, a. elisseeff, an introduction to variable and feature selection. j. mach learn res., 3, p.1157-1182, 2003 692 m. danubianu, s.g. pentiuc, i. tobolcea, o.a. schipor [7] h. liu, h. motoda, feature selection for knowledge discovery and data mining. kluwer aca-demic publishers, norwell, ma, 1998 [8] olp (ortho-logo-paedia) project for speech therapy (http://www.xanthi.ilsp.gr/olp);w.-k. chen, linear networks and systems (book style).belmont, ca: wadsworth, p. 123-135, 1993 [9] h. peng, f. long, c. ding, feature selection based on mutual information: criteria of max-dependency, max-relevance, and min-redundancy, ieee transactions on pattern analysis and machine intelligence, vol. 27, no. 8, p. 1226-1238, 2005 [10] b. reiz, l. csató, bayesian network classifier for medical data analysis. international journal of computers communications & control vol. 4, p: 65-72, 2009 [11] speechviewer iii (http://www.synapseadaptive.com/edmark/prod/sv3) [12] star speech training, assessment, and remediation (http://www.asel.udel.edu/speech) [13] tobolcea,i., interventii logo-terapeutice pentru corectarea formelor dislalice la copilul normal, editura spanda, iasi, 2002. [14] p. wessa, quality control of statistical learning environments and prediction of learning outcomes through reproducible computing, international journal of computers communications & control vol. 4, p: 185-197, 2009 [15] r. wirth, j. hipp, crisp-dm: towards a standard process model for data mining. in proceedings of the 4th international conference on the practical applications of knowledge discovery and data mining, pages 29-39, manchester, uk, 2000 [16] www.salford-systems.com/ last visited october 2009 [17] www.speech.kth.se/multimodal/artur/index.html last visited august 2009 [18] o. balter, o. engwall, a.m. oster, h. kjellstrom, wizard-of-oz test of artur a computer-based speech training system with articulation correction. proceedings of the seventh international acm sigaccess conference on computers and accessibility, baltimore, october, 2005, pp.36-43. [19] h.t. bunnel, m.d. yarrington, b.j. polikoff, articulation training for young children, proceedings of 6th international conference on spoken language processing (icslp 2000), beijing, china, october 16-20, 2000, vol.4, pp. 85-88. international journal of computers, communications & control vol. i (2006), no. 1, pp. 7-8 introduction to the first issue ioan dziţac in this inaugural issue we present: • an editorial article, with a general presentation of ijccc and this introduction with short description of the papers published in this first issue; • one anniversary article dedicated to centenary of kurt gödel (1906-1978) and two anniversary articles dedicated to centenary of grigore c. moisil (1906-1973); • some selected papers from the international conference on computers, communications & control, june 1-3, 2006, băile felix oradea, romania, icccc 2006; • two regular papers. 1 introducing the papers daniel c. doolan and sabin tabirca’s paper1 discusses how a java 2 micro edition (j2me) application may be developed to visualize a wide variety of differing fractal types on a mobile phone. an integrated tool has been developed by authors to generate a variety of two dimensional fractals (mandelbrot set, julia set, prime number fractal and the plasma fractal). banshider majhi, y santhosh reddy, d prasanna babu’s propose in their paper a new feature extraction scheme for offline signature verification. the method uses geometric center for feature extraction and euclidean distance model for classification. this classifier is well suitable for features extracted and fast in computation. the method proposed in this paper leads to better results than existing offline signature verification methods. gheorghe păun initiated membrane computing, most known as p systems (with “p” from “păun”; for more details see http://psystems.disco.unimib.it) by paper “computing with membranes”, published in journal of computer and system sciences, 61, 1 (2000), 108-143 (first circulated as tucs research report no 208, november 1998, http://www.tucs.fi). in the paper published in this issue he continues the attempt to bridge brane calculi with membrane computing, following the investigation started in the paper l. cardelli, gh. păun, an universality result for a (mem)brane calculus based on mate/drip operations, intern. j. foundations of computer sci., 17, 1 (2006), 49-68. dana petcu, cosmin bonchiş, cornel izbaşa present in their paper2, a case study of a web service-based grid application for symbolic computations (known as computer algebra systems (cas)), using maple2g (maple-togrid). imre rudas and janos fodor summarizes in their paper3 the research results of the authors that have been carried out in recent years on generalization of conventional operators. aggregating uncertain information is an important issue in the study of intelligent systems. in their contribution, the authors present an overview on generalized operators from the point of view of information aggregation. in this spirit, a comparative study of triangular norms and conorms, uninorms and nullnorms, generalized conjunctions and disjunctions and distancebased operations is presented. milan stanojevic and mirco vujosevic’s propose in their paper4 a new original more efficient algorithm formulation and implementation for solving relatively low dimensions steiner tree problem on graph. athanasios d. styliadis, ioannis d. karamitsos, dimitrios i. zachariou’s paper5 introduces the gis elearning implementation, based on a set of teaching (lecturing) rules according to the cognitive style of learning preferences of both the learners and the lecturers as well. 1selected from icccc 2006 2selected from icccc 2006 3plenary invited paper of icccc 2006 4invited paper of icccc 2006 5invited paper of icccc 2006 copyright c© 2006 by ccc publications 8 ioan dziţac 2 introducing the anniversary articles gabriel ciobanu’s article presents some impressions about life, work, and foundational views of kurt gödel, after his participation to the international symposium celebrating the 100th birthday of kurt gödel, organized between 27-29 april 2006 by the kurt gödel society and university of vienna. gabriel ciobanu has been accepted to this symposium with a contribution regarding a new characterization of computable real numbers. solomon marcus present in this first issue of ijccc a very well documented article6, devoted to 100 years since the birth of great romanian mathematician and computer pioneer (ieee-1996), grigore c. moisil (19061973). in 1976, 1980 and 1992, acad. solomon marcus has edited and prefaced the following volumes: • gr. c. moisil, opera matematica, vol.i, editura academiei, bucuresti, 1976 (preface, edition and introductory study). • gr. c. moisil, opera matematica, vol.ii, editura academiei, bucuresti, 1980 (preface, edition and introductory study). • gr. c. moisil, opera matematica, vol.iii, editura academiei, bucuresti, 1992 (edition and introductory study). george georgescu, afrodita iorgulescu, sergiu rudeanu, three remarkable moisil’s disciples, presents, in their technical paper7, a very concise and updated survey emphasizing the research done by grigore c. moisil and his school in algebraic logic (n-valued lukasiewicz-moisil algebra, θ -valued lukasiewicz-moisil algebra, post algebra etc.). ioan dziţac executive editor of ijccc agora university 8, p-ta tineretului, 410526 oradea, romania e-mail: idzitac@univagora.ro 6plenary invited talk of icccc 2006 7invited paper of icccc 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 2, pp. 179-192 evolved fuzzy control system for a steam generator d. hossu, i. făgărăşan, a. hossu, s.s. iliescu daniela hossu, ioana făgărăşan, andrei hossu, sergiu st. iliescu university politehnica of bucharest automatic control and industrial informatics no.313 splaiul independentei, district 6, code 060042, bucharest, romania e-mail: andone_dana@yahoo.com, dana@aii.pub.ro, ioana@shiva.pub.ro abstract: poor control of steam generator water level is the main cause of unexpected shutdowns in nuclear power plants. particularly at low powers, it is a difficult task due to shrink and swell phenomena and flow measurement errors. in addition, the steam generator is a highly complex, nonlinear and time-varying system and its parameters vary with operating conditions. therefore, there is a need to systematically investigate the problem of controlling the water level in the steam generator in order to prevent such costly reactor shutdowns. the objective of this paper is to design, evaluate and implement a water level controller for steam generators based on a fuzzy model predictive control approach. an original concept of modular evolved control system, seamless and with gradual integration into the existent control system is proposed as base of implementation of the presented system. keywords: evolved control, nonlinear system, fuzzy model, predictive control. 1 introduction poor control of the steam generator water level in the secondary circuit of a nuclear power plant can lead to frequent reactor shutdowns. such shutdowns are caused by violation of safety limits on the water level and are common at low operating power where the plant exhibits strong non-minimum phase characteristics. difficulties on designing a steam generator (sg) level controller arise from the following factors: reverse dynamics, or non-minimum phase behavior due to swell and shrink effects, particularly at low power, changes in plant dynamics with operating power, dynamics uncertainties, corrupted feed-water flow measurement signal with biased noises. particularly it is difficult to control automatically a steam generator water level during transient period or at low power less than 15% of full power because of its dynamic characteristics. various approaches have been reported in the literature: an adaptive pid level controller using a linear parameter varying model to describe the process dynamics over the entire operating power range [12]; lqg controllers with "gain-scheduling" to cover the entire operating range [15]; a hybrid fuzzypi adaptive control of drum level, a model predictive controller to identify the operating point at each sampling time and use the plant model corresponding to this operating point as the prediction model [14]. a nonlinear physical model with a complexity that is suitable for model-based control has been presented by aström and bell [5]. the model describes the behavior of the system over a wide operating range. a model of the steam generator water level process in the form of a transfer function, determined based on first-principles analysis and expert experience has been presented in [30]. a detailed nonlinear model based on the lumped parameter approach for system modules, developed for a typical pwr power copyright c⃝ 2006-2010 by ccc publications 180 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu plant has been presented in [1]. in the paper trained neural networks are used to predict certain system parameters of the plant for a number of different power demand histories. paper [17] presents a self organizing fuzzy logic controller for the water level control of a steam generator. with the advent of the current generation of high-speed computers, more advanced control strategies not limited to pi/pid, can be applied [11], [18], [20], [23]. model predictive control (mpc) is one such controller design technique, which has gained wide acceptance in process control applications. model predictive control has three basic steps: output prediction, control calculation and closing the feedback loop [6], [7], [16]. in this paper, we apply mpc techniques to develop a framework for systematically addressing the various issues in the sg level control problem. the takagi-sugeno fuzzy model representation often provides efficient and computationally attractive solutions to a wide range of modeling problems capable to approximate nonlinear dynamics, multiple operating modes and significant parameter and structure variations [22], [24]. this paper deals with takagi-sugeno (t-s) fuzzy models because this type of model have a good capability for prediction and can be easily used to design model-based predictive controllers for nonlinear systems [9]. the paper includes simulations of typical operating transients in the sg. a new concept of modular advanced control system designed for a seamless and gradual integration into the target systems is presented. the system is designed in such a way to improve the quality of monitoring and control of the whole system. the project targets the large scale distributed advanced control systems with optimum granularity architecture. 2 fuzzy model fuzzy models have become one of the most well established approaches to non-linear system modeling since they are universal approximations which can deal with both quantitative and qualitative (linguistic) forms of information [8], [9], [21], [26], [27], [28], [29]. these models can broadly be divided into three classes: linguistic models so-called mamdani-type models, fuzzy relational models, and takagi-sugeno (ts) models [14]. both linguistic and fuzzy relational models are linguistically interpretable and can incorporate prior qualitative knowledge provided by experts [25]. however, when linguistic knowledge extraction is not the main purpose of modeling, like in many dynamic system identification and control problems, the use of ts models becomes particularly adequate since they are able to accurately represent a wide class of nonlinear systems using a relatively small number of parameters. in a nutshell, ts models perform an interpolation of local models, usually linear or affine in their arguments, by means of a fuzzy inference mechanism. their functional rule base structure is well-known to be intrinsically favorable for control applications. the ts model representation often provides efficient and computationally attractive solutions to a wide range of modeling problems capable to approximate nonlinear dynamics, multiple operating modes and significant parameter and structure variations. the ability of such model to capture the dynamics of a large class of nonlinear plants has been investigated extensively in the literature [13]. in this paper, we apply mpc techniques to develop a framework for systematically addressing the various issues in the sg level control problem. this paper deals with takagi-sugeno (t-s) fuzzy models because of their capability to approximate a large class of static and dynamic nonlinear systems. in t-s modeling methodology, a nonlinear system is divided into a number of nearly linear subsystems. a quasi-linear empirical is developed by means of fuzzy logic for each subsystem. the whole process behavior is characterized by a weighted sum of the outputs from all quasi-linear fuzzy implication. the methodology facilitates the development of a nonlinear model that is essentially a collection of a number of quasi-linear models regulated by fuzzy logic. it also provides an opportunity to simplify the design of model predictive control. the system is divided into a number of linear or nearly linear subsystems. by takagi-sugeno’s modeling methodology a fuzzy quasi-linear model has to be developed for each subsystem. in such a evolved fuzzy control system for a steam generator 181 model, the cause-effect relationship between control u and output y at the sampling time n is established in a discrete time representation. each fuzzy implication is generated based on a system step response [3, 4, 10]. if y(n) is ai0, y(n −1) is a i 1, ..., y(n − m +1) is a i m−1, and u(n) is bi0, u(n −1) is b i 1, ..., u(n − l +1) is b i l−1 (1) t hen yi(n +1) = y(n)+ t∑ j=1 hij ∆ u(n +1− j) where: aij fuzzy set corresponding to output y(n-j) in the i th fuzzy implication bij fuzzy set corresponding to input u(n-j) in the i th fuzzy implication hij impulse response coefficient in the i th fuzzy implication t model horizon △u(n) difference between u(n) and u(n-1) a complete fuzzy model for the system consists of p fuzzy implications. the system output y(n+1) is inferred as a weighted average value of the outputs estimated by all fuzzy implications y(n +1) = ∑p j=1 µ jy j(n +1)∑p j=1 µ j (2) where µ j = ∧i a j i ∧k b j k (3) considering ω j = µ j∑p j=1 µ j (4) then y(n +1) = p∑ j=1 ω j y j(n +1) (5) 3 fuzzy model predictive control 3.1 problem formulation the design goal of a fuzzy model predictive control is to minimize the predictive error between an output and a given reference trajectory in the next ny steps through the selection of nu step optimal control policies. the optimization problem can be formulated as: min∆ u(n), ∆ u(n+1), ..., ∆ u(n+nu) j(n) (6) j(n) = ny∑ i=1 µi(ŷ(n + i)− yr(n + i)) 2 + nu∑ i=1 vi∆ u(n + i)2 (7) where: 182 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu µi and vi are the weighting factors for the prediction error and control energy; ŷ(n +1) ith step output prediction; yr(n +1) ith step reference trajectory; ∆ u(n + i) ith step control action. the weighted sum of the local control policies gives the overall control policy: ∆ u(n + i) = p∑ j=1 ω j∆ u j(n + i) (8) substituting (2) and (8) into (7) yields (9) j(n) = ny∑ i=1 µi   p∑ j=1 ( ω j ( ŷ j(n + i)− yr(n + i) ))2 + nu−1∑ i=0 vi   p∑ j=1 ω j∆ u j(n + i)  2 (9) to simplify the computation, an alternative objective function is proposed as a satisfactory approximation of (9) [10]. j̃(n) = p∑ j=1  (ω j)2   ny∑ i=1 µi ( ŷ j(n + i)− yr(n + i) )2 + nu−1∑ i=0 vi ∆ u j(n + i)2     (10) the optimization problem can be defined as: min∆ u(n), ∆ u(n+1), ..., ∆ u(n+nu−1) j̃(n) = min∆ u(n), ∆ u(n+1), ..., ∆ u(n+nu−1) p∑ j=1 ( ω j )2 j̃ j(n) (11) where j̃ j(n) = ny∑ i=1 µi ( ŷ j(n + i)− yr(n + i) )2 + nu−1∑ i=0 vi ( ∆ u j(n + i) )2 (12) using the alternative objective function (12), we can derive a controller by a hierarchical control design approach. 3.2 controller design 1. lower layer design: for the jth subsystem, the optimization problem is defined as follows: min∆ u(n), ∆ u(n+1), ..., ∆ u(n+nu−1) j̃ j(n) (13) subject to: r j : { if y(n + k −1) is a j0, ..., y(n + k − m) is a j m−1 t hen y j(n + k) = y j(n + k −1)+ ∑t j=1 h j i ∆ u(n + k − i)+ ε j(n + k − i) (14) where ε j(n + k −1) serves for system coordination and it is determined at the upper layer. 2. upper layer design: the upper layer coordination targets the identification of globally optimal control policies through coordinating ε j(n + k −1) for each local subsystem. evolved fuzzy control system for a steam generator 183 3. system coordination: from the lower layer, the local information of output and control is transmitted to the upper layer. at the upper layer, the error variables are evaluated as: ε j(n + k −1) = y(n + k −1)− y j(n + k −1). these values will be compared with those for the same error variables calculated in the last iteration. if p∑ j=1 ny∑ k=1 ∣∣e j(n + k −1)− ε j(n + k −1)∣∣ > β then the control policies are not optimal and need to be modified at the lower layer; else an optimal control action is found. the whole design is decomposed into the derivation of p local controllers. the subsystems regulated by those local controllers will be coordinated to derive a globally optimal control policy. the objective function defined in (12) can be rewritten in a matrix form: j̃ j(n) = ( ŷ j+(n)−y r(n) )t w j1 ( ŷ j+(n)−y r(n) ) + + ( ∆u j+(n) )t w j2 ( ∆u j+(n) ) (15) where: ŷ j+(n) = ( ŷ j(n +1)ŷ j(n +2)...ŷ j(n + ny) )t (16) y r(n) = (yr(n +1)yr(n +2)...yr(n + ny)) t (17) ∆u j+(n) = ( ∆ u j(n)∆ u j(n +1)...∆ u j(n + nu −1) )t (18) w j1 = diag { µ j1, µ j 2, ..., µ j ny } (19) w j2 = diag { v j1, v j 2, ..., v j nu } (20) the ny step prediction of the output by the jth fi can be rewritten as follows: ŷ j+(n) = a j∆u j+(n)+y (n)+ p j(n)+ e j+(n) (21) where: a j =   a j1 0 0 ... 0 a j2 a j 1 0 ... 0 a j3 a j 2 a j 1 ... 0 ... ... ... . . . ... a jny a j ny−1 a jny−2 ... a j ny−nu+1   (22) a ji = i∑ k=1 h jk (23) y (n) = (y(n) y(n) ...y(n) )t (24) p j(n) = ( p j1 (n) p j 2 (n) ...p j ny (n) )t (25) e j+(n) =  0 2∑ k=1 ε j(n + k −1) ··· ny∑ k=1 ε j(n + k −1)  t (26) p ji (n) = i∑ k=1 t∑ l=k+1 h jl ∆ u(n + k − l) (27) 184 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu the resulting control policy for the jth subsystem can be derived as: j̃ j(n) = ( ∆u j+(n) )t ( a j t w j1 a j +w j2 ) ∆u j+(n)+ + ( ∆u j+(n) )t a j t w j1 z j(n)+ ( z j(n) )t w j1 a j∆u j+(n)+ ( z j(n) )t w j1 z j(n) (28) where: z j(n) = y (n)−y r(n)+ p j(n)+ e j+(n) (29) minimizing (26) yields: δ j̃ j(n) δ ∆u j+(n) = 2(a j t w j1 a j +w j2 )∆u j +(n)+2a jt w j1 z j(n) = 0 (30) the control law by the jth fi can be identified as:( ∆u j+(n) )∗ = −k jz j(n) (31) where k j is: k j = ( a j t w j1 a j +w j2 )−1 a j t w j1 (32) the optimal local control policies at the lower layer are identified through optimization, the optimal global control policies can be accordingly derived at the upper layer. ∆u+(n) = (∆ u(n)∆ u(n +1)...∆ u(n + nu −1)) t (33) 3.3 parameter tuning in controller design, the difficulty encountered is how to quickly minimize the upper bound of the objective function so that the control actions can force a process to track a specified trajectory as close as possible. there has no rigorous solution to the selection of optimal control horizon (nu) and prediction horizon (ny). the model horizon is selected so that t ∆ t ≥ open loop settling time. the ranges of weighting factors w j1 and w j 2 can be very wide, the importance is their relative magnitudes. the following three-step procedure to tune the weighting factors is proposed: (a) select a value for w1 and assign it to all local controllers. determine w j 2 independently for each local controller in order to minimize the objective function for that subsystem (b) identify the largest w2 and assign it to all subsystems. (c) examine the system’s closed-loop dynamic performance. if not satisfied, then reduce the value of w2 gradually until the desirable dynamic performance is identified. 3.4 simulations process modeling the main problem in setting up a signal flow diagram for a level controlled system in a sg can be found in the inhomogeneous contents of the sg. the filling consists of water at boiling temperature, pervaded by steam bubbles. since the volume fraction of the steam bubbles is quite considerable, the mean specific weight of the contents is very strongly dependent on the proportion of steam. this, of evolved fuzzy control system for a steam generator 185 figure 1: responses of water level at different operating power (indicated by %) to (a) a step in steam flow-rate. (b) a step in feed-water flow-rate. course, means that the steam content also strongly influences the level in the sg. the steam content itself depends, in turn, on the load factor, on the changes in feed-water flow, and on feed-water temperature. the presence of steam below the liquid level in the sg causes the shrink-and-swell phenomenon that in spite of an increased supply of water, the water level initially falls. fig. 1 shows responses of the water level to steps in feed-water and steam flow-rates at different operating powers. for generating the responses, it was used the power dependent linear parameter varying model identified by irving [12]. at low loads the non-minimum phase behavior is much more pronounced. the changing process dynamics and the inverse response behavior significantly complicate the design of an effective water level control system. a solution to this problem is to design local linear controllers at different points in the operating regime and then applies gain-scheduling techniques to schedule these controllers to obtain a globally applicable controller. consider a step in feed-water flow rate at 5% operating power because of the strong inverse response. for this system, a fuzzy convolution model consisting of four fuzzy implications is developed as follows: for j=1 to 4 r j: if ydal (n) is a j then y jdal (n +1) = y j dal (n)+ ∑200 i=1 h j dal u(n +1− i) in order to define the fuzzy sets we propose the following strategy: dal1 = min(y 1 dal )·kdal1 , dal2 = min(y2dal )·kdal2 , dal3 = min(y 3 dal )·kdal3 , dal4 = min(y 4 dal )·kdal4 where kdal1 = 0.2, kdal2 = 0.9, kdal3 = 0.9, kdal4 = 0.2. are selected in order to obtain a characteristic as close as possible to the open loop response of water level at 5% operating power to a step in feed-water flow-rate. fig. 2 shows the impulse response coefficients for y1dal , y 2 dal , y3dal , y 4 dal subsystems and fig. 3 shows the definition of fuzzy sets a1, a2, a3 and a4. consider a step in steam flow rate at 5% operating power. for this system, a fuzzy convolution model consisting of fourfuzzy implications is developed as follows: for j=1 to 4 r j: if yd0 (n) is a j then y jd0(n +1) = y j d0 (n)+ ∑200 i=1 h j d0 u(n +1− i) 186 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu figure 2: the impulse response coefficients for y1dal , y 2 dal , y3dal , y 4 dal subsystems. figure 3: definition of fuzzy sets a1, a2, a3 and a4 for fi r1, r2 ,r3 and r4 respectively. in order to define the fuzzy sets we propose the following strategy: d01 = max(y 1 d0)·kd01 ,d02 = max(y2d0)·kd02 , d03 = max(y 3 d0 )·kd03 , d04 = max(y 4 d0 )·kd04 where kd01 = 0.4, kd02 = 0.9, kd03 = 0.9, kd04 = 0.6 are selected in order to obtain a characteristic as close as possible to the open loop response of water level at 5% operating power to a step in steam flow-rate. fig. 4 shows the impulse response coefficients for y1d0 , y 2 d0 , y 3 d0 , y4d0 subsystems, fig. 5 shows the definition of fuzzy sets a1, a2, a3 and a4. controller design the goal in this paper is to study the use of the feed-water flow-rate as a manipulated variable to maintain the sg water level within allowable limits, in the face of the changing steam demand resulting from a change in the electrical power demand. frequent reactor shutdowns are caused by violation of safety limits on the water level and are figure 4: the impulse response coefficients for y1d0 , y 2 d0 , y 3 d0 , y4d0 subsystems. evolved fuzzy control system for a steam generator 187 figure 5: definition of fuzzy sets a1, a2, a3 and a4 for fi r1, r2 ,r3 and r4 respectively. figure 6: normalized water level setpoint. common at low operating power where the plant exhibits strong non-minimum phase characteristics.fig. 6 shows the normalized water level setpoint and safety limits. the goal of fuzzy model predictive control is to minimize the predictive error between an output and a given reference trajectory in the next ny (prediction horizon) steps through the selection of nu (control horizon) step optimal control policies. using the alternative objective function (12), we can design a controller by a hierarchical control design approach. the whole design is decomposed into the derivation of 4 local controllers. the subsystems regulated by those local controllers will be coordinated to derive a globally optimal control policy. the objective function defined in (12) can be rewritten in a matrix form as follows: j̃ j(n) = ( ŷ j+(n)−y r(n) )t w j1 ( ŷ j+(n)−y r(n) ) + + ( ∆u j+(n) )t w j2 ( ∆u j+(n) ) (34) where: ŷ j+(n) = ( ŷ jdal (n +1)ŷ j dal (n +2)...ŷ jdal (n + ny) )t (35) y r(n) = (yr(n +1)yr(n +2)...yr(n + ny)) t (36) yr(n) = yre f (n)− yd0(n) (37) ∆u j+(n) = ( ∆ u j(n)∆ u j(n +1)...∆ u j(n + nu −1) )t (38) w j1 = diag { µ j1, µ j 2, ..., µ j ny } (39) w j2 = diag { v j1, v j 2, ..., v j nu } (40) the simulations are organized around two different power transients: • a step-up in power from 5% to 10% (fig. 7(a)); • a ramp-up in power from 5% to 10% (fig. 7(b)). 188 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu figure 7: water level response to (a) a step power increase from 5% to 10% (nu=2, ny=3, w1=1). (b) a power ramp up from 5% to 10% (w2=0.1, w1=1). the model horizon is t = 200. increasing ny results in a more conservative control action that has a stabilizing effect but also increases the computational effort. the computational effort increases as nu is increased. a small value of nu leads to a robust controller. we can see that the performance is not strongly affected by the presence of the feed-water inverse response, only a slight oscillation is visible in the water level response. all local controllers are used all the time. this means that there is no switch from one local controller to the other in operation. the system output is infered as a weighted average value of the outputs of all subsystems. on the other hand, the overall control policy to the process under control is the weighted sum of all local control policies. this kind of design not only eliminates the controller switch problem and thus possible system instability, but also provides a much more smooth control performance in process operation. the performance is not strongly affected by the presence of the feed-water inverse response, only a slight oscillation is visible in the water level response. the fmpc responses are very satisfactory and not very sensitive to changes in tuning parameters. 3.5 evolved controller client/server architecture an original concept of modular evolved control system, seamless and with gradual integration into the primary control system is proposed. the target systems are the large scale distributed control systems with optimum granularity architecture. the aim of the application is to integrate the concepts of evolved control algorithms, portability of software modules, real time characteristics of the application. we propose an approach of a seamless integration of the evolved control modules into an existing control system. the first part of the life cycle phases of the new control system, from conception to validation stage, the new control system lives hiding in the shadow of the control system it will replace, and after validation the old system will be replaced by the new one. the identification, modeling, control and validation stages of the life cycle of the system, will be done on-line (the new system uses a real image of the i/o process data), without affecting the existing control system. because of high level of interconnectivity between system components, it is necessary to provide the highest independence between communication modules on one-hand and the control modules on the other hand. in order to obtain high ability of integration, the communication modules have to cover the widest possible area of industrial communication interfaces and protocols. one item of the application is to offer a unified api of extended generality and extendibility in order evolved fuzzy control system for a steam generator 189 to unify access and information retrieval from various wireless and wired technology and communication interfaces (rs 232, rs 485, fieldbus: profibus / interbus, ethernet ip, tcp/ip, etc). applications could properly adapt to changes in the network connections. the design and implementation of a solution to hide the embedded communication network problems from the application system programmers is included. a software package for evolved control includes a method based on fuzzy model predictive control. by using the basic concept of decomposition-coordination in a large-scale system theory, the fuzzy model predictive controller design can be accomplished through a two-layer iterative design process. the design is decomposed into the derivation of local controllers. the subsystems regulated by those local controllers will be coordinated to derive a globally optimal control policy. one of the main objectives of the application is to supply an integrated solution of systems, which should support all the phases of the life cycle: modeling, simulation, development and implementation. for parameter tuning, for validation and also for embedding a large number of industrial communication protocols, multi-disciplinary simulation environments are developed which generate instruments for control, i/o data consistency check, and defect detection. in the end, real-time advanced control applications are developed, with seamless and gradual integration into the existing distributed control system. in order to provide the real-time characteristic, we choose a multitasking environment for the application (windows operating system). from structural point of view we propose a client / server architecture for fuzzy controller (fc) [2]: client is a windows application representing the implementation of the graphical user interface (gui). the client enables the operator to control the system in two modes: manual/automatic, to monitor the system response, etc. the client has also the ability to connect and communicate with the server application. server is an activex exe application containing the implementation of the fc kernel. the server includes a collection of objects, these objects cover the tasks of both data processing and the communication between dedicated applications for input and output data. the client application will have a thread pool architecture. the server application will have a real multithreading architecture (each active object having assigned its own execution thread). the server have also a multi-layer structure: at the higher level are implemented upper fc and the communication classes (using different transmission mechanisms dde, opc, hli, activex, winsocket, pipes), at the lower level are implemented the controllers for the subsystems corresponding to the low level fc. the server’s application as real multithreading architecture, provides the fc kernel the real-time response characteristic, required for the industrial process control. 4 conclusions control of sg water level strongly affects nuclear power plant availability. the control task is difficult for a number of reasons, the most important among them being the nonlinear plant dynamics and the non-minimum phase plant characteristics. there has been a special interest in this problem during low power transients because of the dominant reverse thermal dynamic effects known as shrink and swell. the sg level control problem was viewed as a single input/single output control problem with the feed-water as the manipulated variable, the level as the controlled variable and the turbine steam demand as disturbance. the process non-linearity was addressed by scheduling the model (and the controller) with the power level. the sg system is modeled by takagi-sugeno’s fuzzy modeling methodology, where the system output is estimated based on gradient. the complex shrink and swell phenomena associated with the sg water level are well captured by the model. the predictive controller based on fuzzy model is designed in a hierarchical control design. 190 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu an original concept of modular evolved control system, seamless and gradual integration into the existing distributed control system is proposed in the paper. a unified api of extended generality and extendibility in order to unify access and information retrieval from various wireless and wired technology and communication interfaces is developed in order to ensure independence between communication and control modules of the designed systems.a client / server architecture for evolved controller that runs on the windows environment, with real-time characteristics is proposed. bibliography [1] akkurt, colak u., pwr system simulation and parameter estimation with neural networks, annals of nuclear energy, vol. 29, pp. 2087-2103, 2002. [2] andone d. ,dobrescu r., hossu a., dobrescu m., application of fuzzy model predictive control to a drum boiler, icae integrated computer-aided engineering, iospress, 13(4):347-361, 2006. [3] andone d., hossu a., predictive control based on fuzzy model for steam generator, 2004 ieee international conference on fuzzy systems, proc. fuzz-ieee 2004, vol. 3, ieee catalog number 04ch37542, isbn 0-7803-8353-2, isnn 1098-7584, budapest, hungary; pp. 1245-1250; july 2529, 2004. [4] andone d., fagarasan i., dobrescu m., advanced control of a steam generator, the 3rd international ieee conference intelligent systems, september 04-06, 2006 3rd international ieee conference intelligent systems, vol.s 1 and 2, london, united kingdom, pp. 338-343, 2006. [5] aström k., bell r., drum-boiler dynamics, automatica 3, pp. 363-378, 2000. [6] camacho e., bordons c., model predictive control, springer-verlag, london, 2004. [7] demircioglu h., karasu e., generalized predictive control a practical application and comparation of discrete and continuous-time versions, ieee control systems, oct 2000, 20(5):36-44, 2000. [8] dubois d., prade h., fuzzy sets and systems: theory and applications, academic press, inc., orlando, fl, 1997. [9] espinosa j., hadjili m. l., wertz v.,and vanderwalle j., predictive control using fuzzy models. comparative study, european control conference, karlsruhe, germany, sept. 1999. [10] huang y., lou helen h., gong j.p., edgar th. f., fuzzy model predictive control, ieee trans. on fuzzy systems, 8(6):665-668, 2000. [11] hirota k., industrial applications of fuzzy technology, springer-verlag, new york, 1993 [12] irving e., miossec c., and tassart j., toward efficient full automatic operation of the pwr steam generator with water level adaptive control, proc. int. conf. boiler dynamics contr. nuclear power stations, london, u.k., pp. 309-329, 1980. [13] kiriakidis k., non-linear control system design via fuzzy modeling and lmis, international journal of control, 72(7):676-685, 1999. [14] kothare m., mettler b., morari m., bendotti p., falinower c., level control in the steam generator of a nuclear power plant, ieee trans. on control systems technology, 8(1):55-69, 2000. evolved fuzzy control system for a steam generator 191 [15] menon s.k. and parlos a.g., gain-scheduled nonlinear control of u-tube steam generator water level, nuclear sci. eng., vol. 111, pp. 294-308, 1992. [16] morari m. and lee j. h., model predictive control: past, present, and future, computers & chemical eng., pp. 667-682, 1999. [17] park g. y., seong p. h., application of a self-organizing fuzzy logic controller to nuclear steam generator level control, nuclear engineering and design, vol. 167, pp. 345-356, 1997. [18] pedrycz w. and gomide, f., fuzzy systems engineering: toward human-centric computing, wiley-ieee press, 2007. [19] precup, r. e., tomescu m., preitl s., lorenz system stabilization using fuzzy controllers, international journal of computers communications and control, 2(3):279-287, 2007. [20] ross t.j., fuzzy logic with engineering applications, second ed., wiley & sons, 2004. [21] vesselenyi, t; dzitac, s; dzitac, i, manolescu m.j., fuzzy and neural controllers for a pneumatic actuator, international journal of computers communications & control, 2(4):375-387, 2007. [22] yager r., r., zadeh l. a., an introduction to fuzzy logic applications in intelligent systems, kluwer academic publishers, norwell, ma, 1992. [23] yen j., langari r., zadeh l., a., industrial applications of fuzzy logic and intelligent systems, ieee press, piscataway, nj, 1995. [24] ying h., fuzzy control and modeling: analytical foundations and applications, wiley-ieee press, 2000. [25] zadeh, l. , a new frontier in computation computation with information described in natural language, international journal of computers communications and control, 3(s):26-27, 2008. [26] zadeh l. a., toward a generalized theory of uncertainty (gtu): an outline, information sciencesinformatics and computer science: an international journal, 172(1-2):1-40, 2005. [27] zadeh, l. a., knowledge representation in fuzzy logic, ieee transactions on knowledge and data engineering, 1(1):89-100, 1989. [28] zadeh, l. a., is there a need for fuzzy logic?, information sciences: an international journal, 178(13):2751-2779, 2008. [29] zadeh l.a., tufis d., filip f.g., dzitac i.(eds.), from natural language to soft computing: new paradigms in artificial intelligence, editing house of romanian academy, bucharest, isbn 978973-27-1678-6, 2008. [30] zhao f., ou j., du w., simulation modeling of nuclear steam generator water level process a case study, isa transactions, 39, pp. 143-151, 2000. 192 d. hossu, i. făgărăşan, a. hossu, s.s. iliescu daniela hossu is associated professor at university "politehnica" of bucharest. in 1996 she obtained m.s. degree in electrical engineering, specialty control systems and informatics in power systems at university "politehnica" of bucharest. in 2002 she obtained a ph.d. in automatic control from the university "politehnica" of bucharest. she was involved in several projects for retrofitting the instrumentation & control system of thermal power plants. since 1998 she has been involved in lecturing and teaching assistantships at university "politehnica" of bucharest in the following fields: automatic control, data transmission and data compression. her research interests include power plant control systems, artificial intelligence, industrial communication, data compression, software architectures for industrial control. ioana făgărăşan received the m.s. (1996) degree in electrical engineering, specialty control systems and informatics in power systems, and the phd (2002) degree in automatic control from the university politehnica of bucharest (upb). since 1996 she has been assistant professor, lecturer and is currently associated professor in the department of control engineering and industrial informatics at the upb. she has participated in research cooperation programs between the university and the institute for automatic control, technical university of darmstadt, in the fault detection and identification (fdi) field. between 2002 and 2004 she worked as associate professor at the national polytechnic institute of grenoble (automatic control laboratory). her research interests include control system for technical processes, fault detection and isolation methods, diagnostic algorithms and fault tolerant systems. andrei hossu is professor at university "politehnica" of bucharest. in 1982 he obtained m.s. in electrical and computer engineering, department of automatic control and computers, the polytechnic institute of bucharest, romania. in 2002 he obtained a ph.d. in engineering sciences, the electrical control field from the faculty of automatic control and computers, the university "politehnica" of bucharest, romania. his teaching interests include: human-machine interface, artificial vision and artificial intelligence methods. his research interests include: multiprocessor systems for real time control, industrial robots control systems, algorithms, methods for artificial vision systems for industrial robots, structured programming for industrial robots, software architectures for industrial control. sergiu stelian iliescu has received the m.s. (1965) degree from the power system faculty, automatic control department and ph. d. (1979) degree in computerselectronics from university "politehnica" of bucharest (upb). he was starting his professional activity in execution and implementation of automatic control equipments and systems, within the automatic control system execution company (imia). the next step was to work as design engineer within power systems studies and design institute (ispe). since 1968 he is part of the teaching and research team from automatic control and computers faculty, upb and acts as full professor since 1995. he has experience in process computers (tu dresden, 1971-1972) and coordinates collaborative research activities with tu darmstadt (1992-2004), in two research field: in system theory, modeling, identification and control technical processes (institute of automatic technique, tud) and in power system control and monitoring (institute of electrical power systems, tud). his research and teaching domain includes: automatic control theory, informatics system for supervision and control of industrial processes with concern to power system field and system engineering analysis. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 4, pp. 386-400 high performance computing systems with various checkpointing schemes n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott nichamon naksinehaboon louisiana tech university computer science department louisiana, 71272, usa e-mail: n.nichamon@gmail.com mihaela păun louisiana tech university mathematics and statistics department louisiana, 71272, usa and finance and banks faculty spiru haret university, romania e-mail: mpaun@latech.edu raja nassar louisiana tech university mathematics and statistics department louisiana, 71272, usa e-mail: ran1@suddenlink.net chokchai box leangsuksun louisiana tech university computer science department louisiana, 71272, usa e-mail: box@latech.edu stephen scott oak ridge national laboratory computer science and mathematics division tn 37831-6173 e-mail: scottsl@ornl.gov abstract: finding the failure rate of a system is a crucial step in high performance computing systems analysis. to deal with this problem, a fault tolerant mechanism, called checkpoint/restart technique, was introduced. however, there are additional costs to perform this mechanism. thus, we propose two models for different schemes (full and incremental checkpoint schemes). the models which are based on the reliability of the system are used to determine the checkpoint placements. both proposed models consider a balance of between checkpoint overhead and the re-computing time. due to the extra costs from each incremental checkpoint during the recovery period, a method to find the number of incremental checkpoints between two consecutive full checkpoints is given. our simulation suggests that in most cases our incremental checkpoint model can reduce the waste time more than it is reduced by the full checkpoint model. the waste times produced by both models are in the range of % to % of the application completion time depending on the checkpoint overheads. keywords: large-scale distributed system, reliability, fault-tolerance, checkpoint/restart model, hpc 1 introduction high performance computing (hpc) systems are used to address many challenging computational problems. however, an hpc system is not required only to solve these problems, but also to solve them in a short time. this copyright c© 2006-2009 by ccc publications high performance computing systems with various checkpointing schemes 387 requirement drives the physical size of an hpc system larger. the reliability of a large hpc system is inversely proportional to its size. for example, the blue gene/l system hosted at lawrence livermore national laboratory (llnl), the world second fastest hpc system, has a failure rate of roughly one failure a week [1]. unfortunately, handling the reliability of such large hpc systems is still problematic. a checkpoint/restart mechanism is widely used to deal with the high failure rate problem. if a failure occurs while an application is running, the portion of the application that has been already computed has to be re-computed again. the checkpoint mechanism is able to reduce this re-computing time of an application after a failure occurrence. however, there is an additional time that is spent to perform the mechanism. the detailed of the checkpoint mechanism will be provided in section 2.1. since the message passing interface (mpi) is one of the most popular parallel programming paradigms, we target our reliability study on the system using the mpi standard [20]. normally, an mpi application is decomposed and executed among a group of nodes, where individual subtasks communicate through the mpi. because of the static view of an mpi environment [17], a single node failure would cause the whole application to fail and requires an application restart. the checkpoint/restart scheme has been widely used in [2], [4], [7], [20] to address application outages. however, applications are practically checkpointed without considering the probability of failures. as such, some checkpoints are useless because, at the checkpoint time, the chance of a failure occurrence is small. thus, it causes unnecessary checkpoint overhead. on the other hand, the re-computing time is large because applications are not checkpointed when the probability of failure is high. ideally, a checkpoint is needed when a failure is going to occur within a certain period of time, so there are no useless checkpoints and expensive recomputing time. so we define the waste time of the checkpoint mechanism as the sum of checkpoint overhead, recomputing time and recovery time. consequently, we aim to minimize the waste time by balancing the checkpoint overhead and the re-computing time. in existing studies, the optimal checkpoint placement strategy is either based on the cost function models [2], [3], [20] or markov availability models [5], [14], [19], [22]. in addition, it is typically assumed that the system failure is a poisson process (with a fixed failure rate). however, in practice, the system failure may not always follow the poisson model [16] and the overall system reliability is more complex than that of its individual components. in this paper, we propose two stochastic models for improving the checkpoint/restart scheme in an hpc environment by reducing the waste time. the reliability function of the system is obtained by analyzing historical failure data from the system event log files. 2 full checkpoint/restart model 2.1 behavior of full checkpoint/restart model a full checkpoint/restart mechanism is a traditional checkpoint/restart mechanism which occasionally saves running application states to a local storage. after a failure occurs, the application can be recovered from the last saved state rather than from the starting point. this results in decreasing the time that is spent to re-compute the application. conversely, there is an additional time to save the application states which is called the checkpoint overhead. to improve the checkpoint mechanism, checkpoints should not be performed too frequently, in such a way to balance of the checkpoint overhead and the application re-computing time. thus, we focus on how to determine checkpoint placements or intervals that minimize the waste time. in this section, we present a checkpoint/restart model with the re-computing time coefficient for fault-tolerant parallel applications. we assume that the application model is mpi and supports a coordinated checkpoint mechanism. the characteristic of the model is directly related to the system reliability function where one of the node outage will result in an application outage because of the mpi standard. for a parallel application, the coordinated checkpoint protocol guarantees that the checkpoint of an hpc system, resulted by the synchronization of the local checkpoint on individual process, is consistent. as a result, each process is checkpointed at almost the same time, so we assume that there is no time difference for each individual process checkpoint, and treat it as a single checkpoint. we consider a failure model that allows more than one failure during the lifetime of a given application. moreover, after each failure, the application will be restarted from the last checkpoint. our checkpoint/restart model is shown in figure 1. it follows a renewal reward process in which ωi denotes the ith time between failures in each repeated cycle. we assume that the waste time (checkpoint overhead, recovery time, and re-computing time) of each cycle is a random variable,w,w,w..., since it depends on when a failure occurs. hence, the total waste time may be expressed as 388 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott figure 1: checkpoint/restart as a stochastic renewal reward process ct = m∑ i= wi, (1) where m = max { n ∈ {, , , ...}| (∑ni= ωi) ≤ t}, and ct is called a renewal reward process. from [15] the theorem of a renewal reward process is given as lim t→∞ e [ ∑m i= wi] t = e [w] e [ω] (2) in the checkpoint/restart model, eq.(2) shows that the mean of the overall waste time (left hand side of the equation) can be expressed as a function of the mean waste time of the st cycle. this means that minimizing the overall time lost is equivalent to minimizing the waste time in the st cycle. figure 2: checkpoint/restart as a stochastic renewal reward process table 1: parameters of the checkpoint/restart model parameters meaning of checkpoint overhead rf recovery time tre re-computing time nf (t) checkpoint frequency function of the full checkpoint model f (t) probability density function of tbf ωi the cycle between failure i and failure (i+1) consider a checkpoint restart scheme in the first cycle ω (time between two failures). figure 2 illustrates the model with parameters such as checkpoint overhead of (time that is spent to save an application state), recovery time rf (time that is spent to load the application saved state) and re-computing time tre. through the rest of the paper, our failure model is based on the following assumptions: 1. a running application may be interrupted by a series of random transient failures where the time between failures has a certain probability density function (pdf), f (t). 2. the system failure can be detected by a monitoring mechanism, and we assume that there is no failure during the re-computing and recovery time. 3. each checkpoint overhead of is a constant. in practice, we can take this constant to be the average value of multiple checkpoint overheads. high performance computing systems with various checkpointing schemes 389 4. the application can be recovered from the last checkpoint. this implies that the re-computing time tre is a period between the last checkpoint and the present failure. 5. the recovery time rf is a constant. remark: assumption 2 is satisfied since a well-managed system can be engineered with an efficient mechanism to immediately detect the failure. assumption 5, rf , is satisfied if there is a mechanism in place to replace the failed node with a spared node. the objective of this model is the capability of giving the best checkpoint placement sequence that minimizes the total waste time definition 1. let the sequence of discrete checkpoint placements be  = t < t < ... < tn, and let nf (t) be the checkpoint frequency function for the full checkpoint model defined by: ∫b a nf (t)dt =the number of checkpoints from time a to time b. we then can imply that ∫ti+ ti nf (t) dt = . in figure 2, the waste time wi (checkpoint overhead, re-computing time, and recovery time) in a given cycle ωi can be expressed as wi = of ∫ ωi  nf (τ) dτ + tre + rf (3) from assumption 5, rf is a constant, and, from assumption 5, we suppose that the system can be successfully recovered from the last checkpoint. the relationship between re-computing time tre and checkpoint interval is illustrated in figure 3. figure 3: the relationship between rollback tre and checkpoint interval ling et al. [9] and ozaki et al. [11] considered the recovery cost including both re-computing time and recovery time similar to those in our model. they represented their recovery cost by a function, called the recovery cost function. moreover, they illustrated their model with respect to recovery cost by assuming the recovery function to be linear. assuming linearity may be restrictive and may not lead to optimality. in our model, we consider a re-computing time coefficient k ( < k < ) instead of a recovery cost function and propose an algorithm (end of section 2.2) to estimate this re-computing time coefficient. the re-computing time coefficient is general and can be determined for any system failure distribution. this makes our approach useful for application purposes. since ωi is the value between these checkpoint placements, by the mean value theorem, we can estimate the frequency of this interval by nf (ωi). therefore, tre can be approximated by eq.(4), where k is a re-computing time coefficient variable between (0,1), as seen in figure 3. tre ≈ k/nf (ωi), k ∈ (, ) (4) replacing tre in eq.(3) by its value from eq.(4) gives: wi = of ∫ ωi  nf (t) dt + k nf (ωi) + rf (5) according to the theorem of a renewal reward process in eq.(2), the total waste time in the checkpoint and recovery process can be minimized by minimizing e(w). let f (t) be the probability density function of time between failures. then, the probability that the system fails in the interval [t,t + ∆ t] is f (t) · ∆ t. the expected waste time during a cycle in the checkpoint/restart process is e [w] = ∫ ∞  ( of ∫ t  nf (τ) dτ + k nf (t) + rf ) · f (t) dt. (6) 390 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott our interest is in determining the optimal checkpoint frequency n (t) in order to minimize the expected waste time as defined by eq.(6). solution: letting x (t) = ∫t  nf (τ) dτ , then x′ (t) = nf (t) and eq.(6) becomes e [w] = ∫ ∞  ( of ·x (t) + k x′ (t) + rf ) · f (t) dt. (7) let φ (x, x′,t) = ( of ·x (t) + kx′(t) + rf ) · f (t) . in order to have an extremum, the necessary condition for eq.(7) requires that the variation of e[w] (the first derivative regarding to the function x of e[w]) to vanish. consequently, the function ô must satisfy the euler’s equation as the following [6]. ∂ φ ∂ x − d dt · ∂ φ ∂ x′ = . (8) since ∂ φ∂ x = of · f (t) and ∂ φ∂ x′ = − k· f (t) (x′(t)) , eq.(8) becomes: of · f (t) + d dt · k · f (t) (x′ (t)) =  (9) by integrating from 0 to t eq.(9) on both sides, the result is: of ·f (t) + k · f (t) (x′ (t)) = c (10) since lim t→∞ f (t) = and lim t→∞ f (t) = , c = of . moreover, x′ (t) = nf (t), then we obtain the optimal checkpoint frequency function in eq.(11) nf (t) = √ k of · √ f (t)  − f (t) , k ∈ (, ) (11) it is worth mentioning that the probability density function (pdf) and the cumulative distribution function (cdf) can be the joint pdf and joint cdf where each corresponding marginal is the failure distribution of each node in an hpc system. 2.2 estimation of the re-computing-time coefficient k in figure 4, tre is the re-computing time of the application recovered after the failure. it is the time interval between the last checkpoint and the failure, which is a random variable depending on the time when the failure occurs from the checkpoint placement. figure 4: tre (a) without checkpoint, and (b) with checkpoint in an application without checkpoints (figure 4(a)), if a failure occurs at time tf , then tre = tf − t. with checkpoints (figure 4(b)), it is obvious that tre is a random variable which depends on the time the failure occurs. therefore, if we know the distribution of the time between failures, then tre can be estimated. high performance computing systems with various checkpointing schemes 391 definition 2. the re-computing time coefficient k is the ratio between the re-computing time and the checkpoint interval in which a failure occurs. as such, k = tre ti+ − ti = tf − ti ti+ − ti to estimate k, we first obtain the expected re-computing time for each checkpoint interval. definition 3. excess life is a random variable, s ≥ , which denotes system survival until time t + s given that it survives until time t. we denote the cdf, the pdf, and the expected value of the excess life s as f (t + s|t) = p ( tf < t + s|t > t ) , f (t + s|t) = df(t+s|t)ds , e [s] = ∫∞  s f (t + s|t) ds. (12) in our checkpoint model, each checkpoint time ti is the time that we expect a failure to occur. the re-computing time during the interval (ti,ti+), trei is a random variable such that its value is in the interval (,ti+ − ti). according to the excess life definition, the expected value of the re-computing time can be calculated as e [trei] = ∫ ti+−ti  s f (ti + s|ti) ds / ∫ ti+−ti  f (ti + s |ti) ds. (13) therefore, for the expected k of the ith checkpoint interval, k̄i, we obtain k̄i = e [trei] / (ti+ − ti). (14) hence, the expected k, k̄, can be express as k̄ = n∑ i= pik̄i / n∑ i= pi, (15) where pi = p ( ti < tf < ti+| tf > ti ) and n is the number of the checkpoints. to estimate k iteratively, we assume an initial value k̂ between 0 and 1. we then calculate the corresponding checkpoint sequence, t,t, ...,tn , from eq.(11). next, we calculate k̄ corresponding to the checkpoint sequence using eqs. (13)(14)(15). we repeat the above procedure by varying k̂ until we obtain a k̄ value that is equal tok̂. algorithm to estimate k step 1: assume k̂ = a, a ∈ (, ) and set t =  step 2: calculate the checkpoint sequence t,t, ...,tn corresponding to k̂ from step 1. step 3: calculate k̄ from eqs. (13)(14)(15) using the sequence in step 2. step 4: if k̂ = k̄, then set k = k̂ = k̄ done else repeat step 1. 2.3 full checkpoint model evaluation full checkpoint model for the exponential distribution by substituting f (t) = λ e−λ t , and  − f (t) = e−λ t in eq.(11), the checkpoint frequency function for the exponential distribution with the failure rate λ , according to eq.(11), is given by nf (t) = √ k of · √ λ . (16) by the definition of the checkpoint frequency function, for i=0, 1, 2. . . we have that ∫ i+ ti nf (t) dt = , (19) 392 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott ∫ i+ ti √ k of · √ λ dt = , (17) ti+ = √ of k · √  λ + ti. (18) using induction whent = , the sequence of the optimal checkpoint placements for the exponential distribution with failure rate λ is given by ti = √ of k · √  λ , k ∈ (, ) (19) where ti is the ith checkpoint placement. the checkpoint interval can be obtained by calculating the formula ti − ti−, where i ∈ {, , ...} and t = . then the checkpoint interval for the exponential distribution is expressed as √ k of · √  λ , k ∈ (, ). therefore, according to the proposed model for the exponential distribution, the checkpoint interval is a constant. this reflects the fact that if failures follow the exponential distribution, the failure rate is a constant. estimation of the re-computing time coefficient k for the exponential distribution according to our re-computing time coefficient estimation in section 2.2, let k̂ = a,  < a <  and let its corresponding checkpoint time sequence be {ti} n i=. the cdf, pdf, and expected value of the excess life following an exponential distribution can be derived from eq.(12) to give f (ti + s) = p (ti + s|ti) =  − e −λ t , (20) f (ti + s) = λ e−λ t , (21) e [trei] =  − (√ k of √ λ /  − e−λ √ λ √ of k ) (22) by substituting eq.(22) into eq.(14), we obtain the expected k of the ith checkpoint interval (k̄i) and for the expected k̄ we use eq.(15). 3 incremental checkpoint/restart model 3.1 behavior of the incremental checkpoint/restart model although full checkpoint/restart mechanism helps to reduce the overall waste time of an application in the case of a failure taking place, we have to spend some time to save the application states, so-called checkpoint overhead. if the checkpoint overhead can be reduced, we may have a cheaper waste time. incremental checkpoint mechanism was introduced to reduce the checkpoint overhead by saving the pages that have been changed instead of saving the whole process [12], [8], [13],[18] . in the incremental checkpoint scheme in figure 5, the first checkpoint is typically a full checkpoint. after that, the mechanism determines which pages have changed since the last checkpoint and saves only those pages and repeats this process until another full checkpoint is performed. in order to recover the application, we will load a saved state from the last full checkpoint and load the changed pages from each incremental checkpoint following the last full checkpoint. this results in more expensive recovery cost than the recovery cost of the full checkpoint mechanism. thus, finding the number of incremental checkpoints between two consecutive full checkpoints that balances the recovery cost and the total checkpoint overhead is crucial. this is because too many incremental checkpoints will lead to unnecessary recovery cost. a challenge in achieving minimum overhead using incremental checkpointing schemes is to find a maximum number of incremental checkpoints while maintaining high performance computing systems with various checkpointing schemes 393 lower waste time than traditional checkpoint mechanism. the behavior of incremental checkpoint/restart model is illustrated in figure 5. the incremental checkpoint model consists of two types of checkpoints (full checkpoints and incremental checkpoints). the meaning of each parameter in the incremental checkpoint/restart model is listed in table 2. figure 5: behavior of incremental checkpoint/restart model table 2: parameters in incremental checkpoint/restart model. parameters definitions of full checkpoint overhead. oi incremental checkpoint overhead. tb re-computing time ri recovery time per an incremental checkpoint. rf recovery time per a full checkpoint m number of incremental checkpoints between two consecutive full checkpoints. ωi the cycle between failure (i-1) and failure i where i = 1,2,3,. . . ni (t) checkpoint frequency function for the incremental checkpoint model in our incremental checkpoint model, the recovery cost is decided by the number of incremental checkpoints. after m incremental checkpoints are performed, either another incremental checkpoint or a full checkpoint can be performed. a full checkpoint is chosen if the cost of performing a full checkpoint is cheaper than the recovery cost for an incremental checkpoint. this is what we call a breakeven point. the main idea is to balance a cost saving function with full and incremental checkpoint overheads and the complexity of the recovery that is introduced by the incremental model. the incremental checkpoint model is an extension of the above full checkpoint model, so the assumptions of the full checkpoint model are applied to this incremental checkpoint model as well. however, there are additional assumptions regarding the factors in the incremental checkpoint scheme which are listed as follows: 1. the first checkpoint in an application is a full checkpoint. after an application is recovered from failure, the first checkpoint is a full checkpoint as well. after m consecutive incremental checkpoints, a full checkpoint may be performed if the overall cost reaches a breakeven point between incremental and full checkpoint. we will determine the value of m in the next section. 2. the incremental checkpoint overhead (oi ) may be viewed as an average of all incremental checkpoint overhead performed. although, for an application, there are both small and large incremental checkpoint overheads, this assumption is reasonable because we aim to minimize the waste time caused by the incremental checkpoint mechanism of an application. 3. the recovery cost of the incremental checkpoint (ri ) and the number of incremental checkpoint between two consecutive full checkpoints m is a constant. the evaluation of m is given in section 3.3. in future work, we will extend the model to consider the incremental checkpoint overhead and the number of incremental checkpoints m as functions of time, in order to better represent a realistic scenario. definition 4. let the sequence of discrete checkpoint placements be  = t < t < ... < tn, and the checkpoint frequency function for the incremental checkpoint model denoted by ni (t) is defined by ∫b a ni (t) dt =the number of full and incremental checkpoints from time a to time b. 394 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott we still can imply that ∫ti+ ti ni (t) dt = . in figure 5, the total number of checkpoints in cycle ωi is ∫ ωi  ni (t) dt = nf + ni (23) where nf is the number of full checkpoints in cycle ωi and ni is the number of incremental checkpoints in the same cycle ωi. we note that ni ≈ mnf and nf ≈ ∫ωi  ni (t) dt. thus, nf =  m+ ∫ωi  ni (t) dt where m is the number of incremental checkpoint between two consecutive full checkpoints. we recall that the checkpoint procedure is a renewal process. therefore, whenever a failure occurs, the new cycle starts. we follow the renewal reward theory to derive the optimal incremental checkpoint/restart model similarly to the full checkpoint model. therefore, to minimize the overall waste time of the incremental checkpoint model, it is sufficient to find the checkpoint frequency function ni (t) that minimizes only the waste time of the first cycle which consists of full checkpoint overhead, incremental checkpoint overhead, recovery time, and re-computing time in the first cycle. the waste time of the first cycle can be expressed as w = of  m +  ∫ ωi  ni (τ) dτ + oi ∫ ωi  ni (τ) dτ + (rf + mri ) + tre. (24) we suppose that the system can be successfully recovered from the last checkpoint, and the rollback cost tre can be estimated by k / ni (ω), ( < k < ) as in the full checkpoint model, where ni (ω)is the checkpoint frequency at time ω, and k can be evaluated by the similar method as in the full checkpoint scheme. therefore, we substitute tre in eq. (25) and obtain: w = ( of + moi m +  ) ∫ ωi  ni (τ) dτ + (rf + mri ) + k ni (ω) . (25) by following the stochastic renewal reward process theory, minimizing the overall waste time is equivalent to minimizing waste time in cycle ω. the expected waste time during a cycle in the checkpoint process e [w] is e [w] = ∫ ∞  [( of + moi m +  ) ∫ ωi  ni (τ) dτ + (rf + mri ) + k ni (ω) ] . f (t) dt (26) we are now looking for the solution of the overall checkpoint frequency ni (t) to minimize eq.(26). solution: let x (t) = ∫t  ni (τ)dτ , then x′ (t) = ni (t). from eq. (26), we obtain: e [w] = ∫ ∞  [ of + moi m +  x (t) + (rf + mri ) + k x′ (t) ] · f (t) dt. (27) let the function under the integral in right side of eq.(27) beφ(x, x′,t). then φ ( x, x′,t ) = [ of + moi m +  x (t) + (rf + mri ) + k x′ (t) ] f (t) . (28) by following the same argument as in the full checkpoint model, the checkpoint frequency function of the incremental checkpoint model can be expressed as: ni (t) = √ (m + ) k of + moi √ f (t)  − f (t) , k ∈ (, ) . (29) practically, the incremental checkpoint mechanism is an extension of the full (regular) checkpoint mechanism in the sense that incremental checkpoints are performed additionally in order to reduce the total checkpoint overhead of the full checkpoint mechanism. alternately, we can see that the full checkpoint mechanism is the incremental checkpoint mechanism without any incremental checkpoints. according to eq.(11) and eq.(29), the derived models satisfy the connection between the full and incremental checkpoint mechanisms. that is, when m is equal to 0, the incremental checkpoint frequency function, eq.(29), becomes the full checkpoint frequency function, eq.(11). high performance computing systems with various checkpointing schemes 395 3.2 estimation of the consecutive incremental checkpoint number, m we denote the number of incremental checkpoints between two consecutive full checkpoints as m. the value of depends on the next checkpoint type, either incremental or full checkpoint. as discussed earlier, the incremental checkpoint aims to reduce the checkpoint overhead. on the other hand, the recovery cost will increase as the number of subsequent incremental checkpoints (m) increases. this is because the application reconstruction phase requires information from each and every incremental checkpoint since the last full checkpoint. from the model description of the incremental checkpoint below, we assume that the first checkpoint is a full checkpoint, followed by a sequence of incremental checkpoints. moreover, we will perform m incremental checkpoints after a full checkpoint if the expected waste time of having m +  incremental checkpoint is more expensive than that of having m incremental checkpoints. we follow this idea to find m by comparing the expected waste time in two possible cases. in the first case, as shown in figure 6(a), m continuous incremental checkpoints are followed by a full checkpoint. alternatively, as shown in figure 6(b), after placing m continuous incremental checkpoints, we continue to perform the m + th incremental checkpoint. in each case, we consider the probability of failure. details are discussed in what follows. figure 6: sequential incremental checkpoint scenario case (a): after placing m continuous incremental checkpoints, a full checkpoint is performed next as shown in figure 6(a). let pi is the probability that a failure will occur after the second full checkpoint and before the next incremental checkpoint. hence,  − pi is the probability that failure will not occur in that period. if no failure occurs during this period, the overall cost is ca, ca = (of + moi ) + of . alternatively, if the failure occurs, the cost ca is ca = (of + moi ) + of + rf . therefore, the expected cost is ca = ( − pi )(of + moi ) + pi (of + moi + ri ). (30) case (b): after reaching m consecutive incremental checkpoints, another incremental checkpoint is performed as shown in figure 6(b). we consider that the probability of the failure events is approximately the same as in case (a), pi . when no failure occurs, the cost cb is cb = (of + moi ) + oi . alternatively, if a failure happens, the cost cb is cb = (of + moi ) + oi + (rf + (m + )ri ). therefore, the expected cost in case (b) is cb = ( − pi )[of + (m + )oi ) + pi [of + (m + )oi + (rf + (m + )ri )]. (31) we would like to have the number of incremental checkpoints as much as possible that yields the criteria that if another incremental checkpoint is added the expected waste time is larger than that of having another full checkpoint, and then the solution of m must be satisfied cb ≥ ca. thus, we will choose case (a) and perform a full checkpoint after m sequential incremental checkpoints. therefore, we obtain m ≥ of − oi pi ri − . (32) 396 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott inequality (32) suggests us that if m ≥ of −oipi ri −  , the cost in case (b) will be greater than the cost in case (a). thus, we take m as m = ⌈ of − oi pi ri −  ⌉ , (33) where d·e is the ceiling function. according to eq.(33), m is proportional to the difference between the full and the incremental checkpoint overhead and inversely proportional to the incremental recovery cost and the probability of a failure occurrence pi . the following points need to be raised at this point. firstly, if the incremental checkpoint overhead oi is nearly as large as the full checkpoint overhead of , performing incremental checkpoints instead of full checkpoints may not reduce the total overhead. in eq.(33), when oi approaches to of , the nominator approaches 0, then the number of incremental checkpoints m is small. secondly, all incremental checkpoints following the last full checkpoints must be loaded after a failure occurs, causing extra cost in the application recovery period. thus, if the incremental checkpoint recovery cost is expensive, then the number of incremental checkpoints should be small in order to maintain the low recovery cost. thirdly, a full checkpoint should be performed when a chance of a failure occurrence is high because, when a failure happens, there are few incremental checkpoints to be loaded. therefore, if the failure probability pi is high, the number of incremental checkpoints m is small as in eq.(33). lastly, the number of incremental checkpoints m does not depend on the full checkpoint recovery cost because there is only one full checkpoint loaded during the application recovery time. 3.3 incremental checkpoint model evaluation we obtained the general solution for our incremental checkpoint model. eq.(29) gives a checkpoint frequency function which is derived from a probability distribution function of the system time between failures (tbf). for the purpose of the incremental checkpoint/restart study and evaluation, we validate our model results only when the system failure follows the exponential distribution. this assumption will help simplify our validation. however, we plan to use these results as a guidance to further our study with other distributions such as time-varying one for the system failures. incremental checkpoint model for the exponential distribution for the time between failures (tbf) that follows an exponential distribution, we substitute f (t) = λ e−λ t , and  − f (t) = e−λ t , t ≥ , λ >  in eq.(34). the optimal model for an exponential distribution can be written as ni (t) = √ (m + ) k of + moi √ λ . (34) we can find the ith checkpoint placement. for i = , , , ... we have that: ∫ ti+ ti √ (m + ) k of + moi √ λ dt = . (35) solving eq.(35), we have that: ti+ = √ of + moi (m + ) k √ λ + ti. (36) using induction and taking t = , the sequence of the optimal checkpoint placements for the exponential distribution with failure rate λ is given by ti = i √ (m + ) k of + moi √  λ , k ∈ (, ) , (37) high performance computing systems with various checkpointing schemes 397 where ti is the ith checkpoint placement either full checkpoint or incremental checkpoint. in eq.(37), the number of incremental checkpoints can be obtained by eq.(33), and we can obtain the failure probability pi analytically. please note that the checkpoint interval (ti+ − ti) is a constant equal to √ (m+)k of +moi √  λ . from eq.(33), the probability pi of failure during the(ti+ − ti) interval is pi = p ( tf < ti+|tf > ti ) = f (ti+) − f (ti)  − f (ti) (38) for the exponential distribution, the cdf is f(t) =  − e−λ t , and we have pi = (  − e−λ ti+ ) − (  − e−λ ti )  − (  − e−λ ti ) (39) since the checkpoint interval is constant and ti+ − ti = t − t = t, then we have pi =  − e −λ t . (40) in practice, we have to find k (the re-computing time coefficient) and m at the same time. algorithm to find k and m: step 1: initialize of , oi , ri and λ . let k̂ = . and t = . //find m corresponding to k̂. step 2: let m̂ = . step 3: calculate t from eq. (35). step 4: calculate pi by eq. (38). step 5: if m̂ < of −oipi ri −  , then m̂ = m̂ + , and go to step 2. else go to step 6. step 6: set m = m̂ −  //finished finding m step 7: calculate the checkpoint sequence t,t, ...,tn corresponding to k̂ and m from eq. (35) step 8: calculate k̄ from eqs. (11)(12)(13) using the sequence in step 7. step 9: if k̂ = k̄ , then set k = k̂ done else set k̂ = k̄, and go to step 1. 4 comparisons between the full checkpoint model and the incremental checkpoint model in this section, we assume that the waste time of the incremental checkpoint model would be less than that of the full checkpoint model. as we discussed before, the incremental checkpoint scheme aims to reduce the total checkpoint overhead. in contrast, it introduces more expensive recovery cost than the full checkpoint mechanism. therefore, in order to provide evidences to the assumption, the comparisons between the waste times of both models are performed based on the actual failure data of white and frost hpc systems. white and frost were ibm supercomputers at lawrence livermore national laboratory. white consisted of 512 nodes with 16 processors per node and 8192 processors in total, and frost consisted of 68 nodes with 16 processors per node and 1088 processors in total. although white and frost systems had retired already at july 26, 2006 and june 30, 2005, respectively, we choose both systems to analyze because we have the failure timestamps of both systems over the period of four years from 2000 to 2004. before we run the simulations, we process both failure data sets (white and frost) as the following. first, we use the time window of one month to break the failure time stamps, and we then have 52 sets of failure times of white system and 50 sets of failure times of frost system. second, for each data set, we calculate the times between failures (tbfs) and the mean time between failures (mtbf). next, the kolmogorov-smirnov test is used 398 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott to test the null hypothesis that the data sets follow the exponential distribution with the corresponding mtbf with the significance level of 0.1. after the test, there are 33 sets of tbfs of white and 42 sets of tbfs of frost that follow the exponential distribution. these are the samples that we will use in the simulations for both systems. furthermore, the mtbf of the white samples is around 23 hours, and the mtbf of the frost samples is around 70 hours. an objective of the simulations is to study the ratio between the waste time and the application completion time, denoted as rwc. the application completion time is the time from the beginning of the application computation to the completion including the checkpoint overhead, recovery time, and re-computing time. rwc can be used as a metric to evaluate the efficiency of the models. for example, if rwc value approaches 0, most of application execution time is used to compute the application, which indicates that the performances of the proposed models are likely to be good. otherwise, most of application execution time is the waste time. however, there is no standard or threshold to indicate the goodness of a checkpoint model yet. to simulate the waste time of both models, for each tbf data set, the following procedure is applied. we determine the checkpoint sequences for the full and incremental checkpoint models, and then, for each sequence of tbfs, we compute the waste times for different completion time values, as the range of 0 to 30 days with the increment of 1 day. next we calculate rwc of each completion time value and find the average of rwc over the completion time. four experiments are conducted with different values of full checkpoint overhead (0.5, 2, 10 and 30 minutes). for each experiment, we calculate the average of rwc for the full checkpoint model and the incremental checkpoint model with 3 different values of incremental checkpoint overheads as 10%, 50%, and 90% of the full checkpoint overhead. therefore, we have 16 values of rwc in total for white and frost systems as shown in figure 7, figure 8, respectively. figure 7: white average of rwcs of the full checkpoint model and the incremental checkpoint model with different values of full checkpoint overhead of 0.5, 2, 10, and 30 minutes and different values of incremental checkpoint overhead of 10%, 50%, and 90% of the full checkpoint overhead values. figure 8: frost average of rwcs of the full checkpoint model and the incremental checkpoint model with different values of full checkpoint overhead of 0.5, 2, 10, and 30 minutes and different values of incremental checkpoint overhead of 10%, 50%, and 90% of the full checkpoint overhead values. according to figure 7 and figure 8, in every case of full checkpoint overheads, we notice that the proportions of the rwcs of the incremental checkpoint model are not implied by the ratio between the incremental checkpoint high performance computing systems with various checkpointing schemes 399 overhead and the full checkpoint overhead. for example, when the incremental checkpoint overhead is 10% of the full checkpoint overhead, the averages of rwcs of the incremental checkpoint model is approximately half of the averages of rwcs of the full checkpoint model. in practice, we expect that the waste time of the incremental checkpoint scheme should be less than the full checkpoint scheme, but the graphs show that, while the incremental checkpoint overhead is 90% of the full checkpoint overhead, the average of rwcs of the incremental checkpoint scheme is slightly greater than that of the full checkpoint scheme. moreover, the behaviors of the rwc in white and frost system are very similar although the mtbfs of both systems are notably different. we may imply that our model is able to give similar results in other systems. additionally, the full checkpoint model for the weibul distribution has been compared with the risk-based model [10] in [21]. in the risk-based model, a checkpoint will be performed if the waste time when the checkpoint is performed is less than the waste time when the checkpoint is not performed. in [10], there are three other models, but the risk-based model was the only model chosen for comparison because it is the best one among all the models in [10]. according to [21], with different values of checkpoint overhead, the full checkpoint model produced less waste time than the risk-based model, except for the case when the full checkpoint overhead is equal to 1 hour. in this case, the waste times of both models were very similar. 5 conclusions in this paper, we have presented near optimal checkpoint/restart models in full and incremental checkpoint schemes in a large-scale hpc environment. in these models, the time sequence of checkpoint placements was derived using the theory of a stochastic renewal reward process. the models are general and can be applied to any distribution of time between failures. however, the given example is for the case of the exponential distribution. the re-computing time which directly relates to the failure time, is an important factor in a checkpoint/restart model. instead of using the re-computing time, we introduced the re-computing time coefficient (k), its estimation approach, and an algorithm to estimate k. for the incremental checkpoint model, there is another significant factor which is the number of incremental checkpoints between consecutive two full checkpoints (m). the derived m yields the event that the expected waste time of performing a full checkpoint after m incremental checkpoints is less than that of performing the (m + )th incremental checkpoint. the proposed algorithm does not provide only the evaluation of m but also the re-computing time coefficient. for the model analysis part, the failure data of white and frost, the supercomputing system owned by llnl were used to simulate the waste time of both proposed models. the comparisons between both models are provided. in most cases, the waste times of the incremental checkpoint model are less than those of the full checkpoint model, especially when the incremental checkpoint overhead is much less than the full checkpoint overhead. furthermore, the proportion of the waste times of the incremental and full checkpoint models seems to not relate to the ratio of the incremental and full checkpoint overheads. lastly, the results of white and frost systems are very similar. this may indicate that the proposed models are able to give similar results for other systems. 6 future work in the near future, we will extend the incremental checkpoint model for the case where the number of incremental checkpoints between two consecutive full checkpoints is not a constant. we expect that the extended model will give less waste time than the proposed one. moreover, we will improve the method to evaluate the number of incremental checkpoints between two consecutive full checkpoints to yield optimality. in addition, we will work on improving the models. for example, in some applications, there are many communications between nodes. if one performs a checkpoint while there is a large amount of communications going on, the checkpoint overhead will be expensive. therefore, the communication or i/o transfer rate may be another factor to consider when performing a checkpoint. acknowledgements. work supported in part by the nsf grant no. 0834483, doe grant no. de-fg02-08er25836 and the national plan ii of romania rp5 grant. 400 n. naksinehaboon, m. păun, r. nassar, b. leangsuksun, s. scott bibliography [1] a.r. adiga, g almasi, and et al., an overview of the bluegene/l supercomputer, proceedings of supercomputing, ieee/acm conference, pp. 60-60, 2002. [2] j.t. daly, a model for predicting the optimum checkpoint interval for restart dumps, iccs 2003, lncs 2660, volume 4, pp. 3–12, 2003. [3] j.t. daly, a higher order estimate of the optimum checkpoint interval for restart dumps, future generation computer systems, elsevier, amsterdam, 2004. [4] e. elnozahy, j. plank, checkpointing for peta-scale systems: a look into the future of practical rollbackrecovery, ieee transactions on dependable and secure computing, vol.01,no.2, pp. 97-108, 2004. [5] r. geist, r. reynolds, and j. westall, selection of a checkpoint interval in a critical-task environment, ieee transactions on reliability, vol.37, no.4, pp. 395-400, 1988. [6] i. m. gelfand and s. v. fomin, calculus of variations, dover publications, isbn-10: 0486414485, 2000. [7] l. hancu, data-mining techniques for supporting merging decisions,int. j. of computers, communications and control,vol. iii (2008), pp. 322-326. [8] d. i. hunyadi, m. a. musan, modelling of the distributed databases. a viewpoint mechanism of the mvdb model’s methodology, int. j. of computers, communications and control, vol. iii (2008),pp. 327-332. [9] y. ling, j. mi, and x. lin, a variational calculus approach to optimal checkpoint placement, ieee transactions on computers, vol. 50, no. 7, pp. 699-707, 2001. [10] a.j. oliner, l. rudolph, and r.k. sahoo, cooperative checkpointing: a robust approach to large-scale systems reliability, proceedings of the 20th annual international conference on supercomputing (ics), australia, pp. 14-23, 2006. [11] t. ozaki, t. dohi, and h. okamura, distribution-free checkpoint placement algorithms based on min-max principle, ieee transactions on dependable and secure computing, volume 3, issue 2, pp. 130 – 140, 2006. [12] a. c. palaniswamy, and p. a. wilsey, an analytical comparison of periodic checkpointing and incremental state saving, proc. of the seventh workshop on parallel and distributed simulation, california, pp. 127-134, 1993. [13] j.s. plank, j. xu, and r.h. netzer, 1995a. compressed differences: an algorithm for fast incremental checkpointing, technical report cs-95-302, university of tennessee at knoxville, 1995. [14] j.s. plank, m.a. thomason, the average availability of parallel checkpointing systems and its importance in selecting runtime parameters, the 29th international symposium on fault-tolerant computing, madison, wi, pp. 250-259, 1999. [15] s.m. ross, stochastic processes, wiley; 2nd edition, isbn-10: 0471120626, 1995. [16] b. schroeder, g.a. gibson, a large-scale study of failures in high-performance computing systems, proceedings of international symposium on dependable systems and networks (dsn). ieee computer society, pp. 249–258, 2006. [17] a. tikotekar, c. leangsuksun, s. scott, on the survivability of standard mpi applications, in proceedings of 7th lci international conference on linux clusters: the hpc revolution 2006. [18] n. h. vaidya, a case for two-level distributed recovery schemes, in proceedings of the 1995 acm sigmetrics joint international conference on measurement and modeling of computer systems, pp. 64–73, 1995. [19] k. f. wong, m.a. franklin, distributed computing systems and checkpointing, hpdc, pp. 224-233, 1993. [20] j.w. young, a first-order approximation to the optimum checkpoint interval, communications of acm volume 17, issue 9, pp. 530-531, 1974. [21] y. liu, r. nassar, c. b. leangsuksun, n. naksinehaboon, m. paun, and s. l. scott, an optimal checkpoint/restart model for a large scale high performance computing system, in proc. international parallel and distributed processing symposium, (miami, florida, 2008) pp.1-9, 2008. [22] d. zmaranda, g. gabor, issues on optimality criteria applied in real-time scheduling,int. j. of computers, communications and control, issue 3, pp.536-540, 2008. ijcccv4n3draft.pdf int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iv (2009), no. 3, pp. 206-213 dictionary search and update by p systems with string-objects and active membranes artiom alhazov, svetlana cojocaru, ludmila malahova, yurii rogozhin artiom alhazov, svetlana cojocaru, ludmila malahova, yurii rogozhin institute of mathematics and computer science, academy of sciences of moldova academiei 5, chişinău md-2028 moldova e-mail: {artiom,sveta, mal, rogozhin}@math.md artiom alhazov iec, department of information engineering, graduate school of engineering hiroshima university, higashi-hiroshima 739-8527 japan yurii rogozhin rovira i virgili university, research group on mathematical linguistics av. catalunya, 35, tarragona 43002 spain e-mail: yrogozhin@yahoo.com received: april 5, 2009 accepted: may 30, 2009 abstract: membrane computing is a formal framework of distributed parallel computing. in this paper we implement the work with the prefix tree by p systems with strings and active membranes. we present the algorithms of searching in a dictionary and updating it implemented as membrane systems. the systems are constructed as reusable modules, so they are suitable for using as sub-algorithms for solving more complicated problems. keywords: membrane computing, p systems, active membranes, dictionary, prefix tree 1 introduction solving most problems of natural language processing is based on using certain linguistic resources, represented by corpora, lexicons, etc. usually, these collections of data constitute an enormous volume of information, so processing them requires much computational resources. a reasonable approach for obtaining efficient solutions is that based on applying parallelism; this idea has been promoted already in 1970s. for instance, the possibilities of applying massive parallelism in machine translation are considered in [5, 2]. many of the stages of text processing (from tokenization, segmentation, lematizing to those dealing with natural language understanding) can be carried out by parallel methods. this justifies the interest to the methods offered by the biologically inspired models, and by membrane computing in particular. however, there are some issues that by their nature do not allow complete parallelization, yet exactly they are often those “computational primitives" that are inevitably used during solving major problems, like the elementary arithmetic operations are always present in solving difficult computational problems. among such “primitives" in the computational linguistics we mention handling of the dictionaries, e.g., dictionary lookup and dictionary update. exactly these problems constitute the subject of the present paper. in our approach we speak about dictionary represented by a prefix tree. p (membrane) systems are a convenient framework of describing computations on trees. since membrane systems are an abstraction of living cells, the membranes are arranged hierarchically, yielding a tree structure. copyright c© 2006-2009 by ccc publications dictionary search and update by p systems with string-objects and active membranes 207 2 definitions membrane computing is a recent domain of natural computing initiated by gh. păun in [12]. the components of a membrane system are a cell-like membrane structure, in the regions of which one places multisets of objects which evolve in a synchronous maximally parallel manner according to given evolution rules associated with the membranes. the necessary definitions are given in the following subsection; see also [4] for an overview of the domain and [6] for a comprehensive bibliography. 2.1 computing by p systems let o be a finite set of elements called symbols; then set of words over o is denoted by o∗, and the empty word is denoted by λ . definition 1. a p system with string-objects and input is a tuple π = ( o, σ , h, e, µ, m,··· , mp, r, i ) , where: • o is the working alphabet of the system (the objects are strings over o), • σ is an input alphabet, • h is an alphabet whose elements are called labels, i identifies the input region, • e is the set of polarizations, • µ is a membrane structure (a rooted tree) consisting of p membranes injectively labeled by elements of h, • mi is an initial multiset of strings over o associated with membrane i,  ≤ i ≤ p, • r is a finite set of rules defining the behavior of objects from o∗ and of membranes labeled by elements of h. a configuration of a p system is its “snapshot", i.e., the current membrane structure and the multisets of string-objects present in regions of the system. the initial configuration is c = (µ, m,··· , mp). each subsequent configuration c ′ is obtained from the previous configuration c by maximally parallel application of rules to objects and membranes. this is denoted by c ⇒ c ′ (no further rules are applicable together with the rules that transform c into c ′). a computation is thus a sequence of configurations starting from c, respecting relation ⇒ and ending in a halting configuration (i.e., such one that no rules are applicable). if m is a multiset of strings over the input alphabet σ ⊆ o, then the initial configuration of a p system π with an input m over alphabet σ and input region i is (µ, m, . . . , mi−, mi ∪ m, mi+, . . . , mp). 2.2 p systems with active membranes to speak about p systems with active membranes, we need to specify the rules, i.e., the elements of the set r in the description of a p system. due to the nature of the problem of this paper, the standard model was generalized in the following: • cooperative rules: a rule operates on a substring of an object (otherwise, the system cannot even distinguish different permutations of a string); this feature is represented by a superscript * in the rule types; • string replication (to return the result without removing it from the dictionary); 208 artiom alhazov, svetlana cojocaru, ludmila malahova, yurii rogozhin • membrane creation (to add words to the dictionary). hence, the rules can be of the following forms: (a∗) [ a → b ] e h for h ∈ h, e ∈ e, a, b ∈ o∗evolution rules (associated with membranes and depending on the label and the polarization of the membranes, but not directly involving the membranes: the membranes are neither taking part in the application of these rules nor are they modified by them); (a∗r ) [ a → b||c ] e h for h ∈ h, e ∈ e, a, b, c ∈ o∗ (as above, but with string replication); (b∗) a[ ] e h → [ b ] e h for h ∈ h, e, e ∈ e, a, b ∈ o ∗ communication rules (an object is introduced into the membrane, possibly modified; the polarization of the membrane can be modified, but not its label); (c∗) [ a ] e h → [ ] e h b for h ∈ h, e, e ∈ e, a, b ∈ o ∗ communication rules (an object is sent out of the membrane, possibly modified; also the polarization of the membrane can be modified, but not its label); (d∗) [ a ] e h → b for h ∈ h, e ∈ e, a, b ∈ o∗ dissolving rules (in reaction with an object, a membrane can be dissolved, while the object specified in the rule can be modified); (g∗) [ a → [ b ] e g ] e h for g, h ∈ h, e, e ∈ e, a, b ∈ o ∗ membrane creation rules (an object is moved into a newly created membrane, possibly modified). additionally, we will write /0 in place of some strings on the right-hand side of the rules, meaning that the entire string is deleted. the rules of types (a∗), (a∗r ) and (g ∗) are considered to only involve objects, while all other rules are assumed to involve objects and membranes mentioned in their left-hand side. an application of a rule consists in replacing a substring described in the left-hand side of a string in the corresponding region (i.e., associated to a membrane with label h and polarization e for rules of types (a∗), (a∗r ) and (d ∗), or associated to a membrane with label h and polarization e for rules of type (c ∗), or immediately outer of such a membrane for rules of type (b∗) ), by a string described in the right-hand side of the rule, moving the string to the corresponding region (that can be the same as the source region immediately inner or immediately outer, depending on the rule type), and updating the membrane structure accordingly if needed (changing membrane polarization, creating or dissolving a membrane). only the rules involving different objects and membranes can only be applied in parallel; such parallelism is maximal if no further rules are applicable in parallel. 3 dictionary dictionary search represents computing a string-valued function {ui −→ vi |  ≤ i ≤ d} defined on a finite set of strings. we represent such a dictionary by the skin membrane containing the membrane structure corresponding to the prefix tree of {ui |  ≤ i ≤ d}, with strings $vi$ ′ in regions corresponding to the nodes associated to ui. let a, a be the source and target alphabets: ui ∈ a ∗ , vi ∈ a ∗ ,  ≤ i ≤ d. due to technical reasons, we assume that for every l ∈ a, the skin contains a membrane with label l. we also suppose that the source words are non-empty. for instance, the dictionary {bat −→ flying, bit −→ stored} is represented by [ [ ]  a [ [ [ $ f lying$′ ]  t ]  a [ [ $stored$′ ]  t ]  i ] b [ ]  c ···[ ]  z ]   dictionary search and update by p systems with string-objects and active membranes 209 consider a p system corresponding to the given dictionary: π = ( o, σ , h, e, µ, m,··· , mp, r, i ) , o = a ∪ a ∪ {?, ? ′, $, $′, $, $,fail} ∪ {?i |  ≤ i ≤ } ∪ {!i |  ≤ i ≤ }, σ = a ∪ a ∪ {?, ? ′, !, $, $′}, h = a ∪ {}, e = {, +, −}, i = , µ and sets mi,  ≤ i ≤ p, are defined as described above. so only the rules and input semantics still have to be defined. 3.1 dictionary search to translate a word u, input the string ?u?′ in region 1. consider the following rules. s1 ?l[ ]  l → [ ? ]  l , l ∈ a propagation of the input into the membrane structure, reaching the location corresponding to the input word. s2 [ ??′ ]  l → [ ] − l /0, l ∈ a marking the region corresponding to the source word. s3 [ $ → $||$ ] − l , l ∈ a replicating the translation. s4 [ $ ] e l → [ ]  l $, l ∈ h, e ∈ {−, } sending one copy of the translation to the environment. s5 [ $ → $ ]  l , l ∈ a keeping the other copy in the dictionary. the system will send the translation of u in the environment. this is a simple example illustrating search. if the source word is not in the dictionary, the system will be blocked without giving an answer. the following subsection shows a solution to this problem. 3.2 search with fail the set of rules below is considerably more involved than the previous one. however, it handles 3 cases: a) the target word is found, b) the target word is missing in the target location, c) the target location is unreachable. f1 [ ? → ?||? ]   replicate the input. f2 [ ? → ? ]   delay the second copy of the input for one step. f3 ?l[ ]  l → [ ? ] + l , l ∈ a propagation of the first copy towards the target location, changing the polarization of the entered membrane to +. 210 artiom alhazov, svetlana cojocaru, ludmila malahova, yurii rogozhin f4 ?l[ ] + l → [ ? ]  l , l ∈ a propagation of the second copy towards the target location, restoring the polarization of the entered membrane. f5 [ ?l → [ ? ] − l ]  k , l, k ∈ a if a membrane corresponding to some symbol of the source word is missing, then the first copy of the input remains in the same membrane, while the second copy of the input restores its polarization. creating a membrane to handle the failure. f6 [ ?? ′ → ? ]  l , l ∈ a target location found, marking the first input copy. f7 [ ? ]  l → [ ] − l /0, l ∈ a marking the target location. in either case, some membrane has polarization −. it remains to send the answer out, or fail if it is absent. the membrane should be deleted in the fail case. f8 [ $ → $||$ ] − l , l ∈ a replicating the translation. f9 [ $ ] e l → [ ]  l $, l ∈ h, e ∈ {, −} sending one copy of the translation out. f10 [ $ → $ ]  l , l ∈ a keeping the other copy in the dictionary. f11 [ ? → ? ] − l , l ∈ a the second copy of input will check if the translation is available in the current region. f12 ?l[ ] − l → [ ? ] − l , l ∈ a the second copy of input enters the auxiliary membrane with polarization −. by now the second copy of the input is in the region corresponding to either the search word, or to its maximal prefix plus one letter (auxiliary one). f13 [ ? → ? ] − l , l ∈ a it waits for one step. f14 [ ? → /0 ]  l , l ∈ a if the target word has been found, the second copy of the input is erased. f15 [ ? ] − l → [ ]  l ?, l ∈ a if not, the search fails. f16 [ ? ]  l → [ ]  l ?, l ∈ a sending the fail notification to the skin. dictionary search and update by p systems with string-objects and active membranes 211 f17 [ ?l → ? ]   erasing the remaining part of the source word. f18 [ ?? ′ ]   → [ ]  fail answering fail. f19 [ ? → ? ] − l , l ∈ a f20 [ ? → ? ] − l , l ∈ a f21 [ ? → ? ] − l , l ∈ a if the target location was not found, the first input copy waits for 3 steps while the membrane with polarization − handles the second input copy. f22 [ ? ]  l → /0, l ∈ a erasing the auxiliary membrane. 3.3 dictionary update to add an entry u −→ v to the dictionary, input the string !u$v$′ in region 1. consider the following rules. u1 [ ! → !||! ]   replicate the input. u2 [ ! → ! ]   delay the second copy of the input for one step. u3 !l[ ]  l → [ ! ] + l , l ∈ a propagation of the first copy towards the target location, changing the polarization of the entered membrane to +. u4 !l[ ] + l → [ ! ]  l , l ∈ a propagation of the second copy towards the target location, restoring the polarization of the entered membrane. u5 [ ! → ! ]  l , l ∈ a if a membrane corresponding to some symbol of the source word is missing, then the first copy of the input remains in the same membrane, while the second copy of the input restores its polarization. marking the fist copy of the input for creation of missing membranes. u6 [ !l → [ ! ] + l ]  k , l, k ∈ a creating missing membranes. u7 [ !$ → $ ]  l , l ∈ a releasing the target word in the corresponding location. 212 artiom alhazov, svetlana cojocaru, ludmila malahova, yurii rogozhin u8 [ !$ → /0 ]  l , l ∈ a erasing the second copy of the input. we underline that the constructions presented above also hold in a more general case, i.e., when the dictionary is a multi-valued function. indeed, multiple translations can be added to the dictionary as multiple strings in the region associated to the input word. the search for a word with multiple translations will lead to all translations sent to the environment. the price to pay is that the construction is no longer deterministic, since the order of application of rules s4 or f9 to different translations is arbitrary. nevertheless, the constructions remain “deterministic modulo the order in which the translations are sent out". all constructions work in linear time with respect to the length of the input. the parallelism is vital for checking for the absence of a needed submembrane, or for checking for the absence of a translation of a given word; sending multiple translation results out is also parallel. 4 discussion in this paper we presented the linear-time algorithms of searching in a dictionary and updating it implemented as membrane systems. we underline that the systems are constructed as reusable modules, so they are suitable for using as sub-algorithms for solving more complicated problems. the scope of handling dictionaries is not limited to the dictionaries in the classical sense. understanding a dictionary as introduced in section 3, i.e., a string-valued function defined on a finite set of strings, leads to direct applicability of the proposed methods to handle alphabets, lexicons, thesauruses, dictionaries of exceptions, and even databases. at last, it is natural to consider these algorithms together with morphological analyzer and morphological synthesizer. acknowledgments all authors gratefully acknowledge the support by the science and technology center in ukraine, project 4032. artiom alhazov gratefully acknowledges the support of the japan society for the promotion of science and the grant-in-aid for scientific research, project 20·08364. yurii rogozhin gratefully acknowledges the support of the european commission, project molcip, mif1-ct2006-021666. bibliography [1] g. ciobanu, g. păun, m.j. pérez-jiménez eds., applications of membrane computing, springerverlag, 2006. [2] h. kitano, challenges of massive parallelism, proceedings of the 13th international joint conference on artificial intelligence, chambery, france, 1993, vol. 1, 813–834. [3] gh. păun, computing with membranes, journal of computer and system sciences 61(1), 2000, 108–143. [4] gh. păun, membrane computing. an introduction, springer-verlag, 2002. [5] e. sumita, k. oi, o. furuse, h. iida, t. higuchi, n. takahashi, h. kitano, example-based machine translation on massively parallel processors, proceedings of the 13th international joint conference on artificial intelligence, chambery, france, 1993, vol. 2, 1283–1289. [6] p systems webpage. http://ppage.psystems.eu/. dictionary search and update by p systems with string-objects and active membranes 213 artiom alhazov (born on october 11, 1979), graduated in mathematics and computer science (the state university of moldova, chişinău, moldova) and received ph.d. in languages and information systems (rovira i virgili university, tarragona, spain). a researcher at the institute of mathematics and computer science of the academy of sciences of moldova. he completed a postdoc in åbo akademi university, turku, finland, and currently has a postdoc in hiroshima university, higashi-hiroshima, japan. his main research interests are theoretical computer science, formal language theory, parallel distributed computational models, and in particular the descriptional complexity of p systems with weak forms of interaction. he published over 90 research papers (collaborating with more than 30 researchers from many countries in europe and asia). he won numerous prizes for programming in school and university years, and the national youth prize in science, technics, literature and arts in 2006 for a collection of research works. svetlana cojocaru (born on july 26, 1952), graduated in mathematics (the state university of moldova, chişinău, moldova, 1974), received ph.d. in computer science (institute of cybernetics, ukrainian academy of sciences, kiev, 1982) and doctor in habilitation in computer science (institute of mathematics and computer science, academy of sciences of moldova, 2007). a deputy director at the institute of mathematics and computer science of the academy of sciences of moldova. her main research interests are formal languages and grammars, natural language processing, computer algebra, molecular computing. she published over 120 research papers. ludmila malahova (born on july 22, 1947), graduated in computer science (the state university of moldova, chişinău, moldova, 1970). a researcher at the institute of mathematics and computer science of the academy of sciences of moldova. she has a significant experience in computer science including computer graphics, formal languages, computer algebra, natural language processing, and molecular computing with more than 80 papers published in international journals, books and conference proceedings. yurii rogozhin (born on november 13, 1949), graduated in mathematics (the kuban state university, krasnodar, russia, 1971), received ph.d. in mathematical cybernetics (computer center of the russian academy of sciences, moscow, 1981) and doctor in habilitation in computer science (moscow state university, russia, department of computational mathematics and cybernetics, 1999). a principal researcher at the institute of mathematica and computer science of the academy of sciences of moldova republic and marie curie iif researcher at rovira i virgili university, research group on mathematical linguistics, tarragona, spain. his main research interests are mathematics, theoretical computer science, formal language theory and its applications, natural (biomolecular) computing and nanotechnology. he published over 110 research papers (collaborating with more than 45 researches from many countries in europe). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 351-361 improving a svm meta-classifier for text documents by using naive bayes d. morariu, r. creţulescu, l. vinţan daniel morariu, radu creţulescu, lucian vinţan "lucian blaga" university of sibiu engineering faculty,computer science department e. cioran street, no. 4, 550025 sibiu, romania e-mail: {daniel.morariu,radu.kretzulescu,lucian.vintan}@ulbsibiu.ro abstract: text categorization is the problem of classifying text documents into a set of predefined classes. in this paper, we investigated two approaches: a) to develop a classifier for text document based on naive bayes theory and b) to integrate this classifier into a meta-classifier in order to increase the classification accuracy. the basic idea is to learn a meta-classifier to optimally select the best component classifier for each data point. the experimental results show that combining classifiers can significantly improve the classification accuracy and that our improved meta-classification strategy gives better results than each individual classifier. for reuters2000 text documents we obtained classification accuracies up to 93.87%. keywords: meta-classification, support vector machine, naive bayes, text document and performance evaluation 1 introduction while more and more textual information is available online, effective retrieval is difficult without good indexing and summarization of document content. document categorization is one solution to this problem. the task of document categorization is to assign a user defined categorical label to a given document. in recent years a growing number of categorization methods and machine learning techniques have been developed and applied in different contexts. documents are typically represented as vectors in a features space. each word in the vocabulary is represented as a separate dimension. the number of occurrences of a word in a document represents the value of the corresponding component in the document’s vector. in this paper we investigate some strategies for combining classifiers in order to improve the classification accuracy. we used classifiers based on support vector machine (svm) techniques and based on naive bayes theory, respectively. they are less vulnerable to degrade with an increasing dimensionality of the feature space, and have been shown effective in many classification tasks. the svm classifiers are actually based on learning with kernels and support vectors. we combine multiple classifiers hoping that the classification accuracy can be improved without a significant increase in response time. instead of building only one highly accurate specialized classifier with much time and effort, we build and combine several simpler classifiers. several combination schemes have been described in the papers [2] and [6]. a usually approach is to build individual classifiers and later combine their judgments to make the final decision. another approach, which is not so commonly used because it suffers from the "curse of dimensionality" [5], is to concatenate features from each classifier to make a longer feature vector and use it for the final decision. anyway, meta-classification is effective only if classifiers’ synergism can be exploited. in previous studies combination strategies were usually ad hoc and are implementing strategies like majority vote, linear combination, winner-take-all [2], or bagging and adaboost [16]. also, some rather complex strategies have been suggested; for example in [4] a meta-classification strategy using svm [15] is presented and compared with probability based strategies. copyright c© 2006-2010 by ccc publications 352 d. morariu, r. creţulescu, l. vinţan section 2 and 3 contains prerequisites for the work that we present in this paper. in sections 4 we present the methodology used for our experiments. section 5 presents the experimental framework and section 6 presents the main results of our experiments. the last section debates and concludes on the most important obtained results and proposes some further work. 2 support vector machine the support vector machine (svm) is a classification technique based on statistical learning theory [13], [15] that was applied with great success in many challenging non-linear classification problems and on large data sets. the svm algorithm finds a hyperplane that optimally splits the training set. the optimal hyperplane can be distinguished by the maximum margin of separation between all training points and the hyperplane. looking at a two-dimensional problem we actually want to find a line that "best" separates points in the positive class from points in the negative class. the hyperplane is characterized by a decision function like: f (x) = sign(〈~w, φ(x)〉+ b) (1) where ~w is the weight vector, orthogonal to the hyperplane, "b" is a scalar that represents the hyperplane’s margin, "x" is the current sample tested, "φ(x)" is a function that transforms the input data into a higher dimensional feature space and 〈·,·〉 represents the dot product. sign is the sign function. if ~w has unit length, then 〈~w, φ(x)〉 is the length of φ(x) along the direction of ~w. generally ~w will be scaled by ‖~w‖ . in the training part the algorithm needs to find the normal vector "~w" that leads to the largest "b" of the hyperplane. 3 naive bayes the bayes classifier uses the bayes theorem which basically computes prior probabilities for a given class based on the probability for a given term to belong to the specified class. the classifier computes the probability for a document to be into a given class. bayesian theory woks as a framework for making decision under uncertainty a probabilistic approach to inference [4] and is particularly suited when the dimensionality of the inputs data is high. bayes theorized that the probability of future events could be calculated by determining their earlier frequency. bayes theorem states that: p(y = yi | x = xk) = p(y = yi)p(x = xk | y = yi) p(x = xk) (2) where: p(y = yi) prior probability of hypothesis yprior p(x = xk) prior probability of training data x-evidence p(x = xk | y = yi) probability of x given ylikelihood p(y = yi | x = xk) probability of y given xposterior probability. the naive bayes classifier is based on the simplifying assumption that the attribute values are conditionally independent given target value. in other words the assumption is that, given the target value of the instance, the probability of observing the conjunction y, y...yn is just the product of the probabilities for the individual attributes: cmap = argmax b means that a − b is definite positive. at denotes the transpose of a. ? stands for symmetric blocks; • stands for an element that has no influence on the development. 2 system description the structure of a variable speed, pitch regulated wind energy conversion system is presented in fig.1. the system is formed by the rotor, the mechanical structure, and by a generator unit, composed by the generator and the static converter connected to the electrical grid. the control system acts on generator in order to apply the reference electromagnetic torque tg,re f and on the pitch actuator in order to control the pitch angle of the blades β , calculated from the measurements of the rotational speed of the shaft at the generator side, and of the flexion speed of the tower by an accelerometer located at the tower top. the effective wind speed v(t) passing through the rotor is considered as a first order dynamic process disturbed by an exogenous signal mv(t) v̇ = − 1 tv v + mv(t) (1) with the time constant tv calculated from the stochastic properties of the wind speed [8]. the mechanical model describing the structure of the plant has three degrees of freedom: the flexions of the blades (blades flap motion) and of the tower (tower fore-aft motion) in the direction of the wind, and the torsion of the drive train shaft (fig.2). a spring-damper representation is used to describe the flexibility of each component. moreover, the three blades are supposed to move conjointly and to be affected by the same forces at the same time. a linear model of the dynamic behavior of this structure is established using lagrange’s equations. the electrical subsystem, corresponding to the generation unit, composed by the generator and the power electronic components, has very fast dynamics compared with dynamics of the other subsystems. consequently, and considering the study objectives, the electrical dynamics are neglected. hence, electromagnetic torque tg is supposed equal to its reference tg,re f . switching lpv controllers for a variable speed pitch regulated wind turbine 75 figure 1: wind energy conversion system structure. figure 2: wind turbine mechanical structure the pitch actuator subsystem represents the hydraulic or electric system which makes the blades revolve around their lengthwise axis. this system is described by a first order transfer function with a time constant tβ . the aerodynamic conversion process of the turbine rotor is characterized by the extracted torque taero and by the out-of-plane thrust force faero, which are functions of the air mass density ρ , the wind velocity v, the rotational speed of the turbine ωt , the horizontal blades speed ẋp and the power and thrust coefficients cp and ct : taero = 1 2 ρ π r2 (v + ẋp)3 ωt cp(λ , β ), faero = 1 2 ρ π r2(v + ẋp)2ct (λ , β ), (2) with r the length of the rotor blades. the aerodynamic coefficients cp and ct are non-linear functions depending on blades pitch angle β and tip speed ratio λ = ωt rv . 76 fabien lescher, jing-yun zhao, pierre borne 3 control task the controller objectives are to ensure: • stability along the reference trajectory for the whole operation, • good performances of the selected outputs, i.e. energy conversion and alleviation of mechanical loads affecting the plant structure. the wind turbine operation area can be divided into three zones, depending on the wind speed acting on blades. the energy conversion objectives, and thus the control objectives, are different for each zone. for low wind speed, i.e. for v < v1, the main objective is to maximize system energy conversion yield. in this partial load 1 zone, system has to operate at cp(λ , β ) = cp,max. pitch angle β is then maintained constant at βopt and rotational speed ωt is controlled to minimize the criteria δ λ = λ − λopt , by acting only on generator electromagnetic torque tg. for higher wind speed, corresponding to v1 < v < v2, turbine rotational speed ωt is maintained at the nominal generator speed by acting on electromagnetic torque tg. pitch angle β is also maintained at βopt to maximize energy conversion efficiency (partial load 2). for high wind speed, i.e. v > v2, wind turbine operates in full load and electric produced power pelec has to be regulated at nominal generator power. turbine rotational speed is maintained around nominal generator speed and pitch angle β is controlled in order to reduce power coefficient cp(λ , β ). control system is then multivariable in this zone, because it acts on both generator torque and pitch angle. evolution of the main variables in function of wind speed are presented in fig.3. the control system has figure 3: evolution of the main variables in function of wind speed. to operate over the full envelope of wind speeds. hence, transitions between these different operating zones have to be handled by the control system in a smooth manner, which avoids the generation of large transients. switching lpv controllers for a variable speed pitch regulated wind turbine 77 the other main control objective is to reduce mechanical fatigue of most expensive plant components, especially blades, drive train and tower. hence, the control system will be designed in order to reduce the variations of the drive train torsion torque td and the blades and tower flexion forces fb and ft , expressed by: td = dd(ωt −ωg) + kd(θt −θg) fb = dbẋb + kbxb ft = dt ẋt + kbxt with d and k the damper and spring coefficients of the corresponding components. the control system will be designed in order to optimize a trade-off between these objectives by minimizing a criterion expressed in the frequency range. h2 norm optimization permits to reduce the average variations of the energy conversion parameter, i.e. δ λ , δ ωt or δ pelec, in the whole frequency range. h∞ cost minimization is able to alleviate, in the frequency range, the maximum response of the mechanical loads to a variation of wind speed, which is generally the response corresponding to the resonance frequency of the component, and which is the most damaging. 4 lpv modeling the lpv model can be considered as a group of linear local descriptions of nonlinear descriptions. given the nonlinear system describing the wind turbine behavior ẋ = f (x, u, w) y = g(x, u, w) (3) z2 = h2(x, u, w) z∞ = h∞(x, u, w) with x the state of the system, u the control input, w the external disturbance, y the measured output and z2 and z∞ the performance outputs, the jacobian linearization approach can be used to create an lpv system based on the first-order taylor series expansion of the nonlinear model. a family of linear plants is obtained by linearizing the nonlinear system with respect to a set of equilibrium points located on the reference trajectory, which are parametrized by the scheduling parameter ρ and satisfy f (xe(ρ), ue(ρ), 0) = 0. corresponding to a specified family of equilibrium points, the family of the linearized plants can be written in the following form:   δ ẋ δ y δ z2 δ z∞   =   ∂ f ∂ x |e ∂ f ∂ u |e ∂ f ∂ w|e ∂ g ∂ x|e ∂ g ∂ u|e ∂ g ∂ w|e ∂ h2 ∂ x |e ∂ h2 ∂ u |e ∂ h2 ∂ w |e ∂ h∞ ∂ x |e ∂ h∞ ∂ u |e ∂ h∞ ∂ w |e     δ x δ u δ w   (4) where the deviation variables are defined by δ x = x−xe(ρ) δ u = u−ue(ρ) δ y = y−ye(ρ) δ w = w−we(ρ) and where j|e represents the value of the jacobian coefficient j at the equilibrium point (xe(ρ), u(ρ)). before deriving the lpv model of the wind turbine, the scheduling parameters must be selected so 78 fabien lescher, jing-yun zhao, pierre borne that the appropriate equilibrium point can be located on the reference trajectory. because the reference trajectory is decomposed into three parts, corresponding to the three operating areas, the parameter set p = [ρmin, ρmax] is partitioned into three subsets p1 = [ρ1,min, ρ1,max] p2 = [ρ2,min, ρ2,max] p3 = [ρ3,min, ρ3,max] with ρ1,max = ρ2,min and ρ2,max = ρ3,min corresponding to v1 and v2, i.e. the transitions between the different operating regions. hence, by calculating the jacobian coefficients as functions of the scheduling parameter ρ along the reference trajectory for each parameter subset pi, and considering the wind turbine system configuration, the dynamic behavior of the model (4) for the wind turbine system is governed by the equation:   δ ẋ δ y δ z2 δ z∞  =   ai(ρ) bi gi cy,i(ρ) 0 0 cz2,i(ρ) dz2,i(ρ) 0 cz∞,i(ρ) dz∞,i(ρ) 0     δ x δ u δ w   (5) i = {1, 2, 3}. the jacobian coefficients of the expression of the aerodynamic torque and of the thrust force (2) are calculated along the reference trajectory and are approximated by affine functions of the scheduling parameter ρ . hence matrices ai(ρ) have the following form: ai(ρ) = ai,0 + ρ ai,1 (6) and are continuous in the whole parameter set p. 5 lpv control design from the developed family of lpv models of the wind turbine, we aim at designing a family of lpv dynamic output-feedback controllers in the form: [ ẋk u ] = [ ak,i(ρ) bk,i(ρ) ck,i(ρ) dk,i(ρ) ] [ xk y ] , i = {1, 2, 3}. (7) the order of each controller is the same than the plant order, and the controllers dynamics are allowed to be discontinuous at the boundaries of the subsets pi. hence one lpv controller is designed in each subset pi in order to optimize a set of performances, expressed as a multichannel h2/h∞ criteria, corresponding to the control objectives of the operating area. the control synthesis is based on the lmi optimization and on the construction of a continuous piecewise-affine lyapunov function depending on the scheduling parameter ρ , which mimics the parameter dependence of the plant model (6). hence, the parameter dependent lyapunov function is defined as: v (xcl , ρ) = xtcl p(ρ)xcl (8) where xtcl = ( xt xtk ) and p(ρ) = φi(ρ)pi(ρ), with φi(ρ) = 1 if ρ ∈ pi, and φi(ρ) = 0 otherwise. in order to apply the linearizing changing of variables described in [9], matrices pi(ρ) and p−1i (ρ) are partitioned as: pi(ρ) = ( yi(ρ) si(ρ) sti (ρ) • ) p−1i (ρ) = ( x r rt • ) (9) switching lpv controllers for a variable speed pitch regulated wind turbine 79 with i −yi(ρ)x = si(ρ)rt . as explained in [4], matrices x and r are constrained to be constant over the whole parameter set p in order to obtain a family of controllers independent of the gain-scheduling parameter rate ρ̇ , which is not available in real-time. moreover, matrices yi(ρ) are affine in the parameter ρ in each subset pi: yi(ρ) = yi,0 + (ρ −ρi,min)yi,1 (10) and the function y (ρ) = φi(ρ)yi(ρ) is constrained to be continuous over the whole parameter set p: yi(ρ) = yj(ρ)∀ρ ∈ pi ⋂ p j (11) by verifying that for the wind turbine model the triple (ai(ρ), bi(ρ),cy,i(ρ)) is stabilizable and detectable for all ρ ∈ p, and by assuming that the scheduling parameter rate ρ̇ is bounded in a set [−ρ̇max, ρ̇max], the family of controllers can be calculated by applying the following theorem1: theorem:[9][6] suppose there exist symmetric definite positive matrices x and y such as (10) and (11), matrices âi(ρ) = âi,0 + (ρ −ρi,min)âi,1 + (ρ −ρi,min)2âi,2 b̂i(ρ) = b̂i,0 + (ρ −ρi,min)b̂i,1 + (ρ −ρi,min)2b̂i,2 ĉi(ρ) = ĉi,0 + (ρ −ρi,min)ĉi,1 d̂i(ρ) = d̂i,0 + (ρ −ρi,min)d̂i,1 symmetric semi-definite positive matrices mi = ( m1,i ? m2,i m3,i ) and a symmetric matrix q satisfying the following matrix inequalities   u + u t ? âi + (ai + bid̂icy,i)t ρ̇yi,1 + v + v t gt gt yi cz∞ x + dz∞ĉi cz∞ + dz∞ d̂icy,i ? ? ? ? −γ i ? 0 −γ i   + (ρ −ρi,min) 2 ( mi 0 0 0 ) < 0   x ? ? i yi ? dz2ĉi + cz2 x cz2 + dz2 d̂icy,i q   > 0 tr(q) < ν( m1,i ? m2,i + âi,2 m3,i + yiai + b̂i,2cy,i ) > 0 (12) for all pairs (ρ, ρ̇) ∈ {ρi,min, ρi,max}×{ρ̇i,min, ρ̇i,max}, with u = aix + biĉi v = yiai + b̂icy,i 1the dependance on ρ is dropped for the notation conveniance 80 fabien lescher, jing-yun zhao, pierre borne then the family of dynamic controllers (7) with, ∀ρ ∈ p: dk,i = d̂i ck,i = (ĉi −dk,icy,ix )r−t bk,i = s −1 i (b̂i −yibidk,i) ak,i = s −1 i (âi −sibk,icy,ix −yibick,irt −y (ai + bidk,icy,i)x )r−t where matrices r and si verify for all ρ ∈ p the relation rsti = i −xyi, guarantees that: • the elements of the family of closed-loop systems composed by (5) and (7) are asymptotically stable; • the h∞-norm of the transfer w → z∞ is less than √ γ ; • the h2-norm of the transfer w → z2 is less than √ ν . note that the lmi problem formulated in this theorem has a finite number of inequalities, thanks to the introduction of matrices mi, and permits to do without the gridding phase which is commonly used for lpv synthesis and which is very computationally intensive. moreover, in order to facilitate the control system implementation, and to prevent the system from having too fast dynamics, additional lmis constraints are formulated to place the poles of the closed loop systems in a determined region of the state-space domain. placing the poles in a circle centered at the origin of the state-space permits to prevent for obtaining too fast poles and too few damped fast poles. hence if the following lmis are satisfied for ∀ρ ∈ {ρi,min, ρi,max} and for semi-definite positive matrices ni = ( n1,i ? n2,i n3,i ) :   −rx ? ? ? −ri −ryi ? ? aix + biĉi âi −rx ? ai + bid̂icy,i yiai + b̂icy,i −ri −ryi   +(ρ −ρi,min)2 ( ni 0 0 ni ) < 0   n1,i ? ? ? n2,i n3,i ? ? 0 âi,2 n1,i ? 0 b̂i,2cy,i + yi,1ai,1 n2,i n3,i   > 0 (13) then the poles of the closed-loop systems composed by (5) and (7) are located in a circle of rayon r and of center the origin of the state-space. hence, an optimal family of dynamic controllers that minimize the h2-norm of the transfer w → z2 for a given h∞-norm √ (γ) of the transfer w → z∞ can be designed by solving the following convex lmis problem: min ν subject to the lmis (12) and (13) (14) 6 wind turbine control system design and simulation the wind turbine control system is designed from the family of developed lpv systems by calculating lpv controllers which optimize a trade-off between the energy conversion, i.e. the energy yield switching lpv controllers for a variable speed pitch regulated wind turbine 81 maximization in partial load and the output energy regulation in full load, and the reduction of mechanical loads. hence the performance output z2 represents the energy optimization variables δ λ , δ ωt or δ pelec, depending on the operating area, and then the subset of the scheduling parameter, augmented by the corresponding weighting functions. in the full load operation, and in order to reduce the pitch actuator fatigue, the pitch angle deviation δ β is added to this vector. the performance output vector z∞ is composed by the mechanical forces affecting the plant structure, ft , fp and td, augmented by the corresponding weighting functions. in order to reduce the vibrations of the mechanical components for frequencies above their resonance frequencies, the outputs ft , fp and td are multiplied by a high-pass filter, in order to penalize the high-frequency variations of these outputs during the controller synthesis. inversely, the energy optimization variables are multiplied by a low-pass filter in order to ensure to the energy conversion output a good tracking at low frequency. indeed, at high frequency, a good tracking of these components is not reached because it would induce an increase of dynamical loads on the actuators and on the mechanical structure. the scheduling parameter ρ is chosen to be ρ = pelec + kβ 2, k > 0, because it permits to locate the operating point on the reference trajectory and is directly measured, contrary to the wind speed crossing over the turbine rotor. moreover, the bounds of the scheduling parameter rate ρ̇ are derived from the actuators rate limitations. by solving numerically the problem (14), three lpv controllers are designed, one for each operating area. therefore, the control applied to the plant actuators can be discontinuous during controllers switching. because the switchings between partial load 2 and full load occur for β = 0, the pitch control is ensured to be continuous, whereas no continuity guarantees are provided concerning the generator torque. to ensure this, a structural constraint on the controllers matrices is added during the synthesis of the lpv controllers: the lines of the controllers matrices ck,i and dk,i corresponding to the generator torque are constrained to be equal at the boundaries of the subsets pi: ck,i(1)(ρ) = ck, j(1)(ρ) dk,i(1)(ρ) = dk, j(1)(ρ) for all ρ ∈ pi ⋂ p j. the efficiency of the proposed controller is compared, at the sight of simulation results, with the ones of the two other existing controllers, a gain scheduling pi-based controller, and a multivariable gain scheduling lqg one, for the full load operation. indeed, this operating area is the most challenging in the viewpoint of control design because the controller is multivariable, because the mechanical loads affecting the plant are the highest, and because the pitch action is really efficient to alleviate these loads with a carefully designed controller [2]. as mentioned in [2] and [3], the pi-based controller is designed by calculating controllers for two separate loops: firstly, a pi controller is tuned to guarantee power regulation from generator speed measurement. then a tower speed feedback is designed to increase tower fore-aft damping, by calculating a controller which appropriately filters blades flap excitation and which does not interact with the bandwidth of the first loop. unlike the proposed controller, this controller acts only on pitch angle. the gain scheduling lqg controller is designed from the same augmented model and with the same performances outputs as the proposed controller. the lqg methodology permits to design a multivariable controller which optimizes a time domain quadratic criteria representing a trade off between the different control objectives. unlike the proposed lpv design methodology, the lqg design does not provide guarantees of stability and performances along the reference trajectory, but only in several operating points on this trajectory. actually, one lqg controller has to be designed at each linearization point of the trajectory, and a gain scheduling process has to be used to interpolate the different lqg controllers. moreover, and contrary to the proposed method, the lqg design does not provide any specification of performance in the frequency range such as h∞ or h2 norms. 82 fabien lescher, jing-yun zhao, pierre borne 200 205 210 215 220 225 230 235 240 245 250 14 16 18 20 wind speed temporal serie w in d s p e e d ( m /s ) 200 205 210 215 220 225 230 235 240 245 250 3.98 4 4.02 x 10 5 generated electric power e le ct ri c p o w e r (w ) 200 205 210 215 220 225 230 235 240 245 250 8 10 12 14 16 18 pitch angle b e ta ( °) time (sec) figure 4: temporal series. lpv controller; pi-controller; lqg controller. table 1: equivalent load: ratio between the different controllers and pi controller. controller shaft tower blades lpv controller 57.3% 63.8% 82.9% lqg controller 59.0% 73.4% 87.8% pi controller 100% 100% 100% the simulations are based on a dynamic model implemented in matlab-simulink of a three blades 400 kw wind turbine containing: • non linear and stationary aerodynamics, with rotational effects disturbances due to wind shear and tower shadow. • flexible drive train model, flexible tower model including first fore-aft mode, flexible blades in flapwise direction, • pitch actuator limitations on pitch rate (±10◦/s) and pitch amplitude (0◦ 30◦). the simulated wind speed respects stochastic properties of van der hoven spectra with high fluctuations. the controllers performances are compared for both power regulation and alleviation of mechanical fatigue. these controllers have equivalent bandwiths and are tuned in order to guarantee a similar level of performance for power regulation. evaluation of mechanical fatigue is provided by using the rainflow counting algorithm, which calculates the number of load cycles from time domain simulations results, and the fatigue equivalent load for each component [10]. temporal series of wind speed, produced power pelec and pitch angle β are presented in fig.4. fatigue equivalent loads for the shaft, blades and tower are calculated from the simulations, and table 1 presents the ratio between the equivalent loads obtained with the different controllers and with the pi-controller. the proposed lpv controller is seen to be more effective for the two selected control objectives, especially for mechanical fatigue reduction for each component, and despite a pitch activity inferior to the pitch activity caused by the lqg controller. a sensitive gain of lifetime of the mechanical components of the plant, or a sensitive reduction of the mass, and consequently of the cost of these components can switching lpv controllers for a variable speed pitch regulated wind turbine 83 200 250 300 350 400 450 10 12 14 16 w in d s p e e d ( m /s ) 200 250 300 350 400 450 2 2.5 3 3.5 4 4.5 x 10 5 e le ct ri c p o w e r (w ) 200 250 300 350 400 450 0 5 10 p itc h a n g le (° ) time (sec) figure 5: transitions between partial load 2 and full load. then be expected. the behavior of the plant with the proposed control system is also shown during the transition between partial load 2 and full load in fig.5, i.e. for wind speeds around the rated wind speed, which is about 12.2m/s. the control system is then seen to handle efficiently this transition. 7 conclusion in this paper, an hybrid controller composed by several lpv controllers has been proposed for the whole operating area of a variable speed, pitch regulated wind turbine. this control system achieves the optimization of a trade-off between the energy conversion and the reduction of the mechanical loads for the whole envelope of wind speeds acting on the plant, taking into account the different objectives of the energy conversion for the different operating areas. moreover, the employed lpv modeling, as well as the lmi formulation of the problem, provides a good framework for additional possible constraints of the control problem during the synthesis, like actuator saturation, or for ensuring the robustness to the system parameters uncertainties. references [1] t. burton, d. sharpe, n. jenkins, and e. bossanyi, wind energy handbook. john wiley and sons, 2001. [2] e.a. bossanyi, the design of closed loop controllers for wind turbines, wind energy, vol.3, 2001, pp.149-163. [3] w.e. leithead, s. dominguez and c.j. spruce, analysis of tower/blade interaction in the cancellation of the tower fore-aft mode via control, proc. european wind energy conference, london, uk, 2004. 84 fabien lescher, jing-yun zhao, pierre borne [4] p. apkarian and r. j. adams, şadvanced gain-scheduling techniques for uncertain systems,ť ieee transactions on control system technology, vol. 6, pp. 21−32, 1997. [5] f. lescher, j. zhao, and p. borne, şrobust gain scheduling controller for pitch regulated variable speed wind turbine,ť studies in informatics and control, vol. 14, pp. 299−315, 2005. [6] s. lim, analysis and control of linear parameter-varying systems, ph.d. dissertation, stanford university, 1999. [7] b. lu and f. wu, switching lpv control designs using multiple parameter-dependent lyapunov functions, automatica, vol.40, 2004, pp. 1973-1980. [8] c. nichita, d. luca, b. dakyo, and e. ceanga, şlarge band simulation of the wind speed for real time wind turbine simulators,ť ieee transactions on energy conversion, vol. 17, pp. 523−529, 2002. [9] c. scherer, p. gahinet, and m. chilali, şmultiobjective outputfeedback control via lmi optimization,ť ieee transactions on automatic control, vol. 42, pp. 896−910, 1997. [10] m. matsuiski and t.endo, fatigue of metals subjected to varying stress, japan soc. mech. engrg, 1969. f. lescher and p. borne ecole centrale de lille lagis laboratory bp 48, cité scientifique, 59651 villeneuve d’ascq cedex, france e-mail: fabien.lescher@eigsi.fr j.y. zhao eigsi la rochelle erpa laboratory 26 rue vaux le foletier, 17000 la rochelle, france e-mail: jing-yun.zhao@eigsi.fr received: november 2, 2006 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 768-774 towards the implementation of computer-aided semiosis a.e. lascu, s.c. negulescu, c. butaci, v. cret alina e. lascu, sorin c. negulescu lucian blaga univeristy of sibiu, romania e-mail: alina.lascu@ulbsibiu.ro, sorin.negulescu@ulbsibiu.ro casian butaci, vasile creţ agora university, oradea and r&d agora ltd. cercetare dezvoltare agora oradea, romania e-mail: casian12@yahoo.com, vcret@univagora.ro motto: in the beginning was the word bible, john 1:1 abstract: computer-aided semiosis (cas) is a concept coined by a team of researchers a couple of years ago. since it is a promising domain due to the fact that responds to actual trans-cultural communication needed in the broad-band society where often the message behind the words does not come clear the subject ought being inquired more detailed as promised in other papers of the same authors. this interesting idea was inspired from eco’s theory of communication which states that the receiver "fills the message with significance"; hence it is vital for any communication and is strongly dependent on the cultures involved. in line with eco’s theory, the research in this area must be trans-disciplinary and anthropocentric. in the intention of narrowing the existing gap between the technological offers and user expectations the macro-architectural feature is that translation will progress from textual, semantically correct, to multimodal, culturally adequate, based on common concepts and "grammar" (rules to combine them into meaningful sentences); thus, this paper will present possible approaches towards the implementation of cas. given the fact the ontologies are considered to be the pillars of semantic web but also a key tool in implementing cas, both will be a subject of this paper in the light of finding an implementation solution. the paper is structured on five sections: the first will present the defining aspects of the concept relating it with previous research; the second section will deal with cas approach and architecture, following with the state of the art regarding ontologies and their relation with semantic web. among the conclusions, one is already noticeable: cas could not be possible without a trans-cultural ontology. keywords: computer-aided semiosis (cas), human-computer interaction (hci), ontologies, semantic web, interfaces. 1 introduction the key to effective online cross-cultural communication is a well-designed transcultural ontology which to help in disambiguating between concepts that seem alike but their meaning differs from culture to culture; this tool is intended to be developed in the following years by a team of young researchers in order to substantiate and implement a new and innovative concept in the field of hci: computer-aided semiosis (cas). copyright c⃝ 2006-2010 by ccc publications towards the implementation of computer-aided semiosis 769 university of colorado, usa developed a study regarding cross-cultural communication strategy and came up with the conclusion that often intermediaries who are familiar with both cultures can be helpful in cross-cultural communication situations. they can translate both the substance and the manner of what is said. for instance, they can tone down strong statements that would be considered appropriate in one culture but not in another, before they are given to people from a culture that does not talk together in such a strong way. they can also adjust the timing of what is said and done. some cultures move quickly to the point; others talk about other things long enough to establish rapport or a relationship with the other person. if discussion on the primary topic begins too soon, the group that needs a "warm up" first will feel uncomfortable. a mediator or intermediary who understands this can explain the problem, and make appropriate procedural adjustments [4]. the results of this study can be as well applied in ict due to the fact that online cross-cultural communication could also use virtual intermediaries which to have access to a transcultural ontology assisting thus the user grasping the right meaning of a certain message, i.e. in written (chat), spoken (voice) and/or visual form. in the light of the earlier scan, this paper will present possible approaches towards the implementation of cas. since the ontologies are thought to be the pillars of the semantic web but also an important tool in implementing cas, both will be key-subjects of this paper in the quest of finding an implementation solution. the paper is structured on five sections: the second will present the defining aspects of the concept relating it with previous research; the third will deal with cas rational and approach, following with the state of the art regarding ontologies and their relation with semantic web. among the conclusions, one is already easily remarked: at the online level, communication can be impaired not only by the cultural differences but also by a wide range of differences such as race, age, sex, profession, religion or disabilities; in this regard, if the transcultural ontology will prove its efficiency in disambiguating cultural concepts, consequently other ontologies could be also implemented for aiding the online communication process between different users. 2 defining the concepts in line with history according to modern paradigms, the goal of using icts is "obtaining a service from a huge palette of available ones" and the means is "interacting with an entity". the "entity" is either a human (e.g. when speaking via mobile phones) or a device (e.g. when buying travel documents via computers) [1]. therefore there are three possible ways of communication as described in [1]: a) "face to face", b) "face to interface", c) "interface to interface" in the near future context of semantic web, domain ontologies and so forth. very agent metaphor. thus, when users employ agents (in whatever domain of activity) they expect: a) personalization (agents act considering the specific momentary needs of their clients); b) authorization (agents act on behalf of their clients, within the limits stipulated by the hiring agreement); and c) competence. in short, the agent metaphor suggests that "i hire an agent when i do not have enough time or lack competence to handle the problem myself" [1]. as regards the interface agents, the emphasis is on the interface, entailing that the agent remains hidden (i.e., the users perceive just a "smarter functionality", no "pseudoavatars" [10] intervening in a human-to-human dialogue) [1]. considering these features, one can say that an agent, or more specific an interface agent can act like a smart mediator which to have access to knowledge (i.e. ontology) and by using it efficiently to "translate" to the user only the meaningful messages, saving a lot of time that otherwise would have been wasted. in the 21st century time is money therefore it is vital mostly in the business sector but not restricted to. online communications nowadays means more than a showy website and a newsletter. if 770 a.e. lascu, s.c. negulescu, c. butaci, v. cret new web-based technologies are joint with a society that is rapidly getting to think of online interactions as just as authentic as face-to-face ones, one has the possibility of radically easing the communication even in difficult (but frequent) circumstances, like those involving crosscultural interaction ( [2], [6], [7], [8], [9], [10], [11], [12], [13]) as debated and probed in previous paper of the authors. in our previous researches we approached the transcultural interfaces’ subject which could be explained in human-to-human communication as a progression from textual (semantically correct) conversions to multimodal (culturally adequate) ones [2], based on the concept of cas. since at this research stage the experimental models presented in the related papers are not agent-oriented, the reference to "agents" is found only in [1] and regards conceptual aspects as well as future development. thus far, the emphasise in our research was put on transcultural which represents the ability of people belonging to different cultures to communicate efficiently preserving in the same time their cultural identity [2]. this concept will be further on related with ontology which together, i.e. transcultural ontology, will embody the tool by which cas could be validated as a possible new and challenging domain of hci. 3 rationale and approach as depicted from the title this paper intends to draw the sketch of what it should be the onward study on the implementation/ validation of cas. since the prime motives because of which we started this endeavour was already stated in the previous papers of this team, it is redundant to re-state them; instead this paper is set to focus on the approach and methods. since cas was designed from an anthropocentric perspective, meaning to provide an assistance (i.e. an interface agent which to access a transcultural ontology, transfering the user only meaningful messages), lessening the linguistic hurdles (such as the traduttore-traditore effect), the logocratic pressure of (spoken or written) text, response time criticality, as well as the danger of distortions and noise, via a major upgrade in communication granularity: (one) idea instead of (many) words [9]. the ongoing study should be approached from a trans-disciplinary perspective, in respect with both humanists (i.e. linguists, psychologists) and technologists (i.e. ontology, interface designers and so on). when creating the ontology, the designer should bear in mind the way users and agents may "think"; how an user creates meaning from a piece of image of some sings (i.e. words) and how an interface agent does the same job effortlessly on the contrary. though, do an agent depict the meaning same accurate as a human does? or maybe detecting the true meaning of a message is even more endangered by human’s scrambled mind which is very much contextual, in opposition with an interface agent which will act and respond based only on the given ontology and some very specific rules, and hence the probability to fail giving the expected meaning will be smaller. these are all questions which can not be answered at this point, some answers will be empirically uncovered, some may prove to be exactly contradictory with those thought in the first place. after all, this is what academically we call exploratory research. the approach will be adapted step by step base on the further findings. 4 ontology. state of the art people are able to use the web in order to complete tasks such as finding the icelandic word for "alphabet", reserving a plane ticket, or searching for a low price for an e-book. still, computers cannot perform the same tasks without human direction because web pages are designed to be towards the implementation of computer-aided semiosis 771 read by people, not machines. the semantic web is a vision of information that is understandable by computers, so that they can perform more of the dull work involved in finding, sharing, and combining information on the web [3]. the vision of tim berners-lee regarding semantic web [3]: "i have a dream for the web (in which computers) become capable of analyzing all the data on the web the content, links, and transactions between people and computers. a ’semantic web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. the ’intelligent agents’ people have touted for ages will finally materialize" is related in this study with eco’s semiosis theory (which states that the receiver "fills the message with significance" [5]), meaning that on the same features’ as semantic web’s cas could be implemented but using instead a dedicated/personalized ontology based on which to develop the "translation process". an ontology is a formal representation of a set of concepts within a domain and the relationships between those concepts [17]. the ontology envisioned by this research team is based on the idea of maya script (a logographic type of script which used both logograms and syllabic characters [16]) by replacing, where possible, the words with images as in the catchphrase: "a picture it is worth a thousand words". figure 1 illustrates the way the correspondence between a word-based ontology and an image-based ontology can be created, of course, the example given in this paper is very much simplified. the demarcation line was traced in order to separate the abstract and the concrete synonyms of the word apple. on one side of the line there can be easily remarked every-day interpretations of the word apple, which can without any doubt be recognized by anyone. on the other side, the other interpretations depict more abstract representations of the word apple which require a higher level of knowledge in order to be grasped, i.e. the apple polisher, the temptation (religiously), wilhelm tell representation (historically), newton’s gravitation theory (physical sciences), "an apple a day keeps the doctor away" (health idiom); the point is that the ontology must be trans-disciplinary and trans-culturally created in order to gather all the possible meanings and definitions for a word/concept. disambiguation can further on continue and the figure presented above be expanded with other concepts and relation between them. an example at hand for expanding the ontology would be adding other characteristics for the fruit apple such as variety name (e.g. granny smith, pink lady, red delicious, golden delicious and so on), colour (e.g. red, green, pink, yellow), taste (e.g. sour, sweet, etc.). also, in order to disambiguate applež’s logo there can be made a separation between the old and the new logos. an important disambiguation which must be made in the first place is between english word apple and swedish word äpple which happens to mean the same thing but they belong to different cultures which can generate later on other misunderstanding problems. briefly, the implementation of cas will follow this ontology framework where the icon position has syntactic role (in line with ontology rules) and semantic role for cas (to reduce the differences between "intentio auctoris" and "intentio lectoris") [2]. this kind of ontology based on visual rules can be further enhanced by using animations instead of images. considering this idea, the role of the interface agent will be to "translate". in german, the verb "to translate" means "übersetzen", the reason for this association is that in its most basic visualization, the german word means "to carry something from one side of the river to the other side of the river". in opposition the english word "to translate" does not immediately evoke the same image in the mind. in german, one can say: "mit der fähre den fluss übersetzen" which would literally mean: "to translate the river on a ferry boat". anyway the translator so to name it must take in consideration both cultures from which to which the translation is being made; one must know that ad literam translation doesn’t apply especially when a more subtle message (culturally dependent) must be transmitted, therefore the visualisation of the word "übersetzen" (to move from one side of the river to the other side of the river) leads to 772 a.e. lascu, s.c. negulescu, c. butaci, v. cret figure 1: example of architecture for cas1 several important insights into the nature of translation. in this context, the role of the agent is carrying something across the river, whether it is from here to there or from there to here. the cargo can have a multiplicity of shapes: the description of a technological object, a cultural or historical phenomenon, a poetic image, a metaphorical expression, or a human emotion, to name only a few; the parameters of each word are quite fragile; no two people will take the exact same meaning from a word [14], so the interface agent will have the hardest ever job, to extract the meaning of a message taking into consideration the transcultural ontology in line with the cultural background of both users involved in the communication process. in order to validate cas concept as a possible new subdomain of hci, the researches have to focus from now on, on the implementation by creating a transcultural ontology on the framework presented in the previous section involving in this process preferable a trans-disciplinary team of researchers (linguists, psychologists, anthropologists, designers, programmers and so on) by keeping in mind the fact that an ontology deals with the nature of existence so it is a too impressive domain to be approached only by a team of thrilled researchers, willing to take the burden of exploratory research. the future work will consider refining the ontology framework and hopefully in three-year time span (during the phd studies of the first author) the objectives to be fulfilled involving european teams of researchers interested in this kind of projects. 5 conclusions and future work in order to validate cas concept as a possible new subdomain of hci, the researches have to focus from now on, on the implementation by creating a transcultural ontology on the framework presented in the previous section involving in this process preferable a trans-disciplinary team of researchers (linguists, psychologists, anthropologists, designers, programmers and so on) by keeping in mind the fact that an ontology deals with the nature of existence so it is a too impressive domain to be approached only by a team of thrilled researchers, willing to take the burden of exploratory research. the future work will consider refining the ontology framework and hopefully in three-year towards the implementation of computer-aided semiosis 773 time span (during the phd studies of the first author) the objectives to be fulfilled involving european teams of researchers interested in this kind of projects. acknowledgements: this research is fully supported by the posdru/88/1.5/s/60370 project which is co-financed by the european social fund through the sectoral operational programme for human resources development 2007-2013. we thank mr. cătălin boaru from apple imc romania for kindly granting us the permission to use the appler logo. copyright notice: apple and the apple logo are trademarks of apple computer, inc., registered in the u.s. and other countries. disclaimer: this article is an independent publication and has not been authorized, sponsored, or otherwise approved by apple computer, inc. images were taken from public domain graphic sites with their own disclaimers, and a very few were taken from sites that contained no copyright information or terms of use. bibliography [1] bărbat, b.e. (2009). interface agents for transcultural communication: a framework . in sapio, b. (ed.), the good, the bad and the challanging. the user and the future of information and communication technologies (pp.666-675). copenhagen: cost action 298. [2] bărbat, b.e., negulescu, s.c., lascu, a.e., popa, e.m. (2007). computer-aided semiosis. threads, trends, threats. in mastorakis, n.e. (ed.), proc. of the 11th wseas international conference on computers (pp.269-274). agios nikolaos, crete: iccomp ’07. [3] berners-lee, t. (1999). weaving the web: the original design and ultimate destiny of the world wide web by its inventor. new york: harperone. [4] conflict research consortium (1998). cross-cultural communication strategies. retrived 2010, from university of colorado, usa. web site: http://www.colorado.edu/conflict/peace/treatment/xcolcomm.htm. [5] eco, u. (2005). the limits of interpretation. bloomington, sua: indiana university press. [6] georgescu, a.v., lascu, a.e., bărbat, b.e. (2008). protensity in agent-oriented systems. role, paths, and examples. int. j. of computers, communications & control, iii, 304-309. [7] lascu, a.e., fabian, r. (2007). e-semiotics for romanian-german trans-cultural interfaces. in sapio, b. et al (ed.), the good, the bad and the unexpected: the user and the future of information and communication technologies (pp.on cd). moscow, russian federation: cost action 298 participation in the broadband society. [8] lascu, a.e., georgescu, a.v. (2009). from extensity to protensity in cas: adding sounds to icons. in esposito, a. et al (ed.), multimodal signals: cognitive and algorithmic issues (pp.130-137). vietri sul mare, italy: springer. [9] lascu, a.e., moisil, i., negulescu, s.c. (2009). computer-aided semiosis mirrored in creolization. rational and approach . international journal of advanced statistics and it&c for economics and life sciences, 1(1), 38-43. 774 a.e. lascu, s.c. negulescu, c. butaci, v. cret [10] lascu, a.e., negulescu, s.c., cioca, m., zerbes, m.v. (2009). interface agents as virtual tutors. conference proceedings of balkan region conference on engineering and business education & international conference on engineering and business education, 2, 626-629. [11] lascu, a.e., negulescu, s.c., kifor, c.v. (2009). different time perception in creolization mirrored in transcultural interface for "immediate". in sapio, b. et al (ed.), the good, the bad and the challenging the user and the future of information and communication technologies (pp.661-666). copenhagen, denmark: cost action 298 participation in the broadband society. [12] negulescu, s.c., lascu, a.e., oprean, c. (2009). cultural differences in decision-making. a transcultural interface for gambler’s fallacy. in sapio, b. et al (ed.), future of information and communication technologies (pp.656-661). copenhagen, denmark: cost action 298 participation in the broadband society. [13] prundurel, a., negulescu, s.c., lascu, a.e. (2007). mini-ontology for trans-cultural interfaces. in sapio, b. et al (ed.), the good, the bad and the unexpected: the user and the future of information and communication technologies (pp.on cd). moscow, russian federation: cost action 298 participation in the broadband society. [14] rainer schulte (1999). the translator as mediator between cultures. retrived 11.2009, from translation studies. web site: http://translation.utdallas.edu/translationstudies/mediator_essay1.html. [15] russell s., norvig p. (2003). artificial intelligence: a modern approach. nj: prentice hall. [16] simon ager (2009). mayan script. retrived 2010, from omniglot writing systems and languages of the world. web site: http://www.omniglot.com/ writing/mayan.htm. [17] wikipedia (2009). ontology (information science). retrived 11.2009, from wikipedia. web site: http://en.wikipedia.org/wiki/ontology_(information_ science). int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 3, pp. 270-280 disassembly line scheduling with genetic algorithms luminiţa duţă, florin gheorghe filip, jean-michel henrioud, ciprian popescu abstract: disassembly is part of the demanufacturing and it is meant to obtain components and materials from end-of-life products. an essential performance objective of a disassembly process is the benefits it brings, that is the revenue brought by the retrieved parts and material, diminished by the cost of their retrieval operations. a decision must be taken to balance an automatic disassembly line. a well balanced line will decrease the cost of disassembly operations. an evolutionary (genetic) algorithm is used to deal with the multi-criteria optimization problem of the disassembly scheduling. keywords: control, scheduling algorithms, evolutionary programming, genetic algorithms 1 introduction in the second half of the 20th century, the people and governments started to become aware that the "take make waste" system, which resulted from the industrial revolution, is not sustainable. the assumptions on infinite material "sources" of raw materials and "sinks" to absorbe industrial and domestic wastes could not hold any longer because of the exponential growth of world population and accelerated widespreding of industry and consumption. in their inspiring book on system engineering, blanchard and fabrycky [1, p.555] state that "green manufacturing should be an objective adopted by producers to reduce the environmental impact of their products and production operation continuously. real environmental improvement requires a system life-cycle approach to guide design decisions and operational policies". several driving factors such as: a) competitive differentiation, b) customer consciousness, c) legal regulations, and d) fight for improving profitability have led to this new way of thinking and even to new standards such as iso 14,000 series. a new science of sustainability called "industrial ecology" was born [2,frasch ], [3, graedel, allenby]. within it, research directions such as "design for environment" (with a proactive character), and "environmental management" (a reactive, remedial aproach) compose a new design trend called "environmentally conscious design and manufacturing" [1, blanchard and fabrycky, p. 558]. at present, both designers and manufacturers show an increasing tendency to consider product and system entire life-cycle starting with perceiving customers needs, and continuing with design and development, manufacturing, product utilization, maintenance, phase-out, and disposal. in this context, the term "remanufacturing" includes the set of planning and processing activities (such as checking in, disassembling, cleaning, inspection and sorting, reconditioning, reassembling, testing and packaging) for recycling obsolete products. the first steps of remanufacturing process can be grouped under the name "demanufacturing". a new industry for demanufacturing has shown up to provide with new usage of expensive modules, components and materials and, at the same time, to prevent excessive wastes. also industrial producers tend to add their demanufacturing departments to existing manufacturing facilities. sometimes, chains of firms show up to implement new paradigms such as "extended", "networked", and "virtual" enterprise [3, filip, bărbat]. this paper aims at proposing the usage of genetic algorithms for optimal scheduling of disassembly lines. the remaining part of this paper is organised as it follows. first, the main concepts and research directions in modelling, optimization and control in disassembly processes are reviewed. then, the optimal scheduling problem of a disassembly line is formulated. a short description of genetic algorithms is given next. experimental results on solving the optimal disassembly problem by a genetic algorithm are given before presenting the paper conclusions. copyright © 2006-2008 by ccc publications disassembly line scheduling with genetic algorithms 271 2 disassemblya main stage in recycling several types of recycling of end-of-life manufactured goods are possible such as : a) reusing of components and modules of high value, b) refurbishing and partial reconstruction of a good returned from the market, c) recovery of the raw material or energy by incineration and melting. disposal, which is the last solution to resort to, is done only if the other alternatives are not possible. the choice between these different types determines the recycling process and allow for defining the end-of-life destinations for components of manufactured goods. different recycling loops are different approaches of the process. the simplest approach is that of dismantling a product. by applying dismantling operations, a discarded good can be broken down faster and with small costs. in this case more pure fractions can be obtained with less efforts. this simple approach exploits only the value of the raw material. it does not take into account the functional value of the product or of its components. the regain of the functional values needs a recycling process that minimizes the destroying effects on the product. this means to reuse, refurbish and capitalize the components of the used product in order to remanufacture a new one. remanufacturing is a superior form of reusing, since its objective is to maximize the value of repaired parts and to minimize the disposal quantity. central to remanufacturing is the disassembly process that decomposes a product into parts and/or subassemblies. disassembling is a nondestructive technique and implies the extraction of the desired components and/or materials. if the parts are not reusable after reconditioning, partial or total destructive operations are to be applied: drilling, cutting, wrenching, and shearing. these techniques are used in view of the material or energetically recovery. there are several research directions in relation with disassembly processes such as: modeling, planning, and control. the chapter 16 on "design for produceability and disposability" of the book on system engineering of blanchard and fabrycky [1] contains an excellent introduction to product and system design to facilitate remanufacturing. since disassembly processes can be viewed as discrete, event driven systems [5, cassandras, lafortune], petri nets can be a natural solution. there are lots of reported results. for example, moore, gungor and gupta [6] propose disassembly petri nets to take into account operation precedence constraints in planning aplications. penev and ron [7] proposed disassembly graphs. kuo, zhang and huang [8] describe disassembly trees which associate for each branch the direction of the disassembly operation by adapting the assembly trees proposed by henrioud [9]. the usage of object oriented petri nets proposed by lakos [10], to model disassembly processes is analysed by duta, filip and henrioud [11]. for balancing the operation of the disassembly line, duta, filip and henrioud [12] utilize the method of equal piles approach proposed rekiek [13]. to model products associated with incomplete, imprecise, and, sometimes, wrong information, fuzzy reasoning petri nets are proposed by gao and zhou [14] to make real-time disassembly scheduling decisions possible. a review of state-of-art implementations of control structures for disassembly line is given by duta and filip [15]. 3 problem formulation disassembly of manufactured products induces both disassembly costs and revenues from the parts saved by the process. thus, at the planning stage a good trade-off has to be found that depends, both on the "depth" of the disassembly, and on the sequence of operations. the optimization of the ratio between gain and cost can be accomplished by using an appropriate distribution of the disassembly tasks on workstations, an assignment that provides a maximal value for the total profit. the optimization problem depends upon the structure of the disassembly system: if it is made up of a single workstation, the costs depend mainly upon the process duration. if the system is a line, the costs depend mainly 272 luminiţa duţă, florin gheorghe filip, jean-michel henrioud, ciprian popescu upon the line balancing, all the more if it is highly manual. another problem that occurs during a disassembly process is how deep the disassembly sequence must go so as to maximize the outcome of this process. in [11, duta, filip and henrioud], [16, duta, henrioud and caciula] it was shown that an incomplete disassembly sequence can be more profitable than a complete one. destructive and dismantling operations have to be taken into consideration, as well. hence, we have to deal with a multi-criteria optimization problem of a disassembly process: maximizing the benefit it brings deciding how deep the disassembly sequence can go and minimizing the costs using an optimal scheduling along the line. a decision in a scheduling problem upon many criteria is a np-hard to solve problem [17, filip]. stochastic algorithms have already been used to fulfill a multi-criteria optimization problem in [18, minzu and henrioud]. in this paper we consider that the line structure was given and propose an algorithm which will allow finding a disassembly sequence and its assignment on workstations that optimizes a very simple function which integrates the income from the parts and the cycle time of the disassembly line. in this paper we address the case of disassembly lines where the cycle-time is not merely the sum of all operative and logistic times but it also depends strongly upon the line balancing. the objective is to find the most profitable disassembly sequence taking into account, on one hand the end-of-life options for each part or subassembly of a given product, and on the other hand the operational times for a given assignment of the tasks on the disassembly workstations. a cost function which combines both disassembly costs and revenues was proposed in [19, duta, filip and henrioud]. f = r tcy (1) where r is revenue associated to each disassembled part and tcy is the cycle time. the global revenue is the sum of partial revenues obtained according to the end-of-life destinations of the disassembled parts. these partial revenues are established by experts after repeated disassembly processes. r = ∑ k rk, k = 1..nc (2) where nc is the number of final components or the number of subassemblies obtained after the disassembly process. the cycle time can be defined like the operational time of the slowest workstation on the line tcy = max wi ∑ j∈(tasks on wi) t j (3) where wi is the workstation i, and j is one disassembly operation and t j the operational times. we make the following assumptions: • the disassembly line is linear (flow-shop type); • end-of-life revenues of the subassemblies are known; • operational costs are included in the final incomes; • the criterion of maximizing the outcome depending of the success rate of disassembly operations has been taken into consideration; • the failure of the disassembly process is an event that can also occur since certain parts of the product could be deformed and impossible to separate without destroying; disassembly line scheduling with genetic algorithms 273 • the disassembly line is not starving; it works in a continuous flow. evaluating the function from equation (1) reveals the profit on a time unit, which is an important indicator for the productivity of the disassembly system. this function also takes into account the value of the cycle time obtained for a well-balanced line. the optimization can be made both for the manual and automatic disassembly lines. 4 genetic algorithms genetic algorithms are optimization solvers used in many areas due to their capacity to reduce the combinatorial complexity of np-complete problems. they do not give the global optimal solution, but a local optimal one by exploiting a defined search space. a genetic algorithm starts with a set of randomly generated possible solutions called initial population. each member of a population is encoded as a chromosome. chromosomes are represented by a combination of numbers or characters which contain information about the solution. a score named fitness coefficient is assigned to each chromosome based on the viability of the solution. chromosomes with high scores are chosen as parents to create a new population. the objective is to obtain children with better scores. to avoid the uniformity of the population and to increase the space of research, at each step of creation, two processes may occur namely: crossover and mutation. crossover combines the features of two or more parents into one child chromosome. mutation generates a child similar with his parent with one or more genes altered. these operations ensure the diversity of the new generated population [ 20, goldenberg]. once established the initial population and defined the three types of operations (reproduction, crossover, mutation), a genetic algorithm provides new members of population until a stop condition is fulfilled. usually, this criterion is given by a maximal/minimal value of the objective function obtained after a number of iterations of the genetic algorithm. 5 example to test the genetic algorithm, consider the example of the disassembly of a motorola radio set described by salomonski and zussman, [21]. the corresponding disassembly petri net is given in the figure 1. the disassembly process is represented four distinct possible sequences of transitions: {t1 → t3 → t5 → t7}, {t1 → t3 → t6 → t8}, {t2 → t4 → t5 → t7} and {t2 → t4 → t6 → t8}. to take into account additional destructive disassembly methods, in the correspondent petri net there are three alternative tasks represented by transitions {t1,1,t4,1,t6,1}. for the present study we considered that there are three workstations on the line. an alternative destructive task is done only on a station that can perform both destructive and non-destructive operations. we say that this kind of workstation is a "mixed" one. thus, workstations 2 and 3 are considered mixed. in other words, when a task is moved from one station to another, the type of the operation is changed together with its operational time. we supposed that the tasks t1 and t4 can be performed in a non-destructive way on the first workstation and in a destructive way on the second one. for the task t6 a destructive disassembly is done on the third station and a non-destructive disassembly is performed on the second workstation. according to the petri net given in figure 1 the correspondent operational times on the initial partition of the tasks on the workstations are: ti = {0.92, 0.07, 0.07, 0.12, 0.95, 0.75, 0.75, 0.95} taking into consideration the times for the alternative destructive operations the set above becomes: 274 luminiţa duţă, florin gheorghe filip, jean-michel henrioud, ciprian popescu figure 1: disassembly petri net of a radio set tf = {0.95, 0.07, 0.07, 0.15, 0.95, 0.90, 0.75, 0.95} the final revenues are calculated with the method proposed in [11, duta, filip and henrioud] by using the data from the petri net given in the figure 1. the corresponding sets of revenue values are: ri = {−1.36, 0.27, 0.54, 0.54, 0.62, 0.67, 2.75, 2.75} r f = {−1.32, 0.27, 0.54, 0.50, 0.62, 0.60, 2.75, 2.75} the objective is to maximize the value of the function from the equation (1) by finding the sequence that maximize the final revenue and in the same time ensuring a well-balance of the disassembly line (e.g. minimizing the cycle time). in our problem, a chromosome is represented by the possible tasks assignment matrix s which elements are: si j = { 1 i f the task j can be assigned to the workstation i 0 i f the task j can′t be assigned to the workstation i i = 1..n and j = 1..m (n is the number of workstations and m the number of disassembly operations). one s matrix can be the solution of our optimization problem only if it satisfies the following constraints: 1. the non-divisibility constraint that does not allow a task to be assigned to more than one station. si j ∈ {0, 1} (4) disassembly line scheduling with genetic algorithms 275 2. the assignment constraint that it requires that each task be assigned to exactly one station. ∑ i si j = 1 (5) 3. the precedence constraint that invokes technological order so that if task i is to be done before task j (i 0, ∀ (xi, yi) ∈s. denoting by w = (w1, . . . , wd) t the vector whose entries are the coefficients of g, we say that s is separated without errors by the hyperplane hw,b : w t u + b = 0 , (3) and hw,b is called a solution of the separating problem because all examples coming from the class of label 1 belong to the positive semi-space, and all examples coming from the class of label a new linear classifier based on combining supervised and unsupervised techniques 177 −1 belong to the negative semi-space defined by hw,b. obviously a hyperplane is a solution of separating problem if the functional margin min { yi ( wt xi + b ) , 1 ≤ i ≤ n } > 0. in a svm-based approach, by imposing that the functional margin is 1, the search for a solution yields to a constrained quadratic programming problem imposed on the objective function φ(w) = 1 2 ∥w∥2, { min φ(w) yi ( wt xi + b ) ≥ 1 , i = 1, n . (4) if w∗ is a solution of (4), then hw∗,b∗ is called an optimal separating hyperplane. the computation of w∗ and b∗ is carried out using the sv m1 algorithm. algorithm sv m1 ( [9]) input: the learning sequence s; step 1. compute the matrix d = (dik) of entries dik = yiyk (xi) t xk , i, k = 1, n ; step 2. solve the constrained optimization problem  α∗ = arg ( max α∈rn ( αt 1− 1 2 αt dα )) , αi ≥ 0 , ∀ 1 ≤ i ≤ n , n∑ i=1 αiyi = 0 , (5) if α∗i > 0 then xi is called the support vector. step 3. select two support vectors xr, xs such that α∗r > 0 , α ∗ s > 0 , yr = −1 , ys = 1. step 4. compute the parameters w∗, b∗ of the optimal separating hyperplane, and the width of the separating area ρ (w∗, b∗),  w∗ = n∑ i=1 α∗i yixi , b ∗ =− 1 2 (w∗) t (xr + xs) , ρ (w∗, b∗) = 2 ∥w∗∥ (6) output: w∗, b∗, ρ (w∗, b∗). a linear separable sample is represented in figure 1a. the straight lines d1, d2, d3 and d4 are solutions for the separating problem of s, d4 corresponds to the optimal separating hyperplane. the examples placed at the minimum distance to the optimum separating hyperplane are the support vectors. in case of non-linearly separable samples the idea is to determine a separating hyperplane that minimizes the number of misclassified examples. the problem of finding a optimal hyperplane in case of non-linearly separable samples has been approached several ways. the approach introduced by cortes and vapnik ( [3]) uses the error function φσ(ξ) = n∑ i=1 ξσi , (7) where the slack variables ξi , 1≤ i≤n, are taken as indicators for the classification errors (see figure 1b), and σ is a positive real number. the optimality is expressed in terms of the objective function φ : rd ×rn −→ [0, +∞) φ(w, ξ) = 1 2 ∥w∥2 + c f ( n∑ i=1 ξσi ) , (8) 178 l. state, i. paraschiv-munteanu where c > 0 is a given constant, ξ = (ξ1, . . . , ξn), and f is a monotone convex function, f(0) = 0. the idea is to compute a subset of s, say {(xi1, yi1) , . . . , (xik, yik)}, by minimizing φσ(ξ), such that there exists an optimal hyperplane for s\{(xi1, yi1) , . . . , (yik, yik)}. such an optimal hyperplane is referred to as a soft margin hyperplane ( [3]). figure 1: a) optimal separating hyperplane; b)classification errors. a soft margin hyperplane is a solution of the constrained optimization problem  arg ( min w∈rd, b∈r, ξ∈rn (φ(w, ξ)) ) yi ( wt xi + b ) ≥ 1− ξi , ∀ 1 ≤ i ≤ n , ξi ≥ 0 , ∀ 1 ≤ i ≤ n , (9) the samples represented in figure 1b, correspond to the non-linearly separable case. a soft margin hyperplane, the separating area, and the slack variables are indicated in figure 1b. the computation of a soft margin hyperplane is carried out by the algorithm sv m2. algorithm sv m2 ( [9]) input: the learning sequence s; c ∈ (0,∞). step 1. compute the matrix d = (dik) of entries, dik = yiyk (xi) t xk , i, k = 1, n ; step 2. solve the constrained optimization problem  α∗ =arg ( max α∈rn ( αt 1− 1 2 αt dα − (αmax) 2 4 c )) , αi ≥ 0 , ∀ 1 ≤ i ≤ n , n∑ i=1 αiyi = 0 , (10) where αmax = max{α1, . . . , αn} step 3. select two support vectors xr, xs such that α∗r > 0 , α ∗ s > 0 , yr = −1 , ys = 1. step 4. compute the parameters w∗, b∗ of the soft margin hyperplane, and the width of the separating area ρ (w∗, b∗), according to (6). output: w∗, b∗, ρ (w∗, b∗). 3 unsupervised learning using the k-means method center-based clustering algorithms are very efficient for clustering large and high-dimensional databases. they use objective functions to express the quality of any clustering solution, the a new linear classifier based on combining supervised and unsupervised techniques 179 optimal solution corresponding to a solution to a constrained/unconstrained optimization problem imposed of the particular objective function. usually the clusters found have convex shapes and a one of more centers are computed for each cluster. the k-means algorithm was introduced by macqueen ( [8]) for clustering numerical data, each of the produced clusters having a center referred as the cluster mean. let d = {x1, . . . , xn}⊂ rd be the data, k a given positive integer. the classes of any partition {c1, . . . ,ck} of d are called clusters. for any {µ (c1) , . . . , µ (ck)}⊂ rd where each µ (ci) in taken as the center of ci, then the inertia momentum is, ε = k∑ i=1 ∑ x∈ci d2 (x, µ (ci)) , (11) where d is a convenable distance function on rd. in the following we take d as being the euclidean distance, d(x, y) = ∥x−y∥. the k-means method proceeds by iteratively allocate the individuals to the nearest clusters and re-computation of the centers is performed to minimize the inertia momentum, the computation ending when non-significant changes of the centers/value of inertia momentum/membership functions of individuals to clusters are obtained. the k-means algorithm can be treated as an optimization problem where the goal is to minimize a given objective function under certain constraints. let c be the set of all subsets of rd of cardinal k, any particular q = {q1, . . . , qk}∈ c is a possible set of cluster centers. any partition of d into k classes can be obviously represented by a n ×k matrix w = (wil) where (i) wil ∈{0, 1} , i = 1, n , l = 1, k (ii) k∑ l=1 wil = 1 , i = 1, n . (12) the k-means algorithm can be formulated as the constrained optimization problem on the objective function p(w, q) = n∑ i=1 k∑ l=1 wil ∥xi −ql∥ 2 as follows:   min w∈mn×k(r), q∈c p(w, q) wil ∈{0, 1} , i = 1, n , l = 1, k , k∑ l=1 wil = 1 , i = 1, n , q = {q1, . . . , qk} . (13) the ’hard’ problem (13) can be solved by decomposing it into two simpler problems p1 and p2, and then iteratively solving them, where p1. fix q = q̂ ∈c and solve the reduced constrained optimization problem for p ( w, q̂ ) . p2. fix w = ŵ ∈ mn×k (r) and solve the reduced unconstrained optimization problem for p ( ŵ, q ) . the solutions of these problems can be derived by straightforward computations, and they are given by the following theorems: 180 l. state, i. paraschiv-munteanu theorem 1. for any fixed set of centers q̂ = {q̂1, . . . , q̂k} , the function p ( w, q̂ ) is minimized in w (0) = ( w (0) ij ) if and only if w (0) satisfies the conditions w (0) il = 0 ⇐⇒∥xi − q̂l∥ > min 1≤t≤k ∥xi − q̂t∥ , w (0) il = 1 =⇒∥xi − q̂l∥ = min 1≤t≤k ∥xi − q̂t∥ , k∑ j=1 w (0) ij = 1 , for any i = 1, n , l = 1, k. note that in general, for any given q̂ there are more solutions because in general there exist individuals xi at minimum distance to more than one center of q̂. theorem 2. for any fixed ŵ satisfying the constraints of (13), the function p ( ŵ, q ) is minimized there exist an unique point q(0) = { q (0) 1 , . . . , q (0) k } if and only if q (0) l = ( n∑ i=1 ŵilxi )/( n∑ i=1 ŵil ) , l = 1, k. the scheme of the k-means algorithm viewed as search method for solving the optimization problem (13) is: the algorithm k-mop input: d the data set, k the pre-specified number of clusters, d the data dimensionality, t threshold on the maximum number of iterations. initializations: q(0), t ←− 0 solve p ( w, q(0) ) and get w (0) sw ←− false repeat ŵ ←− w (t) solve p ( ŵ, q ) and get q(t+1) if p ( ŵ, q(t) ) = p ( ŵ, q(t+1) ) then sw ←− true output ( ŵ, q(t+1) ) else q̂ ←− q(t+1) solve p ( w (t), q̂ ) and get w (t+1) if p ( w (t), q̂ ) = p ( w (t+1), q̂ ) then sw ←− true output ( w (t+1), q̂, ) endif endif t ←− t + 1 until sw or t > t . output: ŵ, q̂. a new linear classifier based on combining supervised and unsupervised techniques 181 note that the computational complexity of the algorithm k-mop is o(nkd) per iteration. the sequence of values p ( w (t), q(t) ) where w (t), q(t) are computed by k-mop is strictly decreasing, therefore the algorithm converges to a local minima of the objective function. 4 the combined separating technique based on svm and the k-means algorithm at first sight, it seems unreasonable to compare a supervised technique to an unsupervised one, mainly because they refer to totally different situations. on one hand the supervised techniques are applied in case the data set consists of correctly labeled objects, and on the other hand the unsupervised methods deal with unlabeled objects. however our point is to combine svm and k-means algorithm, in order to obtain a new design of a linear classifier. the aim of the experimental analysis is to evaluate the performance of the linear classifier resulted from the combination of the supervised svm method and the 2-means algorithm. the method can be applied to data, either linearly separable or non-linearly separable. obviously in case of non-linearly separable data the classification can not be performed without errors and in this case the number of misclassified examples is the most reasonable criterion for performance evaluation. of a particular importance is the case of linearly separable data, in this case the performance being evaluated in terms of both, misclassified examples and the generalization capacity expressed in terms of the width of separating area. in real life situations, usually is very difficult or even impossible to established whether the data represents a linearly/non-linearly separable set. in using the sv m1 approach we can identify which case the given data set belongs to. for linear separable data, sv m1 computes a separation hyperplane optimal from the point of view of the generalization capacity. in case of a non-linearly separable data sv m2 computes a linear classifier that minimizes the number of misclassified examples. a series of developments are based on non-linear transforms represented be kernel functions whose range is high dimensional spaces. the increase of dimensionality and the convenable choice of the kernel aim to transform a non-linearly separable problem into a linearly separable one. the computation complexity corresponding to kernel-based approaches is significantly large, therefore in case the performance of the algorithm sv m1 proves reasonable good it could be taken as an alternative approach of a kernel-based sv m. we perform a comparative analysis on data consisting of examples generated from two dimensional gaussian distributions. in case of a non-linearly separable data set, using the k-means algorithm, we get a system of pairwise disjoint clusters together with the set of their centers representing a local minimum point of the criterion (13), the clusters being linearly separable when k = 2. consequently, the sv m1 algorithm computes a linear classifier that separates without errors the resulted clusters. our procedure is described as follows input: s = the learning sequence; step 1. compute the matrix d = (dik) of entries, dik = yiyk (xi) t xk , i, k = 1, n ; sh ←− true step 2. if the constrained optimization problem (5) does not have solution then sh ←− false input c ∈ (0,∞), for soft margin hyperplane solve the constrained optimization problem (10) endif step 3. select xr, xs such that α∗r > 0 , α ∗ s > 0 , yr = −1 , ys = 1; 182 l. state, i. paraschiv-munteanu compute the parameters w∗, b∗ of the separating hyperplane, and the width of the separating area, ρ (w∗, b∗) according to (6); step 4. if not sh then compute nr err1 = the numbers of examples incorrectly classified; compute err1 = classification error; endif step 5. split the set d = { xi | xi ∈ rd , i = 1, n } into two clusters c1 and c2 using the 2-means algorithm and label the data belonging to c1 by y′i = 1, and label by y′i = −1 the data belonging to c2. step 6. apply the algorithm svm1 to s′ = {( xi, y ′ i )∣∣ xi ∈ rd, y′i ∈{−1, 1}, i = 1, n} and obtain the parameters of optimal separating hyperplane: w∗1, b ∗ 1, ρ (w ∗ 1, b ∗ 1); compute nr err2 = the number of data incorrectly classified by the algorithm 2−means; compute err2 = classification error resulted after the 2−means splitting ; output: w∗, b∗, ρ (w∗, b∗), nr err1, err1; w∗1, b ∗ 1, ρ (w ∗ 1, b ∗ 1), nr err2, err2. 5 comparative analysis and experimental results the experimental analysis is based on a long series of tests performed on linear/non-linear separable simulated data of different volumes. the analysis aims to derive conclusions concerning: 1. the statistical properties (the empirical means, covariance matrices, eigenvalues, eigenvectors) of the clusters computed by the 2-means algorithm as compared to their counterparts corresponding to the true distributions they come from. 2. the comparison of the performances corresponding to the linear classifier resulted as a combination of svm and the 2-means algorithm described in section 4 and sv m2 in terms of the empirical error. 3. the analysis concerning the influences of the samples sizes on the performance of the procedure described in section 4. 4. the quality of cluster characterization in terms of the principal directions given by a system of unit orthogonal eigenvectors of the sample covariance and empirical covariance matrices of the computed clusters. the analysis aimed to derive conclusions concerning the contribution of each principal direction, and for this reason, some tests were performed on data whose first principal component is strongly dominant, and when the principal directions are of the same importance respectively. the tests were performed on data generated from two-dimensional normal distributions n (µi, σi) , i = 1, 2 of volumes n1 and n2, respectively. the sample covariance matrices are denoted by µ̂i, σ̂i , i = 1, 2. the centers and the empirical covariance matrices corresponding to the clusters computed by the 2-means algorithm are denoted by µi, σi , i = 1, 2. we denote by zi , ẑi , zi , i = 1, 2 orthogonal matrices having as columns unit eigenvectors of σi , σ̂i , σi , i = 1, 2 respectively. test 1: n1 =n2 =50, µ1 = ( 1 1 ) , σ1 = ( 1 0 0 0.25 ) , µ2 = ( 2 3 ) , σ2 = ( 0.5 0 0 0.5 ) . the matrices z1 , z2 and their eigenvalues are λ (1) 1 =0.25 , λ (1) 2 =1, z1 = ( 0 1 1 0 ) , λ(2)1 =0.5 , λ (2) 2 =0.5, z2 = ( 1 0 0 1 ) . a new linear classifier based on combining supervised and unsupervised techniques 183 the set is non-linear separable and it is represented in figure 2i)a. in this case we get µ̂1 = ( 0.92 1.0004 ) , σ̂1 = ( 0.85 0.08 0.08 0.25 ) , µ̂2 = ( 1.98 2.87 ) , σ̂2 = ( 0.44 0.09 0.09 0.63 ) . the matrices ẑ1 , ẑ2 and their eigenvalues being λ̂ (1) 1 =0.24 , λ̂ (1) 2 =0.86, ẑ1 = ( 0.14 −0.98 −0.98 −0.14 ) , λ̂(2)1 =0.40 , λ̂ (2) 2 =0.67, ẑ2 = ( −0.92 0.38 0.38 0.92 ) . using the svm2 with c = 70 we get the classification error class error = 14.70, the number of misclassified samples n errors = 13 and the width of separating area is ρ = 0.61. the value of the error coefficient defined as the ratio of the number of misclassified samples and total volume of the data is c error = 0.13%. the soft margin line d1 is represented in figure 2i)b. −1 0 1 2 3 0 1 2 3 4 −1 0 1 2 3 0 1 2 3 4 −1 0 1 2 3 0 1 2 3 4 −1 0 1 2 3 0 1 2 3 4 dc b d 1 d 2 a i) −1 0 1 2 3 4 5 0 1 2 3 4 −1 0 1 2 3 4 5 0 1 2 3 4 −1 0 1 2 3 4 5 0 1 2 3 4 −1 0 1 2 3 4 5 0 1 2 3 4 a c d d 1 b d 2 ii) figure 2: i) the classification of the data set in test 1; ii) the classification of the data set in test 2. by applying the 2-means algorithm we get clusters whose sample means and covariance matrices are µ1 = ( 0.88 1.06 ) , σ1 = ( 0.64 0.05 0.05 0.30 ) , µ2 = ( 2.13 2.96 ) , σ2 = ( 0.41 −0.06 −0.06 0.56 ) . the matrices z1 , z2 and their eigenvalues are λ (1) 1 =0.29 , λ (1) 2 =0.65, z1 = ( 0.14 −0.98 −0.98 −0.14 ) , λ (2) 1 =0.39 , λ (2) 2 =0.58, z2 = ( −0.92 −0.37 −0.37 0.92 ) , the number of misclassified samples is 10 and the clusters are represented in figure 2i)c. note that the computed centers and clusters are not influenced by the choice of the initial centers. the clusters computed by the 2-means algorithm for randomly selected initial centers are reprezented in figure 2i)c. the separating line d2 resulted by applying the sv m1 algorithm to the data represented by the clusters computed by the 2-means algorithm is represented in figure 2i)d. test 2: n1 = 100 , n2 =200, µ1 = ( 1 1 ) , σ1 = ( 1 0 0 0.25 ) , µ2 = ( 2 3 ) , σ2 = ( 1 0 0 0.25 ) , λ (1) 1 =0.25 , λ (1) 2 =1, z1 = ( 0 1 1 0 ) , λ(2)1 =0.25 , λ (2) 2 =1, z2 = ( 0 1 1 0 ) , µ̂1 = ( 1.12 0.92 ) , σ̂1 = ( 1.35 0.04 0.04 0.26 ) , µ̂2 = ( 2.01 3.00 ) , σ̂2 = ( 0.86 0.05 0.05 0.25 ) , 184 l. state, i. paraschiv-munteanu λ̂ (1) 1 =0.26 , λ̂ (1) 2 =1.35, ẑ1 = ( 0.03 −0.99 −0.99 −0.03 ) , λ̂(2)1 =0.25 , λ̂ (2) 2 =0.87, ẑ2 = ( 0.09 −0.99 −0.99 −0.09 ) . the data set is non-linear separable and it is represented in figure 2ii)a. applying the sv m2 for c = 5 we obtain the soft margin line d1 represented in figure 2ii)b and class error = 19.12, n errors = 13, ρ = 0.25, c error = 0.043%. the clusters computed by the 2-means algorithm are represented in figure 2ii)c and their statistical characteristics are µ1 = ( 0.96 1.004 ) , σ1 = ( 1.19 −0.10 −0.10 0.38 ) , µ2 = ( 2.10 3.007 ) , σ2 = ( 0.76 −0.02 −0.02 0.28 ) , λ (1) 1 =0.37 , λ (1) 2 =1.20, z1 = ( −0.12 −0.99 −0.99 0.12 ) , λ (2) 1 =0.27 , λ (2) 2 =0.76, z2 = ( −0.05 −0.99 −0.99 0.05 ) . in this case the number of misclassified samples is 18. note that the initial choice of the centers does not influence significantly the computed centers and clusters. for instance in figure 2ii)c are represented the resulted clusters in case of randomly selected initial centers. the separating line d2 computed by the algorithm sv m1 applied to the data represented by these clusters is represented in figure 2ii)d. test 3: n1 = n2 =50, µ1 = ( 1 1 ) , σ1 = ( 1 0 0 0.25 ) , µ2 = ( 3 4 ) , σ2 = ( 0.5 0 0 0.5 ) , λ (1) 1 =0.25 , λ (1) 2 =1, z1 = ( 0 1 1 0 ) , λ(2)1 =0.5 , λ (2) 2 =0.5, z2 = ( 1 0 0 1 ) , µ̂1 = ( 0.76 1.008 ) , σ̂1 = ( 1.17 −0.06 −0.06 0.21 ) , µ̂2 = ( 2.87 4.03 ) , σ̂2 = ( 0.56 0.009 0.009 0.31 ) , λ̂ (1) 1 =0.214 , λ̂ (1) 2 =1.180, ẑ1 = ( −0.07 −0.99 −0.99 0.07 ) , λ̂(2)1 =0.31 , λ̂ (2) 2 =0.56, ẑ2 = ( 0.03 −0.99 −0.99 −0.03 ) . the data set is linearly separable and it is represented in figure 3i)a. the soft margin line d1 computed by the sv m1 algorithm is represented in figure 3i)b, the value of the resulted margin being ρ = 1.196429. −2 −1 0 1 2 3 4 0 1 2 3 4 5 −2 −1 0 1 2 3 4 0 1 2 3 4 5 −2 −1 0 1 2 3 4 0 1 2 3 4 5 −2 −1 0 1 2 3 4 0 1 2 3 4 5 a b c d d 2 d 1 i) −1 0 1 2 3 4 0 1 2 3 4 5 −1 0 1 2 3 4 0 1 2 3 4 5 −1 0 1 2 3 4 0 1 2 3 4 5 −1 0 1 2 3 4 0 1 2 3 4 5 ba c d d 1 d 2 ii) figure 3: i) the classification of the data set in test 3; ii) the classification of the data set in test 4. the clusters computed by the 2-means algorithm are represented in figure 3i)c and they are the same as in initial data set whatever the initial choice of the centers is. so, the statistical characteristics are a new linear classifier based on combining supervised and unsupervised techniques 185 µ1 =µ̂1, σ1 =σ̂1, µ2 =µ̂2, , σ2 =σ̂2, λ (1) 1 =λ̂ (1) 1 , λ (1) 2 =λ̂ (1) 2 , z1 =ẑ1, λ (2) 1 =λ̂ (2) 1 , λ (2) 2 =λ̂ (2) 2 , z2 =ẑ2, and the separating line d2 computed by the algorithm sv m1 and represented in figure 3i)d coincides with d1. test 4: n1 = 100 , n2 =150, µ1 = ( 1 1 ) , σ1 = ( 1 0 0 0.25 ) , µ2 = ( 3 4 ) , σ2 = ( 0.5 0 0 0.5 ) . λ (1) 1 =0.25 , λ (1) 2 =1, z1 = ( 0 1 1 0 ) , λ(2)1 =0.5 , λ (2) 2 =0.5, z2 = ( 1 0 0 1 ) . µ̂1 = ( 1.22 1.03 ) , σ̂1 = ( 1.04 −0.03 −0.03 0.24 ) , µ̂2 = ( 2.98 3.99 ) , σ̂2 = ( 0.48 −0.01 −0.01 0.43 ) . λ̂ (1) 1 =0.24 , λ̂ (1) 2 =1.04, ẑ1 = ( −0.04 −0.99 −0.99 0.04 ) , λ̂(2)1 =0.42 , λ̂ (2) 2 =0.49, ẑ2 = ( −0.27 −0.96 −0.96 0.27 ) . the data set is linear separable and it is represented in figure 3ii)a. applying the sv m1 we obtain the soft margin line d1 represented in 3ii)b and ρ = 0.552508. the clusters computed by the 2-means algorithm are represented in figure 3ii)c and their statistical characteristics are µ1 = ( 1.20 1.04 ) ,σ1 = ( 0.98 −0.04 −0.04 0.26 ) , µ2 = ( 3.00 3.98 ) , σ2 = ( 0.48 −0.04 −0.04 0.45 ) , λ (1) 1 =0.26 , λ (1) 2 =0.98, z1 = ( −0.05 −0.99 −0.99 0.05 ) , λ (2) 1 =0.42 , λ (2) 2 =0.51, z2 = ( −0.60 −0.79 −0.79 0.60 ) . in this case the number of misclassified samples is 2 and the initial centers are randomly selected. the separating line d2 computed by the algorithm sv m1 applied to the data represented by these clusters is represented in figure 3ii)d. 6 conclusions and future work although to combine a supervised technique to an unsupervised one seems to be meaningless, mainly because they refer to totally different situations, the combined methodology resulted by putting together k-means and svm methods yielded to an improved classifier. the experimental results point out good performance of the proposed method from both points of view, accuracy and computational complexity. we are optimistic that the research aiming to obtain refined methods by combining supervised, unsupervised and semi-supervised technics has good chances to provide a class of new powerful classification schemes. it has been already performed a series of tests on different types of classifiers obtained by combining pca (principal component analysis), ica (independent component analysis) and kernel based svm’s the results being quite encouraging. bibliography [1] s. abe, support vector machines for pattern classification, springer-verlag, 2005. [2] c.j.c. burges, a tutorial on support vector machines for pattern recognition, data mining and knowledge discovery, 2, pp. 121-167, 1998. [3] c. cortes, v. vapnik, support-vector networks, machine learning, 20(3):273-297, 1995. 186 l. state, i. paraschiv-munteanu [4] n. cristianini, j. shawe-taylor, an introduction to support vector machines and other kernel-based learning methods, cambridge university press, 2000. [5] g. gan, c. ma, j. wu, data clustering: theory, algorithms and applications, siam, 2007. [6] s.r. gunn, support vector machines for classification and regression, university of southampton, technical report, 1998. [7] l. state, i. paraschiv-munteanu, i., introducere in teoria statistică a recunoaşterii formelor, editura universitaţii din piteşti, 2009. [8] j.b. macqueen, some methods for classification and analysis of multivariate observations, proceedings of 5-th berkeley symposium on mathematical statistics and probability, berkeley, university of california press, pp. 281-297, 1967. [9] i. paraschiv-munteanu, support vector machine in solving pattern recognition tasks, proceedings of first doctoral student workshop in computer science, university of piteşti, may 2009. [10] i. paraschiv-munteanu, theoretical approach in performance evaluation of a classsification system, scientific bulletin of the university of piteşti, series mathematics and informatics, no. 14, pp. 203-218, 2008. [11] n. popescu-bodorin, fast k-means image quantization algorithm and its application to iris segmentation", scientific bulletin of the university of piteşti, series mathematics and informatics, no. 14, 2008. [12] r. stoean, c. stoean, m. preuss, d. dumitrescu, evolutionary multi-class support vector machines for classification, international journal of computers communications & control, vol.1 supplement: suppl. s, pp. 423-428, 2006. [13] v.n. vapnik, the nature of statistical learning theory, new york, springer verlag, 1995. [14] v.n. vapnik, statistical learning theory, new york, wiley-interscience, 1998. [15] r. xu, d.c.ii wunsch, clustering, wiley&sons, 2009. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 5, pp. 929-938 network coded transmission in a wireless grid network with an energy constraint r. stoian, a.v. raileanu, l.a. perisoara rodica stoian, adrian victor raileanu, lucian andrei perisoara politehnica university of bucharest romania, 061071 bucharest, 1-3 iuliu maniu e-mail: {rodicastoian2004, adrianrai, lperisoara}@yahoo.com abstract: in wireless networks, routing based on packet forwarding does hardly yield optimum transmission performance in terms of network utilization and throughput. as an alternative to routing, network coding has been introduced in the recent years, where nodes are mixing the data instead of forwarding. in applications, random linear network coding is the most used method, due to its decentralized mode, and due to preserving the achievability of multicast capacity bounds. in this paper, we study the performance of network coding used for multicast transmission of messages in a wireless grid network with an energy constraint. several energy saving schemes have been proposed in the literature, but in this study we will focus on duty cycling scheme, in which nodes are not always in on state. the performance is measured as the end-to-end delay, i.e. the duration until each node can decode the message sent by the source, and the cdf of observations is used to make analysis. keywords: network coding, energy efficient, end-to-end delay, duty cycling. 1 introduction energy saving is an important factor in wireless transmissions, especially in autonomous devices, i.e. battery operated nodes. in applications like battlefield surveillance, environment and habitat monitoring, sometimes it is hostile, hazardous or impractical to replace or recharge the batteries. the performance of wireless network applications highly depends on the lifetime of the network. for practical applications we expect the lifetime to be from several months to several years, so energy saving is crucial in designing the network. energy consumption in a network node can be due to useful sources (transmitting, receiving or processing data) or wasteful sources (channel idle listening, retransmissions due to packet collisions, overhearing, control packets used for errors control). the critical issue is to minimize the energy consumption of network nodes while meeting the application requirements. this paper is organized as follows. in section ii we explain how network coding is applied for wireless networks, marking some advantages of using it. in section iii we describe the scenario of a general multicast transmission in a wireless network. in section iv we present the problem of energy consumption optimization using duty cycling. finally, in section v we present simulation results. 2 network coding and wireless networks network coding is a recent field of information theory that breaks the classical assumption about the routing in the networks. instead of simply forwarding the packets, the intermediate nodes recombine several input packets into one or several output packets. in [1], ahlswede et copyright c⃝ 2006-2010 by ccc publications 930 r. stoian, a.v. raileanu, l.a. perisoara al. showed that network coding achieves the multicast capacity, which is defined as a maximum data rate which is achieved for a multicast transmission. in [2], it is shown that the maximum multicast capacity can be achieved by using linear encoding functions at each node, which implies to solve linear equations at the receiver. in figure 1 we show a simple example of using network coding to reduce the number of transmissions used to exchange two bits b1 and b2, the operation applied being xor. with network coding, the first node can recover the bit b2 from the received bit b1+b2 and the known bit b1. similarly, b1 can be recovered at the second node. network coding can reduces the traffic without increasing delay and so it can save energy by reducing the amount of transmitted data. figure 1: an example of decreasing the transmission time using network coding let suppose for a network that source node s emits k information packets x1, x2, ..., xk, each of length l symbols from a finite field gf(q) to n receivers t1, t2, ..., tn. for linear network coding, each node combines a number of received packets into one or several output packets: y = k∑ i=1 αixi (2.1) where the summation is applied for every symbol position. for random linear network coding, the coefficients αi of the linear combination are generates in a random manner, which assures with high probability a linear independence of the output packets from a node for a sufficiently large size q = 2m of the finite field gf(q), as it was proved in [3]. the encoding coefficients forms the encoding vector α = (α1, α2, ..., αk), which belongs to a k-dimensional vector space over gf(q). all encoding vectors associated with the output edges of all intermediate nodes from s to a specific node t forms the encoding matrix. when we refer to a network code we must specify the all encoding vectors which should be used for the encoding process, for all edges of the network. the encoding coefficients are send to the destination in the packet header, so the destination nodes can decode the packet without knowing the network topology or the encoding rules, even if the nodes are added or removed in an ad-hoc manner. assume a node t has received m coded packets y1, y2, ..., ym and the encoding vectors α1, α2, ..., αm. to decode the packets, it need to solve a linear system with m equations and k unknowns xi, derived from (2.1). to solve this system, the node wait until he receives at least m ≥ k linearly independent packets, equivalently with m linearly independent encoding vectors. network coded transmission in a wireless grid network with an energy constraint 931 this condition is assured using buffers for each input of the node. the buffer stores only the innovative packets (packets which are not a linear combination of the already stored packets in the buffer). non-innovative packets are discarded by gaussian elimination because they do not provide any new information to the node. some advantages of using network coding in wireless networks are throughput and capacity improvements [1], bandwidth and energy savings [4], robustness to noise [5], reduced traffic. 3 a scenario of general multicast we introduce a grid wireless mesh network, which is a generalization of a local network (e.g. office), or a special purpose network deployed over a rectangular area for monitoring or as point of presence (e.g. information panels). the type of communication is one to many, as we consider one original source (e.g. a gateway to another network, a controller, etc.), that sends messages to all the other points, called nodes. this is called general multicast, as one message is sent to a number of participants (e.g. all participants), but because not all nodes are in the radio range of the source, the message is relayed node by node. transmission over radio is simplified, considering only one channel, and without collisions. the radio signal is affected by distance attenuation and a simple exponentially distributed noise floor. the network stack is reduced to simple mac/ip layers, with the purpose of taking into consideration only mac latency and for identifying nodes by addresses. the position of the source is at one corner of the rectangle (see figure 2), as it simulates a gateway or a controller. at the same time, the position was chosen as it provides the worst case scenario, where the source has the lowest number of neighbors possible in the given situation. figure 2: general multicast relay in a wireless grid network, with source in corner position. the radio range of the source is not large enough for broadcast the message unit is considered 1 byte. the entire transmission is an m byte message generated by the source. in normal networks, this would take m consecutive transmissions from the source, and some additional ones when there is no acknowledge received. our model uses random network coding to disseminate information, so that the source emits linear combination of all the message bytes at each transmission. a number of k = 32 random coefficients from gf(256) is used for messages with m < k. the original message is padded with zeros and each 932 r. stoian, a.v. raileanu, l.a. perisoara byte is multiplied the corresponding coefficient ki and summed (i.e. xor-ed). the result is one mixed byte and a list of coefficients that are used for decoding at the receiving nodes. for bandwidth saving, coefficients can be chosen from lower galois fields, e.g. gf(2), reducing the size of the coefficient list. however, using lower galois fields increases the probability that two packets will be linear dependent, and will not contribute to the decoding process. each receiving node accumulates linear independent packets (novel packets), based on analysis of the coefficient list included in each packet. when it has received at least k such packets, it decodes the message using matrix inversion. a node that receives a novel packet will re-encode and send it using a linear combination of all its received packets. if a node receives a packet that is linear dependent to its received packets, it will discard it, without forwarding it. when a node decodes the entire message, it becomes a source, generating packets with its own generated random coefficients. generating acknowledge messages is out the scope of this paper. we evaluate transmission performance using the end-to-end delay (eted) metric, calculated as the time since the source emitted the first packet until a specific node received and decoded the entire message. the overall end-to-end delay (oeted) is the maximum end-to-end delay, i.e. calculated at the last node that received and decoded the message. the minimum endto-end delay is the time until the first successful transmission (i.e. first node that decodes the full message). the average end-to-end delay is the arithmetic average of all the successful transmission times. 4 energy consumption optimization the two main operations that require optimizations of energy are transmission and reception. transmission energy is optimized through radio power adjustment, so that a tradeoff is done between the range and battery life. in our scenario, all the nodes use the same transmission power. in non-centralized networks, however, reduction of transmission energy can be achieved also by reducing the number of redundant sending operations in nodes. in flooding based routing, nodes tend to forward each packet received, creating a lot of duplicated information inside the network. widmer et. al [12] proposed network coding algorithms that reduce the number of transmissions per each node compared to flooding. in [13], fragouli et al. studied distributed algorithms to achieve optimum number of transmissions in grid and random topologies. the results show that network coding can achieve up to 30% energy reduction compared to probabilistic routing. the current study focuses on the optimization of reception and decoding, analyzing how classical energy saving schemes affect performance of network coded transmissions. idle listening and overhearing are major sources of energy consumption in a wireless network. while the first one can be easily optimized, the second one is of great importance to the network coding overall architecture. reducing overhearing in a network coded system may reduce its performance. our article studies the degradation of performance when implementing different levels of energy saving. the method is a simplified version of the s-mac protocol, which use a listen/sleep cycle. the energy consumption is reduced by switching on and off each node independently, so that reception is performed only in some discreet time windows. during power on states, a node is able to receive, decode and retransmit data. during power off states, a node is not able to receive any packet, so it will be lost. this should not be an issue with our current wireless network coding scenario, as neighbor nodes can be in different power states, and take advantage of all the packets. denote t, a full power on power off time interval. we consider an energy duty cycle, the percentage of power on states. for example, a duty cycle of 25% means that the node is on for network coded transmission in a wireless grid network with an energy constraint 933 time t/4, then off for time 3/4t, then again on for t/4, and so on. the power states have random time offsets, so that to avoid situations when all the nodes are in power off state, see figure 3. figure 3: transmission from node a to neighbors b and c. packets that were missed by b in off state (dotted arrow), are recovered later from neighbor c 5 simulations and results this article studies the effects of energy optimizations on the end-to-end delay in the wireless grid network, using random network coding. based on [11], we developed a wireless network simulator, which uses network coding for transmission. we chose a fixed number of nodes n = 100, that are arranged on a 10 × 10 square area. the source message is made of packets of length m = 32 bytes, equal to the number of coefficients, k = 32. the main simulator functional modules are: source, node and scheduler. the source module is responsible to encode the original message and continuously send differently encoded packets to the other nodes. the other nodes contain logic for packet decoding and rank calculation, but also include a packet re-encoder and sender, for relay. the scheduler is responsible for sequencing the packet transfer in the network. transmission hops are determined based on a physical model (as defined in [14], [15]), where instant noise level and attenuation decide whether a node is in the transmission range or not. for studying energy efficiency algorithms, the scheduler has been enhanced to support on-off node states. the simulator engine is event based, so that each transmission and reception has a different timestamp. the link rate is constant for all transmissions, and is simulated as an inter-sending time interval. the time difference is made more realistic by introducing mac latency, propagation time and a random jitter for all other factors that are not explicitly simulated. the first series of simulations were used to analyze the impact of the distance between nodes on the end-to-end delay (eted). we run simulations for distance d = 40 m to d = 179 m. for d < 40 m the networks is close to a broadcast network, (i.e many more than 50% of the nodes are in the source radio range), so it is out of the scope of the current paper. at d = 180 m all the nodes lost connectivity. each simulation was repeated three times. figure 4 shows that for large and medium range coverage, given by d = 80 m and d = 120 m, the nodes completion time increases almost linearly. at very short range, where connectivity is available only with closest neighbors, the last set of nodes is completed in almost exponential time. due to the geometry of the network grid, figure 5 shows two flat regions, for both average and overall eted. 934 r. stoian, a.v. raileanu, l.a. perisoara figure 4: end-to-end delay measured for each node in the network, for different values of d figure 5: end-to-end delay dependency on different values of d these are explained by the number of nodes that are available in one range, for a given d. choosing an optimum d that would maximize the area covered by the network, would be the largest value in any of the flat regions, e.g. 80 m, 120 m, 170 m. now, observing the ratio between average and overall eted between different flat regions, we can note that only the third region (120 170m) has a linear node completeness behavior, while the other ones tend to be logarithmic. in a network where there should not be too many nodes late than the average, choosing d < 130 m would be the right choice. the ratio between the areas covered by the network for the three values of d (80, 120, 170), is 0.22:0.5:1. the ratio observed on average eted is 0.67:0.82:1 and for overall eted is 0.54:0.67:1. if average eted is of interest, network coded transmission in a wireless grid network with an energy constraint 935 maximizing the area leads to a value of d = 170 m. if the overall eted is important, than the value of d = 120 m is offering half of the maximum area but with a 30% reduction of delivery time. in the next stage, for a fixed d = 120 m, we have added to the simulation scenario a power cycle with a duty of 50%. we performed simulations for different values of the power on-off time interval, with t in a range from 10 ms to 500 ms. values lower than 10 ms may not be efficient due to electrical / logical reasons in the device, i.e. network processing chip switching on-off too fast. values above 500 ms are of no interest to the current study, as it reduces the number of switches per experiment to less than 10. in figure 6, at t = 0 are drawn the results when there is no power cycle, for reference. as, expected results show better behavior at lower t values, as the nodes have a quicker opportunity to recover lost packets from their neighbors. figure 6: end-to-end delay dependency on different values of t in the next experiment, we studied the effect of different duty cycles, ranging from 10% to 90%. we observed the behavior of the network for three values of t = [0.010, 0.100, 0.500] s. sometimes, the energy advantage comes from using a duty cycle lower than 50% (i.e. less than half of the energy used). figures 7 and 8 show that it is possible to preserve low values of eted even at a duty cycle of 30%. however, for t > 0.100 s, the optimal duty cycle is close to 60%. we performed another set of measurements with fixed t = 0.100 s, for different duty cycles, and for different values of distance d = [80, 120, 170] m. figures 9 and 10 show that the 80 m and 120 m networks are more sensitive to values lower than 30%, while the 170m network has a higher threshold of 70%. with network coding, the fact that there are only a few nodes connected to each other, does not allow improvement of energy savings. as soon as the number of connections per node doubles, the energy consumption can be optimized up to 30%. 936 r. stoian, a.v. raileanu, l.a. perisoara figure 7: average end-to-end delay dependency on different values of the duty cycle, for t = [0.010, 0.100, 0.500] s figure 8: overall end-to-end delay dependency on different values of the duty cycle, for t = [0.010, 0.100, 0.500] s 6 conclusions this article presents methods for saving energy in a wireless network, in the case of general multicast transmission. the routing of packets inside the network is not store and forward, but mix and forward, namely network coding. we observed the end-to-end delay inside a wireless network coded transmission in a wireless grid network with an energy constraint 937 figure 9: average end-to-end delay dependency on different values of the duty cycle, for d = [80, 120, 170] m figure 10: overall end-to-end delay dependency on different values of the duty cycle, for d = [80, 120, 170] m grid network that uses network coding, for different area sizes (i.e. different node density) and for various reception windows for energy saving. a good tradeoff between area and end-toend delay is to choose half of the maximal area, while obtaining at least 30% improvement in speed. simulations show that energy consumption can be reduced to between 30% and 50%, depending on the duration of the full power on power off cycle. for sparse networks, the energy 938 r. stoian, a.v. raileanu, l.a. perisoara consumption can be reduced up to 70%. further study may reveal important results for other network topologies, other type of transmissions (e.g. unicast), other energy saving schemes or other realistic features (variable range, transmission power, interference, multiple radio channels, etc). bibliography [1] r. ahlswede, n. cai, s. y. r. li, and r. w. yeung, network information flow, ieee trans. inform. theory, vol. 46, no. 4, pp. 1204-1216, july 2000. [2] s. y. r. li, r. w. yeung, and n. cai, linear network coding, ieee trans. inform. theory, vol. it-49, no. 2, pp. 371-381, feb. 2003. [3] y. wu, p. a. chou, and k. jain, a comparison of network coding and tree packing, in proc. isit 2004, chicago, june 2004. [4] y. wu, p. a. chou, and s. y. kung, minimum-energy multicast in mobile ad-hoc networks using network coding, ieee trans. communications, vol. 53, no. 11, pp. 1906-1918, nov. 2005. [5] rodica stoian, l. a. perisoara, and radu stoica, random network coding for wireless adhoc networks, in proc. on int. symp. on signals, circuits and systems (isscs 2009), iasi, romania, vol. 2, pp. 469-472, july 9-10, 2009. [6] g. lu, n. sadagopan, b. krishnamachari, and a. goel, delay efficient sleep scheduling in wireless sensor networks, in proc. of ieee infocom 2005, march 2005. [7] ming xiao, tor m. aulin, energy-efficient network coding for the noisy channel network, isit 2006, seattle, usa,pp. 778-782, july 9-14, 2006. [8] w. ye, j. heidemann, and d. estrin, an energy-efficient mac protocol for wireless sensor networks, in proc. of ieee infocom, june 2002. [9] y. yang, b. krishnamachari, and v.k. prasanna, energy-latency trade offs for data gathering in wireless sensor networks, in proc. of ieee infocom, march 2004. [10] j. h. chang, and l. tassiulas, energy conserving routing in wireless ad-hoc networks, in proc. of ieee infocom, march 2000. [11] slimsim simulator, http://cs.anu.edu.au/ aaron/sim.php [12] j. widmer, c. fragouli, and j.y. le boudec, low-complexity energy-efficient broadcasting in wireless ad-hoc networks using network coding, first network coding workshop (netcod), riva del garda, italy, 2005. [13] c. fragouli, j. widmer, j.y. le boudec, a network coding approach to energy efficient broadcasting: from theory to practice, in ieee infocom, barcelona, spain, apr. 2006 [14] p. gupta, and p. r. kumar., the capacity of wireless networks, ieee transactions on information theory, 46(2):388ďż˝404, march 2000. [15] rodica stoian, and a. raileanu, how to choose a model for wireless networks, scientific bulletin of the “politehnica” university of timişoara, romania, tom 51(65), fasc. 2, pp 109-112, sept. 2006. international journal of computers, communications & control vol. ii (2007), no. 1, pp. 94-102 mas_up-uct: a multi-agent system for university course timetable scheduling mihaela oprea abstract: many real-world applications are mapped into combinatorial problems. an example of such problem is timetable scheduling. in this case, the two basic characteristics can be defined by its distributed and dynamic environment. one efficient solution to solve this problem could be provided by an agent-based approach. a timetable scheduling problem can be modelled as a multi-agent system that provides the final schedule by taken into account all the restrictions. in this paper it is presented a preliminary research work that involves the development of a multi-agent system for university course timetable scheduling, named mas_up-uct. we focus on the architecture of the multi-agent system, and on the evaluation of the communication process by using the interaction diagrams. keywords: intelligent agents, multi-agent systems, timetable scheduling 1 introduction in the last decade, several artificial intelligence (ai) technologies and methods have been applied in the educational domain, at high school or university level. most of the applications that use ai are solving the tutoring/teaching and/or examination tasks, while less of them try to solve also the administrative tasks (e.g. course timetabling, examination timetabling, students presence control, student registration) related to an educational institution. a recent developed educational system that models also such tasks is the e-class personalized prototype system presented in [10]. this system is an extension of the widely available open source learning content management system, e-class, which has a component named school administration, that deals with the tools that handle timetables, financial matters, personal student data, student registration etc. in this paper, we shall focus on the timetabling problem, and we shall discuss about mas_up-uct, an agent-based system that we have designed, which provide solutions to university course timetabling. the general task of solving timetable scheduling problems is iterative and time consuming. in real world applications, the participants to the timetable scheduling have conflicting preferences, which make the search for an optimal solution an np-hard problem. in order to solve the problem it is necessary to find a compromise between all the professors’ requirements, usually conflicting (e.g. day, time). the constraints are related to the availability, timetabling and preferences of each professor, to rooms availability, number of students, and curricula. in order to solve this problem for the particular case of university course timetable scheduling we have adopted the agent-based approach. multi-agents systems (mas) are concerned with coordinating behavior among a collection of autonomous intelligent agents (e.g. software agents) that work in an environment. sometimes, software agents are designed to reconcile their own interests with the constraints implied by other agents. one type of software agents is given by expert assistants who enable us to automate certain manual tasks and who work more efficiently. expert assistant is a term given to an intelligent software agent that performs certain tasks on our behalf [15], [14]. for example, our daily organiser is an assistant. the complexity of multi-agent systems is generally higher than that corresponding to conventional software systems and their success rely on properly designed and well tested subsystems. also, in the particular case of timetable scheduling, the mas could find an optimal or a sub-optimal solution using mainly inter-agent communication (with minimal message passing). in this paper, it is presented the architecture of a multi-agent system, mas_up-uct, that is under development, and has as main purpose the modelling of the university courses timetable scheduling. we copyright c© 2006-2007 by ccc publications selected paper from icvl 2006 mas_up-uct: a multi-agent system for university course timetable scheduling 95 shall describe the architecture of the multi-agent system, focusing on the mapping of a course timetable scheduling in terms of intelligent agents, and finally, we shall make a preliminary evaluation of the multi-agent system. 2 university course timetabling problem the scheduling problem can be defined as a problem of finding the optimal sequence for executing a finite set of operations (tasks or jobs) under a certain set of constraints that must be satisfied. a scheduler usually attempts to maximize the utilization of individuals and/or resources and minimize the time required to complete the entire process being scheduled. there exist a number of different types of scheduling problems, such as job shop problems, sport leagues games scheduling, timetabling, service timetable problem for transportation networks, etc. many scheduling problems share some features with the timetabling problem. in [12] it is presented a survey of automated timetabling. in the educational context, scheduling is the problem of assigning a set of events (courses and/or exams) to limited lengths of periods and to rooms, subject to certain conditions. there are two types of academic schedules: the course schedule and the examination schedule. for both types of problems the resources includes students, staff, rooms, courses, time, equipments. several ai-based educational scheduling systems were reported in the literature (see e.g. the system presented in [13] for examination scheduling in universities). the formulation of the university course timetabling problem (as given in [4] and [12]) is the following: input data: q courses, k1, ..., kq, for each i, course ki consists of ki lectures, r curricula which are groups of courses that have common students, s1, ..., sr, p the number of periods, lk the maximum number of lectures that can be scheduled at period k (i.e. the number of rooms available at period k). goal: find yik (i=1, ..., q; k=1, ..., p), so that (1) ∑pk=1 yik = ki (2) ∑qi=1 yik ≤ lk (3) ∑i∈sl yik ≤ 1 (4) yik = 0 or 1 where i=1, ..., q; l=1, ..., r. the constraints are the following: each course is composed by the correct number of lectures (relation (1)); each time there aren’t more lectures than rooms (relation (2)); avoid conflicting lectures to be scheduled at the same period (relation (3)). the objective function: max ∑qi=1 ∑ p k=1 dikyik where dik is the desiderability of having a lecture of course ki at period k. different solutions, manual or automated, were proposed in the literature. some automated solutions are given by tabu search [3], constraint satisfaction [12], genetic algorithms [2], logic programming [5], and combination of different methods [9]. 96 mihaela oprea 3 the architecture of mas_up-uct system we have designed the architecture of a multi-agent system, mas_up-uct, that tries to solve optimally the university courses timetable scheduling. in figure 1 it is shown the architecture of the multi-agent scheduling system, while figure 2 presents the general overview of the university course timetabling. figure 1: the architecture of mas_up-uct we briefly describe how it is usually made the manual university course timetabling. suppose the university includes five faculties, each of them having a number of specializations. the timetabling for each specialization is done by a person who is dedicated to this job, which we shall name specialization course scheduler. this person will provide five, four or three timetablings corresponding to the specialization’s number of study years. the specialization course scheduler will receive a list of options from each professor that is teaching a course to a certain year of study at that specialization. the list of options will include the professor’s options ordered by their desirability, and will include also, the list of impossible timetable schedulings. after course timetable scheduling is done at every faculty, it is started the activity of rooms allocation at university level. so, the university course timetable scheduling problem is divided in two subproblems: 1. faculty course timetable scheduling (which involves only allocation of course day and time), and 2. university course rooms allocation (which involves allocation of rooms for courses). when all courses have allocated time intervals (day and time) and rooms, the university course timetable scheduling is ended with success. whenever a problem occur, it is started a communication process which will involve mainly a negotiation activity. in most romanian universities, the university course timetable scheduling is done either manually or partial automatically. in order to improve the efficience of the whole activity, we have mapped the course timetabling in terms of autonomous intelligent agents. each faculty has a scheduler multi-agent system (mas-fi), which has to schedule the courses of that faculty. the main scheduler agent (the university scheduler agent) which will allocate the rooms is mscheduler agent. because most professors teach courses to different faculties, every faculty scheduler agent has to communicate with the others scheduler agents, in order to solve some critical situations that may arise. the negotiation strategy used by the agents is similar to that described in [8]. in figure 3 it is presented the mas at faculty level, which includes a faculty scheduler agent, and expert assistants (ea) for each specialization of that faculty. for each specialization it is developed an expert assistant which has to do all the activities connected with that specialization (e.g. evidence of students, course curricula etc). an important activity that should be done by an expert assistant is course timetable scheduling (day and time). a lot of constraints mas_up-uct: a multi-agent system for university course timetable scheduling 97 figure 2: the general overview of the university course timetabling task figure 3: mas-at faculty level 98 mihaela oprea should be satisfied in order to solve the course timetabling. for example, one constraint is that all courses of a specialization are teached for all the groups of that specialization, and this constraint may become more severe in the case of courses that are teached for more than one specialization (this case appear for specializations that have courses with the same curricula). the faculty scheduler agents, who act autonomously, can schedule university course timetable on professor’s individual behalf. ideally, all profesor’s preferences should be accepted. unfortunately, we cannot reach an agreement among agents taking in consideration all professor’s preferences. in course timetable scheduling, agents must quantify the professor’s subjective preferences. in the worst cases (when a classical negotiation will have no results), we can reach a collective agreement by using a persuasion protocol (similar to that presented in [7]). the persuasion protocol is based on the rationality of agents. agents should satisfy some criteria of rationality (e.g. maintaining logical consistency). the advantage is that negotiation using persuasion protocol can reach more agreements compared with existing negotiation protocols and it can improve the rate of agreement in course timetable scheduling. the analysis and design phases of the mas_up-uct development were done by using the methodology gaia v.2 [1]. in this methodology, during the design step three models are built: agent model, service model, and acquaintance model. the agent model specifies the types of agents that compose the system. basically, the assignment of roles to agent types creates the agent model. the service model specifies the services that has to be implemented by the agent types. in gaia, a service is a coherent block of functionality, neutral with respect to implementation details. the acquaintance model shows the communication links between agent types. also, it is built a model of the environment. summarizing, four types of agents are used by our system: main scheduler agent (msa), faculty scheduler agent (fsa), expert assistant agent (eaa), and personal agent (pa). figure 4 shows the roles and responsibilities of each type of agent that compose the system mas_up-uct. figure 4: roles for the agents that compose the system mas_up-uct we make a brief discussion of two critical situations that may arise during a course timetabling: 1) at faculty course timetabling: day and time timetable conflict (two or more professor’s options are identical) solution: start a negotiation process between the expert assistant of that specialization and the professors involved (or their personal agents). a message is sent by the specialization expert assistant to all those professors that are involved in a conflict, and will wait for a solution of the negotiation. if it will receive an answer it will do a rescheduling. if it will receive no solution, it will start a persuasion process of negotiation, suggesting a solution. 2) at university course timetabling: no room is available for a certain day and time course. in this case the mscheduler agent will start a negotiation process between faculty scheduler agents that are involved in the conflict, by given some options. each faculty scheduler involved in the conflict will pass the message to the corresponding expert assistants, or, in mas_up-uct: a multi-agent system for university course timetable scheduling 99 some cases will continue to pass the message to professor’s personal agents, who will than negotiate directly. if after this negotiation no solution will be find out (e.g. some courses cannot be moved in other module or day), the main scheduler agent will start a persuasion dialog between the faculties agents that are in conflict, which in turn will transfer the problem at the lower level. 4 evaluation of the multi-agent system as an evaluation method of our mas we have chosen the interaction diagram method [11]. an interaction diagram is a graph showing the processing of each agent symbollically as one or more vertical bars, and the messaging between agents as horizontal or oblique arrows between agents (from sender to receiver), decorated with message indications. in figure 5 it is presented an example of interaction diagram, which illustrates a negotiation process at faculty level, between two expert assistants (eai and eaj). in figure 6 it is shown the interaction diagram in the case of a critical situation. figure 5: example of interaction diagram in order to evaluate the multi-agent system we can use interaction diagrams to design the communication process between agents (expert assistants, personal agents etc) and to verify that the system executes the correct communication sequences. we have used message flow fragmentation in order to realize an analysis of the communication process. the direct sequence and a part of the inverse sequence of the message flow fragmentation that corresponds to the negotiation process shown in figure 6 is given bellow. beg(mas), beg(f sal ), beg(f sak), beg(ealt), beg(eal r), beg(eaki), beg(eak j), snd(mas, m1), split(m1, m1k, m1l), rcv(f sak, m1k), rcv(f sal , m1l), split(m1k, mki, mk j), split(m1l, mlt, ml r), rcv(eaki, mki), rcv(eak j, mk j), rcv(ealt, mlt), rcv(eal r, ml r), snd(eaki, mki−1), snd(eak j, mk j−1), join(mki−1, mk j−1, m1k−1), ..., end(mas), end(f sal ), end(f sak), end(ealt), end(eal r), end(eaki), end(eak j) the inter-agent communication is done by using the agent language fipa acl. figure 7 shows an example of such a message ma12 ea-ime-ac exchanged during a negotiation. let’s consider a course timetabling conflict at the level of a faculty. this conflict consists in the situation of day and time identical options for two professors (pa1, pa2) that teach at the same specialization (computer science) different courses. this situation is described in figure 8. information exchanges during the conflict solve can be modeled with protocol diagrams using auml notation [6]. figure 8 shows a sample negotiation protocol for day and time timetable conflict solve. as it can be seen, the expert assistant of the computer science specialization (eacs) will inform the two personal agents corresponding to the two professors about the conflict. after this message is sent to both personal agents, between them it will start a negotiation protocol that involves a sequence of proposals and counter-proposals till a solution is accepted by the two agents. at the end of the negotiation process, 100 mihaela oprea figure 6: an example of negotiation in a critical situation figure 7: example of a fipa acl message figure 8: negotation protocol for a day and time conflict in course timetabling mas_up-uct: a multi-agent system for university course timetable scheduling 101 pa1 will inform the expert assistant agent about the solution found. 5 conclusion the paper presented the current state of a research work that involve the development of a multiagent system for university course timetable scheduling. the purpose of our work was to analyse the benefits of using an agent-based approach for the university course timetable scheduling, which involves a lot of communication, cooperation and negotiation processes. we have described the architecture of a multi-agent system for university course timetable scheduling, mas_up-uct, and briefly discussed about the evaluation of the multi-agent system. we can conclude that the main benefits of the agent-based approach adopted for university course timetabling are given by the possibility of doing negotiation between agents as a solution to the conflicts that may arise, and by the analysis of the exchanged messages flow between agents with the interaction diagrams. references [1] l. cernuzzi, t. juan, l. sterling, f. zambonelli, the gaia methodology basic concepts and extensions, methodologies and software engineering for agent systems, eds. bergenti, f., gleizes, m.-p., zambonelli, f., kluwer academic publishers, pp. 69-88, 2004. [2] d. corne, p. ross, h.-l. fang, fast practical evolutionary timetabling, lecture notes in computer science, lncs 865, pp. 251-263, 1994. [3] d. costa, a tabu search algorithm for computing an operational timetable, european journal of operational research, vol. 76, pp. 98-110, 1994. [4] d. de werra, an introduction to timetabling, european journal of operational research, vol. 19, pp. 151-162, 1985. [5] r. fahrion, g. dollanski, construction of university faculty timetables using logic programming techniques, discrete applied mathematics, vol. 35, no. 3, pp. 221-236, 1992. [6] m. -f. huget, j. odell, b. bauer, the auml approach, methodologies and software engineering for agent systems, eds. bergenti, f., gleizes, m.-p., zambonelli, f., kluwer academic publishers, pp. 237-257, 2004. [7] t. ito, t. shintani, an agenda-scheduling system based on persuasion among agents, technical report: nagoya institute of technology, 1997. [8] m. oprea, the use of adaptive negotiation by a shopping agent in agent-mediated electronic commerce, lecture notes in artificial intelligence, lnai 2691, springer-verlag, berlin heidelberg, pp. 594-605, 2003. [9] g. picard, c. bernon, m.-p. gleizes, cooperative agent model within adelfe framework an application to a timetabling problem, proceedings of the 3rd international joint conference on autonomous agents and multi agent systems, new york, usa, pp. 1506-1507, 2004. [10] e. g. prodromou, n. avouris, e-class personalized: design and evaluation of an adaptive learning content management system, artificial intelligence applications and innovations, eds. maglogiannis, i., karpouzis, k., bramer, m., springer, pp. 409-416, 2006. 102 mihaela oprea [11] r. ronnquist, c. k. low, analysing expert assistants through interaction diagrams, proceedings of autonomous agents 97, acm press, pp. 500-501, 1997. [12] a. schaerf, a survey of automated timetabling, technical report: cs-r9567, centrum voor wiskunde en informatica, 1995. [13] c. c. wei, a. lim, automated examination scheduling problem, proceedings of the iasted international conference applied informatics, innsbruck, acta press, pp. 93-96, 2002. [14] g. weiss, multiagent systems, the mit press, cambridge, massachusetts, 1999. [15] m. wooldridge, n. r. jennings, intelligent agents: theory and practice, the knowledge engineering review, vol. 10, no. 2, pp. 115-152, 1995. mihaela oprea university petroleum-gas of ploiesti department of informatics address: b-dul bucuresti 39, 100680 ploiesti, romania e-mail: mihaela@upg-ploiesti.ro received: november 8, 2006 editor’s note about the author: mihaela oprea (born on february 20, 1967) graduated the faculty of automatics and computer science at the university politehnica bucharest in 1990, and got her phd at the department of automatics and computer science of the university petroleumgas of ploiesti in 1996. currently, she is a full professor at the department of informatics of the university petroleum-gas of ploiesti. her main research interests include pattern recognition algorithms, machine learning, knowledge modelling, applications of multi-agent systems and artificial intelligence techniques in various domains such as environmental protection, engineering, and education. she has published more than 70 research papers in the area of artificial intelligence in international journals, and in the proceedings of prestigious international conferences, printed by important publishers (springer, kluwer academic, ios press, ieee computer society press). since 1995 she has visited as a research visitor universities and artificial intelligence research institutes from uk, austria, spain, greece, sweden, czech republic, hungary, and france. she is a member of some professional associations, and of the international programme committees of several conferences held in europe, usa, canada, south america, also participating at some of them as a tutorial presenter. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 1, pp. 20-41 a software system development life cycle model for improved stakeholders’ communication and collaboration s. cohen, d. dori, u. de haan shalom cohen, uzi de haan technion, israel institute of technology haifa, israel e-mail: {shalom1,uzid}@tx.technion.ac.il dov dori 1. technion, israel institute of technology haifa, israel 2. massachusetts institute of technology cambridge, ma, usa e-mail: dori@ie.technion.ac.il abstract: software vendors and entrepreneurs, who try to introduce an innovative software product to a specific organization or an entire market, enter a long and tedious process. during this process, the market and various organizations evaluate the product from different perspectives, such as software robustness, manufacturer reliability, and corporate need for the product. the vendors and entrepreneurs engaged in this process encounter decision crossroads for which no relevant guidance exists in the literature. the research closely monitored the processes associated with the introduction and assimilation of an innovative off-the-shelf (ots) software product into five different organizations in different vertical market segments. observations were carried out to assess organizational and marketing processes and to document and analyze what the software product undergoes before it is accepted for acquisition or full implementation within the organization. the research outcomes offer a unified, collaborative multi-tier system development life cycle (sdlc) framework and methodology for packaged ots software products that greatly improves communication and collaboration among the stakeholders. each tier addresses a different force or stakeholder involved in the software market: vendor, customer, consultants and integrators. all stakeholders refer to the same time-line thus; tasks of various stakeholders are streamlined. adherence to the unified time-line brings about an increased amount of stakeholder interaction, communication and collaboration. newly found tasks that improve communication and collaboration among stakeholders include (1) offering of the ots software product together with personnel as a bundle, (2) an improvisation-intensive iterative task of weaving potential customers’ requirements into the prototype, and (3) a third sale milestone, representing the successful diffusion of the product. the significance of this interdisciplinary research stems from its unique position at a crossroad between software engineering, marketing, and business administration, which has not yet been sufficiently explored or cultivated. keywords: collaboration, system development life cycle model, stakeholders. 1 introduction two major trends dominate the software development world today. the first is the shift of organizations from fulfilling their own software requirements in-house to buying it on the market, either as an copyright c© 2006-2010 by ccc publications a software system development life cycle model for improved stakeholders’ communication and collaboration 21 off-the-shelf packaged software product or from a company tailoring a specific solution.[1] the second trend is the shift from developing tailor-made software to purchasing packaged software from vendors either in stores or directly from the vendors.[2] here we assume that acquisition of packaged software is done by an organizational consumer.1 when relating to a packaged software product, which may be seen as a system by its own accord, one should make a clear distinction between a software product and an information system (is). [3] an is is made up of a number of software products or modules put together.[1] this research examines an off-the-shelf (ots) packaged software product as a system2 which goes through the various stages of system development life cycle (sdlc)3. many software development processes and models use stages outlined in sdlc.[4] we relate to sdlc not only in its traditional "waterfall" sense, but also to other models outlining the stages in software development. since these models, including the spiral and rapid application development (rad) are not as broadly known as the "waterfall" model and are less useful for explaining the market effects on software development delineated hereafter [1], we do focus on the waterfall model as a reference. the lifecycle of an information system includes the various phases that a software product goes through starting with its conception all the way to the stage when it is no longer available for use.[5] the software lifecycle, depicted in figure 1, typically includes the following phases: requirements, analysis, design, construction (or coding), testing (validation), installation, operation, maintenance, and the less emphasized retirement.[6] figure 1: the traditional phases of the system development life cycle model these basic phases have also been adopted for is acquisition purposes. although the names of the phases were changed where appropriate, the basic structure and timeline have been kept. the phases of is acquisition, shown in figure 2, are project justification, financial evaluation of the project, preparations for acquisition, request for proposals, vendor evaluation, contract negotiations and, implementation and maintenance.[7] figure 2: the sdlc model adapted to the acquisition process of information systems the literature research, summarized below, indicates that no significant attempt has been made to extend the sdlc model to other situations encountered by many software vendors and software developing entrepreneurs.[2] software vendors and entrepreneurs, who try to introduce an innovative software product to a specific organization or an entire market, enter a long and tedious process. during this process, the market and various organizations evaluate the product from different perspectives, such as 1the scope of the research is limited to describing the organizational consumer and not the private home user which is a discussion in its own right and differs in many ways from that outlined hereafter. 2"the system," "ots software product," and "packaged software product" will be used from now on interchangeably 3the acronym sdlc will denote here the system development lifecycle model as it relates to software products. its implementation with regards to ots software products will be discussed here. 22 s. cohen, d. dori, u. de haan software robustness, manufacturer reliability, and corporate need for the product. the vendors and entrepreneurs engaged in this process encounter decision crossroads for which no relevant guidance exists in the literature. this lack of guidance is somewhat surprising, since information systems development is best understood as a market phenomenon. it is a perspective which highlights how software is developed, who performs the development, who sells the related products, and how they are introduced to users.[1] 2 research goal and objectives the goal of this research is to develop and evaluate a collaborative multi-tier lifecycle development model for packaged off-the-shelf (ots) software products. the proposed model accounts for market and organizational factors and the way they are woven into the traditional phases of software development. to this end, the research has monitored, outlined, characterized, defined, and mapped specific phases which ots software products typically go through. the resulting comprehensive model relates to the development, marketing, assimilation, and other organizational aspects of the ots software product. the research has identified and defined new, modifiable software lifecycle processes, the adoption of which might benefit various stakeholders under various marketing conditions. our hope that the prevailing model will entail this aim by creating a task-based learning community which is a group of people who are organized around a task i.e. stakeholders, collaborating for a specified period of time to produce a product.[8] here, we attempt to create a unified exhaustive sdlc framework on one timeline with a number of tiers, creating a new collaborative multi-tier system development life cycle methodology. each tier addresses a different force or stakeholder involved in the software market, such as producers, consumers, consultants, and integrators.[1] the basic time frame of the sdlc, especially the beginning (inception) and end (implementation and maintenance) is kept. the various milestones along the sdlc time line indicate an appropriate task for each tier and an explanation of that task. tasks on the same vertical axis are to be performed concurrently and collaboratively. figure 3 depicts a possible scheme of the proposed collaborative multi-tier marketand organizationoriented sdlc model to be fleshed out as a result of the field study outcomes. the list of stakeholders stacked in figure 3 is by no means exhaustive. figure 3: a possible scheme of the proposed collaborative multi-tier marketand organization-oriented sdlc model to be fleshed out as a result of the experiment outcomes the main novelty of this research is that it is a first field-based study that is aimed at the establishment of a collaborative multi-tier sdlc model and a methodology based upon it. in addition, in most is field studies, researchers have access to a limited amount of evidence and observations in participating a software system development life cycle model for improved stakeholders’ communication and collaboration 23 organizations. in contrast, this research takes advantage of the fact that the software that was examined has been developed at the technion and was fortunately being positioned at the point of time required for this research. due to the special ties between the technion and the software vendor, this study has had access to evidence and observations that are normally out of reach to researchers. the validity of these unique findings was tested against the more abridged findings of the control case studies. 3 literature review the only academic development model incorporating any type of market effects is that of carmel and becker.[9] they developed a process model for packaged software development which was partly empirical. carmel and becker [9] point to a few market-related actions necessary to be performed in some, but not all of the described stages. actions like "assessing product differentiation considerations" are attached to the "initial screening stage" of the "requirements loop" with no explanation how they can be achieved. in summary, carmel and becker [9] were the first to attempt a complete process model which adds marketing tasks. their model, however, was only partially based on empirical findings, and instead of having the market define software market needs and sdlc phases, they suggested them a priori. moreover, as cusumano et al.[10] noted, their reliance and justification of a pivotal "freeze specification" stage is problematic in a highly volatile market.[10] as carmel [2] noted, no major study had been conducted on market introductory effects on packaged software innovations before 1995.[2] nevertheless, the idea of introducing a market-based perspective into information systems development was introduced later on.[1] he juxtaposed a market-oriented approach with a simplification of the traditional "waterfall" model. at the basis of his idea is a separation of the traditional sdlc model (from development to user introduction) into two separate parallel models, one for the software developer and the other for the software consumer. in addition sawyer had several interesting assertion as to the growing importance of additional stakeholders in the development process. for example: • third parties (consultants, vendor representatives, etc.) have an increasing role in the initial stages of sdlc. consultants/integrators are now also part of the information system development (isd) process, as they enable and mediate the software market. this contributes to widening the chasm between users and vendors. this chasm is bridged only by indirect links between customers and developers via intermediaries or customer surrogates.[11] • system installation requires a third party in charge of installing the product, customization, and training. • the development process is of smaller importance to the consumer than the final product. although most of the assertions in sawyer’s model may make sense, they are in no way based on empirical evidence and do not have a direct connection to an sdlc model currently in use. his model lacks due reference to the producer’s side, an aspect which this research has elaborated on. in order to cover a large number of organizational and market-related sdlc influencing factors, we searched for academic and professional models in seven domains. we began by looking at the above mentioned few existing market based is/software development models to see how an innovative ots software product is produced in the market. we then continued by looking at works on software cycles and structured development studies to uncover the new ots software manufacturing methods. leaving the is domain, we followed moore’s technology diffusion theory to look for models on technology adoption, innovation introduction and marketing diffusion theory which may relevantly describe the 24 s. cohen, d. dori, u. de haan diffusion process of an ots software product too.[12] we then reviewed research in the cross domain of organizational decision making on is/software related issues to learn how the common is/software related decision-making processes in various organizations are performed. the maturity of the software product, as well as that of the organization, is a matter of much interest to industrial engineers and business administrators and it influences entrepreneurial vendors tremendously and therefore reviewed here too. the relatively young academic field of entrepreneurship was searched for adequate models and research on innovation, innovation-exploration and entrepreneurship in the software market. finally, we surveyed the market for best practices and existing methodologies for ots software development by entrepreneurial vendors. table 1 summarizes the main studies related to this research topic under the various categories. from the above literature review we learnt about the possible variables and added them to the examined research’s model as described in the following section. tabel 1. summary of main studies sdlc and related subjects. aspect article empirical market based is/ carmel and becker[9] very partial software development keil and carmel[11] yes sawyer[1] no sing and kotze[34] partial software cycle and cusumano et al.[10] yes structured development cusumano[35] no carmel[2] yes clark and wheelwright[36][37] partial wheelwright and clark[38] partial boehm and bose[39] yes fine[40] no avison and fitzgerald[4] no ebert[42] yes technology/ innovation introduction/ mustonen-ollila and lyytinen[43] yes diffusion theory marketing4 lucas and spitler[44] yes davis[45] yes moore and benbasat[46] partial brancheau and wetherbe[47] yes cooper and zmud[48] yes fichman and kemerer[25] yes is related decision-making and verville and halingten[49] yes software acquisition processes nelson et al.[50] yes iivari and ervasti[51] yes software product and paulk[52] no organization maturity nordman [53] report lee and o’connor[54] no montaguti et al.[55] no hi tech entrepreneurship shane[56] partial shane[57] no murray and tripsas[58] yes baker et al.[23] yes vera and crossan[27] yes best practices nih matrix[59] best practice agile[61] best practice 4for the most part, the writings in this discipline have not distinguished between the more general definition of an it product and a specific is/software-like product. a software system development life cycle model for improved stakeholders’ communication and collaboration 25 4 methods and experiments in this section, we first provide a short explanation to the research method used (a), and then we describe the case study sites selected (b). data collection efforts are described in (c) and finally in (d) we cover the preliminary research model. a. case study methodology yin identified three main types of case studies based on the purpose for which they are used [13]: (1) explanatory a case study intending to explain the casual links in real-life interventions that are too complex for survey or experimental strategies. (2) descriptive a case study that emphasizes the formation of hypotheses of cause-effect relationships, where a descriptive theory must cover the depth and scope of the case under study.[14] (3) exploratory a case study in which the fieldwork and data collection may be undertaken prior to definition of the research questions and hypotheses. the framework of the study must be created ahead of time to maximize what can be learned, knowing that time is limited. the selected cases should be easy and should include willing subjects.[14] the research strategy utilizes a combination of exploratory and descriptive case studies. the study does not explain an existing theory, so it cannot be categorized as explanatory. rather, it tries to describe and explore emerging software development and marketing processes. fieldwork and data collection were done prior to exact definition of the research questions and hypotheses generations.[15] the research includes multiple exploratory/descriptive case studies, using replication logic. replication logic is a logic by which case studies are selected to create a multiple-case design. cases are selected so that they can either produce typical, negative or disconfirming results or exceptional/discrepant results. this form of case selection is also known as a theoretical sampling of cases as opposed to the normal sampling logic used in quantitative methods. the outcomes of this design are improved theory, generalization ability and cross-case analysis. the latter is achieved by the use of two additional case studies which serve as control or baseline studies. each case study is treated as an independent experiment, and the entire study is comprised of and based upon a sequence of multiple experiments.[16] when a case study strategy is agreed upon, it permits for both qualitative and quantitative sources of evidence to be collected and analyzed.[15] the collection and analysis of these two complementary forms of evidence has enabled triangulation. various methods of data collection and fact retrieval were utilized, as described in section (c) of this chapter. the field-study strategy, by which this research obtained insights into the processes that innovative software products go through, is an empiric study with multiple case studies. the opcat software was introduced into five organizations operating in mostly different vertical market sectors, so that the lessons learned from them cut across sectors. the list of sectors included banking, military, avionic, software and banking-software. one additional off-the-shelf software product (product b) was introduced to a telecom company, and the final product (product c) was introduced to a software organization. the number of case studies chosen (7) reflects a practical balance between the need for sufficient ground for generalization of the findings and the research time and capacity constraints. the number corresponds to the recommended range of 4 to 10 cases for theory building purposes.[15] b. case study sites as the choice of organizations in which to perform the case studies is not a pure random sample, we tried to compensate for this by using theoretical sampling [13] designed to cover a broad spectrum of sectors, company sizes and locations, as depicted in table 2. the customer organizations chosen for the case study sites were: org.1-e is a large airborne avionics systems manufacturer that employs over 3000 employees. 26 s. cohen, d. dori, u. de haan table 1: profile of firms in the exploratory/descriptive multi-firm study company sector size(employees) location introduced product org.4-b banking >10.000 israel opcat org.1-e military/avionics >10.000 israel opcat org.2-el military <1.500 israel opcat org.5-q software/cellular -100 israel opcat org.3-s software/banking -1.000 singapore opcat org.6-c telecom >1.000 israel non opcat org.4-b software >7.000 israel non opcat org.2-el is a medium sized division (<1000 employees) of a high-technological military products manufacturer of ground, air and space-related products. org.3-s: six of the seven case studies were held in the same country and the remaining study took place abroad, where the sale procedure to a large asian banking software developer employing around 1000 people was followed. org.4-b is one of the largest banks in israel, employing around 10,000 employees. the attempt was made to the bank’s business software applications division. org.5-q is a small software company with less than 100 employees, developing software for the cellular phone industry. in addition to introducing opcat into five organizations, two additional case studies org.6-c, org.7-bm were held in which similar ots software products were followed by means of their introductory phases into the market. these two additional case studies served as baseline case studies and assisted with both building the validity and analysis of the findings from the first five studies and with building a more robust and accurate sdlc model4. the case study sites were monitored periodically according to the type of evidence that was collected. for routine correspondence and product-related documentation, ongoing collection was used. for researcher observations, such as meeting attendance with adopting organizations, they were held according to the case study’s natural timetable. evidence collection sessions that is pushed by the researcher, such as questionnaires/surveys and interviews, were held at fixed time intervals across all case studies so that a matrix of observations period versus company was created. these mixed monitoring methods enabled the evaluation of evidence versus specific reference points in time and the description of continuous events as they were unfolding. c. data collection the software products that were introduced into each of these organizations, and the processes that they underwent thereafter until successful adoption installation and acquisition, or possibly rejection by the organization, were monitored and meticulously documented. four different types of evidence collection were utilized for the monitoring and documentation of the abovementioned processes: direct passive observations, documentation collection, open-ended and focused interviews and physical artifacts i.e. generated computer code or diagrams. table 3 summarizes the data collection efforts in the five main case studies held with the opcat vendor. the table also clearly indicates that the most extensive case studies as far as data collection was concerned were org.1-e and org.3-s. two of the remaining 3 studies were shorter studies, mainly as they represent failed attempts of implementation by opcat, and thus spanned a shorter life-cycle. 4due to strict non-disclosure restrictions, the information regarding the two baseline case studies, as well as the products, organizations, and customers examined has been kept confidential notwithstanding its use for hypothesis building and generalization purposes. a software system development life cycle model for improved stakeholders’ communication and collaboration 27 table 2: general data collection types and data collection summary statistics case duration interdirect questiondocumentation other site (months) views passive aires emails/ physical meeting hard copy/ artifacts documenppts/other tation org.1-e 14 4 12+5 day 2/ 5/ 10/ 5 3 brainstorming session org.2-el 14 4 7 1 22/ 3/ 6/ 30 org.3-s 20 6 12+5 day 0 157/ 3/ 8/ 3 8 session course org.4-b 9 2 8 1 12/ -/ 4/ 2 org.5-q 6 2 5 1 10/ -/ 3/ 2 the evidence gathered from these case studies was then compared and analyzed and eventually enabled the identification and definition of common phases that the software went through in the various organizations and industries. d. the preliminary model a general view per the research method described above we defined our own set of a priori basic constructs for this research. the various preliminary variable groups and their interaction are modeled using object process methodology (opm), which provides a variety of complexity management tools that help diagram the model clearly and efficiently.[17] the top-most diagram, seen in figure 4, demonstrates the main process of successful ots software product implementation, which this research examined. this process and its impact on the sdlc of ots software product innovations was our dependent variable. this process is handled and impacted by the various stakeholders in today’s ots software product market, i.e., the vendor, adopting organization, third party integrators/consultants and, indirectly, other market and industry effects that constitute the intervening and contextual variables of this model, respectively. the stakeholders interact via external non-systemic, environmental social networking process, in which they exchange leads, assign projects, etc. the impact of this process as a whole was of concern to this research, but its internal components and intricacies were not further elaborated, as the issue of social networking has already attracted extensive writing and research.[18] the independent variable of this model is the ots software product. for the sake of simplicity, the object representing the product includes only four basic states: specified, developed, acquired, and implemented. these are the most important states in a software product’s lifecycle from the initial undeveloped product state, i.e., product in specification format only, to the successfully implemented product by an adopting organization. research model links in general represent possible hypotheses resulting from these relationships. thus, the bidirectional effect links connecting the various attribute groups in figure 4 mark the possible influence each group may have on others. the bidirectional links generalize unidirectional and bidirectional influences and suggest the variable group undergoes certain changes once the process is performed. the preliminary model spanned 38 variables brought together from the various is, or and marketing domains discussed in section 3. for the sake of brevity we do not bring here a full discussion regarding the reasons for their inclusion, and the variables comprising each variable group|footnotethe full expla28 s. cohen, d. dori, u. de haan legend proces result / consumption link environmental object object effect link instrument link agent link environmental process bi-directional general purpose structure object state figure 4: the proposed preliminary logical model nation is readily available from the authors.. furthermore, the full list of initial variables, as well the final ones, is given in table 4. 5 intermediate findings and conclusions the findings of this research include the final collaborative multi-tier sdlc research model and specifications of how the original research model has been modified throughout the research by omitting, adding and merging variable groups and variables. the aim here was to show how the model and its variables were validated through the various case studies conducted. a table is used to show the original model’s variables vs. the final model’s variables, and how each variable gained or lost validity based on evidence from the case studies. therefore, in this section, we begin by describing the changes to the original research model in (a), and continue with explaining about lead-driven development (ldd) described in (b) brought as a partial downscaled example of the much larger and full collaborative multi-tier system development lifecycle model. we end the section by giving a short explanation as to the contents of the full collaborative multi tier system development lifecycle model in(c). a. changes to the original research model following the guidelines of the case study research methodology [16], we entered the case sites using a preliminary suggested research model described in section 4. as a case study proceeds, the research model is often updated by adding previously missed-out variables and deleting unnecessary or irrelevant ones. table 4 lists the variables in the original and final models, their inclusion or exclusion in the preliminary and final models, the case studies upon which the exclusion or inclusion were based, and the a software system development life cycle model for improved stakeholders’ communication and collaboration 29 nature of the impact of the variable. the nature is depicted using three symbols: +, and ot, as explained next. the plus symbol is used to denote a positive influence on the successful sale and implementation of the ots software product. the minus sign is used to denote a negative influence on the successful sale and implementation of the ots software product. ot, which denotes "other" reasons, is used when the impact is of a compound or qualitative nature. the last "based on" column provides a supporting reason from the literature for the inclusion or exclusion of a specific variable. explanation of the unique impacts and findings of the findings mentioned above: the point in time where the implementation process is completed has been found to be, in the discussed product type, the third sale point. this is so as an initial first sale is either an impulsive buy or an exploratory attempt and is bundled with a human implementer. the second sale is a post-sale buy to try and achieve the product’s associated benefits independently of external vendor human resources attached. the third sale constitutes reconfirmation of the product’s benefits to the adopting organization and is characterized by purchase of licenses and a long-term support plan. the political factors were observed in only one case study which accidentally took part during the second lebanon war, which took place in northern israel during the summer of 2006. however, we attributed this to coincidence and did not otherwise find any political issues effecting the market or industry and therefore deleted these two variables from the final model. a unique influence was found in two of the larger case study sites, i.e., the partially-governmentowned organizations. in these sites, a very strong influence of outsourced personnel, sometimes even positioned within the adopting organization’s decision making units, was noticed. the addition of the outsourced human resources as a descriptive characteristic of the customer’s users was done in tandem with the addition of the same variable in the vendor’s descriptive variables. this is possible, as in many closed and highly specialized industries, many of the organizational employees today are outsourced employees, who are often sent from a common pool of hr outsourcing companies and employees. b. lead-driven development based on the case studies carried out as part of this research, a new approach to software development for off-the-shelf (ots) products of entrepreneurial vendors has been identified. the new model, called lead driven development (ldd) includes detailed guidelines for entrepreneurial vendors developing ots software. these include directions for pure development procedures (at the coding level) along with organizational steps to be held in conjunction with the coding process to support successful product implementation. this model relies on and revolves around an innovative procedure of improvisation, which is new to this industry. improvisation counters many current trends which state that increased formality yields successful implementation. as table 5 indicates, ldd may be highly beneficial to the vendor. examining table 5, we see that in all the five case studies, some form of ldd was followed. the classification level of ldd correspondence of each vendor per each case study site was scored on a scale of 1 to 5, where 5 represents complete correspondence. the classification was made by a number of uninvolved parties who checked for a clear-cut correspondence of the software introduction and development process to ldd. since we examined the development process performed by the vendors and did not follow other stakeholders, we isolated the benefit associated with the use of ldd to be the influence of ldd on ots product sales in the corresponding case study. benefit was therefore observed as the influence of ldd in achieving a preliminary sale with an organization (first sale). a higher level of benefit was achieving a second sale and the highest level a third sale. as explained later, a third sale is a measure of successful implementation. since the observed vendor is of an entrepreneurial character, associated benefits of an efficient development process, such as shorter coding times or increased flexibility were not accounted for. 30 s. cohen, d. dori, u. de haan table 4. original vs. final research model variables top variable variable original final case nature of based group group model model studies impact/ on significance product sdlc introduction maturity stage x x el,e,s,b,q product sdlc growth maturity stage x x el,b,q + product sdlc maturity maturity stage x x na + product sdlc decline maturity stage x x na product trialability x x el,b,q + product complexity x x el,e,s,b,q product compatibility x x el,e,s,b + product relative advantage functional x x el,e,s,b,q + product relative advantage economic x x el,e,s,b,q ? product relative advantage emotional x × not in any na product whole product factor x x el,e,s,b + product specification flexibility x x e,s + vendor hr dmu/ structure stakeholders × x el,b,q ot vendor hr personnel/ structure outsourced hr × x* el,b,q ot [22] vendor service x x el,b,q + vendor business model lock-in x x el,e,s,b,q + vendor business model novelty x x el,e,s,b,q + vendor business model efficiency x x el,e,s,b,q + vendor business complemenmodel tarities x x el,e,s,b,q + vendor marketing strategy-4ps price x x el,e,s vendor marketing strategy-4ps promotion x x el,e,s,b,q + vendor marketing strategy-4ps place x x el,e,s,b,q ot vendor marketing strategy-4ps product x *x el,e,s,b,q a software system development life cycle model for improved stakeholders’ communication and collaboration 31 table 4. original vs. final research model variables (cont.) top variable variable original final case nature of based group group model model studies impact/ on significance market and pest industry political x × el na [19] market and pest industry economic x x el,e,s,b,q + market and pest industry sociological x × not in any na [19] market and pest industry technological x x el,e,s,b,q + market and industry industry type x x el,e,s,b,q ot adopting type organization innovators x x el,e,s + adopting type early organization adopters x x b,q + adopting type early organization majority x x na +/adopting type late organization majority x x na adopting type organization laggards x x na adopting users change organization resistance × x e,b [20] adopting users organization profession x x el,e,s,b,q + adopting users organization position x x el,e,s,b,q + adopting users learning organization curve × x e,b + [21] adopting users outsourced organization hr* × x b,e ot [22] adopting dmu key organization events x x el,s ot adopting dmu time organization x x el,e,s,b,q + adopting dmu power position organization of employees x x el,e,s,b + adopting dmu no. of decision organization makers involved in process x x el,e,b,q 3nd party integrator/ outsourced consultant hr* × x b,e ot [22] table 5: level of lead-driven development implemented by vendors vs. benefit in sales. site ldd level sale 2nd sale 3nd sale org.1-e 4 + + + org.2-s 3 + + org.3-el 5 + not yet not yet org.4-q 1 org.5-b 1 32 s. cohen, d. dori, u. de haan we entered the more comprehensive table figures of table 5 into a statistical software tool and found that the correlation between sales, second sales and third sales (i.e. vendor benefit) and the level of ldd implementation is clearly significant, positive and high. after establishing that the use of ldd is beneficial for the vendor we carefully documented this process and generalized it over all the case studies. the description of the full ldd process now follows. the hereunder elaborated emerging process for software development includes 12 main steps of which at least 4 include some form of improvisation. moreover, the most unique phase of this suggested model, the lead gathering task is improvisation intensive. in addition, the model may serve as a strict continuous model similar to the waterfall model or may be used as a spiral model involving repetitive tasks. at the core of this model, are 12 steps as follows: step 1: initiation this stage is a formal stage in the regular standard sdlc model. however, with entrepreneurial firms this step tends to be an informal one with no accurate start point in time. this stage includes structuring the will and intent to begin with the project and giving the go-ahead instruction as well as providing the limited resources necessary to start exploring the venture. step 2: high level concept development this second step includes forming the high level concept of the product, the problem which it comes to solve, its associated benefit etc. depending on the scope of the project/system this development phase may be fulfilled using limited resources, spare time, and sometimes even academic resources. a substantial level of improvisation is used at this early stage as well as part of the founding process.[23] improvisation is carried out in the development of the suggested product in a quick and result-oriented fashion while using minor or no documentation and testing at all. step 3: prototype the first important milestone of the entrepreneurial vendor is the ability to deliver a functional prototype. the prototype should convey clearly the problem it is solving, its abilities and associated benefits in an easy and understandable manner with a friendly user interface. the number of moderate bugs, missing features as well as load balancing issues is not of much importance at all at this stage as the product shall be used mostly for demo and pilot purposes in the near future. this first prototype release is called by us a "bugged release". the prototype should further include a number of working examples from various domains. step 4: minor testing in non profit environments, academic demo and use after completing the prototype, which should by this time be a powerful demonstration tool, the vendor should strive to demonstrate the tool in non-profit environments. the aim of these demonstrations is finding a limited installation bed for the product. these installations provide the developers with important feedback on bugs, missing features and general use of the tool a preliminary focus feedback group for the tool. the academic scenery is extremely beneficial for these purposes as it also hosts great uncovered commercial potential through conventions, conferences and to a vast number of current or to be professionals. see also penetration attempts in academia by established firms like philips, ibm and sap. step 5: market introduction, benefit oriented demonstrations and mini pilots an additional task which is improvisation intensive is demonstrating the tool to potential customers. the suggested form of product demonstration which we call "benefit oriented demonstration" is a special type of marketing method unused so far in the world of software. the equivalent in the non-software world is that of a vacuum cleaner demonstration in the customer’s home to show him immediate benefits of the product.[24] thus, in this situation we suggest vendors demonstrate their new tools by implementing a form of improvisation at the customer’s site. the vendor should use the tool to perform an on the spot real work task brought in by the customer for which neither the vendor nor the customer were prepared. if this session exceeds one meeting it may be considered as a mini pilot. it is also in this step that the main improvisational task of the entire proposed model is undertaken. from meeting to meeting the vendor’s marketing representatives must try to anticipate using preliminary talks, phone conversations, social networking ties or emails the needs of the potential customer a software system development life cycle model for improved stakeholders’ communication and collaboration 33 as well as his existing environment. this highly informal improvisational task is used to build software requirements for the development coding team. the requirements gathered are for features which will be required in the marketing sessions with the potential customers. these requirements are then addressed and coded immediately by the development team. the new features developed are neither documented nor tested thoroughly as they will be mainly used for demonstration purposes and may be ultimately dropped. however, a mentioning and documentation of the added features is required at least in a "what’s new" file accompanying the product. this step is of a strict repetitive improvisational nature and involves the gathering of lead requirements between marketing meetings and converting them into semi-operational software features. step 6: offer ots + hr = project. after one of the leads materializes the vendor is asked to prepare a formal proposal for sale. many of our case studies have indicated that ots products for the professional organizational realm are rarely sold if they come from unknown vendors due to risk factors mainly of product abandoning. hence, offering the ots with human resources (an implementer) which will assist the adopting organization, prepare the initial material and then tutor its users is usually beneficial to reduce the uncertainty in these situations. after the customer agrees upon the terms of the project (and not only the product) contract engaging commences and the customer is now considered as the baseline customer. hence, we call this sale the "first sale" en route to successful implementation. step 7: bug fixing due to baseline customer requirements and marketing requests after a certain amount of work is done using the tool at the customer’s site, either by the customer’s users or by the hr which was coupled to the ots, important feedback regarding the products begins to accumulate. this information enables bug fixing and tool robustness improving. in addition, important missing features required by the baseline customer and marketing department are added to the software and provide for the first commercial release of the software. this release is still highly saturated by bugs but is already a commercial useable "non-frustrating" version of the product. step 8: constrain features, further commercial releases and support plan the unbridled adding of new features, in the format suggested in steps 5 and 7 above, creates overwhelming monstrous software. at this point the vendor should start to funnel out some features which cater to a smaller audience and which have not been found to be part of the vendor’s targeted audience needs. furthermore, the vendor should try to find a common thread or theme connecting and guiding all other features. this decision enables further product releases each containing additional noteworthy features, bugs correction and feature enhancements. with the continuous use of the product in at least one baseline customer and before the move to the next implementation step, a support plan (or plans) for the product should be created. step 9: develop complexity management tools, train integrators personnel, interface with customer’s software, find additional benefit oriented projects, embed within organizational deliverables within the baseline customer’s everyday work, issues of model complexity very quickly arise. these issues, which are different from testing the product or load-balancing it, should be addressed and solved early on. in addition, this is also the time to deepen the roots within the customer by both trying to embed the product deliverables within the customer’s overall deliverables, interfacing (physically) with the company’s organizational iss and by finding additional projects within the customer’s company to be involved with. deepening the vendor’s role within the customer’s site is a highly improvisational task in nature and hence requires adequate skills. step 10: second sale licenses: the first sale is by no means any indication of a successful implementation or diffusion of the innovation within the adopting organization.[25] moreover, the coupling of the hr with the ots does not really enable a real diffusion of the independent product. hence, a second sale to the same organization marks an important future commitment of the organization to drop the tutoring relationship and proceed to license purchases for independent use. license purchases signify that the organization now associates positive benefit to the use of the product. step 11: maintenance, begin user training, tutoring, software support after a second sale is 34 s. cohen, d. dori, u. de haan made, the relationship between the vendor and customer moves into the maintenance phase. as the previous phase was coupled by hr this is where the customer will be taking his first steps with the software alone. these first steps include: formal user training sessions, one on one user tutoring sessions and general software support. step 12: third sale, support the earliest point one might consider as the point of successful diffusion or implementation of the innovation is, as seen in this study, the point of third sale. after the second sale, the customer independently used the software by himself, learnt the product’s advantages and disadvantages and may now associate self benefit to product more accurately. therefore, a third sale is the first true mark that the customer is truly realizing the benefits of the product and is preparing to use it in the long term. support of the product continues now on an annual basis with milestones for new upgrades and releases. given that a vendor adopts this new 12 stage development process including and especially the improvisation-intensive stages, the question which should arise is how does the organization build and enhance the skills required for improvisation and what are these skills? in the context of our study we identified three main factors which influence improvisational skills: teamwork skills the ability of the entrepreneurial team to communicate with one another and relay timely information, get things done easily and quickly with no inhibitors and outside impeding factors. figure 5: lead driven development: the 12 step timeline experience the entrepreneurial team members’ experience in similar circumstances and their memory to recall their right and wrong doings there. experimental culture the culture of the team, which encourages trying out many a time risky and/or innovative solutions. these three main factors, measured and calibrated according to characteristics described in [26], coincide with improvisational skills factors in the literature. for example, vera and crossan [27] create a theoretical framework based on improvisation and innovative performance in teams. identifying variables from improvisational theatre, they tested the impact of the 16 different related variables on improvisational skills in an environment of a local municipality. they found 4 of the 16 variables to be of higher influence than others. the four factors they isolated were: expertise, teamwork skills, experimental culture and real-time information and communication. a software system development life cycle model for improved stakeholders’ communication and collaboration 35 in the context of our study we can therefore translate and apply their insights as follows: expertise gaining a higher level of software expertise in the intricacies of the development environments enables software developers to find out of the sleeve solutions and bypasses for many software unpredicted difficulties encountered. teamwork skills in general software teams, with a rather higher sense of collaboration usually tend to innovate more. to further clarify this point, we can propose the software teams the following teamwork skills which we encountered: development collaboration, information sharing via email, shared drives, knowledge management portals, inner group dynamics and communication etc. experimental culture the experimental culture includes the ability to import new ideas and procedures from the world wide web, forums, groups and software development associates and try them out. furthermore, experimentation in the software industry, which is not usually backed up by management should be backed up by top management and should also include experimentation on code developed using a number of alternate mechanisms. real-time information and communication the need for real-time information and communication in the software industry is ever more compelling than any other industry. this is so because the software industry is built upon and relies heavily on the backbone of internet. therefore, when improvising it is crucial to gain real-time updated information over the lan or internet and have a variety of channels for communicating with the customer and other team members. each of these channels specializes in a different type of content that may be passed: audio, video, documents, emails etc. c. the collaborative multi-tier system development life cycle the lead-driven development (ldd) paradigm described above represents a list of tasks from the vendor’s point of view. this list helped build the vendor’s tier in the complete collaborative multi-tier system development life-cycle task matrix that caters to all stakeholders. the collaborative multitier model takes into consideration, through the nature of the tasks suggested, pure is development tasks (e.g., prototyping, bug fixing), market influences (e.g., market introduction techniques for entrepreneurial ots software vendors, such as offering the first sale of such a product as a combined project with human resources), and organizational recommendations aimed mainly to avoid customer internal organizational obstacles. the collaborative multi-tier system development life-cycle (cmsdlc) model, which combines common tasks from the various case studies, is consistent as it avoids contradicting tasks. one of its unique features is that it makes a distinction between benefit-oriented tasks and standard waterfalltype formal tasks and milestones. when a task or a set of tasks is performed in an iterative manner it is marked as an on-going task or specifically mentioned in the explanation section as one that needs to be performed iteratively. one such example is the task dealing with lead requirements gathering from potential customers for the purpose of prototype and feature building. the cmsdlc model is also suitable for mature organizations that seek to develop a new ots software product. it is even more suitable when the mature organization separates this entire operation from its existing core operations through various methods, such as founding a new subsidiary. this is akin to an entrepreneurial firm from the development and market perspectives. however, the financial backing of the parent organization and its reputation may shorten the duration of many of the tasks, and may make them more easily achievable. in cases where a mature organization seeks improvement to existing product development methods, the suggested model may not be as applicable, since the level of uncertainty such an organization encounters regarding market and organizational effects (especially regarding the customers), is lower. the chart of the full model depicts in a single, poster style view the multi-tier model. the timeline of the system development lifecycle and the tasks for each stakeholder are stacked on separate horizontal lines. since all the stakeholders share one timeline, the interaction between the stakeholders and the interdependency of tasks is clearly visible. only through extensive collaboration can the effort proceed 36 s. cohen, d. dori, u. de haan as a whole. for each task, a list of case studies which the task was based upon is provided. a list of one-letter abbreviations corresponding to the case study sites which demonstrated the use of the specific task appear below each task. the logic behind gathering all the tasks into the model includes checking tasks for contradictions in the various case studies and merging similar tasks to unifying generic tasks. 6 conclusion and future research at this point we would like to introduce the hypotheses which were derived from the findings of our case studies. the hypotheses suggest a plethora of possible future research to be held on the process of validating them. the first hypothesis which was emerging was based on research question 2. we found that the two parts of an ots software product, the product and its underlying methodology, played an important role in all the case studies and therefore justified the hypothesis. we therefore phrased the first hypothesis as follows. h1: the more a customer is inclined to adopt a methodology, the more he or she is inclined to adopt the ots software tool associated with that methodology. in other words, we will be looking for a possible correlation on a "bundling" relationship between the methodology and its supporting tool. we can explain this phenomenon by looking both at the marketing literature regarding characteristics of products and at the is literature which explains and recommends various modes for is product sale. the marketing literature [28] and [12] and [29] defines clearly the "whole product concept" which was introduced by theodore levitt.[30] levitt defined the whole product as follows: a product is, to the potential buyer, a complex cluster of value satisfactions. the whole product factor denotes the completeness of the product being marketed at a certain point in time with regard to a complete solution. the components of the whole product include the core product, the tangible product, augmented product and total solution. the relationship between the ots product used in our study and its methodology typifies the product as being close to an augmented product. the second hypothesis involved a distinction between organizations using a formal software development procedure and others who use improvisation-intensive development techniques. as we started noticing in the case studies, this distinction is related to the level of uncertainty the vendor organization runs into. hence we defined the following hypothesis: h2: the higher the level of uncertainty is, the higher the vendor’s use of improvisation intensive development methods. improvisation has been shown to be used by entrepreneurial vendors when faced by time pressure, complexity, and uncertainty.[31] future research may extend this assertion to include and emphasize its relevance in the development process too. the third hypothesis concerns the direct benefits associated with utilizing improvisation within the software development process, i.e., the time-to-market of the product and increased sales. the hypothesis was defined as follows. h3: when uncertainty is high, the more a vendor uses improvisation the more his market response time shortens and his ability to make a first sale improves. the organizational change resistance to new technologies in general and software in particular was found in our case studies to be solved by applying a marketing technique which couples a human resource implementer to the product.[32] the human resource implementer escorts the implementation and even performs most of the initial work for the customer using the tool. this triggered the following hypothesis: h4: the higher the level of hr participation in the ots software sale attempt to the change resistant customer is, the higher are the chances for successful implementation. a software system development life cycle model for improved stakeholders’ communication and collaboration 37 similarly to the entrepreneurial vendor’s efforts to overcome change resistance within the adopting organization users, the vendor has to build its legitimacy with the adopting organization’s dmu.[33] we started noticing that this legitimacy buildup was being done via affiliation with accredited scientists/academics and/or through established third party integrators. stinchcombe [33] also specified three reasons for the impediments companies have from entering into a business relationship or buying a product from a new organization. he calls this effect the "liability of newness". the reasons cited for this liability are lack of experience, lack of size and lack of legitimacy. the latter was addressed by opcat, who built its legitimacy in all the case studies through the use of a reputable scientist to improve its lack of legitimacy and external reputation. furthermore, some legitimacy build-up was achieved through the use of large third party integrator with proven reputation and experience in the industry. this gave rise to the following hypothesis: h5: the more a new vendor firm affiliates with a distinguished scientist, or an established third party, the more the chances for successful implementation are higher. 7 summary and recommendations we have proposed and evaluated a software system development life cycle model which aims to improve successful system implementation and adoption by use of communication and collaboration amongst stakeholders. the new model for software development that emerged lead-driven development was discovered, validated against the case studies, and refined via observations in five industry case studies and two additional control studies regarding successful implementations of ots products of entrepreneurial developers. the proposed lead-driven development model accounts for market and organizational factors and the way they are woven into the traditional phases of software development. it offers the basis for the unified, comprehensive multi-tier sdlc framework and methodology that contributes to improved stakeholders’ communication and collaboration through the use of a common reference model for all stakeholders. each tier addresses a different force or stakeholder involved in the software market: vendor, customer, consultants and integrators. the model is potentially beneficial for improving communication and collaboration among life cycle stakeholders in that it embeds action items from the is, marketing and organizational realms. many of these action items are performed using improvisational skills. to excel in lead-driven development in general, and in software development improvisation in particular, entrepreneurial vendors should enhance their improvisational skills. in line with previous studies [27], we found three main factors that influence improvisational communication skills: experience, teamwork skills, and experimental culture. focusing on these facets, organizational training should provide a clear positive effect on improvisational skills and hence on innovation abilities. bibliography [1] s. sawyer, a market-based perspective on information systems development, communications of the acm (44:11), pp.97-102, 2001. [2] e. carmel, cycle time in packaged software firms, journal of product innovation, (12), pp.110123, 1995. [3] d. dori, object process methodology, springer-verlag, 2002. [4] w. royce, managing the development of large software systems, in proceedings of ieee wescon, pp.1-9, 1970. 38 s. cohen, d. dori, u. de haan [5] techtarget, viewed on http://searchvb.techtarget.com/sdefinition/0„sid8_gci755068,00.html, february, 2004. [6] d. howe (ed.), the free on-line dictionary of computing, http://foldoc.doc.ic.ac.uk/ foldoc/foldoc.cgi? query=lifecycle, 1996. [7] gao, gao/imtec-8.1.4 assessing acquisition risks, http://www.gao.gov/ special.pubs/im814.pdf, 1992. [8] b. krogstie, and b. bygstad, cross-community collaboration and learning in customer-driven software engineering student projects, cseet proceedings of the 20th conference on software engineering education & training, 2007. [9] e. carmel, and s. becker, a process model for packaged software development, ieee transaction engineering management(41: 5), pp.50-56, 1990. [10] m. cusumano, a. maccormack, c. f. kemerer, and b. crandall, software development worldwide: the state of the practice, ieee software, pp.28-34, 2003. [11] m. keil, and e. carmel, customer-developer links in software development, communications of the acm (38:5), pp.33-44, may 1995. [12] g. moore, crossing the chasm, harper collins, 1999. [13] r. k. yin, the abridged version of case study research: design and method, in l.bickman and d. j. rog handbook of applied social research methods, thousand oaks, ca: sage, pp.229-259, 1998. [14] w. tellis, introduction to case study, the qualitative report (3:2) july 1997. (http://www.nova.edu/ssss/qr/qr3-2/tellis1.html) [15] k. m. eisenhardt, building theories from case study research, academy of management review (14:4), pp.532-550, 1989. [16] r. yin, case study research: design and methods, thousand oaks, london, new delhi: sage, 1984. [17] d. dori, i. reinhartz-berger, and a. sturm, opcat a bimodal case tool for object-process based system development, proc. ieee/acm 5th international conference on enterprise information systems (iceis 2003), école supérieure d électronique de l ouest, angers, france, pp.286-291, april 23-26, 2003. [18] c. typaldos, social networking, viewed on http://www.typaldos.com/, 2003. [19] pest, viewed on http://www.marketingteacher.com/lessons/lesson_pest.htm, november 2004. [20] k. r. stam, j. m. stanton, i. r. and guzman, employee resistance to digital information and information technology change in a social service agency: a membership category approach, journal of digital information, vol. 5 issue 4, 2004. [21] c. f. kemerer, how the learning curve affects case tool adoption, ieee software, v. 9, pp.238, 1992. [22] m. lacity, and l. willcocks, information technology sourcing reflections, wirtschaftsinformatik, special issue on outsourcing, vol. 45(2), pp.115-125, 2003. a software system development life cycle model for improved stakeholders’ communication and collaboration 39 [23] t. baker, a. s. miner, and d. t. eesley, improvising firms: bricolage, account giving and improvisational competencies in the founding process, research policy, vol. 32, issue 2, pp.255-276, 2003. [24] vacuum marketing strategy. viewed on http://www.marketingsurvivalkit.com/advertising-salesstrategy.htm, october 2006. [25] r. g. fichman, and c. f. kemerer, the illusory diffusion of innovation: an examination of assimilation gaps.information systems research, information systems research (10:3), pp. 255-275, 1999. [26] s. cohen, a multi-tier system development life cycle model for off-the-shelf software with market and organizational effects. ph.d. dissertation, faculty of industrial engineering and management, technion, haifa, israel, 2007. [27] d. vera, and m. crossan, improvisation and innovative performance in teams, organization science, vol. 16, no. 3, pp. 203-224, may-june 2005. [28] a. n. alderman, implementing the whole product concept in strategic sector marketing, proceedings of the fifteenth annual ieee applied power electronics conference and exposition, new orleans, la, usa, pp.27-30, 2000. [29] jwr, viewed on: http://jwr.strategictechnology.com/ pages/choosingsoftware.pdf, november 2005. [30] t. levitt, marketing intangible products and product intangibles, harvard business review, vol. 59 no. 3, pp.94-102, 1981. [31] s. l. brown, and k. m. eisenhardt, the art of continuous change: linking complexity theory and time-paced evolution in relentlessly shifting organizations, administrative science quarterly, vol. 42, no. 1, pp. 1-34, 1997. [32] s&m, how software firms spend their s&m dollars?, http://www.softletter.com/pdfs/fhp10p13.pdf, 2006. [33] a. l. stinchcombe, social structure and organizations in james g. march (ed.), handbook of organizations, chicago: rand mcnally, 1965. [34] s. singh, and p. kotze, an overview of systems design and development methodologies with regard to the involvement of users and other stakeholders, proceedings of saicsit, pp.37-47, 2003. [35] m. cusumano, the business of software: what every manager, programmer, and entrepreneur must know to thrive and survive in good times and bad, free press, 2004. [36] k. b. clark, and s. c. wheelwright, managing new product and process development: text and cases, new york: free press, 1993. [37] k. b. clark, and s. c. wheelwright, the product development challenge: competing through speed, quality, and creativity, boston: harvard business school press, 1995. [38] s. c. wheelwright, and k. b. clark, accelerating the design-build-test cycle for effective product development, international marketing review (11:1), pp.32-46, 1994. [39] b. boehm, and p. bose, a collaborative spiral software process model based on theory w, proceedings, 3rd international conference on the software process, applying the software process, ieee, 1994. 40 s. cohen, d. dori, u. de haan [40] c. h. fine, clockspeed: winning industry control in the age of temporary advantage, perseus publishing, 1999. [41] d. avison, and g. fitzgerald, where now for development methodologies?, communications of the acm, vol. 46, no. 1, pp.78-82, 2003. [42] c. ebert, requirements engineering: understanding the product life cycle: four key requirements engineering techniques, ieee software, pp.19-25, may/june 2006. [43] e. mustonen-ollila and k. lyytinen, why organizations adopt information system process innovations: a longitudinal study using diffusion of innovation theory, information systems journal (13:3), pp.275-297, july 2003. [44] h. c. jr. lucas, and v. spitler, technology acceptance and performance: a field study of broker workstations, decision sciences journal, (30:2) 1999. [45] f. d. davis, perceived usefulness, perceived ease of use, and user acceptance of information technology, mis quarterly, pp.319-339, 1989. [46] g. c. moore, and i. benbasat, development of an instrument to measure the perceptions of adopting an information technology innovation, information systems research (2:3), pp.192-220, september 1991. [47] j. c. brancheau, and j. c. wetherbe, the adoption of spreadsheet software: testing innovation diffusion theory in the context of end-user computing, information systems research (1:2), pp.115-142, 1990. [48] r. b. cooper, and r. w. zmud, information technology implementation research: a technological diffusion approach, management science (36:2), pp.123-139, 1990. [49] j. verville, and a. halingten, an investigation of the decision making process for selecting an erp software: the case of esc, management decision (40:3), pp.206-216, 2002. [50] p. nelson, w. richmon, and a. seidmann, two dimensions of software acquisition, communications of the acm, (39:7), pp.29-35, 1996. [51] j. iivari, and i. ervasti, the impact of alternative is acquisition options upon the is implementation and success, in proceedings of the 1992 acm sigcpr conference on computer personnel research, cincinnati, ohio, united states, pp.338 349. [52] m. c. paulk, structured approaches to managing change, crosstalk: the journal of defense software engineering (12:11) november, pp.4-7, 1999. [53] nordman, commercialization success in early stage technology companies, viewed on www.rocketbuilders.com/ commercialization/ rb_commercialization_presentation_jun2004.pdf, 2004. [54] y. lee, and g. colarelli o’connor, new product launch strategy for network effects products, journal of the academy of marketing science, (31:3), pp.241-255, 2003. [55] e. montaguti, s. kuester, and t. s. robertson, entry strategy for radical product innovations: a conceptual model and propositional inventory, international journal of research in marketing, (19), pp.21-42, 2002. a software system development life cycle model for improved stakeholders’ communication and collaboration 41 [56] s. shane, and s. venkataraman, the promise of entrepreneurship as a field of research, academy of management review, vol. 25, no. 1, pp.217-226, 2000. [57] s. shane, entrepreneurship: a process perspective, south-western college pub; 1st edition, january 2004. [58] f. murray, and m. tripsas, the exploratory process of entrepreneurial firms: the role of purposeful experimentation, advances in strategic management, vol. 21, pp.45-75, 2004. [59] nih system development life cycle (sdlc) it security activities matrix, viewed on http://irm.cit.nih.gov/ security/nih-sdlc.html, december 2006. [60] doj, the department of justice systems development life cycle guidance document, viewed on http://www.usdoj.gov/ jmd/irm/lifecycle/table.htm, january 2003. [61] agile software development: a definition from whatis.com viewed on:http://whatis.techtarget.com/ definition/0„sid9_gci936457,00.html, november 2006. shalom cohen (b. december 16, 1973) completed his msc in operations research at tel aviv university, israel and his phd in the faculty of industrial engineering and management at the technion, israel. in addition to lecturing at the technion on information system related topics shalom holds the position of chief system architect in a high tech company in the homeland security sector. dov dori (b. september 2, 1953) is information and systems engineering professor at the faculty of industrial engineering and management, technion, israel, and research affiliate with the engineering systems division at massachusetts institute of technology. he received his bsc in industrial engineering and management from technion in 1975, msc. in operations research from tel aviv university in 1982 and phd in computer science from weizmann institute of science in 1988. uzi de haan (b. september 5, 1943) completed his msc in aeronautical engineering at the university of delft, holland and his phd in the faculty of industrial engineering and management at the technion, israel. he joined the technion as a professor in the area of strategic management and entrepreneurship at the faculty of industrial engineering after many years in the high-tech industry. int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. iii (2008), no. 2, pp. 196-203 virtual training centre for computer numerical control m. sahin, s. yaldiz, f. unsacar, b. yaldiz, n. bilalis, e. maravelakis, a. antoniadis abstract: it is a fact that virtual training has been a scope of interest for vocational training for a very long time. however, it needs more time to be more common in all specific training fields. focusing on computer numerical control (cnc) training, new developments in the cnc machinery produce a continuous demand on enhancing the programming and technical capabilities of the involved personnel. training on cnc should follow similar developments and in particular in their programming capabilities, automation they offer and their technical capabilities. based on these main objectives a virtual training center (vtc) for cnc has been developed and it is presented in this paper. the vtc is the main result of a multilateral leonardo da vinci project witch aims to promote and reinforce vocational training in cnc machines. keywords: virtual training center, cnc, vet. 1 introduction in most member states the past two decades there has been a growing awareness of the importance of quality in vocational education and training (vet). the changing demands of the knowledge-based society and the overall trend to increase the efficiency and effectiveness of vet systems, constitute major driving forces behind these developments. major european funding frameworks and programmes, such as leonardo da vinci (ldv) have contributed to improving education and vet systems by raising the level of the services they offer. one of the objectives of the innovative vet systems is the transparency and distribution of information. this function concerns the potential and actual use of information. there may be different systems and structures of information distribution among the various actors, and in the public and there are preconditions for creating transparency in the vet system. to improve quality there must be systems for distributing information and certain mechanisms to ensure the circulated information can be used by the various actors in the policy process. the more widespread the distribution, the better the potential use of the data will be and as a reversal effect, better quality data can be expected, as the actors are able to check the information against their experience and will provide feedback to the systems for gathering data. one of the concrete future strategic objectives of education and training systems in the eu (council of the european union, 2001) is the improvement of the quality and the effectiveness of education and training systems in the eu. this includes improving education and training for teachers and trainers, developing skills for the knowledge society, ensuring access to ict for everyone, increasing recruitment to scientific and technical studies, and making the best use of resources. the second strategic objective is facilitating the access of all to education and training systems. this objective includes open learning environment, making learning more attractive, and supporting active citizenship, equal opportunities and social cohesion. this paper describes the main results of a ldv project that addresses the strategic objectives mentioned above. 2 from the blackboard to the virtual training centre during the 60’s and 70’s, teaching and learning tools were nothing but a piece of chalk and a blackboard eraser, teachers and students who met each other face to face inside the classroom during class. copyright © 2006-2008 by ccc publications virtual training centre for computer numerical control 197 in the 80’s, videotape programs were used as teaching aids. in the 90’s, one-way teaching by computer arrived. and finally today’s advanced computer and information network technology has introduced radical innovative breakthroughs in our teaching and learning methods as well as in the learning environment. students can listen to their teacher or trainers in distant classrooms through pc’s and get a simultaneous view of their teachers and texts as well. they can ask questions and record the "class" for repeated viewing. training organizations can conduct professional training directly via the computer network. these learning environments are not so different from a teacher-guided class with discussions and tests as well. in the report "studies in the context of the e-learning initiative: virtual models of european universities" [1] a key concern was how virtual mobility is being supported in european universities through ict integration and e-learning. the study found that the majority of universities face major challenges in promoting ict integration. ict strategy is very important and those universities that have an ict strategy are significantly ahead in integration of ict in administration and organisation and networking. integration of ict and e-learning is politically important in the eu in terms of internationalisation and globalisation of education, student demand and interest in increasing the quality of education through ict [2], [3], [4]. at the national level, integration of ict should become a key priority with national and regional institutions making a commitment to itc and the development of networks. there must be increased national flexibility with a commitment to support common standards of quality and assessment and to develop national and international metadata standards. in the last 3 decades, a large number of vocational training centres and technical universities are giving priority to cnc training. new developments on cnc machines are providing a continuous need for updated cnc training curriculum. training on cnc should follow similar developments and in particular in their programming capabilities, automation they offer and their technical capabilities. in addition, cnc programming is becoming more and more automated through the use of cad/cam systems. this requires from the programmers to acquire cad operation capabilities, on top of their cnc operation and programming knowledge. the major objective in the field of cnc training is to improve the qualifications and competences of the trainees, which is directly related to a well-designed and effective curriculum to be carried out on cncs. the facilities for cnc training vary a lot and this has had direct impact on the experience that the trainee is acquiring during his/her apprentice. this paper presents the development and promotion of a virtual training centre (vtc), an internet based e-learning facility, specifically based on computer numerical control (cnc) training. this centre includes a virtual space (a cnc training portal) on the internet which allows the constant sharing of e-learning based cnc teaching material, which is created so as to foster the further development of e-learning based cnc educational contents. this virtual training centre aims at setting the standard cnc virtual learning in vocational training systems [5]. 198 m. sahin, s. yaldiz, f. unsacar, b. yaldiz, n. bilalis, e. maravelakis, a. antoniadis 3 developing a common cnc curriculum during the first stages of the project, the equipment, methods, curriculum and techniques currently used for cnc training by the organisations in the partner countries were observed, collected and evaluated [6], [7]. the selected materials were used to create a new and common curriculum. five important factors that contribute to learning were taken into account in order to prepare the cnc curriculum: • motivation • aptitude • presentation • repetition • practice with reinforcement the approach for developing the appropriate training material was based on the following key concepts: • motivation • know your machine (from a programmer’s viewpoint) • prepare to write programs • understand the motion types • know the compensation types • format your programs in a safe, convenient, and efficient manner • know the special features of programming • know your machine (from an operator’s viewpoint) • understand the three modes of operation • know the procedures related to operation • you must be able to verify programs safely this approach combined with the important learning factors finally led to a cnc training curriculum including 28 sessions: 1. machine configuration 2. speeds and feeds 3. visualizing program execution 4. understanding program zero 5. measuring program zero 6. assigning program zero 7. flow of program processing 8. introduction to programming words virtual training centre for computer numerical control 199 9. preparation for programming 10. types of motion 11. introduction to compensation 12. dimensional (wear) tool offsets 13. geometry offsets 14. tool nose radius compensation 15. program formatting 16. the four kinds of program format 17. simple canned cycles 18. rough turning and boring multiple repetitive cycle 19. more multiple repetitive cycles 20. threading multiple repetitive cycle 21. subprogramming techniques 22. control model differences 23. other special features of programming 24. control model differences 25. machine panel functions 26. three modes of operation 27. the key operation procedures 28. verifying new programs safely 4 the structure of the virtual training centre to develop the virtual training centre, firstly, a communication website was developed in order to manage the activities and tasks to be carried out by the partners. then, an interactive teaching program was developed and put into a website to form a virtual training centre (figure 1). the common curriculum developed for this purpose was the base of this training centre. the site, along with the interactive teaching program, was divided into four main areas, "news", "exchange of views", "projects and networks", and "information resources". with these, users would be able to access a newsletter, a bulletin board, online surveys and survey reports, information on vet networks, an electronic library with references, a bookshop with downloadable publications and a number of databases. 200 m. sahin, s. yaldiz, f. unsacar, b. yaldiz, n. bilalis, e. maravelakis, a. antoniadis figure 1: the interface of the interactive cnc training centre (http://www.vtcforcnc.com) figure 2: example of 3phase animated cnc training material virtual training centre for computer numerical control 201 in the main core of the cnc training material, simulations and practical exercises are included into the interactive training centre (figure 2). the feedback of the implementation of the vtc in training centres has been recorded and evaluated in order to produce the final version. the evaluation procedure included content (topics, language used, modules), methods (progress, different levels of difficulty, and range of resources, situations and practical cases) and technology (ease of installation, interactive nature and use without a tutor). the main aim of the vtc for cnc aims is to be an interactive platform, a meeting point for policymakers, social-partners, practitioners, researchers and all those with an interest in cnc field of vocational education and training. experts in the field are able to share and exchange knowledge and experience with associates within and outside the european union. this will foster the long-term viability of the centre. 5 aims and target groups of the vtc the vtc aims to improve the skills and competences of people to promote and reinforce the contribution of vocational training to the process of innovation, with a view to improving competitiveness and entrepreneurship, also in view of new employment possibilities. the specific aims of vtc can be defined as follows: • training the trainers, trainees, technicians and apprentices and all enthusiastic about cnc. • preparing technicians as intermediates having common measurable qualities the industry is seeking. • helping to form a labour force that can use current knowledge and technology, and thus, in search for life-long learning. • supporting the sectoral communication through the national centres in partners. • setting up a website to publish the data collected. • adapting the collected materials to enhance the new curriculum satisfying the requirements in a modern sense. • helping to improve and upgrade competences and skills of the involving institutions’ didactic staff and exchange experiences over the virtual training centre. • enabling the participants to extend the common educational qualifications of cnc technologies, the accreditation of the skills and knowledge of cnc technologies acquired within the network created between participating institutions and organizations. • increase the quality of employment through qualified workers. • helping to increase active use of technology acquired and thus to increase the standards. • contributing to individuals by behaving through life long learning. • having a labour power in accordance with common design and production standards. • contributing to labour market by using the common technology and equipment effectively. 202 m. sahin, s. yaldiz, f. unsacar, b. yaldiz, n. bilalis, e. maravelakis, a. antoniadis • helping to enhance available potential of human sources. target groups include trainers, trainees, technicians, apprentices and all enthusiasts about cnc. the final and potential users of the project’s results are the training organisations, the smes dealing with metal products by cnc usage, and the universities, colleges, vocational schools, training centres. 6 conclusions the integration of itc in this virtual learning environment for cnc, the development of the vtc and the common training curriculum are focused on the eu goals of of internationalisation and globalisation of education, student demand and interest in increasing the quality of education through ict. at the national level, integration of ict should become a key priority with national and regional institutions making a commitment to itc and the development of networks. there must be increased national flexibility with a commitment to support common standards of quality and assessment and to develop national and international metadata standards. this centre addresses the priorities expressed here. furthermore, this virtual training centre addresses the strategic objectives mentioned above: improving the quality and effectiveness of education and training systems in the eu by developing skills for the knowledge society, ensuring access to ict for everyone, increasing recruitment to scientific and technical studies, and making the best use of resources. facilitating the access of all to education and training systems by providing open learning environment, making learning more attractive, and supporting active citizenship, equal opportunities and social cohesion is the other strategic objective that can be achieved through this virtual training centre. the experiences and knowledge gained during the implementation of this centre can be used in developing and improving other training programmes in particular in the area of new information technology applications in related sectors. bibliography [1] ramboll, pls: studies in the context of the e-learning initiative: virtual models of european universities (lot1). draft final report to the european commission, dg education and culture. available at http://elearningeuropa.info available at http://elearningeuropa.info, 2004. [2] a. andreatos, virtual communities and their importance for informal learning, international journal of computers, communications & control, vol. ii, no. 1, pp. 39-47, 2007. [3] a. styliadis, i. karamitsos, d. zachariou, personalized e-learning implementation the gis case, international journal of computers, communications & control, vol. i, no. 1, pp. 59-67, 2007. [4] c. zhengxin, learning about learners: system learning in virtual learning environment, international journal of computers, communications & control, vol. i (2008), no. 1, 2007. [5] m. sahin, n. bilalis, s. yaldiz, a. antoniadis, f.unsacar, e. maravelakis, revisiting cnc traininga virtual training centre for cnc international conference on e-portfolio process in vocational education-epvet, bucharest, romania, 2007. [6] w. xiaoling, z. peng, w. zhifang, s. yan, l. bin, l. yangchun, development an interactive vr training for cnc machining, international conference on virtual reality continuum and its applications in industry, proceedings vrcai 2004 acm siggraph, pp. 131-133, 2004. [7] l. yadong, g. xingui, l. wei, y. kazuo , k. keizo and m. fujishimab, an intelligent nc program processor for cnc system of machine tool, robotics and computer-integrated manufacturing, vol 23 (2), pp 160-169, 2007. virtual training centre for computer numerical control 203 mehmet sahin, suleyman yaldiz, faruk unsacar, burak yaldiz technical science college selcuk university 42031 konya, turkey e-mail: mesahin,syaldiz,funsacar@selcuk.edu.tr nikolaos bilalis department of production engineering & management technical university of crete 73100, chania, greece e-mail: bilalis@dpem.tuc.gr emmanuel maravelakis, aristomenis antoniadis department of natural resources & environment design & manufacturing laboratory technological educational institute of crete 73133 chania, greece e-mail: marvel,antoniadis@chania.teicrete.gr received: december 20, 2007 int. j. of computers, communications & control, issn 1841-9836, e-issn 1841-9844 vol. v (2010), no. 3, pp. 280-291 extreme data mining: inference from small datasets r. andonie răzvan andonie computer science department central washington university, ellensburg, usa and department of electronics and computers transylvania university of braşov, romania e-mail: andonie@cwu.edu abstract: neural networks have been applied successfully in many fields. however, satisfactory results can only be found under large sample conditions. when it comes to small training sets, the performance may not be so good, or the learning task can even not be accomplished. this deficiency limits the applications of neural network severely. the main reason why small datasets cannot provide enough information is that there exist gaps between samples, even the domain of samples cannot be ensured. several computational intelligence techniques have been proposed to overcome the limits of learning from small datasets. we have the following goals: i. to discuss the meaning of "small" in the context of inferring from small datasets. ii. to overview computational intelligence solutions for this problem. iii. to illustrate the introduced concepts with a real-life application. 1 introduction small dataset conditions exist in many applications, such as disease diagnosis, fault diagnosis or deficiency detection in biology and biotechnology, mechanics, flexible manufacturing system scheduling, drug design, and short-term load forecasting (an activity conducted on a daily basis by electrical utilities). in this section, we describe a computational chemistry problem, review a class of neural networks to be used, and summarize our previous work in this area. 1.1 a real-world problem: assist drug discovery current treatments for hiv/aids consist of co-administering a protease inhibitor and two reverse transcriptase inhibitors (usually referred to as combination therapy). this therapy is effective in reducing viremia to very low levels; however, in 30-50% of patients it is ineffective due to resistance development often caused by viral mutations. due to resistance and poor bioavailability 1 profiles, as well as toxicity associated with these therapies, there is an urgent need for more efficient design of drugs. we focus on inhibitors to the hiv-1 protease enzyme, using the ic as the target value. a detailed description of the problem, from a computational chemistry point of view, can be found in our papers [1–3]. the ic value represents the concentration of a compound that is required to reduce enzyme activity by 50%. a low ic value indicates good inhibitory activity. the available dataset consists of 196 compounds with experimentally determined ic values. twenty of these molecules are used as an external test set after the training is completed. the remaining 176 molecules are used for training and cross-validation. our practical goal is to predict the (unknown) ic values for 26 novel compounds which are candidates for hiv-1 protease inhibitors. we use two ic prediction accuracy measures: the rmse (root mean squared error) and the symmetric mean absolute percentage error (smape). 1bioavailability is the rate at which the drug reaches the systemic circulation. copyright c© 2006-2010 by ccc publications extreme data mining: inference from small datasets 281 the easiest way to represent a molecule is by a vector of features (molecular descriptors) which may be both topological indices and physico-chemical properties. the resulting features may be numerous and inter-correlated. using the complete set of descriptors may lead to overfitting, if it is too large compared to the size of the training set. we select 35 molecular descriptors based on their contribution to molecular entity. although biological activity data has been obtained for many more chemical structures at various pharmaceutical companies and academic laboratories, they are not available in the public domain. actually, most classical studies for a specific enzyme system have been performed on small datasets, due to limited experimentally determined biological activity values in the public domain. the dimensionality (the number of physico-chemical features) characterizing these molecules is relatively high. our dataset shares these undesired characteristics: it is small, with relatively many features, and highly overlapping. 1.2 prerequisites: famr for ic prediction the famr is a fuzzy artmap (fam) incremental learning system used for classification, probability estimation, and function approximation. we review the basic famr notation. details can be found in [4]. a fam consists of a pair of fuzzy art modules, arta and artb, connected by an inter-art module called mapfield. the fuzzy arta module contains the input layer, f a , and the competitive layer, f a  [5]. a preprocessing layer, f a , is also added before f a  . the art modules create stable recognition categories in response to arbitrary sequences of input patterns. the arta and artb vigilance parameters, ρa and ρb, control the matching mechanism inside the modules. during learning, the mapfield weights are updated: the strength of the weight projecting from the selected arta category to the correct artb category is increased, while the strengths of the weights to other artb categories are decreased. a mapfield vigilance parameter ρab calibrates the degree of predictive mismatch necessary to trigger the search for a different arta category. if the weight projecting from the active arta category through the mapfield to the active artb category is smaller than ρab (vigilance test), then the system responds to the unexpected outcome through the so-called match tracking. this triggers an arta search for a new input category. after choosing an arta category whose prediction of the correct artb category is strong enough, match tracking is disengaged, and the network is said to be in a resonance state. in this case, mapfield learns by updating the weights wabjk of associations between each j-th arta category and each k-th artb category. the famr uses the following iterative updating scheme: wab(new)jk =    wab(old)jk if j 6= j wab(old)jk + qt qnewj (  − wab(old)jk ) wab(old)jk (  − qt qnewj ) if k 6= k (1) where qt is the relevance assigned to the tth input pattern (t = , , . . . ) and qnewj = q old j + qt . the relevance qt is a real positive finite number directly proportional to the importance of the experiment considered at step t. this wabjk approximation is a correct biased estimator of the posterior probability p(k| j), the probability of selecting the k-th artb category after having selected the j-th arta. fam (and famr) networks map subsets of rn to rm and can be used for function approximation. the fam has been proven to be a universal function approximator [6]. we use the famr to predict functions that are known only at a certain number of points. more specifically, we predict ic values. 1.3 our previous work the present paper is based on a sequence of results, each describing new computational intelligence tools for biological activity (ic) prediction. in [7], we investigated the use of a fuzzy neural network 282 r. andonie (fnn) for (ic) prediction. in [1] and [2], we improved this model by adding a two-stage genetic algorithm (ga) optimizer: the first for selecting the best subset of features and the the second for optimizing the fnn parameters. we will refer to this ga-optimized fnn as fs-ga-fnn. in [8] we also focused on the ic prediction task, using the famr model. during the learning phase, each sample pair is assigned a relevance factor proportional to the importance of that pair. the prediction method consists of two stages. first, ga-optimization incorporating cross-validation is used to modify the training dataset. this modification consists of finding the best relevances for the data, according to some fitness criterion. the fitness criterion measures the famr ic prediction accuracy for a given training/validation dataset with given relevances. in stage two, the final famr is obtained by training it using the dataset with optimized relevances. in other words, stage one improves the generalization capability of the famr which will be obtained in stage two. we will refer to this model with gaoptimized relevances as ga-famr. we compared the ga-famr and the ordered famr (a famr algorithm which optimizes the order of training data presentation) in [9]. both methods compensate for insufficient training data by additional optimizations. a trade-off between computational overhead and generalization capability is obtained. recently, we performed rule extraction from the trained famr model [10]. we post-processed the set of generated rules in order to improve generalization. we eliminated overfitting by heuristic generalization of rules and by adding new rules. this method proved to be efficient for small training sets. the present paper results from several invited talks [9, 11, 12]. in section 2, we discuss the capability of neural network to infer from rare samples. section 3 describes two methods for neural training on small datasets. after presenting and discussing experimental results in section 4, we conclude with our final remarks (section 5). 2 neural networks trained on small datasets we aim to discuss the difficulties of inferring a neural network (nn) from small, or non-representative, training sets. we will look closer at the overfitting and generalization aspects of the network. but first, we need to define formally what we understand by "small training set". 2.1 what is "small"? in many multivariable classification or regression (e.g., estimation or forecasting) problems we have a training set tp = (xi,ti) of p pairs of input/output vector x ∈