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

Slides:



Advertisements
Similar presentations
Charles Consel 1, Fabien Latry 1, and Julien Mercadal 1 IPTComm – July Phoenix Research Group INRIA / LaBRI Staging Telephony.
Advertisements

© Copyright 2007 Exempler Telecom Test Automation System Exempler - We pride ourselves with providing lightweight robust engineering solutions.
Overview: Guide for applying RM-ODP with UML Profile for EDOC
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Use Case Diagrams.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 System Models.
Author: Graeme C. Simsion and Graham C. Witt Chapter 8 Organizing the Data Modeling Task.
OMV Ontology Metadata Vocabulary April 10, 2008 Peter Haase.
Document #07-12G 1 RXQ Customer Enrollment Using a Registration Agent Process Flow Diagram (Switch) Customer Supplier Customer authorizes Enrollment.
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
What's a Proxy Printer Provider? PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/08/08 v0.2.
1 Introducing the Specifications of the Metro Ethernet Forum.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Page 1 Copyright © 2010 Data Access Technologies, Inc. Model Driven Solutions May 2009 Cory Casanave Architecture of Services SOA for E-Government Conference.
0 - 0.
Addition Facts
The ANSI/SPARC Architecture of a Database Environment
|epcc| NeSC Workshop Open Issues in Grid Scheduling Ali Anjomshoaa EPCC, University of Edinburgh Tuesday, 21 October 2003 Overview of a Grid Scheduling.
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
Visual Model-based Software Development EUD-Net Workshop, Pisa, Italy September 23 rd, 2002 University of Paderborn Gregor Engels, Stefan Sauer University.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Week 2 The Object-Oriented Approach to Requirements
Configuration management
Software change management
Eugene Syriani and Huseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
© 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Towards a Model-Based Characterization of Data and Services Integration Paul.
©2013 PROS, Inc. All rights reserved. Confidential and Proprietary. PROS Connect User Community Website and Support Portal Prepared by Christine Lambden.
Symantec Education Skills Assessment SESA 3.0 Feature Showcase
Database System Concepts and Architecture
Systems Analysis and Design with UML Version 2.0, Second Edition
آزمایشگاه مهندسی نرم افزار
Implementation Architecture
This work was partially funded by the RNTL initiative (LUTIN project) 1 Refactoring to Object-Oriented Design Patterns Mikal Ziane (LIP6 and Université.
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Addition 1’s to 20.
Services Course Windows Live SkyDrive Participant Guide.
How to sign up for unite! To begin your registration, go to Employers and Volunteers, and click “Join Now” If you wish.
KEOD 2013 – 20 th September 2013 A Comprehensive Framework for Semantic Annotation of Web Content Manuel Fiorelli 1, Maria Teresa Pazienza 2, Armando Stellato.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Chapter 12 User Interface Design
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Developing Domain-Specific Languages for the JVM Travis Dazell Systems Architect Digi-Key Corporation.
Object-Oriented Analysis and Design
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
© Copyright Eliyahu Brutman Programming Techniques Course.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 INTRO TO BUSINESS COMPONENTS FOR JAVA (BC4J) Matt Fierst Computer Resource Team OracleWorld Session
ICT Management page 1MBA BORM - BORM © - Business Object Relation Modeling Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Introduction To System Analysis and Design
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Evaluation of Agent Building Tools and Implementation of a Prototype for Information Gathering Leif M. Koch University of Waterloo August 2001.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
Presentation transcript:

The case for Speech March, 2013

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

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

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? ….

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

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

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!

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

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

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

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, …

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

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

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

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 And follow us through … Do you want to try Speech? Visit us at … blog.hablapps.comgithub.com/hablappstwitter.com/hablappsfacebook.com/hablapps

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