Skip to content

Instantly share code, notes, and snippets.

#!/usr/local/bin/symon -pnf
###############################################################
# Name
# periodic_fetch.symon
#
# Description
# SyMon specification to make sure that for any application ID,
# the time gap between two consecutive fetch must be bounded by
# a certain time_bound. By running SyMon, one can see the
# maximum time_bound so far. If you only want to get the final result,
#!/usr/local/bin/symon -dnf
###############################################################
# Name
# need_resp.symon
#
# Description
# After an event A with a specific ID, we should receive a response B with the same ID within 5 time units.
#
# For instance, for the following input, symon detects an error for x0 == hoge3 and x0 == hoge0.
# A hoge1 3
@MasWag
MasWag / PKGBUILD
Created June 26, 2025 11:16
PKGBUILD for NuSMV
# Maintainer: Alex Szczuczko <[email protected]>
# Contributor: Marcelo Alaniz <[email protected]>
# Contributor: Peter Wu <[email protected]>
# Contributor: Masaki Waga <[email protected]>
pkgname=nusmv
_pkgname=NuSMV
pkgver=2.7.0
pkgrel=2
pkgdesc="A new symbolic model checker"
@MasWag
MasWag / detect_non_dblp_bibtex.py
Created June 16, 2025 00:30
A script to detect possibly non-DBLP entries in a BibTeX file
####################################################################################
# Name
# detect_non_dblp_bibtex.py
# Description
# This script reads a BibTeX file and detectes possibly non-DBLP entries.
# More precisely, it checks each entry for the presence of a 'biburl' field.
# If the 'biburl' field is missing or does not contain 'dblp', it considers the entry
# as possibly non-DBLP and prints the citation key of that entry.
# Usage
# python detect_non_dblp_bibtex.py /path/to/bibtex.bib
(defun pin-window ()
(interactive)
(let ((window (selected-window)))
(progn
(message "Pin the window %s" window)
(set-window-dedicated-p window t))))
(defun unpin-window ()
(interactive)
(let ((window (selected-window)))
@MasWag
MasWag / PKGBUILD
Created May 26, 2025 04:35
PKGBUILD for tree-sitter-symon
# Maintainer: Masaki Waga
pkgname=tree-sitter-symon-git
pkgver=.r0.g5c8d3dd
pkgrel=1
pkgdesc="SyMon grammar for tree-sitter"
arch=('i686' 'x86_64')
url="https://github.com/MasWag/tree-sitter-symon"
license=('MIT')
groups=('tree-sitter-grammars')
@MasWag
MasWag / Dockerfile
Last active April 17, 2025 23:56
Dockerfile to build LTSMin 3.1.0-beta2
# Stage 0: Builder
FROM debian:bookworm AS builder
# 1) Base tools & Spot repo key
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates wget gnupg lsb-release
# 2) Add Spot’s Debian repo (stable)
RUN wget -qO- https://www.lrde.epita.fr/repo/debian.gpg | apt-key add - && \
(leaf satysfi
:mode (("\\.saty$" . satysfi-mode)
("\\.satyh$" . satysfi-mode)
("\\.satyg$" . satysfi-mode))
:hook (satysfi-mode-hook . lsp)
:config
(cond ((equal system-type 'darwin)
(setq satysfi-pdf-viewer-command "open -a Skim"
satysfi-command "opam exec satysfi"))
((equal system-type 'gnu/linux)
@MasWag
MasWag / append_only.rs
Created January 4, 2025 06:42
Sequence with dynamic update in Rust
use std::rc::Rc;
use std::cell::{Ref, RefCell};
struct AppendOnlySequence<T> {
data: Rc<RefCell<Vec<T>>>,
}
impl<T> AppendOnlySequence<T> {
pub fn new() -> Self {
Self {
@MasWag
MasWag / PKGBUILD
Created August 7, 2024 05:46
PKGBUILD for spot 2.12
# Maintainer: Stefan Husmann <[email protected]>
# Maintainer: Clément Démoulins <[email protected]>
# Contributor: Aaron Schaefer <[email protected]>
# Contributor: Masaki Waga <[email protected]>
pkgname=spot
pkgver=2.12
pkgrel=1
pkgdesc="A C++17 library for LTL, omega automata manipulation and model checking."
arch=('i686' 'x86_64')