SlideShare una empresa de Scribd logo
1 de 48
Experiences and requirements
for a User Interaction Modeling Language

Marco Brambilla          marcobrambi
Politecnico di Milano and WebRatio

Emanuele Molteni        emanuelemolteni
WebRatio
                        Code Generation 2012, Cambridge, March 28, 2012
Agenda

 User Interaction complexity
 The gap in UI modeling standards
 Features, focus and objectives
 Metamodel and UML profile
 IFML by example
 WebML and WebRatio




                                    2
The Problem of User Interaction
UI Modeling Problem

UI has been neglected in the MDE community
  Complexity of UIs increase in time
    •   New events, devices, use cases, interactions

  Crappy tools for UI programming around
    •   Widgets drag&drop
    •   Hooks to execution

  No real MDE attempt to address the problem




                                                       4
User Interface vs. Interaction

   UI blends into visualization and graphics
   Distinguish Interaction from Interface



User interaction focus:
   Previous attempts failed because of:
    •   Low usability and effectiveness of notation
    •   Missing solid implementations with vendors support




                                                             5
The Standardization Gap
Standardization gap

A perceived gap in the standardization efforts
   User interaction has been overlooked in modeling proposals
   Previous attempts failed because of:
    •   Low usability and effectiveness of notation
    •   Missing solid implementations with vendors support




                                                                7
WebML in the OMG framework

Exploit the possible relations with
   BPMN -- Already in place
   Structure models (Class, components, CWM …)
   SOAml
   SysML
   Others


Support the standardization
   Refine the metamodel
   Implement appropriate injectors to MOF-compliant models


                                                             8
The Standardization Effort: towards IFML
Objectives of IFML

Expressing
   Content of interfaces
   User events and interaction
   Binding to business logic
of the front-end of applications belonging to diverse domains




                                                                10
Advantages

 formal specification of the different perspectives of the front-end
 Isolate implementation-specific issues of UIs
 separation of concerns in the user interaction design
 enable the communication of interaction design to non-technical
 stakeholders
 automatic generation of code also for the application front-end part




                                                                        11
Focus

The VIEW part of a software application
   view components
   view modules
   events
   interaction between components
   Interaction between the user and the components (events)
   the distribution of view components and referenced data and business logic at
   the different tiers of the architecture




                                                                                   12
Mandatory application requirements

    Multiple views for the same application
    Mobile and multi-device applications
    Visualization and input of data, and production of events
    Components independent of concrete widgets and presenation
    Interaction flow, initiated by the user or by external events
    User context: the user status in the current instant of the interaction (position,
    history, machine, platform,…)
    Modularization of the model (design-time containers for reuse purposes of model
    fragments)
    User input validation, according to OCL or other existing constraint languages
But not:
    inference rules that make model specification simpler and more concise


                                                                                         14
The IFML metamodel - 1




                         15
The IFML metamodel - 2




                         16
The IFML metamodel - 3




                         17
The UML profile for IFML

Static aspects
            «page»                    «page»                   «page»
         AlbumSearch                  Albums                   Album




         Album Search               Album Index              Album Detail




                         «index»                   «index»
                        MBox List      «link»     Message
                                                    Index



                                                                            18
The UML profile for IFML

Static aspects
Signals with tagged values

                  «signal»                 Tagged values.
            SelectMailMessages
                                           Parameter mBox
            mBox :string                   out name: selectedMBox
                                           in name: mBox




Dynamic aspects


                           SelectMailMessages(mBox)
                                                              «index»
             «index»
                                                             Message
            MBox List
                                                               Index



                                                                        19
IFML concrete syntax by example




                                  20
IFML concrete syntax by example




                                  22
IFML concrete syntax by example




                                  23
