3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 33 Vol. 9 N.º 1 Marzo - Junio
65
http://doi.org/10.17993/3ctecno/2020.v9n1e33.61-77
2.2. HIGH LEVEL OF ABSTRACTION
XPCE’s graphical layer provides a high abstraction level, hiding details on event-handling, redraw-
management and layout management from the application programmer, while still providing access to
the primitives to deal with exceptional cases.
2.3. EXPLOIT RAPID PROLOG DEVELOPMENT CYCLE
Your XPCE classes are dened in Prolog and the methods run naturally in Prolog. This implies you can
easily cross the border between your application and the GUI-code inside the tracer. It also implies you
can modify source-code and recompile while your application is running.
2.4. PLATFORM INDEPENDENT PROGRAMS
XPCE/Prolog code is fully platform-independent, making it feasible to develop on your platform of
choice and deliver on the platform of choice of your users. As SWI-Prolog saved-states are machine-
independent, applications can be delivered as a saved-state. Such states can be executed transparently
using the development-environment to facilitate debugging or the runtime emulator for better speed and
space-eciency (Merrit, 1989).
2.5. POSTGRESQL
PostgreSQL, often simply Postgres, is an object-relational database management system (ORDBMS) with
an emphasis on extensibility and standards compliance. As a database server, its primary functions are to
store data securely and return that data in response to requests from other software applications. It can
handle workloads ranging from small single-machine applications to large Internet-facing applications
(or for data warehousing) with many concurrent users; on macOS Server, PostgreSQL is the default
database; (Wierse, Grinstein, & Lang, 1996; Shoham, 2014; Bench-Capon, 1990) and it is also available
for Microsoft Windows and Linux (supplied in most distributions).