SlideShare a Scribd company logo
with
Domain Specific Languages
How to create a Cortana / Siri like assistant for our applications
Pedro Ramírez Scio Consulting
The pieces
• A UI that recognice what the user said or free textbox
entry
• A language that the user uses and the assistant
understand
• A grammar
• A parser
• A translator
What
is a
DSL?
How to implement a DSL?
There are many tools to build DLSs, for .Net some of them are:
• Visual Studio
• Irony.Net
• Boo language
• ANTLR
For this demo I use Irony.Net, Irony.net allows us to define the
grammar and provides a parser that we use to then translate
the expression entered by the user in to a SQL query.
A domain-specific language (DSL) is
a computer language specialized to
a particular application domain. This
is in contrast to a general-purpose
language (GPL), which is broadly
applicable across domains, and lacks
specialized features for a particular
domain.
Voice
or
Speech
recognition?
How to implement what we need?
For our purposes, we need speech recognition rather than
voice recognition, we need to translate the user words into
text that can be used by the parser so we can “understand”
what the user said.
We can implement speech recognition in a few ways, for web
apps the two most common are:
• Using native windows libraries (System.Speech), this is can be
used by desktop and web apps.
• For web applications(our case), we can use
webkitSpeechRecognition in javascript
Mobile applications can use native libraries, like the ones for
Windows Phone 8
Speechrecognition is the
translation of spoken words into
text.
Voice recognition refers to
identify the speaker, not what they
are saying.
How it
Works?
Questions?
Useful links:
Source code
https://github.com/pedro-ramirez-suarez/ScioAssistant
Irony .Net
https://irony.codeplex.com/

More Related Content

What's hot

Text to Speech for Mobile Voice
Text to Speech for Mobile Voice Text to Speech for Mobile Voice
Text to Speech for Mobile Voice
June Hostetter
 
A Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in AndroidA Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in AndroidHozaifa Moaj
 
Computer languages
Computer languagesComputer languages
Computer languages
mrutherfordwest
 
4. sql
4. sql4. sql
4. sql
in4400
 
AT Software/Apps Demonstration
AT Software/Apps DemonstrationAT Software/Apps Demonstration
AT Software/Apps Demonstration
shiina419
 
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
icebeam7
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
Tanveer Malik
 
1. reason why study spl
1. reason why study spl1. reason why study spl
1. reason why study spl
Zambales National High School
 
Text to-speech & voice recognition
Text to-speech & voice recognitionText to-speech & voice recognition
Text to-speech & voice recognition
Mark Williams
 
8 Google Translate
8 Google Translate8 Google Translate
8 Google Translateaptwano
 
Importance of understanding language and culture when managing International...
Importance of understanding  language and culture when managing International...Importance of understanding  language and culture when managing International...
Importance of understanding language and culture when managing International...
Conversis
 
What is a programmer
What is a programmerWhat is a programmer
What is a programmer
HawreSardarMahmud
 
Text to speech with Google Cloud
Text to speech with Google CloudText to speech with Google Cloud
Text to speech with Google Cloud
Rajarshi Ghosh
 
Transalation
TransalationTransalation
Transalation
lakshmi packiya
 
Le wagon project
Le wagon projectLe wagon project
Le wagon project
Leore Golan Tobias
 
Programming language (JGMNHS)
Programming language (JGMNHS)Programming language (JGMNHS)
Programming language (JGMNHS)Katherine Gamboa
 
Custom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick viewCustom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick view
R Ladies Taipei
 
Presentation On Software,Its Types,A Detail On Application Software And Langu...
Presentation On Software,Its Types,A Detail On Application Software And Langu...Presentation On Software,Its Types,A Detail On Application Software And Langu...
Presentation On Software,Its Types,A Detail On Application Software And Langu...
Šĥwệệt BøƔî Rẳvệệ
 
Shaping Pootle for LibreOffice localiser
Shaping Pootle for LibreOffice localiserShaping Pootle for LibreOffice localiser
Shaping Pootle for LibreOffice localiser
Dwayne Bailey
 
Pro Translating Presentation
Pro Translating PresentationPro Translating Presentation
Pro Translating Presentation
mcdelavega
 

What's hot (20)

Text to Speech for Mobile Voice
Text to Speech for Mobile Voice Text to Speech for Mobile Voice
Text to Speech for Mobile Voice
 
A Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in AndroidA Text To Speech Detection Methodology for Bangla in Android
A Text To Speech Detection Methodology for Bangla in Android
 
Computer languages
Computer languagesComputer languages
Computer languages
 
