+ All Categories
Home > Technology > Hyper senses 'mobile apps'

Hyper senses 'mobile apps'

Date post: 01-Nov-2014
Category:
Upload: hessel-van-tuinen
View: 367 times
Download: 3 times
Share this document with a friend
Description:
Software Generator from:Delta Software & HT Applications
Popular Tags:
56
HyperSenses The Perfect Way to Better Software 1 Generating Software Generators using the example of Generating a Mobile App Generator for multiple Platforms and Requirements vrijdag 25 maart 2011
Transcript
Page 1: Hyper senses 'mobile apps'

HyperSenses

The Perfect Way to Better Software

1

Generating Software Generatorsusing the example of

Generating a Mobile App Generatorfor multiple Platforms and Requirements

vrijdag 25 maart 2011

Page 2: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Challenge of Developing a Mobile App

2

How toefficientlymanage?

Many mobile plat- forms (Android, iOS, WinPhone 7, …)

Different require- ments / customi- zations

Many implemen- tations Many imple-

mentations

Developmentof Mobile App

vrijdag 25 maart 2011

Page 3: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 4: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 5: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 6: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

For the next small task …

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 7: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

For the next small task …… it might be sufficient to create a small …

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 8: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

For the next small task …… it might be sufficient to create a small …

And another and another etc.

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 9: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

For the next small task …… it might be sufficient to create a small …

And another and another etc.With a whole zoo of DSLs and generators

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 10: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

For a limited and isolated task …… it might be sufficient to create a small DSL

with a small generator

For the next small task …… it might be sufficient to create a small …

And another and another etc.With a whole zoo of DSLs and generatorsOverlapping, inconsistent, not maintainable

3

A Generator? Many Generators?

DSL

Generator

Make things as simple as possible, but not simpler.

Albert Einstein

vrijdag 25 maart 2011

Page 11: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A Generator? Many Generators?

4

Application Domain(Problem Area)

Meta Model

Domain Specific Language (DSL) Generator

Example,Prototype

Code Patterns

Requirements

Productions (e.g. Software)Configurations

Model Driven Meta Development

With meta models meta DSLs and meta generators

Model based development of DSLs and generators!

For simple tasks For comprehensive and

complex systems

vrijdag 25 maart 2011

Page 12: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 5

Meta Model

vrijdag 25 maart 2011

Page 13: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation points

5

Meta Model

vrijdag 25 maart 2011

Page 14: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family?

5

Meta Model

vrijdag 25 maart 2011

Page 15: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators

5

Meta Model

vrijdag 25 maart 2011

Page 16: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators≈ Feature model (FODA)

5

Meta Model

vrijdag 25 maart 2011

Page 17: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators≈ Feature model (FODA)

Formal: MOF meta model (OMG)

5

Meta Model

vrijdag 25 maart 2011

Page 18: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators≈ Feature model (FODA)

Formal: MOF meta model (OMG)

HyperSenses: Meta model editor

5

Meta Model

vrijdag 25 maart 2011

Page 19: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators≈ Feature model (FODA)

Formal: MOF meta model (OMG)

HyperSenses: Meta model editor Interactive, graphical interface

5

Meta Model

vrijdag 25 maart 2011

Page 20: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Model of variation pointsWhat distinguishes members of a system

family? Invariant properties are not relevant for

modeling generators≈ Feature model (FODA)

Formal: MOF meta model (OMG)

HyperSenses: Meta model editor Interactive, graphical interfacePart of HyperSenses MetaComposer

5

Meta Model

vrijdag 25 maart 2011

Page 21: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 6

Configuration

vrijdag 25 maart 2011

Page 22: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

6

Configuration

vrijdag 25 maart 2011

Page 23: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

6

Configuration

vrijdag 25 maart 2011

Page 24: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

Configuration = Instance of a meta model

6

Configuration

vrijdag 25 maart 2011

Page 25: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

Configuration = Instance of a meta model

Technical format: XML

6

Configuration

vrijdag 25 maart 2011

Page 26: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

Configuration = Instance of a meta model

Technical format: XMLConfigurable in meta model

6

Configuration

vrijdag 25 maart 2011

Page 27: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

Configuration = Instance of a meta model

Technical format: XMLConfigurable in meta model

Tag and attribute names etc.

6

Configuration

vrijdag 25 maart 2011

Page 28: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A configuration defines the parameter values of a certain production

Production = 1 or more artifacts

Configuration = Instance of a meta model

Technical format: XMLConfigurable in meta model

Tag and attribute names etc.Exchange with arbitrary other tools

6

Configuration

vrijdag 25 maart 2011

Page 29: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 7

Domain Specific Language

vrijdag 25 maart 2011

Page 30: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model …

