SlideShare a Scribd company logo
1 of 19
Download to read offline
What fUML can bring to
       MBSE?




        Loïc Fejoz
Real models are complex.
                                 Syntactical verifications are
                                 nice but not enough.




         More model semantics
          checking is needed.


4th february 2011   Loïc Fejoz                                   2/19
Ok those are simple examples
                      but you can imagine others...



4th february 2011   Loïc Fejoz                        3/19
This one could be very tricky
as the Generalization is not
drawn on the diagram.




 4th february 2011              Loïc Fejoz   4/19
Activities verification
                                  is the #1 priority of
                                  the group that has
                                   written the report
                                  called "Executable
                                      UML/SysML
                                   semantics project
                                         report"




4th february 2011   Loïc Fejoz                             5/19
Your models certainly
            contain less obvious
                 examples
        (especially for cross-diagram
                  elements)
Remember that not all
elements are visible on
diagram. Moreover they are
cross-cutting concerns of
diagrams.

4th february 2011            Loïc Fejoz   6/19
fUML brings semantic
            checking possibility.


4th february 2011   Loïc Fejoz      7/19
FUML does not axiomatize all
                                                 UML. It does not axiomatize
                                                 SysML, nor OCL. But it can be
                                                 trivialy extended for those
                                                 examples.

                                               Those formulae are written in
                                               Common Logic Format (CLIF) with
                                               Process Specification Language
                                               (PSL).


(buml:Classifier “ZooPackage::SelfContentBlock“)
(buml:Property “ZooPackage::SelfContentBlock::subpart“)
(buml:ownedAttribute
    “ZooPackage::SelfContentBlock“
    “ZooPackage::SelfContentBlock::subpart“)
(buml:aggregation “ZooPackage::SelfContentBlock::subpart“ buml:composite)
…
(forall (o v f)
  (if (and
      (form:classifies “ZooPackage::SelfContentBlock“ o f)
      (form:property-value o “ZooPackage::SelfContentBlock::subpart“ v f))
    (= o v)))


  4th february 2011       Loïc Fejoz                                       8/19
fULM Axiomatization
 Boolean primitive types axiomatization:
 (forall (x)
   (if (buml:Boolean x)                          Obviously fUML provides
       (or (= x form:true)                       axiomatization for primitive
             (= x form:false))))                 types, Classification, activity,
                                                 etc.
 (not (= form:true form:false))
 …

 Classification and generalization:
 (forall (csub csuper o f)
   (iff (buml:general csub csuper)
          (if (form:classifies csub o f)
               (form:classifies csuper o f))))




4th february 2011            Loïc Fejoz                                             9/19
Those formulae may be verified
   automatically by some provers.
    Thus models can be formally
               verified
           (and shall be).


4th february 2011   Loïc Fejoz   10/19
Following slides will list tools
                                     and difficulty we have to
                                     develop an fUML plugin for
                                     Topcased.




                    Time for a plugin !



4th february 2011       Loïc Fejoz                                      11/19
Acceleo MTL
                                 The generated Java is nor
                                 easy to (unit)test nor easy to
                                 call. To few documentations for
                                 programmatic use.

[template class2clif(clz : Class)]
(buml:Classifier [clz.clifName()/])
[for (gen : Generalization | clz.generalization)]
(buml:general [gen.specific.clifName()/]
[gen.general.clifName()/])
[/for]
[for (prop : Property | clz.ownedAttribute)]
[property2clif(prop, clz)/]
[/for]
[/template]


4th february 2011   Loïc Fejoz                           12/19
We would prefer to use QVT
                                       but the ATL implementation is
                                       more advance.
                                       Not easy to write unit-tests
                                       especially when comparing
                                       with QVT.
                                       Usually we run ATL then MTL
                                       but it is not that easy to chain
                                       both tool without creating

                                 ATL   intermediate files.


                                  vs
                                 QVT




4th february 2011   Loïc Fejoz                                    13/19
This are getting better and
                                 easier from version to version.
                                 No documentation (again!) but
                                 the code of the simple
                                 verification made by TopCased
                                 editor is easy to read and
                                 reproduce.




              Warnings and errors
                as feedbacks


4th february 2011   Loïc Fejoz                                     14/19
If we generate warnings it
                                    would be nice to propose
                                    quickfixes. We were not able to
                                    program some! There are stuff
                                    missing to do that... Moreover
                                    there are no documentation
                                    nor existing code.




                      Quickfix?
                    Which quickfix?


4th february 2011      Loïc Fejoz                                     15/19
A little bit of topic but...            At one point we tried to extends the SysML
                                        activity diagram editor so as to present (some)
                                        activities with a different looking.
                                        We manage to do it but we violate some
                                        access restriction. The code is not written for
                                        that purpose and reuse is not made easy. Lots
                                        of copy'n paste.
                                        No documentation nor existing code.




                          Diagram extension




