OS.bee Software Factory Unique Selling Propositions

From OS.bee documentation
Revision as of 06:50, 29 June 2018 by Riegel (Talk | contribs) (Created page with "== Abstract == OS.bee is a low-code model-driven software-factory, using over 20 Domain Specific Languages (DSL) to generate large-scale business web-applications. Each DSL c...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Abstract

OS.bee is a low-code model-driven software-factory, using over 20 Domain Specific Languages (DSL) to generate large-scale business web-applications. Each DSL contains a grammar for a required application-layer. A DSL hides complexity from successors, thereby enabling parallel modelling of domain requirements by multiple designers as they don’t need to know the domain logic they build upon. A model created with a DSL creates executable code, structured data and configuration settings or is interpreted by a renderer during runtime. The language of each DSL uses a grammar that makes the created model easy to understand and forms a requirement specification on its layer. The overall hierarchy can be browsed through at any time and gives a good understanding of the whole application in nearly natural English language. A DSL can also be studied by its syntactical graph. The creation of a model is a guided process through the syntax graph where the designer benefits from content assistance, code completion, quick fix, syntax colorizing, outline, formatting and validation. Many DSLs define metadata to be used by subsequent DSL to increase the leverage of definitions at a basic level. All element names defined by a DSL are automatically extracted to localization files for translation to open foreign markets for the resulting application. The ratio between the generated lines of code versus the numbers of lines in a model is 8 on average. Development speed improves by a similar factor. Dependencies between models reveal inconsistencies immediately while modifying and prevent generating code until these are resolved. Therefore turnaround cycles are short, errors are easy to discover and prototypes materialize in a very short time. Some DSL generate against famous open-source frameworks like EclipseLink, Smooks, Mondrian, Vaadin or jBPM thus enabling non-developers to use complex frameworks without deeper knowledge of their API. OS.bee inherits the features of the embedded frameworks and makes them easy to exploit for specialists of a domain not necessarily being software developer.

Modeling

Data-type (type system layer)

  • Primitive Types (int, double, etc.)
  • Object Types (String, Date, etc.)
  • Blob
Store and retrieve any document or image type in binary form
  • Auto-sizing Images
Additionally stores images of definable size to experience better performance while rendering
  • Formatted types
Dates and times in any localized form
Dates and times in any format (time only, date only, short and long forms, custom pattern, etc.)
Currencies in any localized form
  • Validated types with adjustable severity message
Date in past/future
Not null
Not duplicate
Range values
Min/max length
  • Slider types
Min/max values
  • Masked types
Number, Hexadecimal, Capitalized
Input pattern (e.g. Phone Numbers (###) ###-####)
  • Password
  • Suggestion types
While typing some characters, a sorted list of suggestions pops up for selection
  • Programmable Converters
Text-to-Image
Number-to-Text/Image
Value-to-CSS Style
Units of measurement
  • Rich text editor using HTML markups
  • Text area

Entity (Object relational mapper layer)