4. sql
4. sql4. sql
4. sql
 
AT Software/Apps Demonstration
AT Software/Apps DemonstrationAT Software/Apps Demonstration
AT Software/Apps Demonstration
 
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
02 Global AI Bootcamp 2022 Sofia Voice biometry Recognizing speakers in our a...
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
1. reason why study spl
1. reason why study spl1. reason why study spl
1. reason why study spl
 
Text to-speech & voice recognition
Text to-speech & voice recognitionText to-speech & voice recognition
Text to-speech & voice recognition
 
8 Google Translate
8 Google Translate8 Google Translate
8 Google Translate
 
Importance of understanding language and culture when managing International...
Importance of understanding  language and culture when managing International...Importance of understanding  language and culture when managing International...
Importance of understanding language and culture when managing International...
 
What is a programmer
What is a programmerWhat is a programmer
What is a programmer
 
Text to speech with Google Cloud
Text to speech with Google CloudText to speech with Google Cloud
Text to speech with Google Cloud
 
Transalation
TransalationTransalation
Transalation
 
Le wagon project
Le wagon projectLe wagon project
Le wagon project
 
Programming language (JGMNHS)
Programming language (JGMNHS)Programming language (JGMNHS)
Programming language (JGMNHS)
 
Custom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick viewCustom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick view
 
Presentation On Software,Its Types,A Detail On Application Software And Langu...
Presentation On Software,Its Types,A Detail On Application Software And Langu...Presentation On Software,Its Types,A Detail On Application Software And Langu...
Presentation On Software,Its Types,A Detail On Application Software And Langu...
 
Shaping Pootle for LibreOffice localiser
Shaping Pootle for LibreOffice localiserShaping Pootle for LibreOffice localiser
Shaping Pootle for LibreOffice localiser
 
Pro Translating Presentation
Pro Translating PresentationPro Translating Presentation
Pro Translating Presentation
 

Viewers also liked

New rich text document
New rich text documentNew rich text document
New rich text documentMohmed Mohmed
 
Manual installasi s li ms 7 (cendana) di windows
Manual installasi s li ms 7 (cendana) di windowsManual installasi s li ms 7 (cendana) di windows
Manual installasi s li ms 7 (cendana) di windows
Deni Koto
 
ScioTalks | Coverage Based Testing
ScioTalks | Coverage Based TestingScioTalks | Coverage Based Testing
ScioTalks | Coverage Based Testing
Scio Consulting
 

Viewers also liked (9)

Positive Attitude
Positive AttitudePositive Attitude
Positive Attitude
 
Presentation2
Presentation2Presentation2
Presentation2
 
New rich text document
New rich text documentNew rich text document
New rich text document
 
Presentation2
Presentation2Presentation2
Presentation2
 
Manual installasi s li ms 7 (cendana) di windows
Manual installasi s li ms 7 (cendana) di windowsManual installasi s li ms 7 (cendana) di windows
Manual installasi s li ms 7 (cendana) di windows
 
ScioTalks | Coverage Based Testing
ScioTalks | Coverage Based TestingScioTalks | Coverage Based Testing
ScioTalks | Coverage Based Testing
 
Apps on Android??
Apps on Android??Apps on Android??
Apps on Android??
 
Presentation2
Presentation2Presentation2
Presentation2
 
Presentation2
Presentation2Presentation2
Presentation2
 

Similar to Fun with DSL

10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
nehachhh
 
languagetranslator-211028085026.pptx
languagetranslator-211028085026.pptxlanguagetranslator-211028085026.pptx
languagetranslator-211028085026.pptx
MDASIFALI32
 
Language translator
Language translatorLanguage translator
Language translator
SumitSumit26
 
What's DSL and what isn't
What's DSL and what isn'tWhat's DSL and what isn't
What's DSL and what isn't
Leandro Parazito
 
Why you should join the Dart side!
Why you should join the Dart side!Why you should join the Dart side!
Why you should join the Dart side!
LucaSnchezLen
 
Computer programminglanguages
Computer programminglanguagesComputer programminglanguages
Computer programminglanguages
PaulineGayVillarama
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
Mahmoud Samir Fayed
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
Abdul Karim
 
Top 10 Best Speech Recognition Software
Top 10 Best Speech Recognition Software Top 10 Best Speech Recognition Software
Top 10 Best Speech Recognition Software
Jame Williamson
 
whatiscodingslideshare-180406204414.pptx
whatiscodingslideshare-180406204414.pptxwhatiscodingslideshare-180406204414.pptx
whatiscodingslideshare-180406204414.pptx
Kanden ARMOOGUM
 
