The future of Open Distributed Processing systems (ODP) will see an increasing of components number, these components are sharing resources. In general, these resources are offering some kind of services. Due to the huge number of components, it is very difficult to offer the optimum Quality of service (QoS). This encourages us to develop a model for QoS negotiation process to optimize the QoS in an ODP system. In such system, there is a High risk of software or hardware failure. To ensure good performance of a system based on our model, we develop it using a formal method. In our case, we will use Event-B to get in the end of our development a system correct by construction.
Keyword:
INTRODUCTIONThe evolution of telecommunications technology and the structure of organizations have led to the emergence of complex distributed systems. These systems are distributed structures whose components, both hardware and software, are of different types. In some systems, these components are developed by different actors acting independently of each other. The assembly of such components gives rise to highly heterogeneous systems. The applications that support these systems are themselves composed of distributed components. The interaction between these application components is one of the aspects of the distributed treatment. Specifically, the distributed processing correspond to different aspects of information processing in which specific components can be located in different places, during this process the communication between components may be delays or failures. This means that this kind of systems needs to be developed carefully due to its complexity [1]. This motivates us to model it using a formal method to ensure the correctness of our system and obtain a very strong assurance of bug's absence. Formal methods are a particular kind of mathematically based techniques for the specification [2], [3], development and verification of software and hardware systems [4]. There are a variety of formal methods such as language Z, a specification in Z is a predicate, the specification of invariants and the specification of operations have the form of a predicate. There is also B-method which is a method of software development based on B, a toolsupported formal method based on an abstract machine notation, used in the development of computer software. It was originally developed by Jean-Raymond Abrial [5].In this paper, we will use Event-B [6] since it allows us to prove that our system is correct by construction basing on proofs obligations. These proofs are done automatically by a tool called Rodin [7]. Event-B is also based on refinement which means creating an abstract model and enriching it in a multiple steps by adding more details to get a more concrete model [8]. In every refinement, we prove that the system is correct and it does not contradict with the previous one, whereby the resulting system is correct by