ePrints.FRI - University of Ljubljana, Faculty of Computer and Information Science

Development of Domain-Specific Language for the Slack bots

Luka Baša (2019) Development of Domain-Specific Language for the Slack bots. EngD thesis.

Download (719Kb)


    The goal of the thesis is to present the development of Domain-Specific Language (DSL), which allows users to quickly, easily and reliably produce Slack bots. DSLs are programming languages for a specific domain. In our case, a DSL is developed for a smaller domain that covers the creation of the Slack bots. The key reasons for making such a DSL are the time-consuming production of the Slack bots and complex programming skills required. The analysis of the problem has shown an actual solution in the form of DSL is missing or at least not publicly available. We decided to develop an internal DSL based on the programming language Ruby. To design the architecture of our DSL as simple as possible, we have divided it into two parts: DSL parser and DSL client. The first one deals with the processing of DSL scripts while the other communicates with the Slack software. Together they make it easy to create Slack bots with different functionality. We can see and use these examples on the Slack bot Meppo, which was created as part of the thesis. The final DSL analysis proved that the goals were successfully fulfilled. DSL considerably simplifies and speeds up the production of Slack bots.

    Item Type: Thesis (EngD thesis)
    Keywords: Domain-Specific Language, DSL, Ruby, Slack, bot
    Number of Pages: 34
    Language of Content: Slovenian
    Mentor / Comentors:
    Name and SurnameIDFunction
    viš. pred. dr. Igor Rožanc278Mentor
    Link to COBISS: http://www.cobiss.si/scripts/cobiss?command=search&base=51012&select=(ID=1538139075)
    Institution: University of Ljubljana
    Department: Faculty of Computer and Information Science
    Item ID: 4356
    Date Deposited: 12 Feb 2019 16:39
    Last Modified: 27 Feb 2019 11:13
    URI: http://eprints.fri.uni-lj.si/id/eprint/4356

    Actions (login required)

    View Item