A real example.. The complete Gmail UI
                                           GMAIL top [X]
                                                Messages [L D]                      <<XOR>> Message search
                                                                                       <<D>> Search                         <<P>> FullSearch

                                                                OUT: Keyword              Message
                                                                                          keyword      Show search               Message                                                                   Message
                                                                IN: SearchKey                            options                full search
                                                                                           search
                                                                                                                                                                  OUT: Keyword, From,                     notification
                                                                                                                                                                  To., ...
                                                                                                                                                                  IN: SearchKey,
                                                                                                 Search mail                                                      FromKey, ToKey, ..
                                                   Mbox
                                                    List
                                                                        <<XOR>> Message Management                                                                                                 <<L>> Settings
                                                                         MailBox                                                              {Self.MessageRecipients >1}
                                             OUT: AllMessages              <<XOR>>                             Message Reader
                                              IN: MessageSet

                          MarkAll                                                                                    Message      ReplyToAll
                          AsRead
                                                                           MarkAll    *    Message
                                                                                            Index                     details    Forward

                                                                                                                                  Reply
           Delete                                                                    <<D>>
                                                                                                                                                        OUT: MessageID
                                                                                                                                                         IN: MessageID
                Archive                                                               Message toolbar
                                                                                                                                                                                                                          State =”Reply” OR
                                                                           Delete                                                                                                                                             ”Forward”
                                                                          Archive         <<parameter>>
                    Report                                                                 MessageSet
                                                                           Report                                                              <<L>> Message writer
                                    OUT: SelectedMessages                                         MoveTo                                                Discard
                                       IN: MessageSet                                                                                                                                                     Reply                 OUT: Subject, From,
                                                                                                                                                                     <<form>> Message Writer                                    Cc, Body, “ReplyAll”
                                                                                                                                                                                                          ToAll
                                                                                                                                State =                 Add Cc                                                                  IN: “Re:”+ Subject, To, Cc,
                                                                                                                                ”NewMessage” OR                                 <<field>> To
                                                                                                                                                                                                                                Body, State
                                                                                                                                “Forward”
                                                                                <<P>> Tag chooser                                                                              <<field>> Cc
                                                                                                                                                                                                                                 State =”Forward”
                    Associate                                                                                                                     Add Bcc                                                 Reply                  OR ”ReplyToAll”
                                                                                               Tag/                                                                            <<field>> Bcc
                     to tag /
                                                                                              Folder
                     Move to                                                    Select        Index                                State =”Reply”                            <<field>> Subject
                      folder                                                     Tag                                               OR ”ReplyToAll”                                                                               OUT: Subject, From,
                                                                                                                                                                              <<field>> Body                                     “”, Body, “Reply”
                                                OUT: SelectedTag                                                                                   Edit subject
                                                    IN: ATag                                                                                                                                              Forward                IN: “Re:”+ Subject, To, Cc,
                                                                                     Create                                                                                 <<field>> Attachment                                 Body, State
  OUT: NewTag
    IN: ATag                                                                          New
                                                                                                                                                                            <<parameter>> State
                                                                                <<M>> Tag creator                                                Add attachment
                     Create                                                                                                                                                                                                   OUT: Subject, “”, “”, Body,
                      Tag/                                                                New Tag/                                                                             Send        Save                               “Forward”
                     Folder                                                     Create     Folder                                                                                                                             IN: “Fw:”+ Subject, To, Cc,
                                                                                                                                                                                                                              Body, State


                      OUT: NewTagName
                        IN: TagName


                                                                                                                                                                                                                         State =”Reply” OR
                                                                                                                                                                                                                            ”ReplyToAll”
                                                                                                                                                                    Send                       Save
                                                                                                                                                                    Action                     Action




                                                                                                                                                                                                                                                               24
A solid foundation: WebML
Some words on the WebML history

 1998: Born within the W3I3 EU project
  •   Visual modeling of Web application interfaces

 2003: Evolved to the management of Web services (WebSi EU project)
 2005: Evolved to the support of business processes (WebSi EU project)
 2006: Added support to semantic web aspects (SWS Challenge)
 2007-2010: continuous improvements, metamodel definition, support for
 additional aspects: reuse, async interactions, ...
 Currently adopted in more than 300 universities worldwide for research
 and education purposes




                                                                          27
Effective and essential

A visual modeling language (DSL) ...
    Oriented to the high level design
    Incorporating all the details that are needed for refined specification
... Effective and essential ...
    Including only the concepts relevant to the domain
    No overhead because of verbose notation or orthogonality
... For user interaction design ...
    Page contents
    Navigation paths and UI events
... Within web applications
    Born bottom-up from the features of dynamic web applications


                                                                              28
Role and positioning


Contents:        Process:       User Interaction:   Style:
ER, class, ..    BPMN           WebML               CSS, ...


                 BPMN model



                Backend:
                soaML, WSDL..


                   Services



                                                               29
The WebML notation example
              ReviewPage

GetUser          CurrentUser              PreferredArtists      Two pages
                                                                Retrieval of session data
                                                                (CurrentUser)
CurrentUser
                  CurrentUser                   Artist          Review Page
                                           [UserPreference]

                  AllArtists
                                                                 •   Lists of (prefered) artists
                                                ArtistDetails
                                                                 •   Links to artist details

                                                                Albums Page
                       Artist                        Artist      •   List of albums of selected
                                                                     artist
                                                KO
              Albums                                             •   Checkbox and deletion of
                  AlbumIndex             DeleteAlbum                 albums



                                    OK
                      Album                 Album
                 [PlayedByArtist]
Content publishing units
                     IN:               UnitName             OUT:
              Param1, ... ParamN                           Params
                                       UnitType



                                         Concept
                             [Selector (Param1, ..., ParamN)]

A WebML unit is the atomic information publishing element
A “view” defined upon a container of objects:
   The instances of a concept
   Based on one or more complex selection conditions (called selectors)
A unit may need some inputs and produces some outputs
   Inputs are required to compute the unit itself (params of the selector)
   Outputs can be used to compute other unit(s)
                                                                             31
Links
                   AllArtists                 ArtistDetails




                     Artist                       Artist
Links in WebML have 3 purposes
   Describe navigation paths
   Transport parameters between units
   Activate computation of units and execution of side effects
Normally, links are rendered as one or more anchors/buttons
based on the dataset and semantics of the source unit
   Various behaviors are allowed (automatic, asynchronous, transport ..)
   Transport links: only carry parameters, no navigation nor side effects
Operation units
                                OperationName           OK

                                    OpType
                                                        KO




                                     Concept
                         [Selector (Param1, ..., ParamN)]

Execution of operations and business logic
Simple failure/success model of operations
   Success: green “OK link” is navigated
   Failure: red “KO link” is navigated
Chains of operations can be defined
   Control dictated by links
   Basic control flow elements available (loop, switch)
                                                             33
