Modules and Abstract Data Types as Extension of the EllipSis Language
In current software development, there is an increasing need for code and data abstraction. Modules provide a means for breaking down large systems in smaller pieces that communicate with each other via interconnections that specify abstractions. Abstract Data Tyoes (ADTs) support extends the system's type variety allowing the user to define new types built from existent ones and deal with them in a high level of abstraction. Both features are worth to be introduced in a parallel logic programming environment as the latter seems to be promising. A module system as well as an ADT one proposed for ElipSys, a parallel logic programming language under development, are described in this paper. The module system supports direct interconnections, different level of visibility and worlds. The ADT definition and use. Different instantiation approaches are proposed. Both the module system and the ADT one provide high level of protection.