4th february 2011          Loïc Fejoz                                                16/19
As we generate files for external programs, we
                                   have build a special builder to generate files on
                                   model modification but we also tried to update
                                   the model from files content.
                                   It is a real nightmare...



                    ResourceSet,
                       Builder
                        and
                    model updates

4th february 2011     Loïc Fejoz                                              17/19
Topcased evolves quite quickly so bugs are quickly
                            corrected. BUT plugins also change to quickly and
                            sometime (most of the time?) it involves incompatible
                            changes.
                            I have code from last summer that do not work
                            anymore.
                            Moreover the freeze period is to short for us to react
                            and test our plugin.



                      Fast!
                    Too fast?


4th february 2011   Loïc Fejoz                                               18/19
Conclusion
 ●   Interesting platform
 ●   Lots of plugins

 ●   Models need more semantic checking

 ●   To few documentation
 ●   Not stable enough
 ●   NIH syndrom (between EMF and core)
4th february 2011   Loïc Fejoz            19/19

More Related Content

Viewers also liked

Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Edward Willink
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsJordi Cabot
 
Fast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesFast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesEdward Willink
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsEdward Willink
 
Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Pascal Roques
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal PerspectiveEdward Willink
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Erradi Mohamed
 
OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification StatusEdward Willink
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT LanguagesEdward Willink
 
OCL Integration and Code Generation
OCL Integration and Code GenerationOCL Integration and Code Generation
OCL Integration and Code GenerationEdward Willink
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
mis
mismis
misISIG
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of OppositesEdward Willink
 
Frame latency evaluation: when simulation and analysis alone are not enough
Frame latency evaluation: when simulation and analysis alone are not enoughFrame latency evaluation: when simulation and analysis alone are not enough
Frame latency evaluation: when simulation and analysis alone are not enoughRealTime-at-Work (RTaW)
 

Viewers also liked (20)

Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
Cvl
CvlCvl
Cvl
 
Fast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesFast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast Queries
 
Mix
MixMix
Mix
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc results
 
The OCLforUML Profile
The OCLforUML ProfileThe OCLforUML Profile
The OCLforUML Profile
 
Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0Prfc rhapsody simulation_1.0
Prfc rhapsody simulation_1.0
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal Perspective
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
 
OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...OCCIware: extensible and standard-based XaaS platform to manage everything in...
OCCIware: extensible and standard-based XaaS platform to manage everything in...
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification Status
 
OCL 2.5 plans
OCL 2.5 plansOCL 2.5 plans
OCL 2.5 plans
 
Yet Another Three QVT Languages
Yet Another Three QVT LanguagesYet Another Three QVT Languages
Yet Another Three QVT Languages
 
OCL Integration and Code Generation
OCL Integration and Code GenerationOCL Integration and Code Generation
OCL Integration and Code Generation
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
mis
mismis
mis
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of Opposites
 
OCCIware
OCCIwareOCCIware
OCCIware
 
Frame latency evaluation: when simulation and analysis alone are not enough
Frame latency evaluation: when simulation and analysis alone are not enoughFrame latency evaluation: when simulation and analysis alone are not enough
Frame latency evaluation: when simulation and analysis alone are not enough
 

More from RealTime-at-Work (RTaW)

What are the relevant differences between Asynchronous (ATS) and Credit Based...
What are the relevant differences between Asynchronous (ATS) and Credit Based...What are the relevant differences between Asynchronous (ATS) and Credit Based...
What are the relevant differences between Asynchronous (ATS) and Credit Based...RealTime-at-Work (RTaW)
 
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?RealTime-at-Work (RTaW)
 
Time-Predictable Communication in Service-Oriented Architecture - What are th...
Time-Predictable Communication in Service-Oriented Architecture - What are th...Time-Predictable Communication in Service-Oriented Architecture - What are th...
Time-Predictable Communication in Service-Oriented Architecture - What are th...RealTime-at-Work (RTaW)
 
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...RealTime-at-Work (RTaW)
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...RealTime-at-Work (RTaW)
 
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-StudyDo We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-StudyRealTime-at-Work (RTaW)
 
QoS-Predictable SOA on TSN: Insights from a Case-Study
QoS-Predictable SOA on TSN: Insights from a Case-StudyQoS-Predictable SOA on TSN: Insights from a Case-Study
QoS-Predictable SOA on TSN: Insights from a Case-StudyRealTime-at-Work (RTaW)
 
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...Simulation-Based Fault Injection as a Verification Oracle for the Engineering...
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...RealTime-at-Work (RTaW)
 
Practical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet RedundancyPractical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet RedundancyRealTime-at-Work (RTaW)
 
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture Design
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture DesignTowards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture Design
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture DesignRealTime-at-Work (RTaW)
 