Units coverage
Content publishing
Data     Index     MultiData Entry       Scroller     Multichoice HierarchicalIndex




Session management                                       Web Services
 Login    Logout      Get        Set                     Request-Response     ….




CRUD Operations
Create      Modify      Delete         Connect      Disconnect




                                                                                      34
Foundations and extensibility

The language foundations
  Basic set of units
  Connection to a content model for data retrieval and management
  Links for control and data flow
  Page computation algorithms for execution semantics
    •   The page content is automatically calculated also in case of complex topologies
    •   Incoming links and dependencies among units are considered

The language is open
  New units and operations can be specified
  For implementing ad-hoc business logics


                                                                                          35
WebRatio
What is WebRatio

An Eclipse-based development environment allowing:
  Modeling: ER + WebML + BPMN
  100% code generation of standard JEE applications
    •   Clear separation between design time and run time
    •   No proprietary runtime
                                                                          Requirement Analysis
  Quick and agile development cycles
  Extending the generation rules
    •   Defining new presentation styles
                                                       Results Verification                          Solution Modeling
    •   Defining new components

  Versioning, teamwork, full lifecycle mgt
                                                                              Prototype Generation




                                                                                                                  37
A fertile environment ...

... for designing, building and maintaining your
custom enterprise applications




                                                   38
WebRatio – Step 1

You capture business requirements in abstract,
technology independent models




                                      WebRatio
          Business                    Modeller
            User




                                                 39
Design the model

Process Model                  Application Model
  Define business processes      Define data, services, logic and
  managed by the application     presentation details
  BPMN notation                  WebML notation




                                                                    40
WebRatio – Step 2

You customize the environment by defining your own
generation rules




           Layout                 Java
          Designer            Programmer


                                                 41
Customize the generation rules

Layout templates                       Custom components
  for a perfectly fine-tuned layout,     for implementing any kind of
  tailored to your visual identity       business logic, integration or
                                         complex task




                                                                          42
WebRatio – Step 3

You get a tailored, yet standard, Java Web application
with no proprietary runtime




                      WebRatio          Business
                      Modeller            User




                                                     43
Get the application



                                                  Browser

                            Standard execution environment

                                  Standard Java
                      Web          Application
                      App            Server




                                          Custom
                        DBMS            Information         SOA
                                           System




                                                                  44
An evolutionary prototyping dev cycle

Involve business users in the development process and
converge quickly to the target

                       Requirement
                         Analysis




                                               Solution
           Results                             Modelling
          Validation




                                 Application
                                 Generation
Why we chose Code Generation

3 reasons in favour of Code Generation
   Execution environment is as standard as possible
    •   standard architecture, standard libraries
    •   fitting corporate IT policies

   Two degrees of freedom instead of one
    •   not all the requirements can be modelled
    •   define, use and reuse your own generation rules

   No vendor lock-in
    •   generated code is human-readable, applications can be easily maintained without the
        tool




                                                                                              47
How you can keep on generating

Do you want to touch the generated application ?
Touch the generation rules instead !
                                                     ?

               Generation              Generated
       Model
                 Engine                Application
               Generation
                 Rules




                                                     49
Kinds of application
      Document                                                                            Customer
     Management                                                                       Information Mgt
      Knowledge                              Web Content                               Sales and Lead
     Management                                                                        Management
                                             Management
      Learning                                                   Customer                 Partner
     Management            Knowledge                            Relationship          Relationship Mgt
                            Support                             Management
       Project                                                                           Marketing
     Management                                                                        Resources Mgt

                           Business                                                    Web Customer
                                                                 Supply Chain            Services
                         Intelligence                            Management
                                                                                          B2C/B2B
                                                                                        E-Commerce
      Web Front-End of           Financial                 Enterprise
       accounting sys.
                                 Services                  Resource               Supplier
      Payment Services                                      Planning          Relationship Mgt
       Orchestration
                                 Product Life Cycle   Human Capital      Corporate
        Front-Office
                                   Management         Management         Operations
        Process Mgt
                                                           Recruitment           Enterprise
                                                                                Governance
                                                             Training
                                                                                 Risk and
                                                            Workforce           Compliance
                                                           Management
                                                                                 Order Mgt


                                                                                                         50
Some relevant experiences
            IT industry                                Energy & Utilities
                   worldwide web site +
                                                                 • Web-based security law
                    CMS and product
                                                                   compliance system
                        catalogue
                                                                 • Green energy department
                     www.acer.com
                                                                   internal knowledge base system
                   www.packardbell.com
                                                    Web-based, IT budget
              Finance                                 monitoring system

                   Web-based, multi country,
                    End-to-end Front-Office                         Web site + CMS + online
                     Process Mgt platform                           customer services

                   Ecuador cooperative network
                  cash flow compensation system            Public Sector
   Fashion & Furniture                             Electronic invoice mgt system
                 • Unsold items mgt system
                                                     Public transport pass e-ticketing system
                 • Warehouse mgt system

   Mobile public portal


                 • Web-based cash control system
                 • Internal training system



                                                                                                    51
Summary

WebRatio is
   now at its 6th major release (the 7th due since the end of 2012)
   on the market since 2001
WebRatio customers
   120+ companies and 500+ users
   in Italy, Europe and South America
