SlideShare a Scribd company logo
1 of 26
Demonstrating Filmstripping in the
UML-based Specification Environment (USE)
M. Gogolla, L. Hamann, F. Hilken, M. Kuhlmann
Database Systems Group, University of Bremen, Germany
R. France
Colorado State University, CO, USA
USE TOOL AVAILABLE AT:
http://sourceforge.net/apps/mediawiki/useocl
PPT PRESENTATION AVAILABLE AT:
[viewing ppt presentation results in better quality than viewing pdf presentation]
http://de.slideshare.net/gogolla/2013-0603-demonstratingfilmstrippinginuse-22378212
1. Uncommented Screenshots from a USE session
2. Screenshots with Comments for the same USE session
1. Uncommented Screenshots from a USE session
2. Screenshots with Comments for the same USE session
after USE hase been started, the
contents of the file marryDivorce2.cmd
is read; the commands in that file are
executed: the underlying appplication
model is loaded, some objects are created,
operations on the created objects are
called, and class invariants and operation
pre- and postconditions are checked
load model
create objects
check invariants
1st operation call
with pre/post check
check invariants
check invariants
2nd operation call
with pre/post check
result state of the action sequence is the object diagram;
action sequence is pictured by the sequence diagram
1st operation call
2nd operation call
create objects
filmstrip model class diagram is loaded and displayed
red: application model; rest: filmstrip model;
operations become classes; pre/post become invariants
model validator configuration for achieving a state structurally
similar to the state of the application model is defined
data type values are determined; exactly 9 Person and
3 Snapshot objects are required; at least 1 and at most
2 marryC(all) and divorceC(all) objects are allowed
model validator configuration is loaded
through the plugin button
model validator searches for a state satisfying the
model invariants and the given configuration
model validator finds a state representing 3 successive
snapshots from the application model; 2 operation calls are
represented by the marryC(all) and divorceC(all) objects
Marriage link from
application model
another model validator configuration is defined
this configuration tries to contruct an action sequence
with 2 successive divorceC(alls) between the required
3 Snapshot objects; the configuration does *NOT* allow
marryC(alls)
the new model validator configuration
is loaded through the plugin button
resulting object diagram has 2 successive divorce calls; all
(original) pre/postconditions and invariants satisfied; this
shows that the original postcondition of divorce was too *WEAK*
according to the (too weak) postcondition of divorce, it is
allowed to remove a Marriage link *AND* to introduce in the
same operation call another Marriage link
Marriage links from
application model
the OCL query at the bottom searches for married persons being
present in 2 successive snapshots but having disjoint sets of
spouses; person4 *DIVORCED* and *MARRIED* by 1st divorceC(all)
the action sequence can be explored with OCL queries; the
complete action sequence with all states and all operation
calls is available in a single object diagram
Thanks for your attention!

More Related Content

Viewers also liked

Viewers also liked (6)

Lectura el puma
Lectura   el pumaLectura   el puma
Lectura el puma
 
Documentos primaria-sesiones-unidad06-segundo grado-integrados-2g-u6-sesion19
Documentos primaria-sesiones-unidad06-segundo grado-integrados-2g-u6-sesion19Documentos primaria-sesiones-unidad06-segundo grado-integrados-2g-u6-sesion19
Documentos primaria-sesiones-unidad06-segundo grado-integrados-2g-u6-sesion19
 
Rúbrica coevaluación y autoevaluación
Rúbrica coevaluación y autoevaluaciónRúbrica coevaluación y autoevaluación
Rúbrica coevaluación y autoevaluación
 
Asinhroni motori
Asinhroni motoriAsinhroni motori
Asinhroni motori
 
Pharmaceutical Documentation
Pharmaceutical DocumentationPharmaceutical Documentation
Pharmaceutical Documentation
 
Krv i hematopoeza
Krv i hematopoezaKrv i hematopoeza
Krv i hematopoeza
 

Similar to 2013 06-03 demonstrating-filmstrippinginuse

PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptxMotiDiro1
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.Peter Tröger
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
OTP application (with gen server child) - simple example
OTP application (with gen server child) - simple exampleOTP application (with gen server child) - simple example
OTP application (with gen server child) - simple exampleYangJerng Hwa
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAANDTech
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSijseajournal
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
7.1-Midterm-review-and-examplessssssss.pdf
7.1-Midterm-review-and-examplessssssss.pdf7.1-Midterm-review-and-examplessssssss.pdf
7.1-Midterm-review-and-examplessssssss.pdfSuziSimonovska1
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxminationAditi_17
 
Software Tutorial Week1 Online 1
Software Tutorial Week1 Online 1Software Tutorial Week1 Online 1
Software Tutorial Week1 Online 1guestc154bcf
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
Flex component lifecycle
Flex component lifecycleFlex component lifecycle
Flex component lifecycleYaniv Uriel
 
