Jan Oliver Ringert
Jan Oliver Ringert
  • Видео 100
  • Просмотров 46 477

Видео

Satisfiability Checking Example (Formal Mehods Playground)
Просмотров 162 месяца назад
The code is available from: play.formal-methods.net/?check=SAT&p=sloped-chair-yeast-vowed
Validity Checking Example (Formal Methods Playground)
Просмотров 112 месяца назад
Validity Checking Example (Formal Methods Playground)
Alloy Analyzer Traffic Light Example (Formal Methods Playground)
Просмотров 322 месяца назад
The code is available from play.formal-methods.net/?check=ALS&p=bobble-payday-oboe-banana
SMT Linear Arithmentic Example Cat, Dog, Mouse (Formal Methods Playground)
Просмотров 192 месяца назад
The code is available from play.formal-methods.net/?check=SMT&p=relock-clever-parcel-envy
SMT Drinker's Paradox Example (Formal Methods Playground)
Просмотров 322 месяца назад
The code is available from play.formal-methods.net/?check=SMT&p=unrest-viable-math-tall
Formal Methods Playground Overview
Просмотров 502 месяца назад
An overview of the Formal Methods Playground tool hosted at play.formal-methods.net
Installing VSCode on Ubuntu for a Java and Gradle project
Просмотров 2046 месяцев назад
This video shows a fresh install of VSCode, Git, a Java JDK, and necessary VSCode extensions to work on Java projects with Gradle in VSCode. The example project used is the following template with JavaFX, CSV files, and SQL Database support: github.com/se-buw/javafx-gradle-template This video shows the code and how to run it in Eclipse: ruclips.net/video/9bqYSYh-G1A/видео.html
JavaFX and CLI template projects with SQL and CSV
Просмотров 4026 месяцев назад
This videos demonstrates how to clone and run a simple JavaFX demo project in Eclipse and on the command line with Gradle. github.com/se-buw/javafx-gradle-template The project comes with a JavaFX GUI and alternatively a command line interface. The demo uses a simple SQL database and alternative even simpler CSV file to store data.
Digital Engineering Welcome Summer 2024
Просмотров 1527 месяцев назад
This is a recording of the welcome session for the Summer 2024 intake of the MSc program Digital Engineering at Bauhaus-University Weimar. The main purpose of this recording is to serve as a reference/reminder for those who attended and for those who could not make it to the welcome meeting.
Applications of LTL Model Checking
Просмотров 1309 месяцев назад
0:00 LTL Specification Patterns 31:50 Applications of LTL model checking and NuSMV/nuXmv 56:19 Formal Methods: Practice and Experience
LTL Model Checking
Просмотров 1249 месяцев назад
This is a continuation of the lecture on LTL model checking: 0:00 Non-determinism and ASSIGN vs. TRANS in SMV 20:40 Solving the Collatz Conjecture? play.formal-methods.net/?check=XMV&p=next-pesky-player-comfy 40:20 LTL equivalence checking by model checking
LTL & Model Checking
Просмотров 2299 месяцев назад
0:00 Equivalences of LTL formulas 14:57 Weak Until and Release Operators 17:30 Past time LTL 24:44 LTL equivalences quiz 35:53 LTL Model Checking 37:20 NuSMV and nuXmv model checkers play.formal-methods.net/?check=XMV 43:10 SMV language play.formal-methods.net?check=XMV&p=relock-hug-entail-drool 52:56 Integers and overflows play.formal-methods.net/?check=XMV&p=swipe-napped-swivel-hybrid 1:01:05...
Linear Temporal Logic
Просмотров 3199 месяцев назад
0:00 Reflection and motivation of additional specification languages 15:40 Introduction of Linear Temporal Logic 32:32 LTL syntax 33:51 LTL semantics 35:55 Transition systems 45:45 Paths 51:06 Path satisfaction
Relations & Multiplicities
Просмотров 859 месяцев назад
0:00 Finite scenario finding with Alloy 8:07 Run commands 13:20 Scope for signatures in Alloy 18:06 Elements of Alloy models 32:38 Inheritance between signatures 42:25 Multiplicities for fields 59:39 Constraints over relations, predicates and functions
More Alloy & Applications
Просмотров 979 месяцев назад
More Alloy & Applications
Introduction to Relational First-Order Logic
Просмотров 1179 месяцев назад
Introduction to Relational First-Order Logic
Code Verification
Просмотров 919 месяцев назад
Code Verification
SMT Puzzles & Verification
Просмотров 1059 месяцев назад
SMT Puzzles & Verification
FOL & SMT solvers
Просмотров 1999 месяцев назад
FOL & SMT solvers
First-Order Logic (pt. 1)
Просмотров 1359 месяцев назад
First-Order Logic (pt. 1)
Feature Model Analysis with SAT
Просмотров 2229 месяцев назад
Feature Model Analysis with SAT
Role-based Access Control analysis (pt. 2)
Просмотров 1579 месяцев назад
Role-based Access Control analysis (pt. 2)
Limboole and Role-Based Access Control
Просмотров 2909 месяцев назад
Limboole and Role-Based Access Control
Declarative thinking & propositional logic
Просмотров 3479 месяцев назад
Declarative thinking & propositional logic
Formal Methods Welcome
Просмотров 1 тыс.9 месяцев назад
Formal Methods Welcome
Digital Engineering Welcome session
Просмотров 455Год назад
Digital Engineering Welcome session
[L4] Triggers
Просмотров 73Год назад
[L4] Triggers
[L4] Triggers (solution)
Просмотров 66Год назад
[L4] Triggers (solution)
Importing JavaFX Gradle Template to Eclipse
Просмотров 364Год назад
Importing JavaFX Gradle Template to Eclipse