WebRatio adoption
   15,000+ users of the free edition
   Used in hundreds of universities all over the world
WebRatio partners
   40+ software houses and system integrators
   300+ universities worldwide, 12.000+ students
Visit us at the booth and win 5 free copies
    of upcoming MDSE book and full access to
        Morgan&Claypool library for 1 month!




Come and visit us at booth

www.webratio.com
contact@webratio.com

   marcobrambi
   emanuelemolteni
   elenawebratio

Más contenido relacionado

La actualidad más candente

EMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsEMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsHamza ED-DOUIBI
 
Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Marco Brambilla
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systemsMarco Brambilla
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)David Groff
 
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.Model-Driven Design of Audiovisual Indexing Processes for Search Apps.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
 
Introduction to Business Modeling
Introduction to Business ModelingIntroduction to Business Modeling
Introduction to Business ModelingLaurence White
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseBill Duncan
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and TricksManageware
 
Constructing Enterprise Applications
Constructing Enterprise  ApplicationsConstructing Enterprise  Applications
Constructing Enterprise ApplicationsGem WeBlog
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven ArchitecturesLalit Kale
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesMarco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsJordi Cabot
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Jordi Cabot
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
Migration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMigration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMatt Mendell
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Marco Brambilla
 
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and MobileModern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and MobileDan Mohl
 

La actualidad más candente (20)

EMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsEMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from Models
 
Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systems
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)
 
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.Model-Driven Design of Audiovisual Indexing Processes for Search Apps.
Model-Driven Design of Audiovisual Indexing Processes for Search Apps.
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
Introduction to Business Modeling
Introduction to Business ModelingIntroduction to Business Modeling
Introduction to Business Modeling
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For Reuse
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and Tricks
 
Constructing Enterprise Applications
Constructing Enterprise  ApplicationsConstructing Enterprise  Applications
Constructing Enterprise Applications
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
Migration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMigration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next Generation
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and MobileModern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
 

Destacado

Transforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaEric Malotaux
 
Mission: Impossible --- Purely declarative User Interface Modeling
Mission: Impossible --- Purely declarative User Interface ModelingMission: Impossible --- Purely declarative User Interface Modeling
Mission: Impossible --- Purely declarative User Interface Modelingademelt
 
Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User InterfacesIcinetic
 
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface Design
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface DesignQualiHM: A Requirement Engineering Toolkit for Efficient User Interface Design
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface DesignMohamed Boukhebouze
 
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...Execution Semantics of BPMN through MDE Web Application Generation, using BPM...
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...Marco Brambilla
 
A BPMN-based notation for SocialBPM. BPMN workshop 2011
A BPMN-based notation for SocialBPM. BPMN workshop 2011A BPMN-based notation for SocialBPM. BPMN workshop 2011
A BPMN-based notation for SocialBPM. BPMN workshop 2011Marco Brambilla
 
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)Marco Brambilla
 
WebML and WebRatio - Business process modeling (BPM) and web application mode...
WebML and WebRatio - Business process modeling (BPM) and web application mode...WebML and WebRatio - Business process modeling (BPM) and web application mode...
WebML and WebRatio - Business process modeling (BPM) and web application mode...Marco Brambilla
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticIcinetic
 
Good Practices For Developing User Requirements
Good Practices For Developing User RequirementsGood Practices For Developing User Requirements
Good Practices For Developing User Requirementsnkaur
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
 
Chapter 2 — Program and Graphical User Interface Design
Chapter 2 — Program and Graphical User Interface DesignChapter 2 — Program and Graphical User Interface Design
Chapter 2 — Program and Graphical User Interface Designfrancopw
 
Dicas importantes para escrever resumo de trabalho
Dicas importantes para escrever resumo de trabalhoDicas importantes para escrever resumo de trabalho
Dicas importantes para escrever resumo de trabalhoCRIS TORRES
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirementsguest24d72f
 
Final requirement in programming vinson
Final requirement in programming  vinsonFinal requirement in programming  vinson
Final requirement in programming vinsonmonstergeorge
 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principlesDavid Little
 

Destacado (18)

Transforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to Java
 
Mission: Impossible --- Purely declarative User Interface Modeling
Mission: Impossible --- Purely declarative User Interface ModelingMission: Impossible --- Purely declarative User Interface Modeling
Mission: Impossible --- Purely declarative User Interface Modeling
 
Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User Interfaces
 
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface Design
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface DesignQualiHM: A Requirement Engineering Toolkit for Efficient User Interface Design
QualiHM: A Requirement Engineering Toolkit for Efficient User Interface Design
 
Idm et ihm
Idm et ihmIdm et ihm
Idm et ihm
 
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...Execution Semantics of BPMN through MDE Web Application Generation, using BPM...
Execution Semantics of BPMN through MDE Web Application Generation, using BPM...
 
A BPMN-based notation for SocialBPM. BPMN workshop 2011
A BPMN-based notation for SocialBPM. BPMN workshop 2011A BPMN-based notation for SocialBPM. BPMN workshop 2011
A BPMN-based notation for SocialBPM. BPMN workshop 2011
 
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)
Model driven crowdsourcing of search (CrowdSearch2012 workshop at www2012)
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
 
