Presentation is loading. Please wait.

Presentation is loading. Please wait.

The case for Speech March, 2013. Think of the following kinds of applications … Do they have something in common? 2 ? ?

Similar presentations


Presentation on theme: "The case for Speech March, 2013. Think of the following kinds of applications … Do they have something in common? 2 ? ?"— Presentation transcript:

1 The case for Speech March, 2013

2 Think of the following kinds of applications … Do they have something in common? 2 ? ?

3 Yes! They all deal with people, with their needs for collaboration, communication, coordination … They are Social Apps! 3 Social applications Social applications

4 Look at their functional requirements and you will invariably find answers to these typical questions … 4 Which roles do the users play? Which things do they say? Who is able to say/see what? When? Which things they must do? Which things they must be notified of? Which services are needed? Who is able to invoke these services? When? ….

5 But programming these requirements with general-purpose abstractions is tough, error- prone, too verbose, … Can we do it better? 5

6 Yes, we can! Speech allows the programmer to reason about the design of social apps using high-level patterns and socially-inspired abstractions such as … 6

7 For instance, look at the following Twitter requirements. Can you find any commonalities between the concepts emphasised in orange, green and red? 7 Twitter is an information network made up of 140-character messages (or tweets), sent by registered users called tweeters. Twitter users may choose to follow other tweeter accounts, so that all their public tweets will be automatically notified to its followers. These tweets can be re-tweeted. Any user mentioned by a tweet may reply to it. Users can also group tweeters into lists to facilitate following. In Speech, they are represented as particular types of speech acts, agent roles and interaction contexts. The generic model of these abstractions accounts for the 90% of the twitter structure!

8 And Speech comes also equipped with a standard library of speech acts which are both highly reusable and expressive. The following scenario can entirely be modeled after standard speech acts! 8 Isabel- I want to create an account named idelamor Username is not already taken, so the creation is authorised; the user finishes its session as guest and initiate a new one as a registered tweeter user David- I want to follow Miles Miles account is not private, so the request is authorised Alberto- I want to follow Miles Miles account is not private, so the request Is authorised Alberto- I want to follow David Davids account is private, so the request is pending for approval David- I accept Alberto as a follower The request for acceptance is authorised, and Alberto is declared as Davids follower David- I want to create a new list named scala The request is authorised; the list is created David- I want to include Alberto in the scala list The request is authorised; Alberto is added to the list : SetUp : Join : Allow : SetUp : Assign

9 Speech designs can be represented using a UML profile. The following diagram represents the social structure of the Twitter app. 9

10 miles : account :twitter Scenarios can also be formalised using custom dynamic diagrams. Beautiful animations! 10 :visitor javi : account {blocked=isabel} :twitterer :follower :twitterer isabel : account :twitterer jesus : account {private=true} :twitterer : setUp scala : list :follower : join :follower :listed : join : setUp : allow : assign

11 Modeling diagrams are complemented with specification sheets, which provide further details on rules, attributes, etc. 11 Structural spec.: attributes & constraints Dynamic spec.: life-cycle, empowerment & permissions, …

12 How do we implement a Speech design? Using its current embedded implementation in Scala! 12

13 But there is more to the Speech interpreter: the Speech development environment also gives us significant support at the persistent, web and client layers! 13 Client Tier Web Tier Business Component Tier Persistence Tier HTTP Java invocations JDBC, SQL

14 In sum … which are the advantages of Speech over general-purpose technologies? 14 General-purpose Programming Languages Low-level languages, huge semantic gap Verbose programs Poor understandability Difficult to master Poor quality, high time & cost High-level social abstractions Up to 50% shorter in lines of code Speech designs directly understandable by domain experts Easier to master Significant increase in quality, and reductions of time and cost Speech

15 What about workflow & rules engines, social networking tools, etc.? Speech also outperforms these tools in many respects! Whole spectrum of social apps! Also target programmers! A full-fledged programming-language! An embedded DSL for social apps! Domain-Specific Tecnologies Niche domains Target business analysts Suite-based environment: modular and reusability problems, expressiveness problems Lack of development environments: testing, version control, debuggers, etc. Speech 15

16 16 And follow us through … Do you want to try Speech? Visit us at … blog.hablapps.comgithub.com/hablappstwitter.com/hablappsfacebook.com/hablapps

17 Contact with: Isabel de la Morena Maroñas, CEO Juan Manuel Serrano Hidalgo, CTO Habla Computing, S.L. Villalobos 20, 13 A Madrid Spain 17


Download ppt "The case for Speech March, 2013. Think of the following kinds of applications … Do they have something in common? 2 ? ?"

Similar presentations


Ads by Google