Early-stage Bottleneck Identification and Removal in TSN Networks
Early-stage Bottleneck Identification and Removal in TSN NetworksEarly-stage Bottleneck Identification and Removal in TSN Networks
Early-stage Bottleneck Identification and Removal in TSN NetworksRealTime-at-Work (RTaW)
 
Early-stage topological and technological choices for TSN-based communication...
Early-stage topological and technological choices for TSN-based communication...Early-stage topological and technological choices for TSN-based communication...
Early-stage topological and technological choices for TSN-based communication...RealTime-at-Work (RTaW)
 
Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...RealTime-at-Work (RTaW)
 
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...RealTime-at-Work (RTaW)
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...RealTime-at-Work (RTaW)
 
Insights on the Configuration and Performances of SOME/IP Service Discovery
Insights on the Configuration and Performances of SOME/IP Service DiscoveryInsights on the Configuration and Performances of SOME/IP Service Discovery
Insights on the Configuration and Performances of SOME/IP Service DiscoveryRealTime-at-Work (RTaW)
 
CAN in Automotive Applications: a Look Forward
CAN in Automotive Applications: a Look ForwardCAN in Automotive Applications: a Look Forward
CAN in Automotive Applications: a Look ForwardRealTime-at-Work (RTaW)
 
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...RealTime-at-Work (RTaW)
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityRealTime-at-Work (RTaW)
 

More from RealTime-at-Work (RTaW) (20)

What are the relevant differences between Asynchronous (ATS) and Credit Based...
What are the relevant differences between Asynchronous (ATS) and Credit Based...What are the relevant differences between Asynchronous (ATS) and Credit Based...
What are the relevant differences between Asynchronous (ATS) and Credit Based...
 
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?
TSN Timing QoS Mechanisms: What Did We Learn over the Past 10 Years?
 
Time-Predictable Communication in Service-Oriented Architecture - What are th...
Time-Predictable Communication in Service-Oriented Architecture - What are th...Time-Predictable Communication in Service-Oriented Architecture - What are th...
Time-Predictable Communication in Service-Oriented Architecture - What are th...
 
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...
Strategies for End-to-End Timing Guarantees in a Centralized Software Defined...
 
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
Signal-Oriented ECUs in a Centralized Service-Oriented Architecture: Scalabil...
 
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-StudyDo We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
Do We Really Need TSN in Next-Generation Helicopters? Insights From a Case-Study
 
QoS-Predictable SOA on TSN: Insights from a Case-Study
QoS-Predictable SOA on TSN: Insights from a Case-StudyQoS-Predictable SOA on TSN: Insights from a Case-Study
QoS-Predictable SOA on TSN: Insights from a Case-Study
 
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...Simulation-Based Fault Injection as a Verification Oracle for the Engineering...
Simulation-Based Fault Injection as a Verification Oracle for the Engineering...
 
Practical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet RedundancyPractical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet Redundancy
 
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture Design
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture DesignTowards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture Design
Towards Computer-Aided, Iterative TSN-and Ethernet-based E/E Architecture Design
 
Early-stage Bottleneck Identification and Removal in TSN Networks
Early-stage Bottleneck Identification and Removal in TSN NetworksEarly-stage Bottleneck Identification and Removal in TSN Networks
Early-stage Bottleneck Identification and Removal in TSN Networks
 
Early-stage topological and technological choices for TSN-based communication...
Early-stage topological and technological choices for TSN-based communication...Early-stage topological and technological choices for TSN-based communication...
Early-stage topological and technological choices for TSN-based communication...
 
Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...Insights into the performance and configuration of TCP in Automotive Ethernet...
Insights into the performance and configuration of TCP in Automotive Ethernet...
 
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...
Insights on the Performance and Configuration of AVB and TSN in Automotive Ap...
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...
 
Insights on the Configuration and Performances of SOME/IP Service Discovery
Insights on the Configuration and Performances of SOME/IP Service DiscoveryInsights on the Configuration and Performances of SOME/IP Service Discovery
Insights on the Configuration and Performances of SOME/IP Service Discovery
 
CAN in Automotive Applications: a Look Forward
CAN in Automotive Applications: a Look ForwardCAN in Automotive Applications: a Look Forward
CAN in Automotive Applications: a Look Forward
 
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to security
 
Multicore scheduling in automotive ECUs
Multicore scheduling in automotive ECUsMulticore scheduling in automotive ECUs
Multicore scheduling in automotive ECUs
 

Recently uploaded

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 

