SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Experiencias Industriales
con Programación Declarativa

Laura M. Castro
lcastro@udc.es
www.madsgroup.org/staff/laura
MADS
●

Models and Applications of Distributed Systems
http://www.madsgroup.org

●

Core language: Erlang

●

Well-known results:
–

VoDKA: Video on Demand system

–

ARMISTICE: Advanced Risk Management
Information System

–

Syntheractive

–

ADVERTISE
MADS
●

Models and Applications of Distributed Systems
http://www.madsgroup.org

●

Core language: Erlang

●

Well-known results:
–

VoDKA: Video on Demand system

–

ARMISTICE: Advanced Risk Management
Information System

–

Syntheractive

–

ADVERTISE

collaboration
2 spin-offs
with industry
MADS
●

Models and Applications of Distributed Systems
http://www.madsgroup.org

●

Core language: Erlang

●

Well-known results:
–

VoDKA: Video on Demand system

–

ARMISTICE: Advanced Risk Management
Information System

–

Syntheractive

–

ADVERTISE

2 spin-offs
Erlang
●
●

Functional programming language
Developed by Ericsson in the mid-eighties, open
source since 1998

●

Dynamically typed, eager evaluation

●

Key features:
–

Concurrency: lightweight processes, own memory
space, asynchronous message passing

–

Distribution: several VMs on several nodes

–

High avalilability: links between processes, built-in
fault-tolerance mechanisms
VoDKA
VoDKATV
ARMISTICE
The key: Erlang
●

Erlang features common to all these projects
–

Supervision, monitoring
●
●

Lightweight processes
Behaviours (lots of boilerplate for free!)

–

Seamless distribution

–

Nonstop code upgrade
The key: Erlang
●

Erlang features common to all these projects
–

Supervision, monitoring
●
●

Lightweight processes
Behaviours (lots of boilerplate for free!)

–

Seamless distribution

–

Nonstop code upgrade

–

Pattern-matching

–

List comprehensions

–

Functions as first-class citizens
The key: Erlang
●

Erlang features common to all these projects
–

Supervision, monitoring
●
●

Lightweight processes
Behaviours (lots of boilerplate for free!)

–

Seamless distribution

–

Nonstop code upgrade

–

Pattern-matching

–

List comprehensions

–

Functions as first-class citizens
MADS (today)
●

Current research: software testing
–

●

Specifically: model-based and property-based
testing

2 European research projects:
–