WebML and WebRatio - Business process modeling (BPM) and web application mode...
WebML and WebRatio - Business process modeling (BPM) and web application mode...WebML and WebRatio - Business process modeling (BPM) and web application mode...
WebML and WebRatio - Business process modeling (BPM) and web application mode...
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at Icinetic
 
Good Practices For Developing User Requirements
Good Practices For Developing User RequirementsGood Practices For Developing User Requirements
Good Practices For Developing User Requirements
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Chapter 2 — Program and Graphical User Interface Design
Chapter 2 — Program and Graphical User Interface DesignChapter 2 — Program and Graphical User Interface Design
Chapter 2 — Program and Graphical User Interface Design
 
Dicas importantes para escrever resumo de trabalho
Dicas importantes para escrever resumo de trabalhoDicas importantes para escrever resumo de trabalho
Dicas importantes para escrever resumo de trabalho
 
8 Characteristics of good user requirements
8 Characteristics of good user requirements8 Characteristics of good user requirements
8 Characteristics of good user requirements
 
Final requirement in programming vinson
Final requirement in programming  vinsonFinal requirement in programming  vinson
Final requirement in programming vinson
 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principles
 

Similar a Experiences and requirements for a User Interaction Modeling Language

SeCold - A Linked Data Platform for Mining Software Repositories
SeCold - A Linked Data Platform for  Mining Software RepositoriesSeCold - A Linked Data Platform for  Mining Software Repositories
SeCold - A Linked Data Platform for Mining Software Repositoriesimanmahsa
 
Reuse and cloud in component based development
Reuse and cloud in component based developmentReuse and cloud in component based development
Reuse and cloud in component based developmentscuffio
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Software
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application ModelsMarco Brambilla
 
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Bill Buchan
 
An Approach to Recover Feature Models From Object-Oriented Source Code
An Approach to Recover Feature Models From Object-Oriented Source CodeAn Approach to Recover Feature Models From Object-Oriented Source Code
An Approach to Recover Feature Models From Object-Oriented Source CodeRa'Fat Al-Msie'deen
 
@lis agent communication, ontologies, protocols, semantic web 2003
@lis   agent communication, ontologies, protocols, semantic web 2003@lis   agent communication, ontologies, protocols, semantic web 2003
@lis agent communication, ontologies, protocols, semantic web 2003Luigi Ceccaroni
 
semantic and social intraweb for corporate intelligence and watch
semantic and social intraweb for corporate intelligence and watchsemantic and social intraweb for corporate intelligence and watch
semantic and social intraweb for corporate intelligence and watchFabien Gandon
 
FAMOOSr 2011
FAMOOSr 2011FAMOOSr 2011
FAMOOSr 2011ESUG
 
2011 famoosr
2011 famoosr2011 famoosr
2011 famoosrbergel
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiCore Mind
 
_Brian_McCarthy_NET_Portfolio
_Brian_McCarthy_NET_Portfolio_Brian_McCarthy_NET_Portfolio
_Brian_McCarthy_NET_PortfolioBrian McCarthy
 
Wi iat-bootstrapping the analysis of large-scale web service networks-v3
Wi iat-bootstrapping the analysis of large-scale web service networks-v3Wi iat-bootstrapping the analysis of large-scale web service networks-v3
Wi iat-bootstrapping the analysis of large-scale web service networks-v3Shahab Mokarizadeh
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements finalJohn Domingue
 
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)Emil Eifrem
 

Similar a Experiences and requirements for a User Interaction Modeling Language (20)

SeCold - A Linked Data Platform for Mining Software Repositories
SeCold - A Linked Data Platform for  Mining Software RepositoriesSeCold - A Linked Data Platform for  Mining Software Repositories
SeCold - A Linked Data Platform for Mining Software Repositories
 
IGP Production Systems For Digital Archives
IGP Production Systems For Digital ArchivesIGP Production Systems For Digital Archives
IGP Production Systems For Digital Archives
 
Reuse and cloud in component based development
Reuse and cloud in component based developmentReuse and cloud in component based development
Reuse and cloud in component based development
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com
 
Learning activity 3
Learning activity 3Learning activity 3
Learning activity 3
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application Models
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
 
An Approach to Recover Feature Models From Object-Oriented Source Code
An Approach to Recover Feature Models From Object-Oriented Source CodeAn Approach to Recover Feature Models From Object-Oriented Source Code
An Approach to Recover Feature Models From Object-Oriented Source Code
 
@lis agent communication, ontologies, protocols, semantic web 2003
@lis   agent communication, ontologies, protocols, semantic web 2003@lis   agent communication, ontologies, protocols, semantic web 2003
@lis agent communication, ontologies, protocols, semantic web 2003
 
semantic and social intraweb for corporate intelligence and watch
semantic and social intraweb for corporate intelligence and watchsemantic and social intraweb for corporate intelligence and watch
semantic and social intraweb for corporate intelligence and watch
 
Searching Your Source Code
Searching Your Source CodeSearching Your Source Code
Searching Your Source Code
 
FAMOOSr 2011
FAMOOSr 2011FAMOOSr 2011
FAMOOSr 2011
 
2011 famoosr
2011 famoosr2011 famoosr
2011 famoosr
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
 
_Brian_McCarthy_NET_Portfolio
_Brian_McCarthy_NET_Portfolio_Brian_McCarthy_NET_Portfolio
_Brian_McCarthy_NET_Portfolio
 
