Froglingo is an off-the-shelf product, i.e., a single
executable file, and is self-sufficient in software
development and maintenance. Being worth as an
alternative, Froglingo is expected to be more
productive than the traditional technologies.
In this paper, we analyze the individual
components of the traditional technologies, identify
how the equivalent functions of the components are
supported in Frolingo, and conclude with the
feasibility of the monolithic architecture of
Froglingo.
To facilitate the discussion in this paper, we
briefly introduce Froglingo in Section 2. From
Section 3 to Section 7, we discuss the components of
the traditional technologies and identify where the
equivalent functions of the components go in
Froglingo. Through the discussion, we demonstrate
that Froglingo is monolithic in system architecture
and suggest that it is more productive in software
development and maintenance. In the conclusion, we
reiterate an objective view on the easiness of
computer language to strengthen the suggestion that
the monolith Froglingo is more productive.
2 FROGLINGO
In traditional data models, an entity is either
dependent on one and only one other entity, or
independent from the rest of the world. The
functional dependency in relational data model and
the child-parent relationships in hierarchical data
model are the typical examples. This restriction,
however, doesn’t reflect the complexities of the real
world that are manageable using a computer. The EP
(Enterprise-Participant) data model suggests that if
an entity is dependent on others, it precisely depends
on two other entities. Drawing the terminologies
from the structure of an organization or a party, one
depended entity was called enterprise (such as
organization and party), the other called participant
(such as employee and party participant), and the
dependent entity called participation. An enterprise
consists of multiple participations. Determined by its
enterprise and its participant, a participation yields a
value, and this value in turn is another enterprise.
The EP data model is the core of Froglingo. It
establishes the entire semantic space for practical
software applications. Variable is a way of using
finite expressions for the (infinite) semantics
established in the EP data model. It is intended to be
a supplement semantically to the EP data model
although it unfortunately brings non-termination
processes into Froglingo (Xu et al., 2010).
2.1 EP Data Model
The core concepts are terms, assignment, database,
normal form, and reduction.
A term is a constant, an identifier, or a pair of
parenthesized terms, i.e.,
• If T is a constant, then T is a term,
• If T is an identifier, then T is a term,
• If T1 and T2 are terms, then (T1 T2) is a
term.
Integers, real numbers, timestamps, and strings are
constants. In addition, files, as long as not
embedding Froglingo expressions, are also
constants. For example,
3.14, ‘5/2/2009’,
“any strings”, and a file content at operating
system level are all constants. Identifiers are the
tokens to represent high-order functions. The
examples are an_id, salary, Mike, and
www.aclient.com.
A term is used to express data, to embed
relationships between data, and to serve as a name in
data communications. The examples are 3.14,
Mike, (Mike Salary), ((country state)
county), and (tax (Mike salary)).
When a term consists of an ordered pair of two
other terms, it is called a combinatory term,
abbreviated as comb-term. The first term of a comb-
term is called the left-term; and the second term the
right-term. For example, the comb-term (Mike
salary) has Mike as the left-term and salary
as the right-term.
If the right-term of a comb-term is not another
comb-term, the parentheses surrounding the term
don't have to be written. For example, ((country
state) county) is equivalent to (country
state county); and ((a b) (c d)) is
equivalent to (a b (c d)).
A term can be assigned with a value. An
assignment is a state that a term takes another term
as its value. For example, (Mike salary) =
2000, 2 = 3, and a = b. Given an assignment,
the term at the left side of the symbol ‘=’ is the
assignee; and the term at the right side the assigner
(also called value).
A database is a finite set of terms and
assignments. To make a database meaningful, the
terms and the assignments in a database must satisfy
the following conditions:
• A constant cannot be an assignee, and cannot be
a left-term,
• The right-term of a comb-term appeared in an
assignee must not have an assigner; and
ENASE 2010 - International Conference on Evaluation of Novel Approaches to Software Engineering
248