ProTest (http://protest­project.eu): 2007-2011

–

PROWESS (http://prowess­project.eu): 2012-2015
ProTest: Property-based testing
●

●

Uses declarative statements to specify
properties that the software needs to satisfy
according to its specification
Using this approach:
–

–

●

Test cases can be automatically derived from
those properties
Test cases can be automatically run and
diagnosed

PBT in Erlang:
–

QuickCheck / PropEr
PROWESS: PBT for web services
●

Reduce time spent on testing, whilst
increasing software quality
–

●

In order to quickly launch new, or
enhancements of existing, web services and
internet applications

Provide the European software industry with
efficient and effective testing tools and
techniques for web services
–

Erlang/QuickCheck as core
tools/technologies
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación Declarativa

Contenu connexe

Similaire à Experiencias Industriales con Programación Declarativa

Lieven Vermaele - SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...
Lieven Vermaele -  SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...Lieven Vermaele -  SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...
Lieven Vermaele - SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...Burton Lee
 
NUB3D - Company Presentation
NUB3D - Company PresentationNUB3D - Company Presentation
NUB3D - Company PresentationNUB3D
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Serviceskahunasystems
 
Product Lines Can Jeopardize Their Trade Secrets
Product Lines Can Jeopardize Their Trade SecretsProduct Lines Can Jeopardize Their Trade Secrets
Product Lines Can Jeopardize Their Trade SecretsGuillaume Bécan
 
Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016Arkuda Digital
 
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...South Tyrol Free Software Conference
 
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...Aruba, a Hewlett Packard Enterprise company
 
HARISH_Resume_Embedded_SW
HARISH_Resume_Embedded_SWHARISH_Resume_Embedded_SW
HARISH_Resume_Embedded_SWHarish Kumar S
 
Elevaor pitch o_xi_gen
Elevaor pitch o_xi_genElevaor pitch o_xi_gen
Elevaor pitch o_xi_genOXiGen
 
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19Lisa Laxton
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8Microsoft Mobile Developer
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyTAMILMARAN C
 
Achieving Software Assurance with Hybrid Analysis Mapping
Achieving Software Assurance with Hybrid Analysis Mapping  Achieving Software Assurance with Hybrid Analysis Mapping
Achieving Software Assurance with Hybrid Analysis Mapping Denim Group
 
Create a Unified View of Your Application Security Program – Black Duck Hub a...
Create a Unified View of Your Application Security Program – Black Duck Hub a...Create a Unified View of Your Application Security Program – Black Duck Hub a...
Create a Unified View of Your Application Security Program – Black Duck Hub a...Denim Group
 

Similaire à Experiencias Industriales con Programación Declarativa (20)

Lieven Vermaele - SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...
Lieven Vermaele -  SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...Lieven Vermaele -  SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...
Lieven Vermaele - SDNsquare - Flanders Belgium - Stanford Engineering - Mar ...
 
NUB3D - Company Presentation
NUB3D - Company PresentationNUB3D - Company Presentation
NUB3D - Company Presentation
 
Daniela brauner
Daniela braunerDaniela brauner
Daniela brauner
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
DinakaraPandian_9+
DinakaraPandian_9+DinakaraPandian_9+
DinakaraPandian_9+
 
Product Lines Can Jeopardize Their Trade Secrets
Product Lines Can Jeopardize Their Trade SecretsProduct Lines Can Jeopardize Their Trade Secrets
Product Lines Can Jeopardize Their Trade Secrets
 
Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016
 
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...
SFScon 2020 - Alexander Sander - Public Money Public Code Global problems nee...
 
nathan
nathannathan
nathan
 
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...
Software defined networking (sdn) deep dive 3rd-party ecosystem apps and the ...
 
HARISH_Resume_Embedded_SW
HARISH_Resume_Embedded_SWHARISH_Resume_Embedded_SW
HARISH_Resume_Embedded_SW
 
Elevaor pitch o_xi_gen
Elevaor pitch o_xi_genElevaor pitch o_xi_gen
Elevaor pitch o_xi_gen
 
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19
IMA/Thales SceneGate Viewer for OpenSimulator Presentation at OSCC19
 
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
LUMIA APP LABS: GAMES DEVELOPMENT USING WINDOWS PHONE 8
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copy
 
Achieving Software Assurance with Hybrid Analysis Mapping
Achieving Software Assurance with Hybrid Analysis Mapping  Achieving Software Assurance with Hybrid Analysis Mapping
Achieving Software Assurance with Hybrid Analysis Mapping
 
CURRICULUM VITAE
CURRICULUM VITAE CURRICULUM VITAE
CURRICULUM VITAE
 
Create a Unified View of Your Application Security Program – Black Duck Hub a...
Create a Unified View of Your Application Security Program – Black Duck Hub a...Create a Unified View of Your Application Security Program – Black Duck Hub a...
Create a Unified View of Your Application Security Program – Black Duck Hub a...
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
 
SivaBorra
SivaBorraSivaBorra
SivaBorra
 

Plus de Laura M. Castro

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Laura M. Castro
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroLaura M. Castro
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...Laura M. Castro
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...Laura M. Castro
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Laura M. Castro
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mindLaura M. Castro
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?Laura M. Castro
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangLaura M. Castro
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXLaura M. Castro
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeXLaura M. Castro
 
Improving software development using Erlang/OTP
Improving software development using Erlang/OTPImproving software development using Erlang/OTP
Improving software development using Erlang/OTPLaura M. Castro
 
Testing database applications with QuickCheck
Testing database applications with QuickCheckTesting database applications with QuickCheck
Testing database applications with QuickCheckLaura M. Castro
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareLaura M. Castro
 

Plus de Laura M. Castro (14)

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xénero
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mind
 
Elixir vs Java
Elixir vs JavaElixir vs Java
Elixir vs Java
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to Erlang
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeX
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeX
 
Improving software development using Erlang/OTP
Improving software development using Erlang/OTPImproving software development using Erlang/OTP
Improving software development using Erlang/OTP
 
Testing database applications with QuickCheck
Testing database applications with QuickCheckTesting database applications with QuickCheck
Testing database applications with QuickCheck
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
 

Dernier

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Dernier (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Experiencias Industriales con Programación Declarativa

  • 1. Experiencias Industriales con Programación Declarativa Laura M. Castro lcastro@udc.es www.madsgroup.org/staff/laura
  • 2. MADS ● Models and Applications of Distributed Systems http://www.madsgroup.org ● Core language: Erlang ● Well-known results: – VoDKA: Video on Demand system – ARMISTICE: Advanced Risk Management Information System – Syntheractive – ADVERTISE
  • 3. MADS ● Models and Applications of Distributed Systems http://www.madsgroup.org ● Core language: Erlang ● Well-known results: – VoDKA: Video on Demand system – ARMISTICE: Advanced Risk Management Information System – Syntheractive – ADVERTISE collaboration 2 spin-offs with industry
  • 4. MADS ● Models and Applications of Distributed Systems http://www.madsgroup.org ● Core language: Erlang ● Well-known results: – VoDKA: Video on Demand system – ARMISTICE: Advanced Risk Management Information System – Syntheractive – ADVERTISE 2 spin-offs
  • 5. Erlang ● ● Functional programming language Developed by Ericsson in the mid-eighties, open source since 1998 ● Dynamically typed, eager evaluation ● Key features: – Concurrency: lightweight processes, own memory space, asynchronous message passing – Distribution: several VMs on several nodes – High avalilability: links between processes, built-in fault-tolerance mechanisms
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. VoDKA
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. The key: Erlang ● Erlang features common to all these projects – Supervision, monitoring ● ● Lightweight processes Behaviours (lots of boilerplate for free!) – Seamless distribution – Nonstop code upgrade
  • 34. The key: Erlang ● Erlang features common to all these projects – Supervision, monitoring ● ● Lightweight processes Behaviours (lots of boilerplate for free!) – Seamless distribution – Nonstop code upgrade – Pattern-matching – List comprehensions – Functions as first-class citizens
  • 35. The key: Erlang ● Erlang features common to all these projects – Supervision, monitoring ● ● Lightweight processes Behaviours (lots of boilerplate for free!) – Seamless distribution – Nonstop code upgrade – Pattern-matching – List comprehensions – Functions as first-class citizens
  • 36. MADS (today) ● Current research: software testing – ● Specifically: model-based and property-based testing 2 European research projects: – ProTest (http://protest­project.eu): 2007-2011 – PROWESS (http://prowess­project.eu): 2012-2015
  • 37. ProTest: Property-based testing ● ● Uses declarative statements to specify properties that the software needs to satisfy according to its specification Using this approach: – – ● Test cases can be automatically derived from those properties Test cases can be automatically run and diagnosed PBT in Erlang: – QuickCheck / PropEr
  • 38.
  • 39. PROWESS: PBT for web services ● Reduce time spent on testing, whilst increasing software quality – ● In order to quickly launch new, or enhancements of existing, web services and internet applications Provide the European software industry with efficient and effective testing tools and techniques for web services – Erlang/QuickCheck as core tools/technologies