Wi iat-bootstrapping the analysis of large-scale web service networks-v3
Wi iat-bootstrapping the analysis of large-scale web service networks-v3Wi iat-bootstrapping the analysis of large-scale web service networks-v3
Wi iat-bootstrapping the analysis of large-scale web service networks-v3
 
Soa4 all technical achievements final
Soa4 all technical achievements finalSoa4 all technical achievements final
Soa4 all technical achievements final
 
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
A NOSQL Overview And The Benefits Of Graph Databases (nosql east 2009)
 

Más de Marco Brambilla

M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...Marco Brambilla
 
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Marco Brambilla
 
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Marco Brambilla
 
Exploring the Bi-verse. A trip across the digital and physical ecospheres
Exploring the Bi-verse.A trip across the digital and physical ecospheresExploring the Bi-verse.A trip across the digital and physical ecospheres
Exploring the Bi-verse. A trip across the digital and physical ecospheresMarco Brambilla
 
Conversation graphs in Online Social Media
Conversation graphs in Online Social MediaConversation graphs in Online Social Media
Conversation graphs in Online Social MediaMarco Brambilla
 
Trigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoTrigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoMarco Brambilla
 
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Marco Brambilla
 
Analyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsAnalyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsMarco Brambilla
 
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...Marco Brambilla
 
Community analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksCommunity analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksMarco Brambilla
 
Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Marco Brambilla
 
Data Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionData Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionMarco Brambilla
 
Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Marco Brambilla
 
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...Marco Brambilla
 
Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Marco Brambilla
 
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Marco Brambilla
 
Model-driven Development of User Interfaces for IoT via Domain-specific Comp...
Model-driven Development of  User Interfaces for IoT via Domain-specific Comp...Model-driven Development of  User Interfaces for IoT via Domain-specific Comp...
Model-driven Development of User Interfaces for IoT via Domain-specific Comp...Marco Brambilla
 
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.Marco Brambilla
 
Big Data and Stream Data Analysis at Politecnico di Milano
Big Data and Stream Data Analysis at Politecnico di MilanoBig Data and Stream Data Analysis at Politecnico di Milano
Big Data and Stream Data Analysis at Politecnico di MilanoMarco Brambilla
 
Web Science. An introduction
Web Science. An introductionWeb Science. An introduction
Web Science. An introductionMarco Brambilla
 

Más de Marco Brambilla (20)

M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
 
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
 
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
 
Exploring the Bi-verse. A trip across the digital and physical ecospheres
Exploring the Bi-verse.A trip across the digital and physical ecospheresExploring the Bi-verse.A trip across the digital and physical ecospheres
Exploring the Bi-verse. A trip across the digital and physical ecospheres
 
Conversation graphs in Online Social Media
Conversation graphs in Online Social MediaConversation graphs in Online Social Media
Conversation graphs in Online Social Media
 
Trigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoTrigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demo
 
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
 
Analyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsAnalyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projects
 
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
 
Community analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksCommunity analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networks
 
Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals
 
Data Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionData Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extraction
 
Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018
 
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
 
Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...
 
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
 
Model-driven Development of User Interfaces for IoT via Domain-specific Comp...
Model-driven Development of  User Interfaces for IoT via Domain-specific Comp...Model-driven Development of  User Interfaces for IoT via Domain-specific Comp...
Model-driven Development of User Interfaces for IoT via Domain-specific Comp...
 
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
 
Big Data and Stream Data Analysis at Politecnico di Milano
Big Data and Stream Data Analysis at Politecnico di MilanoBig Data and Stream Data Analysis at Politecnico di Milano
Big Data and Stream Data Analysis at Politecnico di Milano
 
Web Science. An introduction
Web Science. An introductionWeb Science. An introduction
Web Science. An introduction
 

