metasepi team meeting #16: safety on ats language + mcu

Download Metasepi team meeting #16: Safety on ATS language + MCU

Post on 08-Sep-2014

692 views

Category:

Technology

1 download

Embed Size (px)

DESCRIPTION

* [1] What is Metasepi? * [2] How to create Metasepi? * [3] Demo using ATS language * [4] What is ATS language? * [5] Why ATS language is safe? * [6] ATS programming on MCU

TRANSCRIPT

  • Metasepi team meeting #16: Safety on ATS language + MCU Metasepi team meeting #16: Safety on ATS language + MCU Metasepi team meeting #16: Safety on ATS language + MCU Metasepi team meeting #16: Safety on ATS language + MCU Metasepi team meeting #16: Safety on ATS language + MCU Kiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi ProjectKiwamu Okabe @ Metasepi Project
  • Who am I?Who am I?Who am I?Who am I?Who am I? http://www.masterq.net/ http://www.masterq.net/ http://www.masterq.net/ http://www.masterq.net/ http://www.masterq.net/ Self employed software engineer Self employed software engineer Self employed software engineer Self employed software engineer Self employed software engineer Trade name := METASEPI DESIGN Trade name := METASEPI DESIGN Trade name := METASEPI DESIGN Trade name := METASEPI DESIGN Trade name := METASEPI DESIGN Founder of Metasepi Project Founder of Metasepi Project Founder of Metasepi Project Founder of Metasepi Project Founder of Metasepi Project A Debian Maintainer A Debian Maintainer A Debian Maintainer A Debian Maintainer A Debian Maintainer 10 years' experience in developing OS using NetBSD 10 years' experience in developing OS using NetBSD 10 years' experience in developing OS using NetBSD 10 years' experience in developing OS using NetBSD 10 years' experience in developing OS using NetBSD
  • AgendaAgendaAgendaAgendaAgenda [1] What is Metasepi? [1] What is Metasepi? [1] What is Metasepi? [1] What is Metasepi? [1] What is Metasepi? [2] How to create Metasepi? [2] How to create Metasepi? [2] How to create Metasepi? [2] How to create Metasepi? [2] How to create Metasepi? [3] Demo using ATS language [3] Demo using ATS language [3] Demo using ATS language [3] Demo using ATS language [3] Demo using ATS language [4] What is ATS language? [4] What is ATS language? [4] What is ATS language? [4] What is ATS language? [4] What is ATS language? [5] Why ATS language is safe? [5] Why ATS language is safe? [5] Why ATS language is safe? [5] Why ATS language is safe? [5] Why ATS language is safe? [6] ATS programming on MCU [6] ATS programming on MCU [6] ATS programming on MCU [6] ATS programming on MCU [6] ATS programming on MCU
  • [1] What is Metasepi?[1] What is Metasepi?[1] What is Metasepi?[1] What is Metasepi?[1] What is Metasepi? http://metasepi.org/http://metasepi.org/http://metasepi.org/http://metasepi.org/http://metasepi.org/ Unix-like OS designed by strong type. Unix-like OS designed by strong type. Unix-like OS designed by strong type. Unix-like OS designed by strong type. Unix-like OS designed by strong type. Using ML's or more strong type. Using ML's or more strong type. Using ML's or more strong type. Using ML's or more strong type. Using ML's or more strong type.
  • Why need Metasepi?Why need Metasepi?Why need Metasepi?Why need Metasepi?Why need Metasepi? We have already Linux or Windows. We have already Linux or Windows. We have already Linux or Windows. We have already Linux or Windows. We have already Linux or Windows. But the developers are suffering. But the developers are suffering. But the developers are suffering. But the developers are suffering. But the developers are suffering. If use the kernel changed by you, If use the kernel changed by you, If use the kernel changed by you, If use the kernel changed by you, If use the kernel changed by you, you will get many runtime error. you will get many runtime error. you will get many runtime error. you will get many runtime error. you will get many runtime error. Difficult even to reproduce it. Difficult even to reproduce it. Difficult even to reproduce it. Difficult even to reproduce it. Difficult even to reproduce it.
  • Doesn't OSS have good quality?Doesn't OSS have good quality?Doesn't OSS have good quality?Doesn't OSS have good quality?Doesn't OSS have good quality? "The Cathedral and the Bazaar" "The Cathedral and the Bazaar" "The Cathedral and the Bazaar" "The Cathedral and the Bazaar" "The Cathedral and the Bazaar" "Given enough eyeballs, all bugs are shallow." "Given enough eyeballs, all bugs are shallow." "Given enough eyeballs, all bugs are shallow." "Given enough eyeballs, all bugs are shallow." "Given enough eyeballs, all bugs are shallow." http://cruel.org/freeware/cathedral.htmlhttp://cruel.org/freeware/cathedral.htmlhttp://cruel.org/freeware/cathedral.htmlhttp://cruel.org/freeware/cathedral.htmlhttp://cruel.org/freeware/cathedral.html But if you develop your own product re-using OSS... But if you develop your own product re-using OSS... But if you develop your own product re-using OSS... But if you develop your own product re-using OSS... But if you develop your own product re-using OSS...
  • Low quality out of OSS umbrellaLow quality out of OSS umbrellaLow quality out of OSS umbrellaLow quality out of OSS umbrellaLow quality out of OSS umbrella
  • Type safetyType safetyType safetyType safetyType safety Less runtime errors Less runtime errors Less runtime errors Less runtime errors Less runtime errors "" "" "" "" "" http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/
  • Kernel wants type desperatelyKernel wants type desperatelyKernel wants type desperatelyKernel wants type desperatelyKernel wants type desperately Kernels are developed with C. Kernels are developed with C. Kernels are developed with C. Kernels are developed with C. Kernels are developed with C. Error on user space => SEGV Error on user space => SEGV Error on user space => SEGV Error on user space => SEGV Error on user space => SEGV Error on kernel space => Halt! Error on kernel space => Halt! Error on kernel space => Halt! Error on kernel space => Halt! Error on kernel space => Halt! Should design kernel with the greatest care. Should design kernel with the greatest care. Should design kernel with the greatest care. Should design kernel with the greatest care. Should design kernel with the greatest care. C language is safe? C language is safe? C language is safe? C language is safe? C language is safe?
  • Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug?Remember Heartbleed bug? Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C?Should we use safer language than C? == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == " heartbleed " https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == " heartbleed " https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == " heartbleed " https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == " heartbleed " https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md == In English == "Preventing heartbleed bugs with safe programming languages" http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs- with-safe-languages.html == In Japanease == " heartbleed " https://github.com/jats-ug/translate/blob/master/Web/ bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe- languages.md "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug." "A safer systems programming language could have prevented the bug."
  • [2] How to create Metasepi?[2] How to create Metasepi?[2] How to create Metasepi?[2] How to create Metasepi?[2] How to create Metasepi? Language: Strongly typed language Language: Strongly typed language Language: Strongly typed language Language: Strongly typed language Language: Strongly typed language Base code: NetBSD kernel Base code: NetBSD kernel Base code: NetBSD kernel Base code: NetBSD kernel Base code: NetBSD kernel Design: Snatch-driven development Design: Snatch-driven development Design: Snatch-driven development Design: Snatch-driven development Design: Snatch-driven development