Paper Menu >>
Journal Menu >>
J. Software Engineering & Applications, 2010, 3, 803-812 doi:10.4236/jsea.2010.38093 Published Online August 2010 (http://www.SciRP.org/journal/jsea) Copyright © 2010 SciRes. JSEA 803 Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Nazir Ahmad Zafar, Ajmal Hussain, Amir Ali Faculty of Information Technology, University of Central Punjab, Lahore, Pakistan. Email: {dr.zafar, ajmal, amiralishaihid}@ucp.edu.pk Received June 12th 2010; revised July 10th 2010; accepted July 15th 2010. ABSTRACT Automata theory has played an important role in theoretical computer science since last couple of decades. The alge- braic automaton has emerged with several modern applications, for example, optimization of programs, design of mod- el checkers, development of theorem provers because of having certain interesting properties and structures from alge- braic theory of mathematics. Design of a complex system requires functionality and also needs to model its control be- havior. Z notation has proved to be an effective tool for describing state space of a system and then defining operations over it. Consequently, an integration of algebraic automata and Z will be a useful computer tool which can be used for modeling of complex systems. In this paper, we have linked algebraic automata and Z defining a relationship between fundamentals of these approaches which is refinement of our previous work. At first, we have described strongly con- nected algebraic automata. Then homomorphism and its variants over strongly connected automata are specified. Next, monoid endomorphisms and group automorphisms are formalized. Finally, equivalence of endomorphisms and auto- morphisms under certain assumptions are described. The specification is analyzed and validated using Z/Eves toolset. Keywords: Formal Methods, Z notation, Algebraic Automata, Validation and Verification 1. Introduction Now a day, the complex and critical systems have shifted from electro-mechanical systems to computerized syst- ems. As a result, it requires controlling these systems by computer software. When software is used in such com- plex systems its failure may cause a huge loss in terms of deaths, injuries or financial losses. Therefore, construc- ting correct software is as important as its other counter- parts including hardware and electro-mechanical systems [1]. Formal methods are mathematical approaches used for specification of properties of software and hardware systems [2]. Using formal methods, we can describe a mathematical model of a system and then it can be anal- yzed and validated by computer tools such as model checkers and theorem provers [3]. Current formal app- roaches cannot be applied to develop a system using a single formal technique and as a result its integration is required with other traditional approaches. That is why integration of approaches has become a well-researched area [4-10]. There are a large variety of specification techniques which are suitable for specific aspects in the software development process. For example, Z, algebraic techniques, VDM, RAISE and B are usually used for defining data types while petri-nets, process algebra and automata are best suited for modeling dynamic aspects of systems [11]. Because of having well-defined mathe- matical syntax and semantics of the formal techniques, it is required to identify and link these approaches for modeling of consistent, correct and complete computer- ized systems. There exists a lot of work on integration of approaches but does not exist much work on formalization of graphi- cal based notations. The work [12,13] of Dong et al. is close to ours in which they have integrated Object Z and Timed Automata. Another piece of good work is listed in [14,15] in which R. L. Constable has given a constructive formalization of some important concepts of automata using Nuprl. A combination of Z with statecharts is given in [9]. A relationship is investigated between Petri-nets and Z in [16,17]. An integration of B and UML is given in [18,19]. Wechler W. has introduced algebraic struc- tures in fuzzy automata [20]. In [21], a treatment of fuzzy automata and fuzzy language theory is given when the set of possible values is a closed interval [0, 1]. Ito M. has described formal languages and automata from the alge- braic point of view in which the algebraic structures of automata are investigated and then a kind of global the- ory is treated [22]. Kaynar D. K et al. has presented a Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 804 modeling framework of timed computing systems [23]. In [24], Godsil C. et al. has presented some ideas of alge- braic graphs with an emphasis on current topics rather than on classical structures of graphs. Automata theory has proved to be a useful tool in theoretical computer science since last couple of decades. The algebraic automaton is an advanced form of auto- mata which has very interesting properties and structures from algebraic theory of mathematics. The applications of algebraic theory of automata are not limited to com- puters but are being seen in many other disciplines of science and engineering, for example, representing cha- racteristics of natural phenomena in biology [25] and modeling of chemical systems using cellular automata [26]. Another interesting application, in which a system is described for synthesizing physics-based animation programs based on hybrid automata, is presented in [27]. Because of having special algebraic characteristic, an automaton can easily be extended to develop algebraic automata. In our previous work, some preliminary results on in- tegration of algebraic automata and Z notation were pre- sented in terms of a formal proof of equivalence in endo- morphisms and automorphisms over strongly connected automata [28,29]. Few inconsistencies and errors are observed there which are presented after correction. For example, the set of states in the strongly connected au- tomata must be finite which was not described correc- tly. The homomorphism was defined as a change in state using schema structure which is now corrected to define as a relationship between two different structures of strongly connected automata. The similar corrections have been made in defining endomorphism, isomorphism and automorphism. Because all of these morphisms are reused in defining monoids and groups therefore rest of the specifications is refined accordingly. First, we have given formal specification of strongly connected alge- braic automaton and then homomorphism with its vari- ants over the automata are formalized and generalized. Next, monoid endomorphisms and group automorphisms are described. Finally, a formal proof of their equiva- lence is given under certain assumptions. The formal models are analyzed and validated using Z/Eves toolset. In Section 2, an overview of Z notation is given. In Section 3, Formal models of morphisms over algebraic automata are provided. In Section 4, an approach is pre- sented to analyze the resultant formal models. Conclu- sion and future work are discussed in Section 5. 2. An Introduction to Z Notation Formal methods are approaches used for describing and analyzing properties of software and hardware systems [30]. There are several ways in which formal methods may be classified. One frequently-made distinction is between property oriented and model oriented methods [31]. Property oriented approaches are used to describe the operations defining their relationships. Property ori- ented methods usually consist of two parts. The first one is the signature part which is used for defining syntax of an operation and the other one is an equations part used for defining semantics of the operation by a set of axioms called the rules. The OBJ language [32] and algebraic specification of abstract data types [33] are examples of property oriented methods. Model oriented methods are used to construct a model of a system and then allows to defining operations over it [34]. The Z is a model ori- ented approach based on set theory and first order predi- cate logic [35] used for specifying behavior of abstract data types and sequential programs. A brief overview of Z is given by taking a case from the book “Using Z: specification, refinement and proof” by Woodcock and Davies [36]. A programming interface is taken as case study for file system. A list of operations which is defined after defining the entire system is: 1) read: used to read a piece of data from a file, 2) write: used to write a piece of data to a file, 3) access: may change the availability of a file for reading and writing over the file of the system. A file is represented as a schema using a relation be- tween storage keys and data elements. Basic set types are used for simple specification. The variables name, type, keys and data elements of a file are represented as Name, Type, Key and Data respectively in Z notation. An axio- matic definition is used to define a variable null which is used to prove that the type of a file cannot be null even there are no contents on a file. [Name, Type, Key, Data]; null: Type A file consists of its contents and type which are spe- cified by contents and type respectively. The schema structure is usually used because of keeping specification flexible and extensible. In the predicate part, an invariant is described proving that the file type is non null even there are no contents in it. As a file can associate a key with at most one piece of a data and hence the relation contents is assumed to be a partial function. Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 805 The read operation is defined over the file to interro- gate its state. A read operation requires an existing key as input and provides the corresponding data as output. The symbol is used when there is no change in the state. Now the structure File means that the bindings of File and File’ are of same type and equal in value. The deco- rated file, File’, represents the next state of the file. In the read operation, it is unchanged because the variable k? is given as input and the output is returned to the variable d!. The symbols ? and ! are used with input and output variables respectively. In the predicate part of the schema, first it is ensured that the input key k? is in the domain of contents. Then the value of data against it is returned to the output variable d!. Another operation is defined to write contents over the given file. The symbol is used when there is a change in the state. In the schema defined below, the structure File gives a relationship between File and File’ repre- senting that the bindings of File are changed. In this case, the write operation defined below replaces the data stored under an existing key and provides no output. The old value of contents is updated with maplet k? d?. The symbol is an override operator used to replace the previous value of a key with the new one in a given function. As a system may contain a number of files indexed using a set of names and some of which might be open hence it consists of two components namely collection of files known to the system and set of files currently open. The variable file is used as a partial function to associate the file name and its contents. The variable open is of type of power set of Name. The set of files which are open must be a subset of set of total files as described below in the schema. As the open and close operations neither change name of any file nor add and remove any file hence both are the access operations. It may change the availability of a file for reading or writing. In the schema FileAccess given below, the variable n? is used to check if the file to be accessed exist in the system. Further, it is also de- scribed that the file is left unchanged. Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 806 If we require creating another system with same pat- tern but with different components, then renaming can be used rather than creating the new system from the scratch. Renaming is sometimes useful because in this way we are able to introduce a different collection of variables with the same pattern. For example, we might wish to in- introduce variables n ewfile and newopen under the con- straint of existing system System. In this case, the new system NewSystem can be created in horizontal form by defining: NewSystem System[newfile/file, newopen/ open] which is equivalent to the schema given below in the vertical form. 3. Algebraic Automata and Morphisms As we know that automata theory has become a basis in the theoretical computer science because of its applica- tions in modeling scientific and engineering problems [37-40]. Algebraic automaton has some properties and structures from algebraic theory of mathematics. The algebraic automata have emerged with several modern applications in computer science. Further, the applica- tions of algebraic theory are not limited to computers but are being seen in many other disciplines of science, e.g., representing chemical and physical phenomena in chem- istry and biology. It is a well known fact that a given automata may have different implementations and con- sequently its time and space complexity must be different which is one of the major issues in modeling using au- tomata. Therefore it is required to describe the formal specification of automata for its optimal implementation. Formal models of algebraic automata are given in this section. At first, formal description of some important concepts of algebraic automata using Z is given. Homo- morphism and its variants are described. Then, formal description of monoid (group) on a set of endomor- phisms (automorphisms) is presented. Finally an equiva- lence of monoid endomorphisms and group automor- phisms over strongly connected automata is described. It is to be noted that the definitions used in this section are based on the book “Algebraic Theory of Automata and Languages” [22]. 3.1 Strongly Connected Algebraic Automaton A strongly connected automaton is a one for which if for any two given states there exists a string s such that the delta function connects these states through the string s. A strongly connected algebraic automaton (SCAA) is a 5-tuple (Q, ∑, δ, T, Epsilon), where 1) Q is a finite non- empty set of states, 2) ∑ is a finite set of alphabets, 3) δ is a transition function which takes a state and a string and produces a state, 4) T is a set of strings where each string is based on set of alphabets and 5) Epsilon is a null string. To formalize SCAA, Q and ∑ are denoted by S and X respectively at an abstract level of specification [S, X]. To describe a set of states for SCAA, a variable states is introduced. Since, a given state q is of type Q therefore states must be of type of power set of Q. For a set of al- phabets, the variable alphabets is used which is of type of power set of X. As we know that δ is a function be- cause for each input (q, u), where q is a state and u is a string there must be a unique state, which is image of (q, u) under the transition function δ. Hence we can declare δ as, S × seq X → S. The delta function takes a state and a string as input and produces the same state or new state as output. Be- cause we need to compute the set of all the strings based on the set of alphabets and hence the fourth variable is used and denoted by strings which is of type of power set of set of all the sequences, i.e., P(seq X). As we know that a sequence can be empty and hence a fifth variable is used representing it and is denoted by epsilon of type seq X. The schema structure is used for composition because it is very powerful at abstract level of specification and helps in describing a good specification approach. All of the above components are encapsulated and put in the schema named as SCAA. The formal description of the connected automaton is described. Invariants: 1) The null string is an element of strings. 2) If the transition function takes a state and null string as input, then it produces the same state. 3) For each (s, („aÒ^u)), where s is state, an alphabet and u is a string, the delta function is defined as: delta (s, („aÒ ^ u)) = delta ((delta (s, „aÒ)), u). 4) For any two states q1 and q2, there exists a string s such that: delta (q1, s) = q2. 3.2 Homomorphism and its Variants The word homomorphism means “same shape” and is an interesting concept because a similarity of structures can be verified by it. It is a structure in abstract algebra which preserves a mapping between two algebraic struc- tures, for example, monoid, groups, rings, vector spaces. Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 807 Now we give formal specification of it and its variants over strongly connected automata. In [22], Ito M. has given a concept of homomorphism and its variants over algebraic automata. Let A = (Q1, ∑1, δ1) and B = (Q2, ∑2, δ2) be two strongly connected automata represented by SCAAa and SCAAb respectively in Z. Let be a mapping from Q1 into Q2. If (δ1(q, x)) = δ2((q), x) holds for any q Q1 and x ∑1, then is called a homomorphism from Q1 to Q2. The formal definitions of both the automata are described by using the concept of renaming. SCAAaSCAA[statesa/states, alphabetsa/alphabets, stringsa/strings, deltaa/delta, epsilona/epsilon] SCAAbSCAA[statesb/states, alphabetsb/alphabets, stringsb/strings, deltab/delta, epsilonb/epsilon] A formal definition of homomorphism from A into B in terms of a schema is given below. It consists of three components, i.e., SCAAa, SCAAa and row. The variable row is a mapping from Q1 into Q2. The sets Q1 and Q2 are used for states of SCAAa and SCAAb respectively. Invariants: 1) For every q in set of states and s in set of strings of the first automata, if the mapping row satis- fies the condition: row (deltaa (q, s)) = deltab ((row q), s) then it conforms a homomorphism from automata SCAAa into SCAAb. If SCAAa = SCAAb in the homomorphism then it is called an endomorphism. The mapping row is defined from set of states S into itself. We have induced the for- mal definition of endomorphism from the definition of homomorphism because it is a special case of it. Let us define the bijection over two given sets. Let X and Y are two nonempty sets. A mapping from X to Y is called one to one if different elements of X have dif- ferent images in Y. That is, x1, x2 X; y Y • (x1) Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 808 = y and (x2) = y x1 = x2. The mapping is called onto if each element of Y is an image of some element of X. If a mapping is one to one and onto then it is called bijective. If the mapping defined in case of homomorph- ism is bijective from algebraic automata SCAAa to SCAAb then it is called an isomorphism and the auto- mata are said to be isomorphic. Formal description of isomorphism from SCAAa to SCAAb is given below. Invariants: 1) For all q1, q2 in set of states of SCAAa and q in set of states of SCAAb, if images of q1 and q2 are same under the mapping row then the elements q1 and q2 must be same. 2) Each element of the set of states of automata SCAAb is an image of some element of au- tomata SCAAa under the mapping row. If SCAAa = SCAAb then an isomorphism becomes an automorphism. Its formal description is given below along with its invariants which are not explained here because it is a repetition as given above in the schema Isomorph ism. 3.3 Formal Models of Monoid and Group Morphisms Let G be a nonempty set. The structure (G,*) under bi- nary operation * is monoid if (i) x, y G, x*y G, (ii) x, y, z G, (x*y)*z = x*(y*z), that is associative property is satisfied, (iii) x G, there exists an e G such that x*e = e * x = x, e is an identity of G. Let us suppose that E(A) = set of all the endomor- phisms over the strongly connected automata A. The for- mal specification of E(A) in terms of the schema Endo- morphisms is described below. Two variables are taken, the first one, is a set of all endomorphisms which is of type of power set of Endomorphism and is denoted by endomorphisms and, the second one, is a binary opera- tion denoted by boperation. It takes two endomorphisms as input and produces a new endomorphism. The com- ponents of Endomorphisms are defined in first part and invariants in the second part of it. Now we verify that E(A) is a monoid under binary operation defined above. Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 809 The algebraic structure (G, *) is called a group if 1) it is a monoid and 2) for any element x there exists y in G such that x*y = y*x = e. That is the inverse of each ele- ment of G exists. Let us suppose that G (A) = set of all automorphisms. For its formal specification, three vari- ables are assumed. The first one is a set of all automor- phism of type of power set of Automorphism. The second one is an identity element and the last one is binary op- eration denoted by boperation. It takes two automor- phisms as input and produces a new automorphism as an output. Invariant: The last one property verifies existence of inverse of each element in set G (A). The first three properties are same as in case of monoid endomorphisms defined above. Now we verify that the sets of endomorphisms and automorphisms over strongly connected algebraic auto- mata are same. This verification is done in terms of a schema named as Equivalence. There are three inputs to this schema which are Endomorphism , Endomorphisms and Automorphisms. At first, it is described that set of all endomorphisms are bijective and then it is checked that the number of elements must be same in both of the morphisms. Invariant: 1) There is a one to one correspondence between the set of Endomorphisms and Automorphisms. 2) Both the sets Endom orphisms and Automo rphi sms are of same type. 3) The total number of elements in both the morphisms are equal. 4. Model Analysis As we know there does not exist any computer tool which may guarantee about the correctness of a computer model. That is why we believe that even the specification is written, in any of the formal languages, it may contain potential errors. These errors may range from syntax er- rors to hazardous inconsistencies. The Z/Eves is one of the most powerful tools which can be used for analyzing the specification written in Z. It is integrated with various facilities which provide rigorous analysis increasing con- Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 810 fidence over the system to be developed. Further, it is to be mentioned that it has automated deduction capability and it supports the entire Z notation. A snapshot of the analyzed specification is presented below in Figure 1. The first column on left most of the figure shows a status of the syntax checking and the sec- ond one presents the status of proof correctness. The symbol ‘Y’ shows that specification is correct syntacti- cally and proof is correct while the symbol ‘N’ represents that errors are identified. In the schema, it is checked that the specification is correct in syntax and has a correct proof. Formal specification of a system can be manipulated by using a set of rules based on mathematical formulae provided by such computer tools. These tools allow us to explore properties of the systems to prove that the speci- fication of a system has certain meanings. The Z/Eves is one of the powerful tools used in our research to explore and analyze the specification which is a resultant of the integration of approaches proposed in this paper. 5. Conclusions The main objective of this research was linking algebraic automata and formal methods. To achieve this objective, an integration of some fundamental concepts of strongly connected algebraic automata and Z notation is proposed. At first we described formal specification of strongly connected algebraic automaton. Then we described two important concepts of homomorphism and isomorphism over the same automata. Extended forms of homomorph- ism and isomorphism were formalized by making the reuse of the components. In next, monoid endomor- phisms and group automorphisms were described. Fi- nally, a formal proof of equivalence between monoid endomorphisms and group automorphisms over strongly connected algebraic automata was verified. It is to be mentioned that preliminary results of this research were presented in [28] and [29] where some inconsistencies and error were identified which are refined and corrected in this work. Why and what kind of integration is required, were two basic questions in our mind before initiating this research. Automata are best suited for modeling behavior while formal methods are very useful describing proper- ties and state space of a system. An exhaustive survey of existing work was made before initiating this research. Figure 1. Snapshot of the tool used for model analysis Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 811 Some interesting work [41-43] was found but our work and approach are different because of abstract and con- ceptual level integration of Z and algebraic automata. We believe that this work will be useful in development of integrated tools increasing their modeling power. It is to be mentioned that most of the researchers have either taken some examples in defining integration of ap- proaches or addressed only some aspects. There is also a lack of formalism which can be supported by computer tools. Our work is different from others because we have given a generic approach to link Z and algebraic auto- mata which is verified by the Z/Eves toolset. After integration, we have observed that a natural rela- tionship exists between Z and algebraic automata. This work is also important because formalizing graph based notation is not easy as there has been little tradition of formalization in it due to concreteness of graphs [44]. Our work is useful for researchers interested in integra- tion of approaches. We believe that this research is also useful because it is focused on general principles and concepts and this integration can be used for modeling systems after required reduction. The Z/Eves toolset made it possible to capture the conceptual errors which otherwise could not have been identified. REFERENCES [1] A. Hall, “Correctness by Construction: Integrating For- mality into a Commercial Development Process,” Lecture Notes in Computer Science, Springer, Vol. 2391, 2002, pp. 139-157. [2] C. J. Burgess, “The Role of Formal Methods in Software Engineering Education and Industry,” Technical Report: CS-EXT-1995-045, University of Bristol, Bristol, 1995. [3] B. A. L. Gwandu and D. J. Creasey, “The Importance of Formal Specification in the Design of Hardware Systems,” School of Electron & Electrical Engineering, Birmingham University, Birmingham, 1994. [4] H. A. Gabbar, “Fundamentals of Formal Methods,” Mod- ern Formal Methods and Applications, Springer Nether- lands, 2006. [5] E. A. Boiten, et al., “Integrated Formal Methods (IFM 04),” Springer, Canterbury, 2004. [6] J. Davies and J. Gibbons, “Integrated Formal Methods (IFM07),” UK, Springer, 2007. [7] J. Romijn, G. Smith and J. V. D. Pol, “Integrated Formal Methods (IFM 05),” Springer, Eindhoven, 2005. [8] K. Araki, A. Galloway and K. Taguchi, “Integrated For- mal Methods (IFM99),” Springer, York, 1999. [9] R. Bussow and W. Grieskamp, “A Modular Framework for Integration of Heterogeneous Notations and Tools,” Integrated Formal Methods (IFM 99), Springer-Verlag, York, 1999, pp. 211-230. [10] W. Grieskamp, T. Santen and B. Stoddart, “Integrated Formal Methods,” Springer, Dagstuhl Castle, 2000. [11] T. B. Raymond, “Integrating Formal Methods by Unifying Abstractions,” Lecture Notes in Computer Science, Springer, Vol. 2999, 2004, pp. 441-460. [12] J. S. Dong, R. Duke and P. Hao, “Integrating Object-Z with Timed Automata,” 12th IEEE International Confer- ence on Engineering Complex Computer Systems, Auck- land, 2005, pp. 488-497. [13] S. Dong, et al., “Timed Patterns: TCOZ to Timed Auto- mata,” 6th International Conference on Formal Engineer- ing Methods, Seattle, 2004, pp. 483-498. [14] R. L. Constable, et al., “Formalizing Automata II: Decid- able Properties,” Cornell University, New York, 1997. [15] R. L. Constable, et al., “Constructively Formalizing Au- tomata Theory,” Foundations of Computing Series, MIT Press, Cambridge, 2000. [16] X. He, “Pz Nets a Formal Method Integrating Petri Nets with Z,” Information & Software Technology, Vol. 43, No. 1, 2001, pp. 1-18. [17] M. Heiner and M. Heisel, “Modeling Safety Critical Sys- tems with Z and Petri Nets,” International Conference on Computer Safety, Reliability and Security, Springer, Lec- ture Notes In Computer Science, Toulouse, Vol. 1698, 1999, pp. 361-374. [18] H. Leading and J. Souquieres, “Integration of UML and B Specification Techniques: Systematic Transformation from OCL Expressions into B,” Asia-Pacific Software En- gineering Conference, Gold Coast, 2002, pp. 495-504. [19] H. Leading and J. Souquieres, “Integration of UML Views using B Notation,” Proceeding of Workshop on Integra- tion and Transformation of UML Models, Málaga, 2002. [20] W. Wechler, “The Concept of Fuzziness in Automata and Language Theory,” Akademic-Verlag, Berlin, 1978. [21] N. M. John and S. M. Davender, “Fuzzy Automata and Languages: Theory and Applications,” Chapman & Hall, CRC, USA, 2002. [22] M. Ito, “Algebraic Theory of Automata and Languages,” World Scientific Publishing, Singapore, 2004. [23] D. K. Kaynar and N. Lynchn, “The Theory of Timed I/O Automata,” Morgan & Claypool, 2006. [24] C. Godsil and G. Royle, “Algebraic Graph Theory,” Springer, New York, 2001. [25] Z. Aleksic, “From Biology to Computation,” IOS Press Publishers, IOS Press, Amsterdam, 1993. [26] L. B. Kier, P. G. Seybold and C. K. Cheng, “Modeling Chemical Systems Using Cellular Automata,” Springer, New York, 2005. [27] T. Ellman, “Specification and Synthesis of Hybrid Auto- mata for Physics-based Animation,” Automated Software Engineering, Vol. 13, No. 3, 2006, pp. 395-418. [28] N. A. Zafar, A. Hussain and A. Ali, “Refinement: Formal Proof of Equivalence in Endomorphisms and Automor- phisms over Strongly Connected Automata,” Journal of Software Engineering and Applications, Vol. 2, No. 2, 2009, pp. 77-85. [29] N. A. Zafar, A. Hussain and A. Ali, “Formal Proof of Verifying Monoid and Group Morphisms over Strongly Connected Algebraic Automata Copyright © 2010 SciRes. JSEA 812 Equivalence in Endomorphisms and Automorphisms over Strongly Connected Automata,” Proceedings of the 2008 International Conference on Computer Science and Soft- ware Engineering, Wuhan, Vol. 2, 2008, pp. 792-795. [30] D. P. Tuan, “Computing with Words in Formal Methods,” University of Canberra, Canberra, Australia, 2000. [31] M. Conrad and D. Hötzer, “Selective Integration of For- mal Methods in Development of Electronic Control Units,” Proceedings of the 2nd IEEE International Con- ference on Formal Engineering Methods, Brisbane, 1998, pp.144-155. [32] M. Brendan and J. S. Dong, “Blending Object-Z and Timed CSP: An Introduction to TCOZ,” Proceedings of the 20th International Conference on Software Engineer- ing, Kyoto, 1998, pp. 95-104. [33] A. T. Nakagawa, et al., “Cafe an Industrial-Strength Alge- braic Formal Method,” Elsevier Science & Technology, Amsterdam, 2000. [34] J. V. Guttag and J. J. Horning, “The Algebraic Specifica- tion of Abstract Data Types,” Acta Informatica, Springer Berlin, Vol. 10, No. 1, 2004, pp. 27-52. [35] J. M. Spivey, “The Z Notation: A Reference Manual,” International Series in Computer Science, Prentice Hall, 1989. [36] J. M. Wing, “A Specifier: Introduction to Formal Meth- ods,” IEEE Computer, Vol. 23, No. 9, 1990, pp. 8-24. [37] J. Woodcock and J. Davies, “Using Z: Specification, Re- finement and Proof,” Prentice Hall, International Series in Computer Science, 1996. [38] J. A. Anderson, “Automata Theory with Modern Applica- tions,” Cambridge University Press, Cambridge, 2006. [39] L. L. Claudio, et al., “Applications of Finite Automata Representing Large Vocabularies,” Software Practice & Experience, Vol. 23, No. 1, 1993, pp. 15-30. [40] Y. V. Moshe, “Nontraditional Applications of Automata Theory,” Proceedings of the International Conference on Theoretical Aspects of Computer Software, Lecture Notes in Computer Science, Vol. 789, Sendai, 1994, pp. 575-597. [41] D. I. A. Cohen, “Introduction to Computer Theory,” 2nd Edition, John Wiley & Sons Inc., New York, 1996. [42] J. P. Bowen, “Formal Specification and Documentation Using Z: A Case Study Approach,” International Thomson Computer Press, London, 1996. [43] S. A. Vilkomir and J. P. Bowen, “Formalization of Soft- ware Testing Criterion,” South Bank University, London, 2001. [44] C. T. Chou, “A Formal Theory of Undirected Graphs in Higher Order Logic,” Proceeding of 7th International Workshop on Higher Order Logic, Lecture Notes in Com- puter Science, Valletta, Vol. 859, 1994, pp. 144-157. |