Último

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Experiences and requirements for a User Interaction Modeling Language

  • 1. Experiences and requirements for a User Interaction Modeling Language Marco Brambilla marcobrambi Politecnico di Milano and WebRatio Emanuele Molteni emanuelemolteni WebRatio Code Generation 2012, Cambridge, March 28, 2012
  • 2. Agenda User Interaction complexity The gap in UI modeling standards Features, focus and objectives Metamodel and UML profile IFML by example WebML and WebRatio 2
  • 3. The Problem of User Interaction
  • 4. UI Modeling Problem UI has been neglected in the MDE community Complexity of UIs increase in time • New events, devices, use cases, interactions Crappy tools for UI programming around • Widgets drag&drop • Hooks to execution No real MDE attempt to address the problem 4
  • 5. User Interface vs. Interaction UI blends into visualization and graphics Distinguish Interaction from Interface User interaction focus: Previous attempts failed because of: • Low usability and effectiveness of notation • Missing solid implementations with vendors support 5
  • 7. Standardization gap A perceived gap in the standardization efforts User interaction has been overlooked in modeling proposals Previous attempts failed because of: • Low usability and effectiveness of notation • Missing solid implementations with vendors support 7
  • 8. WebML in the OMG framework Exploit the possible relations with BPMN -- Already in place Structure models (Class, components, CWM …) SOAml SysML Others Support the standardization Refine the metamodel Implement appropriate injectors to MOF-compliant models 8
  • 10. Objectives of IFML Expressing Content of interfaces User events and interaction Binding to business logic of the front-end of applications belonging to diverse domains 10
  • 11. Advantages formal specification of the different perspectives of the front-end Isolate implementation-specific issues of UIs separation of concerns in the user interaction design enable the communication of interaction design to non-technical stakeholders automatic generation of code also for the application front-end part 11
  • 12. Focus The VIEW part of a software application view components view modules events interaction between components Interaction between the user and the components (events) the distribution of view components and referenced data and business logic at the different tiers of the architecture 12
  • 13. Mandatory application requirements Multiple views for the same application Mobile and multi-device applications Visualization and input of data, and production of events Components independent of concrete widgets and presenation Interaction flow, initiated by the user or by external events User context: the user status in the current instant of the interaction (position, history, machine, platform,…) Modularization of the model (design-time containers for reuse purposes of model fragments) User input validation, according to OCL or other existing constraint languages But not: inference rules that make model specification simpler and more concise 14
  • 17. The UML profile for IFML Static aspects «page» «page» «page» AlbumSearch Albums Album Album Search Album Index Album Detail «index» «index» MBox List «link» Message Index 18
  • 18. The UML profile for IFML Static aspects Signals with tagged values «signal» Tagged values. SelectMailMessages Parameter mBox mBox :string out name: selectedMBox in name: mBox Dynamic aspects SelectMailMessages(mBox) «index» «index» Message MBox List Index 19
  • 19. IFML concrete syntax by example 20
  • 20. IFML concrete syntax by example 22
  • 21. IFML concrete syntax by example 23
  • 22. A real example.. The complete Gmail UI GMAIL top [X] Messages [L D] <<XOR>> Message search <<D>> Search <<P>> FullSearch OUT: Keyword Message keyword Show search Message Message IN: SearchKey options full search search OUT: Keyword, From, notification To., ... IN: SearchKey, Search mail FromKey, ToKey, .. Mbox List <<XOR>> Message Management <<L>> Settings MailBox {Self.MessageRecipients >1} OUT: AllMessages <<XOR>> Message Reader IN: MessageSet MarkAll Message ReplyToAll AsRead MarkAll * Message Index details Forward Reply Delete <<D>> OUT: MessageID IN: MessageID Archive Message toolbar State =”Reply” OR Delete ”Forward” Archive <<parameter>> Report MessageSet Report <<L>> Message writer OUT: SelectedMessages MoveTo Discard IN: MessageSet Reply OUT: Subject, From, <<form>> Message Writer Cc, Body, “ReplyAll” ToAll State = Add Cc IN: “Re:”+ Subject, To, Cc, ”NewMessage” OR <<field>> To Body, State “Forward” <<P>> Tag chooser <<field>> Cc State =”Forward” Associate Add Bcc Reply OR ”ReplyToAll” Tag/ <<field>> Bcc to tag / Folder Move to Select Index State =”Reply” <<field>> Subject folder Tag OR ”ReplyToAll” OUT: Subject, From, <<field>> Body “”, Body, “Reply” OUT: SelectedTag Edit subject IN: ATag Forward IN: “Re:”+ Subject, To, Cc, Create <<field>> Attachment Body, State OUT: NewTag IN: ATag New <<parameter>> State <<M>> Tag creator Add attachment Create OUT: Subject, “”, “”, Body, Tag/ New Tag/ Send Save “Forward” Folder Create Folder IN: “Fw:”+ Subject, To, Cc, Body, State OUT: NewTagName IN: TagName State =”Reply” OR ”ReplyToAll” Send Save Action Action 24
  • 24. Some words on the WebML history 1998: Born within the W3I3 EU project • Visual modeling of Web application interfaces 2003: Evolved to the management of Web services (WebSi EU project) 2005: Evolved to the support of business processes (WebSi EU project) 2006: Added support to semantic web aspects (SWS Challenge) 2007-2010: continuous improvements, metamodel definition, support for additional aspects: reuse, async interactions, ... Currently adopted in more than 300 universities worldwide for research and education purposes 27
  • 25. Effective and essential A visual modeling language (DSL) ... Oriented to the high level design Incorporating all the details that are needed for refined specification ... Effective and essential ... Including only the concepts relevant to the domain No overhead because of verbose notation or orthogonality ... For user interaction design ... Page contents Navigation paths and UI events ... Within web applications Born bottom-up from the features of dynamic web applications 28
  • 26. Role and positioning Contents: Process: User Interaction: Style: ER, class, .. BPMN WebML CSS, ... BPMN model Backend: soaML, WSDL.. Services 29
  • 27. The WebML notation example ReviewPage GetUser CurrentUser PreferredArtists Two pages Retrieval of session data (CurrentUser) CurrentUser CurrentUser Artist Review Page [UserPreference] AllArtists • Lists of (prefered) artists ArtistDetails • Links to artist details Albums Page Artist Artist • List of albums of selected artist KO Albums • Checkbox and deletion of AlbumIndex DeleteAlbum albums OK Album Album [PlayedByArtist]
  • 28. Content publishing units IN: UnitName OUT: Param1, ... ParamN Params UnitType Concept [Selector (Param1, ..., ParamN)] A WebML unit is the atomic information publishing element A “view” defined upon a container of objects: The instances of a concept Based on one or more complex selection conditions (called selectors) A unit may need some inputs and produces some outputs Inputs are required to compute the unit itself (params of the selector) Outputs can be used to compute other unit(s) 31
  • 29. Links AllArtists ArtistDetails Artist Artist Links in WebML have 3 purposes Describe navigation paths Transport parameters between units Activate computation of units and execution of side effects Normally, links are rendered as one or more anchors/buttons based on the dataset and semantics of the source unit Various behaviors are allowed (automatic, asynchronous, transport ..) Transport links: only carry parameters, no navigation nor side effects
  • 30. Operation units OperationName OK OpType KO Concept [Selector (Param1, ..., ParamN)] Execution of operations and business logic Simple failure/success model of operations Success: green “OK link” is navigated Failure: red “KO link” is navigated Chains of operations can be defined Control dictated by links Basic control flow elements available (loop, switch) 33
  • 31. Units coverage Content publishing Data Index MultiData Entry Scroller Multichoice HierarchicalIndex Session management Web Services Login Logout Get Set Request-Response …. CRUD Operations Create Modify Delete Connect Disconnect 34
  • 32. Foundations and extensibility The language foundations Basic set of units Connection to a content model for data retrieval and management Links for control and data flow Page computation algorithms for execution semantics • The page content is automatically calculated also in case of complex topologies • Incoming links and dependencies among units are considered The language is open New units and operations can be specified For implementing ad-hoc business logics 35
  • 34. What is WebRatio An Eclipse-based development environment allowing: Modeling: ER + WebML + BPMN 100% code generation of standard JEE applications • Clear separation between design time and run time • No proprietary runtime Requirement Analysis Quick and agile development cycles Extending the generation rules • Defining new presentation styles Results Verification Solution Modeling • Defining new components Versioning, teamwork, full lifecycle mgt Prototype Generation 37
  • 35. A fertile environment ... ... for designing, building and maintaining your custom enterprise applications 38
  • 36. WebRatio – Step 1 You capture business requirements in abstract, technology independent models WebRatio Business Modeller User 39
  • 37. Design the model Process Model Application Model Define business processes Define data, services, logic and managed by the application presentation details BPMN notation WebML notation 40
  • 38. WebRatio – Step 2 You customize the environment by defining your own generation rules Layout Java Designer Programmer 41
  • 39. Customize the generation rules Layout templates Custom components for a perfectly fine-tuned layout, for implementing any kind of tailored to your visual identity business logic, integration or complex task 42
  • 40. WebRatio – Step 3 You get a tailored, yet standard, Java Web application with no proprietary runtime WebRatio Business Modeller User 43
  • 41. Get the application Browser Standard execution environment Standard Java Web Application App Server Custom DBMS Information SOA System 44
  • 42. An evolutionary prototyping dev cycle Involve business users in the development process and converge quickly to the target Requirement Analysis Solution Results Modelling Validation Application Generation
  • 43. Why we chose Code Generation 3 reasons in favour of Code Generation Execution environment is as standard as possible • standard architecture, standard libraries • fitting corporate IT policies Two degrees of freedom instead of one • not all the requirements can be modelled • define, use and reuse your own generation rules No vendor lock-in • generated code is human-readable, applications can be easily maintained without the tool 47
  • 44. How you can keep on generating Do you want to touch the generated application ? Touch the generation rules instead ! ? Generation Generated Model Engine Application Generation Rules 49
  • 45. Kinds of application Document Customer Management Information Mgt Knowledge Web Content Sales and Lead Management Management Management Learning Customer Partner Management Knowledge Relationship Relationship Mgt Support Management Project Marketing Management Resources Mgt Business Web Customer Supply Chain Services Intelligence Management B2C/B2B E-Commerce Web Front-End of Financial Enterprise accounting sys. Services Resource Supplier Payment Services Planning Relationship Mgt Orchestration Product Life Cycle Human Capital Corporate Front-Office Management Management Operations Process Mgt Recruitment Enterprise Governance Training Risk and Workforce Compliance Management Order Mgt 50
  • 46. Some relevant experiences IT industry Energy & Utilities worldwide web site + • Web-based security law CMS and product compliance system catalogue • Green energy department www.acer.com internal knowledge base system www.packardbell.com Web-based, IT budget Finance monitoring system Web-based, multi country, End-to-end Front-Office Web site + CMS + online Process Mgt platform customer services Ecuador cooperative network cash flow compensation system Public Sector Fashion & Furniture Electronic invoice mgt system • Unsold items mgt system Public transport pass e-ticketing system • Warehouse mgt system Mobile public portal • Web-based cash control system • Internal training system 51
  • 47. Summary WebRatio is now at its 6th major release (the 7th due since the end of 2012) on the market since 2001 WebRatio customers 120+ companies and 500+ users in Italy, Europe and South America WebRatio adoption 15,000+ users of the free edition Used in hundreds of universities all over the world WebRatio partners 40+ software houses and system integrators 300+ universities worldwide, 12.000+ students
  • 48. Visit us at the booth and win 5 free copies of upcoming MDSE book and full access to Morgan&Claypool library for 1 month! Come and visit us at booth www.webratio.com contact@webratio.com marcobrambi emanuelemolteni elenawebratio