What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...
BlockchainX
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31
Mahmoud Samir Fayed
 
NTLM - Open Source Language AI Tools
NTLM - Open Source Language AI ToolsNTLM - Open Source Language AI Tools
NTLM - Open Source Language AI Tools
Aravinth Bheemaraj
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196
Mahmoud Samir Fayed
 
computer languages
computer languagescomputer languages
computer languages
Yasirali328
 
The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210
Mahmoud Samir Fayed
 
JanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meetingJanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meeting
Saúl Ibarra Corretgé
 
Self-Hosted Chat Solution.pptx
Self-Hosted Chat Solution.pptxSelf-Hosted Chat Solution.pptx
Self-Hosted Chat Solution.pptx
AbiHasna3
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
Mahmoud Samir Fayed
 

Similar to Fun with DSL (20)

10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
10 World’s Leading Speech or Voice Recognition Software That Can 3X Your Prod...
 
languagetranslator-211028085026.pptx
languagetranslator-211028085026.pptxlanguagetranslator-211028085026.pptx
languagetranslator-211028085026.pptx
 
Language translator
Language translatorLanguage translator
Language translator
 
What's DSL and what isn't
What's DSL and what isn'tWhat's DSL and what isn't
What's DSL and what isn't
 
Why you should join the Dart side!
Why you should join the Dart side!Why you should join the Dart side!
Why you should join the Dart side!
 
Computer programminglanguages
Computer programminglanguagesComputer programminglanguages
Computer programminglanguages
 
The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30The Ring programming language version 1.4 book - Part 2 of 30
The Ring programming language version 1.4 book - Part 2 of 30
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
 
Top 10 Best Speech Recognition Software
Top 10 Best Speech Recognition Software Top 10 Best Speech Recognition Software
Top 10 Best Speech Recognition Software
 
whatiscodingslideshare-180406204414.pptx
whatiscodingslideshare-180406204414.pptxwhatiscodingslideshare-180406204414.pptx
whatiscodingslideshare-180406204414.pptx
 
What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31The Ring programming language version 1.4.1 book - Part 2 of 31
The Ring programming language version 1.4.1 book - Part 2 of 31
 
NTLM - Open Source Language AI Tools
NTLM - Open Source Language AI ToolsNTLM - Open Source Language AI Tools
NTLM - Open Source Language AI Tools
 
The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196The Ring programming language version 1.7 book - Part 6 of 196
The Ring programming language version 1.7 book - Part 6 of 196
 
computer languages
computer languagescomputer languages
computer languages
 
The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210The Ring programming language version 1.9 book - Part 6 of 210
The Ring programming language version 1.9 book - Part 6 of 210
 
JanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meetingJanusCon 2024: Mom there are robots in my meeting
JanusCon 2024: Mom there are robots in my meeting
 
Self-Hosted Chat Solution.pptx
Self-Hosted Chat Solution.pptxSelf-Hosted Chat Solution.pptx
Self-Hosted Chat Solution.pptx
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
 

More from Scio Consulting

When is a custom app the right choice?
When is a custom app the right choice? When is a custom app the right choice?
When is a custom app the right choice?
Scio Consulting
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio Talks
Scio Consulting
 
La Labor del Analista de Calidad en el Desarrollo de Software
La Labor del Analista de Calidad en el Desarrollo de SoftwareLa Labor del Analista de Calidad en el Desarrollo de Software
La Labor del Analista de Calidad en el Desarrollo de Software
Scio Consulting
 
El buen desarrollador - Julio Orozco
El buen desarrollador - Julio OrozcoEl buen desarrollador - Julio Orozco
El buen desarrollador - Julio Orozco
Scio Consulting
 
Scio Talks - Sistemas Distribuidos con C#
Scio Talks - Sistemas Distribuidos con C# Scio Talks - Sistemas Distribuidos con C#
Scio Talks - Sistemas Distribuidos con C#
Scio Consulting
 
Webinar User Experience Fundamentals
Webinar User Experience Fundamentals Webinar User Experience Fundamentals
Webinar User Experience Fundamentals
Scio Consulting
 
Autocomplete con AngularJs
Autocomplete con AngularJs Autocomplete con AngularJs
Autocomplete con AngularJs
Scio Consulting
 
El curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtualEl curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtual
Scio Consulting
 
JavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel AlcaláJavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel Alcalá
Scio Consulting
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
Scio Consulting
 
