Modelling bot

View project on GitHub


Welcome to Modelling Bot Help, the bot’s name is SOCIO and you can work with it in Telegram and Twitter. First some tips to work with Socio:

Tool demo (SOCIO: Meta-modelling)

Project Planner Demo (Modelling)

Using our approach, we generate a Telegram chatbot called Project Planner to instantiate a project model using Natural Language. In this video, we show a brief interaction of two users with the bot.

How it works on Telegram

In Telegram you can add the bot in a group or talk with it in a single chat. Now let’s see how you must work with SOCIO. Telegram’s bots work with commands. A command starts with /. You can send only the command and the bot will ask you for the arguments if it is necesary (figure1), or you can send the command and arguments together (figure 2).

First you must select a Project (/setproject, figure 2) for a chat or make a new project (/newproject, figure 1). Then you can write your sentences to create the model. In case you are in a group, the bot only can read mesages with a command, so you have the talk command (/talk) to talk with Socio.

examle of the command newproject
Figure 1: Examle of the command newproject
examle of the command setproject
Figure 2: Examle of the command setproject

Below is a list with all the commands in telegram:

  • /talk: start a conversation with the bot
  • /undo: undo the last message
  • /undoplus: undo the last N messages
  • /redo: redo the last undo
  • /redoplus: redo the last N undos
  • /remove: remove a concrete element in the model
  • /show: show a project
  • /setproject: select a project to the chat
  • /get: send a file with the model
  • /validate: validate the model
  • /help: give you a help web page
  • /history: show a project's history
  • /projects: show a list of projects
  • /projectmanager - Project manager: change visibility, add permision to a user.
  • /newproject: create and set a new project
  • /delproject: delete a project
  • /start: starts the bot


  1. Write correctly: SOCIO may not understand you well if you make mistakes.
  2. If SOCIO can’t understand some noun you can add a determinant (p.e. "add a door", "add the door", "add some door"...).
  3. Usually SOCIO searchs synonyms and if an element of the model matches with the noun or some synonyms, it performs the actions on that element. If you want add a new element, you can use the add sentence (p.e. "add a door"), that doesn’t search synonyms.
  4. If SOCIO didn’t understand well some sentences, you can undo the actions and try to say it with other sentence or divided.


Now let’s look the sentences you can use and how.

1. Add / Create / Make <Object>

These sentences add new objects to the models. In this case, SOCIO doesn’t search synonyms.

Create person.

Add work in person.

Add numeric age in person.

2. Remove / Erase <Object>

Erase numeric age from person.

Remove work from person.

Remove person.

3. <Object> to be <Object>

Packages can be bulky, heavy or fragile.

Students and teachers are persons.

Name of person is a text.
Person's name is a text.

The wife of a man is a woman.

4. <Object> have / be characterized by / be identified by / be recognized by <Object>

Bulky packages are characterized by their width, length and height.

Students have a numeric identifier.

Medicines have an active ingredient.

Person may has a work

5. <Object> contain / be made of / be made up of / be made from / be composed / include <Object>

The house is made of rooms.

Students contains a numeric identifier.

6. <Object> <verb> <Object>

Carriers can handle deliveries.

The student passed the exams.

The cheque is sent to the bank.