7

Domain Specific Language

vrijdag 25 maart 2011

Page 31: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

7

Domain Specific Language

vrijdag 25 maart 2011

Page 32: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax

7

Domain Specific Language

vrijdag 25 maart 2011

Page 33: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable

7

Domain Specific Language

vrijdag 25 maart 2011

Page 34: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

7

Domain Specific Language

vrijdag 25 maart 2011

Page 35: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

Formats

7

Domain Specific Language

vrijdag 25 maart 2011

Page 36: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

FormatsXML (configuration)

7

Domain Specific Language

vrijdag 25 maart 2011

Page 37: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

FormatsXML (configuration)

As well from "foreign" tools

7

Domain Specific Language

vrijdag 25 maart 2011

Page 38: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

FormatsXML (configuration)

As well from "foreign" tools Interactive DSL

7

Domain Specific Language

vrijdag 25 maart 2011

Page 39: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

FormatsXML (configuration)

As well from "foreign" tools Interactive DSL

HyperSenses: Configurator

7

Domain Specific Language

vrijdag 25 maart 2011

Page 40: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

A meta model … … implicitly defines a complete grammar

DSL Concrete syntax Automatically derivable Meta Model + general syntax pattern

FormatsXML (configuration)

As well from "foreign" tools Interactive DSL

HyperSenses: ConfiguratorHyperSenses TextDSL

7

Domain Specific Language

vrijdag 25 maart 2011

Page 41: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 8

Code-Pattern

Reusable parameterized building blocks Base on frame/slot concept (ANGIE) Alternative frames with common

interface Blocks and slots graphically presented Inheritance and overloading frames

vrijdag 25 maart 2011

Page 42: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Pattern By Example™ (PBE)

8

Code-Pattern

Reusable parameterized building blocks Base on frame/slot concept (ANGIE) Alternative frames with common

interface Blocks and slots graphically presented Inheritance and overloading frames

vrijdag 25 maart 2011

Page 43: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Pattern By Example™ (PBE) Step by step derivation of code patterns

from examples and prototypes

8

Code-Pattern

Reusable parameterized building blocks Base on frame/slot concept (ANGIE) Alternative frames with common

interface Blocks and slots graphically presented Inheritance and overloading frames

vrijdag 25 maart 2011

Page 44: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Pattern By Example™ (PBE) Step by step derivation of code patterns

from examples and prototypes

Connection to Meta Model

8

Code-Pattern

Reusable parameterized building blocks Base on frame/slot concept (ANGIE) Alternative frames with common

interface Blocks and slots graphically presented Inheritance and overloading frames

vrijdag 25 maart 2011

Page 45: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

Pattern By Example™ (PBE) Step by step derivation of code patterns

from examples and prototypes

Connection to Meta Model Automatic navigation in configurations

8

Code-Pattern

Reusable parameterized building blocks Base on frame/slot concept (ANGIE) Alternative frames with common

interface Blocks and slots graphically presented Inheritance and overloading frames

vrijdag 25 maart 2011

Page 46: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 9

Generator

vrijdag 25 maart 2011

Page 47: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically created

9

Generator

vrijdag 25 maart 2011

Page 48: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

9

Generator

vrijdag 25 maart 2011

Page 49: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE components

9

Generator

vrijdag 25 maart 2011

Page 50: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

9

Generator

vrijdag 25 maart 2011

Page 51: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

Assembled as “HyperSenses Executable“ to be embedded in:

9

Generator

vrijdag 25 maart 2011

Page 52: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

Assembled as “HyperSenses Executable“ to be embedded in:

Delta development platform (SCOUT²)

9

Generator

vrijdag 25 maart 2011

Page 53: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

Assembled as “HyperSenses Executable“ to be embedded in:

Delta development platform (SCOUT²)or HyperSenses Configurator

9

Generator

vrijdag 25 maart 2011

Page 54: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

Assembled as “HyperSenses Executable“ to be embedded in:

Delta development platform (SCOUT²)or HyperSenses Configuratoror Eclipse, or Visual Studio,

9

Generator

vrijdag 25 maart 2011

Page 55: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved.

The Generator is automatically createdFrom Meta Model and Code Patterns

Generated as ANGIE componentsPlus ANGIE framework for configurations and

parser

Assembled as “HyperSenses Executable“ to be embedded in:

Delta development platform (SCOUT²)or HyperSenses Configuratoror Eclipse, or Visual Studio, etc…

9

Generator

vrijdag 25 maart 2011

Page 56: Hyper senses 'mobile apps'

Introduction to HyperSensesCopyright © 2010 Delta Software Technology GmbH.All Rights reserved. 10

The Perfect Wayto Better Software

vrijdag 25 maart 2011


Recommended