This page is a translation of a part of the M&P eBook
and therefore some links (the text in italics) may not be available in the web
version.
Specifications executed directly on a
virtual computer
The eBook in Spanish contains a detailed description of M&P, the first “Model
Driven System” fully operational and implemented in 2006.
M&P enables the quick implementation of Data-Driven application as
well as Event-Driven and Process-Driven (Workflow) applications.
In this section, we will expand the concept of “Model Driven System” and we
will mention its main advantages.
Innovative Elements of M&P
M&P
contains a broad array of innovative concepts and techniques, which are
included in the section "Elementos de innovación en M&P".
Its value added features and synergy are described in the eBook, but what makes
M&P unique among other alternatives is its “Model Driven System” characteristic.
The Concept of Model
Traditionally, the development of software
applications is done in stages that can be summarized in:
Gathering of requirements
Formal specification of the application
Application building (programming)
Diverse types of Models are used in the formal specification of the
application stage.
A Model contains a description of the structure and behavior of a
system (an Application in this case).
The description is done by using the elements provided by a Modeling System.
Abstraction Levels
Modeling can be done at different abstraction levels.
The term "abstraction" in this context means "abstraction of details"
or "detail pruning." Thus, the more abstract the model, the fewer
amounts of details it will contain.
Usually, three levels of abstraction are considered: Conceptual,
Logic and Physical.
The Conceptual level is the most abstract, and the Physical the
least abstract.
Modeling
The modeling process can be Top-Down, Bottom-Up
or Mixed (recursive between levels).
The ideal process is the Top-Down in which the Conceptual model is
defined first and details are added sequentially to obtain the Logic model and
the Physical model.
Automatic adding of details “by default”
In
the translation to lower levels, details are generally added from a
predefined subset of details and there is an automatic adding mechanism by “default.”
The efficiency of the construction process depends on the intelligence
of the automatic detail adding mechanism.
The computer processor level
Since the processor of a digital computer operates with a minimum abstraction
level (physical level), the more abstract models must be translated into this
minimal level. The translation process is what we usually call “programming”
and in most cases is done manually.
High-level programming languages
High – level (of abstraction)
programming languages have been developed to alleviate the task of programming,
where a program called “compiler” automatically translates the
expressions of the higher level into the physical level in which the computer
operates.
The compiler program incorporates details by default required by the
processor.
High – Level code generators
Extrapolating the previous
line of thought, there are high – level code generating systems. These
systems, also based on the incorporation of details by default, take
specifications of a higher level and generate code in a high level language (that
is later compiled).
An Applications Generator is a code generating system capable of
generating the entire code (or the most part) of an application.
The automatic generation, analogously to the industrial robotization,
substitutes human labor and provides high productivity and quality,
however, as we will see this is not without other problems.
High jump competition
The competition to achieve the automatic
translation from the highest level of abstraction (the conceptual) to the
minimum level (the physical) in which the computer operates will be won by the
one who develops the system with the most intelligence to incorporate details by
default.
An intelligent default detail adding system must:
Operate with a broad spectrum of applications (data-driven,
event-driven and process-driven)
Optimize the performance of the application
Taking the opposite road
Trying to win the competence we decided to
take the opposite road to the generation of code: To develop a virtual
computer capable of operating directly with the specification from the
conceptual level. The strength of this idea is to specify only those details of
the application that constitute its “essence.” The embodiment of
the essence is done by the virtual computer.
As a result of this strategy we have implemented (in the year 2006) the first
“Model Driven System” fully operational and we named it “M&P” (Model
& Player)
In M&P the virtual computer contains all the intelligence and
functionality necessary for the operation of an application, including the user
interaction (see Images).
The M&P’s virtual computer performs the role of Model Player.
The first industrial implementation of an application based in M&P
took place in December 2006 (reference
in Spanish)
The Third Way
In any of the two abovementioned “ways” (manual and
automatic programming) the programs constitute the central processing element.
In the Model Driven System way (which we have denominated the Third Way) the
central element is the Model.
As a Model Driven System, M&P allows the direct execution of very high level
specifications, minimizing the need to build programs previously.
Advantage over Application Generators
With Application Generators,
the amount of code produced can be very large, specially when working with
extensive and complex applications, and then, each generated program must be
compiled, distributed and installed in order to be used.
One inconvenience Application generators present is that any change in the
model requires the regeneration, compilation, distribution and
installation of every program affected by the change.
Even optimizations and improvements to the application generator itself
requires the regeneration-compilation-distribution of the programs to which the
change is destined.
These inconveniences are enlarged when implementing distributed systems.
A Model Driven System does not present these issues. In a Model Driven System,
when the model is modified, the changes are valid immediately. The only thing to
distribute and install is the model which is only a few kilobytes.
M&P
inaugurates the Third Way
M&P is first " Model Driven Distributed System"
completely operational.
M&P demonstrates that it is possible to implement quickly, at low cost,
applications "Model Driven" dynamic, flexible and extensible, that in addition
have very high performance.
Some characteristics of M& P
An M&P application is defined by the following elements described in the
eBook:
One or more Models that describe the structure of the
application and are written in XML format
One or more Plugins that define the behavior of the
application, and they can be written in C#, VB, or any of the languages
available in the MS .Net Framework
One or more Starter-Files that allow the dynamic
configuration of the application, adapting it to different circumstances
M&P based applications store their information in relational databases
(MSql, MS Access, Oracle, etc.)
M&P allows the easy storage of multimedia information in the databases
and the interaction with it through the user interfaces
The modeling is Object Oriented and enables the easier modeling of
data driven, event driven, and process driven applications
(also called “workflow” applications)
M&P includes an integrated subsystem of Security to handle the
Authentications and Authorizations of users.
The M&P Full DB Editor allows the direct editing of data and a
referential navigation by the database without the need to make queries
The M&P Model Creator allows the quick creation and editing of the models
The Model Creator also allows the fast creation of the Models by means
of reverse engineering of existing data bases.
When a modification of the Model hits on the definition of the data base, the
Model Creator facilitates the introduction of the changes required in the data
base.
M&P runs in the following Platforms: : Windows: Windows Vista, Windows XP SP3, Windows 2000 SP4.
The
Result
M&P allows the fast implementation, at low cost, of
flexible and extensible Applications, that adapt dynamically to respond to the
demands of the business and new opportunities at a volatile commercial panorama.
Applications that in addition have very high operative performance.