Immutable Data and TypeScript in an Ember.js Application
Immutable Data and TypeScript in an Ember.js ApplicationImmutable Data and TypeScript in an Ember.js Application
Immutable Data and TypeScript in an Ember.js ApplicationBill Heaton
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4Billie Berzinskas
 

Similar to 2013 06-03 demonstrating-filmstrippinginuse (20)

PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptx
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
OTP application (with gen server child) - simple example
OTP application (with gen server child) - simple exampleOTP application (with gen server child) - simple example
OTP application (with gen server child) - simple example
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in Action
 
3Requirements.ppt
3Requirements.ppt3Requirements.ppt
3Requirements.ppt
 
Dense And Hot Web Du
Dense And Hot  Web DuDense And Hot  Web Du
Dense And Hot Web Du
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Digital twin
Digital twinDigital twin
Digital twin
 
7.1-Midterm-review-and-examplessssssss.pdf
7.1-Midterm-review-and-examplessssssss.pdf7.1-Midterm-review-and-examplessssssss.pdf
7.1-Midterm-review-and-examplessssssss.pdf
 
Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
Software Tutorial Week1 Online 1
Software Tutorial Week1 Online 1Software Tutorial Week1 Online 1
Software Tutorial Week1 Online 1
 
Dense And Hot 360 Flex
Dense And Hot 360 FlexDense And Hot 360 Flex
Dense And Hot 360 Flex
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
Flex component lifecycle
Flex component lifecycleFlex component lifecycle
Flex component lifecycle
 
Immutable Data and TypeScript in an Ember.js Application
Immutable Data and TypeScript in an Ember.js ApplicationImmutable Data and TypeScript in an Ember.js Application
Immutable Data and TypeScript in an Ember.js Application
 
10.1.1.135.9447
10.1.1.135.944710.1.1.135.9447
10.1.1.135.9447
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4
 
Mule ctf
Mule  ctfMule  ctf
Mule ctf
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

2013 06-03 demonstrating-filmstrippinginuse

  • 1. Demonstrating Filmstripping in the UML-based Specification Environment (USE) M. Gogolla, L. Hamann, F. Hilken, M. Kuhlmann Database Systems Group, University of Bremen, Germany R. France Colorado State University, CO, USA USE TOOL AVAILABLE AT: http://sourceforge.net/apps/mediawiki/useocl PPT PRESENTATION AVAILABLE AT: [viewing ppt presentation results in better quality than viewing pdf presentation] http://de.slideshare.net/gogolla/2013-0603-demonstratingfilmstrippinginuse-22378212
  • 2. 1. Uncommented Screenshots from a USE session 2. Screenshots with Comments for the same USE session
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. 1. Uncommented Screenshots from a USE session 2. Screenshots with Comments for the same USE session
  • 15. after USE hase been started, the contents of the file marryDivorce2.cmd is read; the commands in that file are executed: the underlying appplication model is loaded, some objects are created, operations on the created objects are called, and class invariants and operation pre- and postconditions are checked
  • 16. load model create objects check invariants 1st operation call with pre/post check check invariants check invariants 2nd operation call with pre/post check
  • 17. result state of the action sequence is the object diagram; action sequence is pictured by the sequence diagram 1st operation call 2nd operation call create objects
  • 18. filmstrip model class diagram is loaded and displayed red: application model; rest: filmstrip model; operations become classes; pre/post become invariants
  • 19. model validator configuration for achieving a state structurally similar to the state of the application model is defined data type values are determined; exactly 9 Person and 3 Snapshot objects are required; at least 1 and at most 2 marryC(all) and divorceC(all) objects are allowed
  • 20. model validator configuration is loaded through the plugin button
  • 21. model validator searches for a state satisfying the model invariants and the given configuration model validator finds a state representing 3 successive snapshots from the application model; 2 operation calls are represented by the marryC(all) and divorceC(all) objects Marriage link from application model
  • 22. another model validator configuration is defined this configuration tries to contruct an action sequence with 2 successive divorceC(alls) between the required 3 Snapshot objects; the configuration does *NOT* allow marryC(alls)
  • 23. the new model validator configuration is loaded through the plugin button
  • 24. resulting object diagram has 2 successive divorce calls; all (original) pre/postconditions and invariants satisfied; this shows that the original postcondition of divorce was too *WEAK* according to the (too weak) postcondition of divorce, it is allowed to remove a Marriage link *AND* to introduce in the same operation call another Marriage link Marriage links from application model
  • 25. the OCL query at the bottom searches for married persons being present in 2 successive snapshots but having disjoint sets of spouses; person4 *DIVORCED* and *MARRIED* by 1st divorceC(all) the action sequence can be explored with OCL queries; the complete action sequence with all states and all operation calls is available in a single object diagram
  • 26. Thanks for your attention!