presentation master thesis
TRANSCRIPT
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
Ing. DI(FH) Christian M. Koller
The Design and Implementation of a DSL and DSM Environment for Web
and Mobile Web Applications Simple Enough to be Useable for Non-
Developers
19.10.2016
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
1. Background2. Literature3. Methodology4. Questionnaire5. Prototype6. Outlook
2
Structure
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
Background• untermStrich
Software GmbH – Web based – Controlling and office
management – Architects and
engineers
3
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Extend existing software – Increase productivity
• Small to Medium-sized Enterprises – Limited budget
4
Problem
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Extend existing software – Increase productivity
• Small to Medium-sized Enterprises – Limited budget
4
ProblemDSL / DSM
Cross platformNon-developers
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Cross-Platform – Web based or native – Embedding the source code – Security
– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project
– User interface – jQuery and Bootstrap
5
Literature
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Cross-Platform – Web based or native – Embedding the source code – Security
– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project
– User interface – jQuery and Bootstrap
5
Literature
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Cross-Platform – Web based or native – Embedding the source code – Security
– Secure communication - HTTPS – Node.js vulnerabilities - Node Security Project
– User interface – jQuery and Bootstrap
5
Literature
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• DSL and DSM - Language Design and Creation
6
Literature
Domain idea
Finished appli-cation
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Non-developers and development – Data-intensive web and mobile web application
– Highly responsive – Highly user focused
– Avoid overly complex concepts – Every programming language has to provide certain
concepts
7
Literature
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• Questionnaire and Findings – Survey – Qualitative analysis
• Builder Application and Prototype – A task management system
• Conclusion and Outlook – List of concepts
8
Methodology
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
Questionnaire
9
Group Description Participants
ASkills in
creating office templates
2
BSystem
administrator 1
CNone of the
above 7
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
Questionnaire• Structure – Basics
– Variables, in-/output, conditions, logical, mathematical
– Structuring - Functions – Repetition - Loops, arrays – Objects - Properties – Events - Event handler – GUI - Modifying the GUI
9
Group Description Participants
ASkills in
creating office templates
2
BSystem
administrator 1
CNone of the
above 7
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
10
Questionnaire - FindingsTheAnswer = 42
show TheAnswer
TheAnswer = TheAnswer + 42
if TheAnswer is 42if TheAnswer < 42
TheAnswer = ask ‘Please enter the Answer’
call anzeigenMitarbeiter.alter
on …
change ‘H1’ ‘Hello’
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
10
Questionnaire - Findingselse? Defining
functions?
Arrays?
Loops?
TheAnswer = 42show TheAnswer
TheAnswer = TheAnswer + 42
if TheAnswer is 42if TheAnswer < 42
TheAnswer = ask ‘Please enter the Answer’
call anzeigenMitarbeiter.alter
on …
change ‘H1’ ‘Hello’
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
11
OK
LOGIN / FAILLogin
Username
Password
Login Requirement
Validate username and password
If valid got to page "OK" Returns: ID, Permission, Name ...If not valid go to "FAIL"
Welcome
• Tasks
• …
LOGIN APIPrototype
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
11
CREATE
OK
Task creation
Staff Widget
Project Widget
Date Widget
Title
Description
-- Select One --Status
If user permission, it is fixed
If user permission, it is fixed
If user permission, it is fixed
If user permission, it is fixed
If user permission, it is fixed
Save DB
Save to whatever databaseIf valid got to page „Task table“If not valid go to "FAIL"
FAILOK
Task filter
Staff Widget
If user permission, it is fixed to the logged in user
Task table
Example task text Staff Date Status…Example task text Staff Date Status…Example task text Staff Date Status…Example task text Staff Date Status…
STAFF API
PROJECT API
OK
Prototype
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• ANTLR • CoffeeScript • CoffeeScript II: The Wrath of Khan
12
Prototype
• LiveScript
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
• ANTLR • CoffeeScript • CoffeeScript II: The Wrath of Khan
12
Prototype
• LiveScript
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
12
Prototype• LiveScript• jQuery • Bootstrap • Node.js & Express • Grunt • Sequelize • Jade / Pug
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
21
Keyword Parameter Description
on EventName Defines an event handler.
variableName = Value Sets a variable to Value.
+-*/ Mathematical operators.
true false yes no Boolean values.
’text’ "text" Strings using single or double quotes.
objName.propName
Accessing the object property propName from object objName.
if C o n d i t i o n a l statement
A condition.
unless A not fulfilled condition.
www.fh-joanneum.atAPPLIED COMPUTER SCIENCES
21
https://bitbucket.org/cqixk/every1builder
The MIT License (MIT)