Recently uploaded (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 

What fUML can bring to MBSE?

  • 1. What fUML can bring to MBSE? Loïc Fejoz
  • 2. Real models are complex. Syntactical verifications are nice but not enough. More model semantics checking is needed. 4th february 2011 Loïc Fejoz 2/19
  • 3. Ok those are simple examples but you can imagine others... 4th february 2011 Loïc Fejoz 3/19
  • 4. This one could be very tricky as the Generalization is not drawn on the diagram. 4th february 2011 Loïc Fejoz 4/19
  • 5. Activities verification is the #1 priority of the group that has written the report called "Executable UML/SysML semantics project report" 4th february 2011 Loïc Fejoz 5/19
  • 6. Your models certainly contain less obvious examples (especially for cross-diagram elements) Remember that not all elements are visible on diagram. Moreover they are cross-cutting concerns of diagrams. 4th february 2011 Loïc Fejoz 6/19
  • 7. fUML brings semantic checking possibility. 4th february 2011 Loïc Fejoz 7/19
  • 8. FUML does not axiomatize all UML. It does not axiomatize SysML, nor OCL. But it can be trivialy extended for those examples. Those formulae are written in Common Logic Format (CLIF) with Process Specification Language (PSL). (buml:Classifier “ZooPackage::SelfContentBlock“) (buml:Property “ZooPackage::SelfContentBlock::subpart“) (buml:ownedAttribute “ZooPackage::SelfContentBlock“ “ZooPackage::SelfContentBlock::subpart“) (buml:aggregation “ZooPackage::SelfContentBlock::subpart“ buml:composite) … (forall (o v f) (if (and (form:classifies “ZooPackage::SelfContentBlock“ o f) (form:property-value o “ZooPackage::SelfContentBlock::subpart“ v f)) (= o v))) 4th february 2011 Loïc Fejoz 8/19
  • 9. fULM Axiomatization Boolean primitive types axiomatization: (forall (x) (if (buml:Boolean x) Obviously fUML provides (or (= x form:true) axiomatization for primitive (= x form:false)))) types, Classification, activity, etc. (not (= form:true form:false)) … Classification and generalization: (forall (csub csuper o f) (iff (buml:general csub csuper) (if (form:classifies csub o f) (form:classifies csuper o f)))) 4th february 2011 Loïc Fejoz 9/19
  • 10. Those formulae may be verified automatically by some provers. Thus models can be formally verified (and shall be). 4th february 2011 Loïc Fejoz 10/19
  • 11. Following slides will list tools and difficulty we have to develop an fUML plugin for Topcased. Time for a plugin ! 4th february 2011 Loïc Fejoz 11/19
  • 12. Acceleo MTL The generated Java is nor easy to (unit)test nor easy to call. To few documentations for programmatic use. [template class2clif(clz : Class)] (buml:Classifier [clz.clifName()/]) [for (gen : Generalization | clz.generalization)] (buml:general [gen.specific.clifName()/] [gen.general.clifName()/]) [/for] [for (prop : Property | clz.ownedAttribute)] [property2clif(prop, clz)/] [/for] [/template] 4th february 2011 Loïc Fejoz 12/19
  • 13. We would prefer to use QVT but the ATL implementation is more advance. Not easy to write unit-tests especially when comparing with QVT. Usually we run ATL then MTL but it is not that easy to chain both tool without creating ATL intermediate files. vs QVT 4th february 2011 Loïc Fejoz 13/19
  • 14. This are getting better and easier from version to version. No documentation (again!) but the code of the simple verification made by TopCased editor is easy to read and reproduce. Warnings and errors as feedbacks 4th february 2011 Loïc Fejoz 14/19
  • 15. If we generate warnings it would be nice to propose quickfixes. We were not able to program some! There are stuff missing to do that... Moreover there are no documentation nor existing code. Quickfix? Which quickfix? 4th february 2011 Loïc Fejoz 15/19
  • 16. A little bit of topic but... At one point we tried to extends the SysML activity diagram editor so as to present (some) activities with a different looking. We manage to do it but we violate some access restriction. The code is not written for that purpose and reuse is not made easy. Lots of copy'n paste. No documentation nor existing code. Diagram extension 4th february 2011 Loïc Fejoz 16/19
  • 17. As we generate files for external programs, we have build a special builder to generate files on model modification but we also tried to update the model from files content. It is a real nightmare... ResourceSet, Builder and model updates 4th february 2011 Loïc Fejoz 17/19
  • 18. Topcased evolves quite quickly so bugs are quickly corrected. BUT plugins also change to quickly and sometime (most of the time?) it involves incompatible changes. I have code from last summer that do not work anymore. Moreover the freeze period is to short for us to react and test our plugin. Fast! Too fast? 4th february 2011 Loïc Fejoz 18/19
  • 19. Conclusion ● Interesting platform ● Lots of plugins ● Models need more semantic checking ● To few documentation ● Not stable enough ● NIH syndrom (between EMF and core) 4th february 2011 Loïc Fejoz 19/19