Download presentation
Presentation is loading. Please wait.
Published byFelicia Quinn Modified over 9 years ago
1
1 UML and Petri Nets for Test Case Generation From Fondue to CO-OPN: (my) first iteration
2
September 16, 2004Luis Pedro2 Outline User’s viewpoint: the 4 steps for test generation The Model - Fondue approach Deriving test cases and applying criteria Implementation testing Test results Developers viewpoint - OO Petri Nets to enable state space exploration The Intermediate format Steps to Transformation …. Current work Next chapters…
3
3 User’s viewpoint: the 4 steps in the test generation Step 1: The Model
4
September 16, 2004Luis Pedro4 Step 1: The model UML (Fondue specification) Software development process for reactive systems Purpose is to produce description of the problem domain The functional requirements of the system What it provides Concept Model: Defines the static structure of the information in the system Behavior Model: Defines the Input and Output communication of the system Uses UML for notation (parts of different UML diagrams) e.g Specification (models) Concept Model Class Diagram Environment Model Collaboration Diagram Protocol Model State Diagram Operation Model (OCL)
5
September 16, 2004Luis Pedro5 Step 1: The Model (cont.) Fondue (cont.) Describes operations by operation schemas which specify operations by pre- and post conditions using OCL Effect of the operation on an abstract state representation of the system and by events sent to the outside world The change of state resulting from an operation's execution is described in terms of objects, attributes and association links, which conform to the constraints imposed by the analysis class model of the respective system. Restricted form of state diagrams is used to describe sequencing of system operations. The Fondue process can be outlined by a UML class diagram showing usage dependencies between the models
6
September 16, 2004Luis Pedro6 Step 1: The Model (cont.) Fondue - ebanking example Environment Model (messages from the user) > eBanking User loginUserName loginPasswd loginChallenge createPayment giveDetailsBeneficiary modifyPaiment deletePayment
7
September 16, 2004Luis Pedro7 Step 1: The Model (cont.) Fondue - ebanking example Environment Model (messages from the system) > eBanking User sendChallengeNumber errorUserName errorPasswd errorChallenge errorUserBlocked errorPaymentCreation errorPaymentModification
8
September 16, 2004Luis Pedro8 Step 1: The Model (cont.) Fondue - ebanking example Concept Model > eBanking User userName : String Passwd : Passwd Name : String loginTentativeNumber : Int userState: bool eUser id : CardId expirationDate: Date ChallengeCard position : ChallengeId anserPosition: String ChallengeCardElement position 1 table 0.. 1 1 0.. *0.. 1 > HasSessionId
9
September 16, 2004Luis Pedro9 The full picture Tests Model Criteria Driver Mapping Implementation Interface Oracle Assumptions Test Results Observation Mapping rules Application Production
10
10 Developers viewpoint - OO Petri Nets to enable state space exploration Steps to transformation and the Internal format
11
September 16, 2004Luis Pedro11 Steps to Transformation Goal: from Fondue to CO-OPN OCL translation Fondue Operational Model Transformation (represents OO formalisms) Object states and attributes; Management of object creation and destruction Typing references polymorphism DataTypes: generators and operators
12
September 16, 2004Luis Pedro12 Step 1: Read/Load Fondue Model Export Fondue Model to XMI Using Together Fondue export tool Generates XMI Fondue Model Load Fondue Model Fondue Metal Model described in terms of MOF MOF = M3 level -> Meta-MetaModel Use of MDR Implementation of MOF Can be managed programmatically using JMI Parse it with JMI Java Metadata Interface Rules for generating metamodel-specific Java API Defines a set of reflective interfaces that can be used similarly to the metamodel-specific Java API without prior knowledge of the metamodel
13
September 16, 2004Luis Pedro13 Step 1: Read/Load Fondue Model XMI [FondueMM ] Fondue Model FondueMM MOF desc Load by MDR Parse Using JMI Intermediate Format ?…
14
September 16, 2004Luis Pedro14 Step 2: The Environment model Environment model 1 CO-OPN Context Operations methods of the context Output messages Gates input output
15
September 16, 2004Luis Pedro15 Step 3: Concept model 1 Class 1 CO-OPN Class Name Name Attributes Places Access methods: put, get, read Method put_a(x):: a y -> a x; Gate get_a(x):: a x -> a x; Gate read_a(x)::a x:: -> a x; Associations as classes With source and target values Instatioation of AADT Bag For each class put get
16
September 16, 2004Luis Pedro16 Step 3: Concept model 1 Class 1 CO-OPN Class Name Name Attributes Places Access methods: put, get, read Method put_a(x):: a y -> a x; Gate get_a(x):: a x -> a x; Gate read_a(x)::a x:: -> a x; readput get ! Why don’t we have a Method get? Only Gates with get/read functions How can we see the difference between Gates and Methods Questions regarding this diagram
17
September 16, 2004Luis Pedro17 Step 4: Operation model Transform Fondue pre and post-conditions using OCL Operation Schemas (synchronization rules, algebraic equations) … Not fully understood :-( Further investigation needed
18
September 16, 2004Luis Pedro18 Current work What’s done: Fondue exportation XMI [FondueMM] Read/Load Fondue Module Using a particular MDR implementation and Fondue MOF description Parse Using JMI Environment model Concept model
19
September 16, 2004Luis Pedro19 Next chapters Finish the application simulated eBanking application Understand OCL and in particular Fondue Operation Schemas Prepare a first iteration for the translation process To understand the full picture regarding relation between Fondue internal structure and CO-OPN
20
September 16, 2004Luis Pedro20 The end Questions... Comments
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.