Комментарии

  • @encapsulatio
    @encapsulatio 16 дней назад

    1. What books are considered right now as of 2024 as the modern gold standard HOW TOs of formal methods based software engineering in your opinion based on what you know and what you heard from colleagues that specialize in this? A "must read" list would be amazing. There are way to many podcasts focused on software engineering that recommend endlessly the same books that have nothing to do with formal methods based software engineering. 2. Are there no blogs and podcasts that focus on this sub niche of software engineering that you can list? An exhaustive list would be in itself an incredible resource since hardly anyone is popularizing this approach to software engineering. Thank you!

  • @ai_bot2095
    @ai_bot2095 3 месяца назад

    Thank you very much professor. I finished watching all your videos on this course. They were highly informative.

  • @aaronelectronik4762
    @aaronelectronik4762 6 месяцев назад

    Thank you very much Professor for this great video. may i have a small exchange with you to discuss about some question??

    • @JanOliverRingert
      @JanOliverRingert 6 месяцев назад

      Sure, either here or feel free to send an email. My email address is at the bottom of this page: ringert.blogspot.com/p/about.html

  • @JanOliverRingert
    @JanOliverRingert 7 месяцев назад

    Here is an updated (and longer) version with a more recent JavaFX and Gradle. It also shows how to use an SQL database, a command line interface, and CSV files: ruclips.net/video/9bqYSYh-G1A/видео.html

  • @JanOliverRingert
    @JanOliverRingert 7 месяцев назад

    The confusion clash of Software Engineering and Algorithms and Data Structures has been resolved. The exerciese schedule of Algorithms and Data Structures was tentative and will likely be moved (check the lecture for updates).

  • @emidiaz7350
    @emidiaz7350 7 месяцев назад

    Excellent and clear explanation. Greetings from Argentina!

  • @Dana-qm9fu
    @Dana-qm9fu 7 месяцев назад

    'Promo sm' 😃

  • @dagmawiandualem9749
    @dagmawiandualem9749 8 месяцев назад

    I wanted to apply for more than three years, but I dont know how to. help me out sir !

  • @SimonKern-y1e
    @SimonKern-y1e 10 месяцев назад

    Thank you so much! Straightforward and simple, saved me lots of time! :)

  • @brazo98
    @brazo98 Год назад

    @JanOliverRingert you save my life. Thx a lot for your awesome tutorial. 😁😁😁

    • @JanOliverRingert
      @JanOliverRingert Год назад

      You are welcome. Just out of curiosity: is it for an assignment and if so, where?

    • @brazo98
      @brazo98 Год назад

      @@JanOliverRingert No, no order? My professor uses your tutorial for his advanced software engineering classes. And it helped me a lot. Since I already have experience with Spring Boot and am therefore familiar with the concepts of the Gang of Four, it was easy. Although I do have one or two questions. But I don't know if this is the correct format?

    • @JanOliverRingert
      @JanOliverRingert Год назад

      Feel free to ask. In case you need it, my email is listed here ringert.blogspot.com/p/about.html (in an image at the bottom) but I am afraid I might not be able to answer unless it is specific to one of the videos or steps.

  • @TijanicA1994
    @TijanicA1994 Год назад

    Is it possible to run this validation through code, as you have shown it is possible to instantiate classes?

    • @JanOliverRingert
      @JanOliverRingert Год назад

      Yes, you can run it. It might be a bit tricky to set up (similarly to creating instances it needs some dependencies and some setup). I have an example project from a homework in my class where I added a JUnit test that checks validity of instances programmatically (including OCL) here: github.com/se-buw/gendev.lab1 The JUnit test CodeGenAndOclTest checks an instance with the Diagnostician: github.com/se-buw/gendev.lab1/blob/a6e17851c26f0bf94df4130958df346d83589d40/de.buw.se.gendev.lab1/test/de/buw/se/gendev/lab1/CodeGenAndOclTest.java#L57 Failing OCL constraints will be reported (not implemented as part of this JUnit test, but you may debug the output of the Diagnostician to find out more details).

    • @TijanicA1994
      @TijanicA1994 Год назад

      @@JanOliverRingert I will try this. Thank you so much. :)

  • @mohamedyassineyahyaoui4323
    @mohamedyassineyahyaoui4323 Год назад

    ty <3

  • @felixnahrstedt732
    @felixnahrstedt732 Год назад

    You saved my ass

  • @felixnahrstedt732
    @felixnahrstedt732 Год назад

    I love you!!

  • @BENTECHPROTV
    @BENTECHPROTV 2 года назад

    thanks a lot, amazing work

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    In the most recent tutorial code we have replaced the library DwyerPatterns.spectra with a version that uses systematic naming rules. Patterns still work the same way, but names are different from those in the video, e.g. the pattern instance pRespondsToS(carA, greenA); now becomes S_responds_to_P_globally(greenA, carA);. The names of auxiliary variables in the Rich Controller Walker changed accordingly.

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    In the most recent tutorial code we have replaced the library DwyerPatterns.spectra with a version that uses systematic naming rules. Patterns still work the same way, but names are different from those in the video, e.g. the pattern instance pRespondsToS(carA, greenA); now becomes S_responds_to_P_globally(greenA, carA);. Note that the parameter order of trigger/response now changed to response/trigger.

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    In the most recent tutorial code we have replaced the library DwyerPatterns.spectra with a version that uses systematic naming rules. Patterns still work the same way, but names are different from those in the video, e.g. the pattern instance pRespondsToS(carA, greenA); now becomes S_responds_to_P_globally(greenA, carA);. Note that the parameter order of trigger/response now changed to response/trigger.

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    For versions Spectra Tools after v1.0.0.202210... loading the controller now requires to also provide the name of the specification and the subfolder indicating the type of controller, e.g., ControllerExecutor executor = new ControllerExecutor(new BasicJitController(), "out/jit", "TrafficE2"); for this example using the just-in-time symbolic controller.

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    Beachte, dass auf Betriebssystemen mit Deutsch als Standardsprache der Scanner als Dezimalzweichen ein Komma verwendet während Zahlen im Code und in Strings mit Integer.parseInt(...) einen Punkt als Dezimaltrenner verwenden müssen.

  • @vinod-jg8or
    @vinod-jg8or 2 года назад

    Very helpful.

  • @JanOliverRingert
    @JanOliverRingert 2 года назад

    The recent versions of Eclipse, e.g., 2022-03 and 2022-06, have an incompatibility between GEF and Xtext preventing Spectra Tools, which depends on both, from loading. The version indicated on the SYNTECH website (currently Eclipse 2021-03) still works. We will update soon to remove the dependency on GEF.

    • @tiberiugeorgescu4459
      @tiberiugeorgescu4459 2 года назад

      Hello Jan. The incompatibility issue still seems to be present. Are you aware of any way to work around it? How soon can we expect the update to remove the dependency? Thank you!

    • @JanOliverRingert
      @JanOliverRingert 2 года назад

      @@tiberiugeorgescu4459 Sorry for the delay. The workaround is using the version Eclipse 2021-03. By Monday the new version should be out and working with the latest Eclipse.

    • @marm2185
      @marm2185 10 месяцев назад

      Hello @JanOliverRingert , there seems to be a compatibility issue with eclipse 2023-12, has this been noted? Is there a version which is guaranteed to work? I tried using 2021-03, but it seems that no matter what the specification is always unrealizable (even when using the provided tutorial code). Thanks!

    • @JanOliverRingert
      @JanOliverRingert 10 месяцев назад

      @@marm2185 Sorry about the inconvenience. Right now version 2023-06 should work (newer ones fail for some incompatibility, likely with Xtext). If you are using a Mac M2 or some other not so common system/CPU use "Eclipse/Window/Preferences/Spectra" to change the BDD engine to "JTLV package".

  • @pameljhinger
    @pameljhinger 3 года назад

    I have 2 questions (for the robot task): 1. I came up with (e.g.) "gar alw robX=4 & move!=RIGHT -> robX=4", do you think it would behave the same? 2. Could you split the conjunction of implications into 4 separate guarantees? TIA, been using Spectra for my individual project :)

    • @JanOliverRingert
      @JanOliverRingert 3 года назад

      Great to hear that; I am sorry for the late reply: 1. your guarantee has robX=4 on both sides of the implication and turns out to be a tautology (if robX!=4 then the implication is always true (because the left side is false); if robX=4 then the right side is always true and thus also the whole implication) 2. Yes, you can split the conjunction like that into 4 guarantees starting with "gar alw ..." Let me know if you have any more questions.

  • @varalakshmitheegala2176
    @varalakshmitheegala2176 3 года назад

    Please upload all videos

    • @JanOliverRingert
      @JanOliverRingert 3 года назад

      I am sorry, for data protection reasons (mainly that of students participating in the lecture) the lecture recordings can only be made available to active University of Leicester students.