The Existence of Refinement Mappings Introducing Dynamic Constraints in B, Digital Systems Research Center B'98 : Recent Advances in the Development and Use of the B Method, pp.83-128, 1988. ,
Using Business Rules within a Design Process of Active Databases, Journal of Database Management, vol.11, issue.3, pp.3-15, 2000. ,
DOI : 10.4018/jdm.2000070101
On the Correctness of Refinement in Program Development, 1978. ,
A Calculus of Refinements for Program Derivations, Acta Informatica, vol.25, issue.6, pp.593-624, 1988. ,
Synthèse de transactions de base de données relationnellè a partir de définitions d'attributs EB 3, 2005. ,
Introduction to the ISO specification language LOTOS, Computer Networks and ISDN Systems, vol.14, issue.1, pp.25-59, 1987. ,
DOI : 10.1016/0169-7552(87)90085-7
On the Refinement and Simulation of Data Types and Processes, IFM 99, pp.273-292, 1999. ,
DOI : 10.1007/978-1-4471-0851-1_15
The Esterel synchronous programming language: design, semantics, implementation, ZB2003 : Formal Specification and Development in Z and B, pp.87-152, 1992. ,
DOI : 10.1016/0167-6423(92)90005-V
URL : https://hal.archives-ouvertes.fr/inria-00075711
Decentralization of Process Nets with Centralized Control Object-Oriented Analysis and Design With Applications A CSP Approach to Action Systems, PODC 1983 csp2B : A Practical Approach to Combining CSP and B. In FM'99, pp.131-142, 1983. ,
The Functional Approach to Programming [Cor06] Correct System Design Group. Moby/OZ. http://csd. informatik.uni-oldenburg.de/ ~ moby Refinement of Actions in Circus Reformulation et vérification de propriétés temporelles dans le cadre du raffinement de systèmes d'´ evénements An Overview of RoZ : A Tool for Integrating UML and Z Specifications, Refinement Calculus : A Systematic Introduction. Graduate Texts in Computer Science. Unifying Classes and Processes. Software and Systems ModelingDij76] E.W. Dijkstra. A Discipline of Programming CAiSE'00DW96] J. Davies and J.C.P. Woodcock. Using Z : Specification, Refinement , and Proof, pp.9-36, 1976. ,
How to verify dynamic properties of information systems, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004., pp.416-425, 2004. ,
DOI : 10.1109/SEFM.2004.1347547
URL : https://hal.archives-ouvertes.fr/hal-01224670
Specification Language State-Based versus Event- Based Specifications for Information Systems : A Comparison of B and EB 3, ICSSEA 2002 Software and Systems Modeling, pp.3-5236, 2002. ,
Combination and Implementation of Processes and Data : from CSP-OZ to Java Proving Event Ordering Properties for Information Systems [For97] Formal Systems (Europe) Ltd. Failures-Divergences Refinement : FDR2 User Manual : An Entity-Based Black-Box Specification Method for Information Systems, APIS -Automatic Production of Information Systems. In AAAI Spring Symposium ZB2003 Software and Systems Modeling ICEIS 2006, volume Information Systems Analysis and Specification, pp.17-24, 1999. ,
Génération automatique de transactions de base de données relationnellè a partir de définitions d'attributs EB 3 The RAISE Specification Language : A Tutorial, AFADL 2006 VDM'91, pp.25-39, 1991. ,
EB 4 : Vers une méthode de spécification formelle des SI, pp.561-576, 2006. ,
Synthesizing B Substitutions for EB 3 Attribute Definitions, Technical Report CE- DRIC, vol.683, 2004. ,
URL : https://hal.archives-ouvertes.fr/hal-01124941
Synthesizing B Specifications from EB 3 Attribute Definitions, IFM 2005, pp.207-226, 2005. ,
Refinement of eb 3 Process Patterns into B Specifications, LNCS, vol.4355, pp.201-215, 2007. ,
DOI : 10.1007/11955757_17
URL : https://hal.archives-ouvertes.fr/hal-01125252
EB 3 Attribute Definitions : Formal Language and Application, 2005. ,
URL : https://hal.archives-ouvertes.fr/hal-01223280
Software Specification Methods, chapter, ISTE, vol.3, pp.259-274, 2006. ,
Larch : Languages and Tools for Formal Specification, 1993. ,
DOI : 10.1007/978-1-4612-2704-5
Structured Systems Analysis : Tools and Techniques, 1979. ,
Compilation and Verification of LOTOS Specifications, PSTV 1990, pp.379-394, 1990. ,
Integrated Formal Methods, INFORSID'97, pp.549-576, 1997. ,
Evolving Algebras : An Attempt to Discover Semantics, In Current Trends in Theoretical Computer Science. World Scientific, 1993. ,
Evolving Algebras 1993 : Lipari Guide. In Specification and Validation Methods, 1995. ,
Statecharts : A Visual Formalism for Complex Systems, Science of Computer Programming, vol.8, pp.231-274, 1987. ,
SQL/EER???syntax and semantics of an Entity-Relationship-based query language, Information Systems, vol.17, issue.3, pp.209-242, 1992. ,
DOI : 10.1016/0306-4379(92)90014-E
Unifying Theories of Programming, 1998. ,
An Axiomatic Basis for Computer Programming, Communications of the ACM, vol.12, issue.10, pp.576-583, 1969. ,
Communicating Sequential Processes, 1985. ,
The Verifying Compiler : A Grand Challenge for Computing Research, Journal ACM, vol.50, issue.1, pp.63-69, 2003. ,
Automatic Transformation of an Entity- Relationship Query Language into SQL, ER'89, pp.303-321, 1989. ,
Dictionnaire d'informatique. Hermann, 1991. ,
Dictionary of Computer Science : the Standardized Vocabulary, 1997. ,
System Development, 1983. ,
Object-Oriented Software Engineering -A Use Case Driven Approach, 1994. ,
Coloured Petri Nets : Basic Concepts, Analysis Methods and Practical Use, 1996. ,
Systematic Software Development using VDM, 1990. ,
Conception et développement formels d'applications bases de données. HabilitationàHabilitationà diriger des recherches, 2002. ,
Identifying Pre-conditions with the Z/EVES Theorem Prover, ASE 1998, pp.32-41 ,
An overview of a method and its support tool for generating B specifications from UML notations, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering, pp.269-272, 2000. ,
DOI : 10.1109/ASE.2000.873675
URL : https://hal.archives-ouvertes.fr/hal-01124519
Rapid prototyping of specification language implementations, Proceedings Tenth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype (Cat. No.PR00246), pp.60-65, 1999. ,
DOI : 10.1109/IWRSP.1999.779032
Un environnement formel pour le développement d'applications base de données, 2002. ,
Parallel Program Design : A Foundation, 1988. ,
Systematic Identification of Preconditions from Set-Based Integrity Constraints, INFORSID 2006, pp.595-610, 2006. ,
URL : https://hal.archives-ouvertes.fr/hal-01125172
A Calculus of Communicating Systems, 1980. ,
Formal Models and Semantics, volume B of Handbook of Theoretical Computer Science, chapter Operational and Algebraic Semantics of Concurrent Processes SADT : Structured Analysis and Design Techniques A Theoretical Basis for Stepwise Refinement and the Programming Calculus The Specification Statement, Mor88] C. MorganMor90] C. Morgan. Programming from Specifications FM'99, pp.287-306517, 1987. ,
Unified Modeling Language [Pel86] P. Pellaumail. La méthode AXIAL. ´ Editions d'Organisation, 1986. [Pet81] J.L. Peterson. Petri Net Theory and the Modeling of Systems When Concurrent Control Meets Functional Requirements, or Z + Petri-Nets [Pnu77] A. Pnueli. The Temporal Logic of Programs The Temporal Semantics of Concurrent Programs, ZB2003, volume 2651 of LNCS FOCS. Linger, and J.H. Poore. Cleanroom Software Engineering : Technology and Process, pp.79-97, 1977. ,
Object-Oriented Modeling and Design Conception des systèmes d'information : la méthode REMORA. Eyrolles The Theory and Practice of Concurrency, The Z/EVES System. In ZUM'97, pp.72-85, 1988. ,
Specification, Refinement and Verification of Concurrent Systems -an Integration of Object-Z and CSP. Formal Methods in Systems Design, pp.249-284, 2001. ,
The Object-Z Specification Language, 2000. ,
The Z Notation : a Reference Manual, 1992. ,
Communicating B Machines, ZB2002, pp.416-435, 2002. ,
DOI : 10.1007/3-540-45648-1_22
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.5500
Refinement in Circus, LNCS, vol.2391, pp.451-470, 2002. ,
DOI : 10.1007/3-540-45614-7_26
On Conceptual Design of Active Databases, 1992. ,
Description comportementale d'interfaces web, 2005. ,
La méthode MERISE : principes et outils. ´ Editions d'Organisation, 1983. ,
Using a Process Algebra to control B OPERATIONS, IFM'99, pp.437-457, 1999. ,
DOI : 10.1007/978-1-4471-0851-1_23
How to Drive a B Machine, ZB2000, pp.188-208, 2000. ,
DOI : 10.1007/3-540-44525-0_12
Principles of Database and Knowledge-Base Systems, 1988. ,
Active Database Systems, 1996. ,
The Semantics of Circus, LNCS, vol.2272, pp.184-203, 2002. ,
DOI : 10.1007/3-540-45648-1_10
Program Development by Stepwise Refinement, Communications of ACM, vol.14, issue.4, pp.221-227, 1971. ,
Structured Design, 1979. ,
Lend) si ce dernier est disponible. L'attribut nbLoans représente le nombre de prêts d'un membre. La date d'´ echéance d'un prêt est représentée par dueDate. Tout membre doit rendre un livre emprunté (Return) ,
Reserve) si ce dernier est déjà emprunté par un autre membre. Plusieurs membres peuvent réserver le même livre. L'attribut position indique la position d'un membre dans la liste de réservation d ,
il est retourné, un livre qui a ´ eté réservé peutêtrepeutêtre récupéré (Take) par le membre dont la position estégalèestégalè a 1 dans la liste de réservation. Tant qu'un membre n'a pas récupéré un livre, il peutàpeutà tout moment annuler (Cancel) sa réservation ,
1 représente le diagramme ER de l'exemple. Les signatures des actions sont les suivantes : Acquire(bId : bookKey Set, bTitle : Title Type ? ) : void Discard(bId : bookKey Set) : void Modify(bId : bookKey Set, newTitle : Title Type ? ) : void DisplayTitle(bId : bookKey Set) : (title : Title Type ? ) Register(mId : memberKey Set, lD : NAT ) : void Unregister(mId : memberKey Set) : void C.4. SYNTH`ESESYNTH` SYNTH`ESE DE TRANSACTIONS 221 ,
> <entityModel> <property projectName="EB3 Attribute Definition /> <entity name="book" type="strong" label="book entity type" > <attribute name="bookKey" type="numeric" size="5" scale="2" key="true"/> <attribute name="title" type="varchar" size="20"></attribute> </entity> <entity name="member" type="strong" label="member entity type" > <attribute name="memberKey" type="numeric" size="5" key="true"/> <attribute name="nbLoans" type="numeric" size="5" null="false"/> <attribute name="loanDuration" type="numeric" size="3" null="false"/> </entity> <relation name="loan" label="loan association" > <attribute name="dueDate" type="date"/> <participant refEntity="member" participation="partial" cardinality="1" role=relation> <relation name="reservation" label="reservation association" > <attribute name="position" type="numeric" size=, 2006. ,
bookKey(s)== match last(s) with NULL-> {}, Acquire(bId,_) -> book.bookKey(front(s))\/{bId}, Discard(bId) -> book.bookKey(front(s))-{bId}s)) ,
title(s,bId)== match last(s) with NULL -> NULL, Acquire(bId,bTitle) -> bTitle, Discard(bId) -> NULL, Modify(bId,newTitle) -> newTitle, _ -> book.Title(front(s),mId) ,
loanDuration(s,mId)== match last(s) with NULL -> NULL, Register(mId,lD) -> lD, Unregister(mId) -> NULL, _ -> member.loanDuration(front(s),mId) ,
loan(s)== match last(s) with NULL -> {}, Lend(bId,_,_) ->loan.loan(front(s))\/{bId}, Return(bId) -> loan.loan(front(s))-{bId}, Take(bId,_,_) -> loan.loan(front(s))\/{bId}s)) ,
) -> NULL, Transfer(bId,mId,_) -> mId, Take(bId,mId,_) -> mId, _ -> book.borrower(front(s),bId) ,
ResultSet rset0 = connection.createStatement().executeQuery("SELECT C.memberKey, A.nbLoans+1 "+ "FROM eb3Tempmember C,member A "+ "WHERE C.memberKey = "+ mId+ ,
Classic" ) { connection.createStatement().executeUpdate("UPDATE loan SET "+ "dueDate = CURRENT_DATE+"+var0+ ,
next()) { connection.createStatement().executeUpdate("UPDATE member SET nbLoans = "+rset0.getDouble(2)+ " "+ "WHERE memberKey = "+ rset0 ,
+ "FROM reservation F,reservation G "+ "WHERE F.bookKey = "+ bId+AND F.memberKey = "+ mId+AND F.position < G.position ) "+ "AND G.memberKey IN (SELECT H.memberKey "+ "FROM reservation, memberKey) NOT IN ( "+ "SELECT "+bId+",B.memberKey "+ "FROM eb3Tempreservation B "+ "WHERE B.memberKey = "+ mId+ " ) "+ "AND D.bookKey = "+ bId+ ,
next()) { connection.createStatement().executeUpdate("UPDATE reservation SET position = "+rset1.getDouble(3)+ " "+ "WHERE bookKey = "+ rset1, AND memberKey = "+ rset1.getDouble ,
Exception e ) { try{ connection.createStatement().executeUpdate("DROP TABLE eb3Tempreservation"); connection, rollback( ,
SQLException s){ System.err.println(s.getMessage( ,
Generating Relational Database Transactions From Recursive Functions Defined on EB^3 Traces, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05), pp.7-9, 2005. ,
DOI : 10.1109/SEFM.2005.23
URL : https://hal.archives-ouvertes.fr/hal-01125046
Laleau : Synthesizing B specifications from EB 3 attribute definitions, 5th International Conference on Integrated Formal Methods (IFM 2005), pp.207-226, 2005. ,
EB 3 TG : A tool synthesizing relational database transactions from EB 3 attribute definitions, 8th International Conference on Enterprise Information Systems Volume Information Systems Analysis and Specification, pp.24-27, 2006. ,
URL : https://hal.archives-ouvertes.fr/hal-00145866
Refinement of eb 3 Process Patterns into B Specifications, 7th International B Conference Janvier, pp.17-19, 2007. ,
DOI : 10.1007/11955757_17
URL : https://hal.archives-ouvertes.fr/hal-01125252
Génération automatique de transactions de base de données relationnellè a partir de définitions d'attributs EB 3, Atelier Approches Formelles dans l'Assistance au Développement de Logiciels, pp.15-17, 2006. ,
Systematic identification of preconditions from set-based integrity constraints, 24ème Congrès INFORSID Juin. INFORSID, Volume II, pp.1-3, 2006. ,
URL : https://hal.archives-ouvertes.fr/hal-01125172
EB 4 : Vers une méthode de spécification formelle des systèmes d'information, 24ème Congrès INFORSID, pp.1-3 ,
DOI : 10.3166/isi.12.4.69-93
Une démarche outillée pour spécifier formellement des patrons de conception réutilisables, Workshop Objets, Composants et Modèles dans l'ingénierie des SI (OCM-SI 2003), pp.5-9, 2003. ,
EB 3 TG : Un outil de génération de transactions de base de données relationnelle pour EB 3 . Session Outils de l'Atelier AFADL Rapports techniques ? F. Gervais : Réutilisation de composants de spécification en B, pp.15-17, 2002. ,
Un exemple de réutilisation de patterns de spécification avec la méthode B. Rapport technique 395, 2002. ,
EB 4 : Vers une méthode combinée de spécification formelle des systèmes d'information. Examen de spécialité, 2004. ,
Laleau : Synthesizing B substitutions for EB 3 attribute definitions. Rapport technique 683, 2004. ,
DOI : 10.1007/11589976_13
Batanado : EB 3 attribute definitions : Formal language and application, 2005. ,
Laleau : Vous avez dit raffinement ? Rapport technique 829, 2005. ,
Laleau : Generating B preconditions from typical IS invariants. Rapport technique, LASSY, 2006. ,
Defining and proving B preconditions for the patterns of EB 3 process expressions, 2006. ,