Model-driven application development is a process of development based on modeling rather than programming. Models are precise description of what should be done, independently of implementation choices. Netsilon uses UML (Unified Modeling Language) class diagrams for the business description and a dedicated graph-based notation for the navigation description (defined specifically to address web application development).
Netsilon is a modeling environment, which places the emphasis on the specification and encapsulates the complexity of implementation.
Models are description of what should be done, rather than the expression of how things are done. Models are independent of implementation considerations, they focus on the business, on the description of the business objects and business rules that belong to a specific application domain.
Systematic reuse
Model provide the highest level of reuse because they are totally independent of implementation decisions. Model reuse it not limited by programming languages, component architectures or execution environments.
Modules are subsets of models which can be manipulated as standalone entities. Modules have an interface and an implementation (in model terms), they may be exported and imported, therefore allowing reuse as well as concurrent development.
Page composition
A dynamic web page may be composed of several page fragments, which have to be combined according to rules. Page fragments may be inserted conditionally, they may be repeated or alternated (as in tables).
Netsilon makes it possible to consider a web page as mosaic of fragments, so that every page generated by the application may be unique.
HTML provides the concept of hypertext links. However, HTML links are static, which means that they are always pointing to the same target. Netsilon introduces the concept of dynamic links, which means that the target of a link may be evaluated at runtime, based on the evaluation of some expression.
Another important feature of the dynamic links is the ability to pass parameters between pages. Page parameters (also called page context) have a name, a type and may have a default value. At compilation time, Netsilon will check for consistency of the formal and actual parameters, therefore making sure that pages have all the required information to execute themselves. Compiling links also eliminates the problem of references to non-existent pages.