Skip to content

lesunb/LEGOS-SLEEC-XT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Supplementary material for:

Operationalizing Human Values in the Requirements Engineering Process of Ethics-Aware Autonomous Systems

LEGOS-SLEEC Extensions (LEGOS-SLEEC-XT)

This fork extends the original LEGOS-SLEEC tool with support for fluents to enable better traceability between SLEEC rules and goal models. These extensions were introduced starting from commit c12d922.

Fluent Support

Fluents represent temporal states derived from goal models. A fluent defines a state that:

  • Begins when a starting event occurs
  • Ends when any of the terminating events occur

Syntax

fluent <name><{starting_event},{terminating_event1,terminating_event2,...}>

Example

def_start
    event StartTrackVitalSigns
    event AchievedTrackVitalSigns
    fluent TrackVitalSigns <{StartTrackVitalSigns},{AchievedTrackVitalSigns}>
def_end

In this example, the TrackVitalSigns fluent:

  • Begins when StartTrackVitalSigns occurs
  • Ends when AchievedTrackVitalSigns occurs

Enhanced Conflict Detection

When LEGOS-SLEEC-XT detects conflicts between rules, it now automatically traces conflicts back to fluents. If conflicting events are part of fluent definitions (either as starting or terminating events), the tool reports:

  • Which fluents are involved in the conflict
  • How the conflicting rules relate to goal-level state transitions

This enhancement provides better traceability from low-level rule conflicts to high-level goal model constructs, helping developers understand the root cause of conflicts in terms of the goal model design.

Instruction for launching LEGOS-SLEEC-XT:

prerequisite:

  1. Python 3.5 and later

  2. z3-solver with python binding: pip install z3-solver or pip3 install z3-solver

  3. pysmt: pip install pysmt or pip3 install pysmt

  4. pip install ordered-set

  5. pip install textx

  6. pip install idle

Launch LEGOS-SLEEC-XT

python3 sleecFrontEnd.py

At this point, an UI window should have popped up. Edit the text in the window to customize your SLEEC rules

Generating SLEEC Rules from Goal Models

The goal-controller repository contains goal-controller, a tool under active development that supports the generation of SLEEC runtime rule specifications from SLEEC-compliant Goal Models.

The primary objective of this project is to enable the systematic derivation of runtime rule designs from high-level goal models, facilitating a structured transition from goal-oriented specifications to SLEEC rule definitions.

By deriving SLEEC rule structures directly from Goal Models, the approach helps reduce manual translation effort, improve consistency between modeling layers, and strengthen traceability between goals and their associated runtime control rules.

A demo is available at: goal-controller-engine

You can the use demo goal model as an example for the demo

Screen Recording 2026-01-26 at 05 08 05

Rules generator interface

image

Rules generator output

image

Contributors

Manoel Vieira Coelho Neto

Everaldo Silva Júnior

Caio Otávio Peluti Alencar

Dr. Genaína Nunes Rodrigues

About

N-check anonymous repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.7%
  • Other 0.3%