Jugando con LinQ
Jugando con LinQJugando con LinQ
Jugando con LinQ
Scio Consulting
 
JQuery Deferred
JQuery DeferredJQuery Deferred
JQuery Deferred
Scio Consulting
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
Scio Consulting
 
Scio Talks - Jugando con LinQ
Scio Talks - Jugando con LinQScio Talks - Jugando con LinQ
Scio Talks - Jugando con LinQ
Scio Consulting
 
Scio Talks Gobierna el Frontend parte2
Scio Talks Gobierna el Frontend parte2Scio Talks Gobierna el Frontend parte2
Scio Talks Gobierna el Frontend parte2Scio Consulting
 
¿Porqué la User Experience / User Interface es Importante?
¿Porqué la User Experience / User Interface es Importante?¿Porqué la User Experience / User Interface es Importante?
¿Porqué la User Experience / User Interface es Importante?
Scio Consulting
 
Scio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parteScio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parte
Scio Consulting
 

More from Scio Consulting (18)

When is a custom app the right choice?
When is a custom app the right choice? When is a custom app the right choice?
When is a custom app the right choice?
 
Conociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio TalksConociendo ReactJs . Scio Talks
Conociendo ReactJs . Scio Talks
 
La Labor del Analista de Calidad en el Desarrollo de Software
La Labor del Analista de Calidad en el Desarrollo de SoftwareLa Labor del Analista de Calidad en el Desarrollo de Software
La Labor del Analista de Calidad en el Desarrollo de Software
 
El buen desarrollador - Julio Orozco
El buen desarrollador - Julio OrozcoEl buen desarrollador - Julio Orozco
El buen desarrollador - Julio Orozco
 
Scio Talks - Sistemas Distribuidos con C#
Scio Talks - Sistemas Distribuidos con C# Scio Talks - Sistemas Distribuidos con C#
Scio Talks - Sistemas Distribuidos con C#
 
Webinar User Experience Fundamentals
Webinar User Experience Fundamentals Webinar User Experience Fundamentals
Webinar User Experience Fundamentals
 
Autocomplete con AngularJs
Autocomplete con AngularJs Autocomplete con AngularJs
Autocomplete con AngularJs
 
Ng autocomplete
Ng autocompleteNg autocomplete
Ng autocomplete
 
El curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtualEl curioso caso del Geek y la máquina virtual
El curioso caso del Geek y la máquina virtual
 
JavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel AlcaláJavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel Alcalá
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Jugando con LinQ
Jugando con LinQJugando con LinQ
Jugando con LinQ
 
JQuery Deferred
JQuery DeferredJQuery Deferred
JQuery Deferred
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Scio Talks - Jugando con LinQ
Scio Talks - Jugando con LinQScio Talks - Jugando con LinQ
Scio Talks - Jugando con LinQ
 
Scio Talks Gobierna el Frontend parte2
Scio Talks Gobierna el Frontend parte2Scio Talks Gobierna el Frontend parte2
Scio Talks Gobierna el Frontend parte2
 
¿Porqué la User Experience / User Interface es Importante?
¿Porqué la User Experience / User Interface es Importante?¿Porqué la User Experience / User Interface es Importante?
¿Porqué la User Experience / User Interface es Importante?
 
Scio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parteScio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parte
 

Recently uploaded

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 

Recently uploaded (20)

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 

Fun with DSL

  • 1. with Domain Specific Languages How to create a Cortana / Siri like assistant for our applications Pedro Ramírez Scio Consulting
  • 2.
  • 3. The pieces • A UI that recognice what the user said or free textbox entry • A language that the user uses and the assistant understand • A grammar • A parser • A translator
  • 4. What is a DSL? How to implement a DSL? There are many tools to build DLSs, for .Net some of them are: • Visual Studio • Irony.Net • Boo language • ANTLR For this demo I use Irony.Net, Irony.net allows us to define the grammar and provides a parser that we use to then translate the expression entered by the user in to a SQL query. A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains, and lacks specialized features for a particular domain.
  • 5. Voice or Speech recognition? How to implement what we need? For our purposes, we need speech recognition rather than voice recognition, we need to translate the user words into text that can be used by the parser so we can “understand” what the user said. We can implement speech recognition in a few ways, for web apps the two most common are: • Using native windows libraries (System.Speech), this is can be used by desktop and web apps. • For web applications(our case), we can use webkitSpeechRecognition in javascript Mobile applications can use native libraries, like the ones for Windows Phone 8 Speechrecognition is the translation of spoken words into text. Voice recognition refers to identify the speaker, not what they are saying.