International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
The Refinement Validation of ATM Model by Using UML-B Eman K. Elsayed Faculty of science, Alazhar University PO: 1 Yosef Abbas , Mathematics Dept., Faculty of science, Alazhar University Nasr City, Cairo, Egypt Tel: +2-01118401904 E-mail:
[email protected] Gaber A. El-Sharawy Faculty of science, Alazhar University Tel: +2-01001632994 E-mail:
[email protected] Enas E. El-Sharawy Faculty of science, Alazhar University Tel: +2-01201419055 E-mail:
[email protected] Abstract Event-B is a system modeling language on a closed system. It used to refinement algorithms and models. So if we will refine the model built by the class diagram as UML type, then we can use UML-B to convert the UML model to event-B. In this paper, we proposed five phases to refine UML model and convert it to be a pattern for many benefit for inexperience designer. These advantages as reduce the proof obligation, reuse a model and to increase the degree of automation and to generate the code with high validation. Furthermore, our proposal used the agentless data collection approach to refine ATM system and validate consistent by event- B and SMT-Solver. That spread the using of an event-B to cover the open system instead of the only closed system which hasn‘t interaction within the environment. Moreover, applying our proposal allows to reuse pattern. This output pattern is valid, high automation and easy to use. A case study of an auto teller machine (ATM) model is presented to demonstrate the proposed methodology. Keywords: Formal method, UML-B Pattern, UML, Event-B Pattern, ATM model, refinement, SMT-Solver, agentless approach. 1 Introduction UML is a widespread modeling language used in both industry and academia. And Event-B is a formal specification language which is an extension of the B-method for specifying and reasoning about complex systems, including concurrent and reactive systems [6]. While UML gives an intuitive image of the system, formal methods (Event-B) provide the proof of its correctness. We can benefit from both aspects by create UML-B model. UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. UML-B provides additional complementary structuring of Event-B models for the form of classes and state machines [17]. UML-B incorporates the Event-B machine constructs and a single UML-B machine may contain multiple classes and multiple state machines. An Event-B model is described in terms of contexts and machines. Where, contexts contain the static parts of a model [1]. Each context may consist of carrier sets and constants as well as axioms, which are used to describe the properties of those sets and constants. Machines contain the dynamic parts of an Event-B models [1,4]. Then a development on the model in Event-B is performed through refinement. Refinement [5, 7] is a technique which is used to relate the abstract model as a software system to another model that is more concrete while maintaining the properties of the abstract model. Refinement is an important technique for managing the complexity of a system being developed. The work reported in this paper enriches UML-B to support class and state machine refinement. We utilize a derivation of the event-B notation from UML-B model that can also be applied as a pattern to get the benefits of that are to reduce and save the proving effort, to reuse a model and to increase the degree of automation. In this paper, we use agentless approach for development ATM service. Then we propose using event-B proof to validate the consistent interactions. Furthermore, we use a pattern, and SMT-Solver
2
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
to increase the automation degree of proof obligation to 100%. A case study of an auto teller machine (ATM) is presented to demonstrate application and effectiveness of proposed refinement on classes and state machines pattern and event-B pattern. Overview about UML-B background, Refinement approach in UML-B, Event-B Pattern, Agentless data collection validation, Satisfiability Modulo Theory (SMT) and ATM system will be presented in section 2. Section 3 will present Literature Review. Then we will introduce The Proposal Approach in section 4. In this paper, we apply the proposal on the ATM model in section5. Section 6 and 7 will present the Result analysis and conclusion. Finally, the references are viewed in section8. 2. Overview 2.1 UML-B Background UML-B provides only four types of diagrams [15]. They are packages, context, class and state machine diagrams. A package diagram is a top-level diagram that shows the structure and relationships between components (machines and contexts) in a project. A context is described in a context diagram is similar to a class diagram but has only constant data and structured types. A machine is specified by a class diagram and state machine diagram(s) representing data structures that may be changed by events or transitions. Events may be attached to classes in a class diagram. Events can also be represented by the transitions in a state machine diagram. The semantics of a UML-B model is given by the Event-B generated by the UMLB tool according to a set of translation rules. Each UML-B machine gives rise to both an implicit Event-B context and an Event-B machine. The implicit context is used to define types for the classes and states in the UML-B machine. In the generated Event-B machine, classes, class attributes and associations become variables. Events and transitions in classes and state machines become events in the generated Event-B machine.
(a) Package Diagram (b) Class Diagram of machine1
(c) Properties of class cls1
(e) State machine stm of class cls1 (d) Properties of association of At2
Figure 1. UML-B Diagrams
3
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
Figure 1 is showing abstract overview of a package diagram (a) which has a class diagram (b) containing classes cls1 and cls2 (c) shows properties of class cls1 (d) shows properties of association of At2 (e) which has a State machine stm of class cls1. In the generated Event-B machine the classes cls1and cls2 give rise to variables. The class cls1 consists of the attribute at1 of type N and also the association at2 of type cls2. The generated Event-B machine for machine1 is shown in the Rodin screenshot of Figure 2 Each Event-B statement is preceded by its label, which describes its purpose.
Figure 2. Generated Event-B specification of machine1 2.2 Refinement Approach in UML-B In this section, the refinement techniques concerning the concept of refined classes and inherited attributes are described briefly from [15]. The benefit from refined classes and inherited attributes is performing refinement in Event-B. The refinement of classes and inherited attributes in UML-B reflects the refinement of variables in Event-B. A refined class is one that refines a more abstract class, and an inherited attribute is one that inherits an attribute of the abstract class. Some elements of an abstract UML-B model needs to be retained by the refinement in UML-B. From [15] in Event-B refinement, may drop some of the variables and may introduce new variables. But in
4
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
UML-B refinement, a machine that refines a more abstract machine may contain refined classes where each refined class refines a class of its abstract machine (i.e., keeps variables of its abstract machine).Therefore, the motivation for refined state machines and refined states comes from combining the state machine hierarchy in UML-B with refinement in Event-B so in UML-B refinement; a machine may contain refined state machines and refined states. 2.3 Event-B Pattern Design Patterns in Event-B is to have a methodological approach to reuse former developments (referred to as patterns) in a new development. The pattern's approach is a tool for building domain models for inexperienced designer [20].The proofs of the pattern can be reused too. It was shown that for the special case as a model that does not see any context and its events do not have any parameters, the generation of a refinement of the problem at hand is correct by construction, and no proof obligation needs to be generated again. The correctness of the construction relies on a correct matching of the pattern to the problem at hand. Once all checks are done, the refinement of the problem is generated by merging the pattern refinement with the problem. 2.4 Agentless data collection validation Generally, from [13] an agent is defined as an entity that could interact within the environment. ‗‗Interact‘‘ means an entity could perceive the changes in the environment or other entities by sensor and act on the environment or other entities by an actuator, update the knowledge and learn constantly, besides interaction based on the agent‘s decision rule. Multi-agent is defined as the set of agents. Just like humans, each agent has a specific goal or task. And they will cooperate with others. Also in [12] an agent is a software program sometimes called service or daemon that runs on a computer with the primary purpose of collecting information and pushing it over the network to a central location. Sometime the collection is automated via a centralized installation server who pushes software to other computers. New Agent-less data collection product allows you to collect data from systems without the need to deploy local agents. This collection is obtained by units‘ software programs and protocols. So there is no need to install, upgrade and maintain additional software on the units. The advantages of using this approach are fast implementation and lower cost system[16 ]. In this paper, we use agentless approach for development ATM service. 2.5 Satisfiability Modulo Theory (SMT-Solver) The Satisfiability Modulo Theory (SMT) problem is a decision problem to determine if a given logic formula is satisfiable with respect to a combination of theories expressed in first-order logic. Theories of interest in the work described within this paper include uninterrupted functions with equality and integer arithmetic. Since the validity of a proof obligation can be decided by checking the unsatisfiability of its negation, SMT-solvers are natural candidates for discharging the verification conditions generated through the application of Event-B methods. SMT-solvers can, for example, handle a formula like x ≤ y ∧ y ≤ x + f (x) ∧ P(h(x) − h(y)) ∧ ¬P(0) ∧ f (x) = 0 Which contains linear arithmetic on real‘s (0,+,−, ≤), and un-interpreted symbols (P,h,f ). SMT-solvers use decision procedures for the disjoint languages (for instance, congruence closure for un-interpreted symbols, and simplex for linear arithmetic) and combine them to build a decision procedure for the union of the languages. There are a number of available SMT-solvers as in references [5 ,7,8,9]. They differ mostly by the theories they handle, their efficiency (which may vary depending on the theories they handle). SMTSolver can handle quantified formulas as well as to construct certificates (proofs) of their results.
5
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
2.6 ATM System An auto teller machine ATM is a machine that allows bank customers to do some of the banking transactions 24 hours per day. It allows bank customers to perform a range of functions, including withdraw cash, check account balance and print mini-statements. In order to perform these functions through an ATM, bank customers need to use their ATM cards, which are provided to them by the bank.[15] ATM focuses on the requirements for the cash withdrawal and check balance functions. ATM system development entire operation has been divided into the following steps: verification process, Banking services, transactions and special services. The system needs NTC network and JDI database and LINUX server. The following Figure is an overview of the ATM process model.
Figure 3. The process model of ATM system
3. Literature Review Reference [14] introduces using UML-B diagram to refinement an internet-based application called Memento application. It also gives an overview of refinement steps and the needed proofs. The combination between UML activity diagrams and event B are used as specification and verification techniques. The strong point in reference [21] is that the validation can be performed at any development stage and particularly at early steps allowing saving at development. Thus, a step by step UML AD workflow description and validation are performed in parallel. Snook and Walden in reference [18] and [15] introduce the notions of refined classes and state machines. That is for classical UML-B and provides tool support. Design patterns are well-known concepts in objectoriented programming, in particular, in the work of the Gang-of-Four (GoF) [11]. In their work, each pattern is usually represented by some informal description, and some diagram in UML. There is no formal semantics associated with patterns; hence the meanings of these patterns are imprecise. Also reference [11] presented the survey about using pattern with event B in different case studies.
6
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
4. The Proposal Approach: The proposed approach is classified into five main phases: The first phase: input is the UML model (exactly class diagram type). In this, phase converts the UML model to Event_B model that called UML-B Pattern. That handling is to use event-B as a validation tool for UML model. The second phase: It refines the UML-B model for the real time system. That is to convert the closed system to open system by insert agentless data collection approach. The third phase: validate the UML- B refinement model by integrating event-B and SMT provers. The fourth phase: converts UML-B model to be a pattern for reusability, and also we can apply SMT prover again for comparing, then save the model as a pattern to save the proof for increasing the degree of automation. The fifth and final phase is generating the model‘s OO code for new refinement without any logical mistakes. The following diagram in Figure [4] presents the proposed method briefly.
Figure.4 The proposed methodology diagram Our approach introduces integration between UML-B pattern and event-B pattern to provide an accessible visualization of models facilitating communication of ideas but lacks formal precise semantics. Event-B
7
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
pattern, on the other hand, has the precision to support verification but requires significant effort in training to overcome the mathematical barrier that many practitioners perceive. We utilize a derivation of the eventB notation from UML-B that can also be applied as a pattern to get the benefits of that are to reduce the proving effort, to reuse a model and to increase the degree of automation. 5. ATM Case Study: The ATM is a public application many searcher work in many fields to refine it. In this paper, we scope on development of the soft entire operations for ATM system specifically, the special services step which refined in the 7th refinement. We apply our proposal by using event-B to validate state machine and refinement the classes and state machines by using UML-B. Reference [15] refines the ATM by UML-B in six refinements from the banking service's perspective. The seven refinements briefly displayed in this case study. That is to explain our proposal methodology. The machine ATMR7 will discussed in details to show our perspective. Abstract machine (ATM A): Models bank accounts and operations on accounts will present in a Figure 6. First Refinement (ATM R1): Introduces the ATMs and ATM cards. It will present in Figure7. Second Refinement (ATM R2): Introduces an explicit validation transition for cards and splits withdrawal into a bank transition and an ATM transition. Third refinement (ATMR3): Introduces the request and response communication between the ATMs and the bank. Fourth refinement (ATMR4): Introduces the send and receive events of the request and response communication between ATMs and the bank. Fifth refinement (ATMR5):Introduces a form of communication between ATMs and the bank using message passing via two channels per ATM. Sixth refinement (ATMR6): Introduces merged the channel pairs into single channel. The following Figure 5 presents the ATM six refinement relations in ATM refinement diagram.
Figure 5. ATM Package Diagram
8
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
Figure 6 shows a UML-B specification of the ATM abstract machine. The abstract machine consists of a class Account with its attribute BAL and four events namely, create Account, deposit, withdraw and check Balance. The Account class represents the set of accounts that currently exist in the system. The attribute BAL represents the balance of an account. The withdraw event has one added parameter, am of type natural number. The parameter is shown in the property view in Figure 6. It includes the guard and action. Self is the self name property defined for the class Account. The withdraw event can only occur if the amount, am, is less than or equal to the balance in the account. The withdraw event will result in decreasing the balance of the account by am amount.
Figure 6. UML-B specification of ATM abstract machine
In the refinement ATM R1, we further specify that the checkbalance takes place via machinemoney. At the abstract level it is natural to specify the checkbalance as an event of the pat_Account class while in the refinement it is natural to specify it as an event of the machinemoney class.
9
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
(a) class diagram of machinemoney patern_R1
(b) state machine machine_SM of class machinemoney
(c) Properties of withdrawOk event
(d) Refine property of withdrawOk event
Figure 7. UML-B specification of ATM First Refinement
Now, we assume that we have a web service agent WSA connected with ATM system, which has GPS. The WSA has sensor checks the money in the ATM. That is a new service to provide the client information about closest ATM have money in the case of withdrawfail because there is not enough money in the ATM.
10
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
The seventh refinement model proposed is drew in UML-B state machine that shows whole transactions in the model, and also we applied it by using event-b pattern to benefit from two modeling perspective visualization and proving.
Figure 8. The seventh refinement of UML-B state machine
In our notion, a pattern is just a development in Event-B, including two steps design pattern (specification and refinement) and applying pattern and insert new refinement in our case study as ATM R7. The following Figure represents Event-B pattern specification like the specification in UML-B pattern as see in Figure 7.
11
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
In pattern design step for a refinement machine will be discussed in the following explanation. In this refinement to apply the agentless approach, we refine the event withdrwalfail that is in ATMR6 by adding anew two variable closest_place and enough_amount. These variables are obtained from the sensor that is a one component of ATM machine hardware and connected with Google's place service. Google's place is a new service for finding places like this service locator service of UMB Bank. The system sends to the web side 0 or 1 from the enough_ amount to color the point of ATM places Figure 9.
Figure .9. More general all ATM in Cairo by Google maps, Locator service by Know-Where Systems [19]
12
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
The new refinement ATMR7 provides information to ATM client through Google's place service by a message informs about closestplace have ATM machine have enough amount of money in the case of withdrwal fail then event eject card will be occurred. Introducing Agent approach in our refinement make Event-b able to handle open system and can make calling. Also we can consider Event-B as a validation to agentless approach instead of troubling that occurs when we implement it in real systems.
We have implemented ATM refinement pattern in the event-B according to the following different steps of applying patterns, namely, matching, syntax checking, renaming and incorporating. We can see the details of applying pattern in [10]. 6. Result analysis: The advantage of our proposal appears in the following analysis. We scope on proof obligation criteria to conclude the best steps to refinement model. That is more suitable to inexperience designer in mathematical logic.
All the proof obligations (POs) for the seven machines refinement were generated, and the last one created automatically by event-B pattern.
The total number of proof obligations (POs) is 962 in which all of them are proved automatically. The POs for machines present in the table 1.
13
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
Table1. Proof Obligation (POs) of ATM seven machines refinement TOTAL
ATMA
ATMR1
ATMR2
ATMR3
ATMR4
ATMR5
ATMR6
ATMR7
Eventb(1042)
5
35
169
156
186
358
53
88
Pattern(962)
-
-
-
-
-
-
-
0
Generally, the advantage of using pattern decreases the POs from 1042 to 962 i.e. 7.6 % and saves proof. But certainly in our new refinement ATM R7 the POs decrease from 80 to 19 i.e. 76.25%. The following statistics of POs generated from each ATM UML-B pattern are shown in table2. We note that the percentage of the increase the automatic proof's obligations are perceptively 0% in the context model ,65%,35%, 76% , 72% ,72%,57%,37% , and 42% in ATM R7. The following chart.1 present the POs comparison between after and before using SMT-Solver prover. Table 2: Proof Obligation of ATM refinements models after apply the proposed phases
Total POs
Rodin (Auto proof)
Interactive (SMT)
Total Proved Pos %
Saved Proof
Undercharged
ATm_A
5
4 (80%)
0
4(80%)
0%
1
ATm_R1
35
23 (65%)
12
35 (100%)
0%
0
ATm_R2
169
40 (23%)
128
168 (99%)
0%
1
ATm_R3
156
35 (22%)
112
147 (94%)
0%
9
ATm_R4
186
36(19%)
133
169(91%)
0%
17
ATm_R5
358
114 (32%)
204
318 (89%)
0%
40
ATm_R6
53
30(57%)
23
53(100%)
0%
0
ATm_R7
88
44(50%)
37
81(92%)
100%
7
Methods / refinement
14
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
Befor Applying SMT After Applying SMT
Chart 1. Proof Obligation for ATM model before and after Applying SMT-Solver Finally, chart two separates analysis of the new refinement ATM_R7 which displays the outcome of the proposed phases and the increasing of automation to 100%. Although, the refinement ATM_R7 has been main changed in the system by supporting ATM with agentless data collection variables.
ATm_R7 100% 50% ATm_R7 0% Befor SMT
After SMT
Event-B pattern
Chart 2 : Proof Obligation for ATM model before and after Applying SMT-Solver and event-b pattern 7. Conclusion and future work The formal methods based on mathematical theories. That is more suitable to experience designer in mathematical logic. So using any formal method needs hard background in mathematics. Nowadays, using formal methods as an event-B is suitable to validate the consistent interactions of the refinement real system models. Obvious, the refinement is valid without needs of practically apply. In this paper, we proposed five phases for inexperience designer to refinement the model. So for fast creation and clear
15
[email protected]
International Research Journal of Engineering and Technologies
Vol 5, No. 7;Jul 2013
vision about error into the refinement model process, we recommend starting to convert the Class diagram to UML-B. Yet using UML-B pattern provides an accessible visualization of models facilitating communication of ideas. We scope on proof obligation criteria to conclude the best steps to refinement models. We used combination of UML-B and event-B Pattern to modify graphical representation of the application structure and its functions. Also that combination reduces the proving effort and decreases the automation degree. When we applied the proposed phases on the ATM refinements and refined ATM model by adding agentless data collection variables, we conclude by percentages that using proposed phases to decrease proof obligation and save proving 100%. In the future, we will further explore the link between formal method and other UML diagrams. In addition, we envisage the formal validation of the other UML diagrams. Tool support will be developed for drawing class diagrams and linking their analysis with the refined models; further experimentation on complex case studies is proposed leading to possible enhancements of UML validation and extend the benefits of reusability of modeling and proof through the pattern approach. Also, UML-B diagrams will be drawn and refined in other development platforms (another formal method), such as Atelier-B. Finally; we can apply pattern approach with another proof solver like Isabell prover and compare with our proposed method. 8. Reference:
16
[1]
Abbasi, K. ; Akkaya, M. & Younis, A., (2007) A distributed connectivity restoration algorithm in wireless sensor and actor networks, in: Proceedings of 32nd IEEE Conference on Local Computer Networks, LCN‘07, IEEE, pp. 496–503.
[2]
Abrial, J.R and Hallerstede, S. (2007) Refinement, Decomposition and Instantiation of Discrete Models: Application to Event-B, Journal Fundamentae Informatica. vol. 77, pp. 128, IOS Press.
[3]
Abrial, J.R (1996) The B-Book: Assigning Programs to Meanings, Cambridge University Press.
[4]
Anh Le,H. and Truong,N.T. (2013) Modeling and Verifying WS-CDL Using Event-B, Context-Aware Systems and Applications Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering Volume 109, 2013, pp 290-299.
[5]
Bofill, M. ; Nieuwenhuis, R.; Oliveras, A. ; Rodrguez-Carbonell, E. & Rubio, A., (2008) The barcelogic SMT solver, in: A. Gupta, S. Malik (Eds.), Proceedings of the 20th International Cconference on Computer Aided Verification, in: Lecture Notes in Computer Science, vol. 5123, Springer, Berlin,Heidelberg,pp.294–298.URL: http://www.springerlink.com/index/10.1007/978-3-540-70545-1.
[6]
Borges ,R.M. and Mota, A.C. (2007) ‖ Integrating UML and Formal Methods‖ / ,Electronic Notes in Theoretical Computer Science 184 PP(97–112), www.elsevier.com/locate/entcs
[email protected]
International Research Journal of Engineering and Technologies
17
Vol 5, No. 7;Jul 2013
[7]
Bouton, T. ; de Oliveira, D.C.B. ; Déharbe, D. & Fontaine, P. , (2009) veriT: an open, trustable and efficient SMT-solver, in: Automated Deduction—CADE-22, in: Lecture Notes in Computer Science, vol. 5663, Springer Verlag, pp. 151–156. URL: http://www.springerlink.com/content/f33m4615152325x3.
[8]
De Moura, L. & Bjّrner, N. , (2008) Z3: an efficient SMT solver, in: C.R. Ramakrishnan, J. Rehof (Eds.), Proc. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, TACAS, in: Lecture Notes in Computer Science, vol. 4963, Springer, pp. 337– 340.
[9]
Dutertre, B. & de Moura, L.,(2006) http://yices.csl.sri.com/tool-paper.pdf.
[10]
Elsayed,E. ,El-Sharawy,G. and El-Sharawy,E.(2013) INTEGRATION OF AUTOMATIC THEOREM PROVERS IN EVENT-B PATTERNS, International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.1, January 2013, Faculty of Science(girls), Al-Azhar University, Cairo, Egypt.
[11]
Hoang, T. S. .and et al. (2011) Event-B patterns and their tool support January ,SpringerVerlag .
[12]
http://en.wikipedia.org/wiki/Agentless_data_collection see at May 2013.
[13]
Maturana, F.P and Staron,R. (2005) Emerging Solutions for Future Manufacturin, chapter :―An Intelligent Agent Validation Architecture for Distributed Manufacturing Organizations‖ Springer Berlin Heidelberg publisher.
[14]
Plaska,M. , Waldén,M. and Snook,C. (2009) Documenting the Progress of the System Development , Southampton, SO17 1BJ, UK.
[15]
Said,M. , Butler, M., and Snook, C. (2009) Language and Tool Support for Class and State Machine Refinement in UML-B, ECS, University of Southampton, Southampton, SO17 1BJ, UK.
[16]
Sightlines systems (2011) ―The Agent vs Agent-less Data Collection Debate” FAIRFAX, VA October, 2011, http://sightlinesystems.com
[17]
Snook, C. and Butler, M. (2006) : UML-B: Formal Modelling and Design Aided by UML, ACM Transactions on Software Engineering and Methodology, vol. 15, pp. 92-122, ACM Press.
[18]
Snook, C. and Walden. M. (2006) Refinement of Statemachines Using Event B Semantics, B2007: Formal Semantic and Development in B, LNCS 4355, pp. 171-185, Springer.
The
Yices
SMT
solver,Tool
paper
at
[email protected]
International Research Journal of Engineering and Technologies
18
Vol 5, No. 7;Jul 2013
[19]
Umb.know-where service, http://umb.know-where.com/umb/
[20]
Xiaohong Yuan, X. & Fernandez, E. (2011) PATTERNS FOR BUSINESS-TO-CONSUMER ECOMMERCE APPLICATIONS, International Journal of Software Engineering & Applications (IJSEA), Vol.2, No.3, pp 1.
[21]
Younes,A. and Jemni Ben Ayed,L., (2011) : The Third International Conferences on Pervasive Patterns and Applications , Research Unit of Technologies of Information and Communication (UTIC)- ESSTT.
[email protected]