AToMPM / AToMPM/atompm

Create tutorial toolbar

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
documentation enhancement
Dominant language
JavaScript
Stars
25
Forks
15
PR merge metrics
No merged PRs in 30d

Description

Opened by simon a year ago

A tutorial toolbar would have a number of buttons for each step in the tutorial. It teaches the fundamentals of AToMPM:

create a metamodel;
create a concrete syntax model;
create rule-based operational semantics;
create rule-based translational semantics.

The question is: do we let the user create a language from scratch (i.e., the toolbar is simply an aid in going through the different steps in creating a DSL), or an already existing language which has "holes" the user needs to fill in?

A toolbar for creating a new formalism is useful. It would have at least the functionality to 'create a new formalism', which would ask for its name. The backend then creates a folder with name , an AS model with name .model, a CS model with name .defaultIcons.model, and compile them to the appropriate metamodels. Further buttons could then open the AS and CS models, and a button to compile them. Potentially, one would be in the 'mode' of editing a formalism (so the toolbar remembers), at which point it controls the whole process of using AToMPM.

For creating a transformation, one could do the same, but it might be less useful.

A tutorial toolbar can be different: it could explain the basic functionality of AToMPM using a set of interactive buttons, that open one after the other models of an already-existing formalism (such as Petrinets), with text boxes explaining what is modelled.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by resolving whether this is a formalism-creation toolbar or an interactive tutorial toolbar; the issue describes both paths but names no files or tests. Trace the toolbar and backend entry points, including AS/CS model creation and compilation, then define done as a chosen workflow with the required buttons and tutorial or generated-model behavior implemented end to end.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, developer-experience, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.