  Even though modularity has been studied extensively in conventional logic
programming, there are few approaches on how to incorporate modularity into
Answer Set Programming, a prominent rule-based declarative programming
paradigm. A major approach is Oikarinnen and Janhunen's Gaifman-Shapiro-style
architecture of program modules, which provides the composition of program
modules. Their module theorem properly strengthens Lifschitz and Turner's
splitting set theorem for normal logic programs. However, this approach is
limited by module conditions that are imposed in order to ensure the
compatibility of their module system with the stable model semantics, namely
forcing output signatures of composing modules to be disjoint and disallowing
positive cyclic dependencies between different modules. These conditions turn
out to be too restrictive in practice and in this paper we discuss alternative
ways of lift both restrictions independently, effectively solving the first,
widening the applicability of this framework and the scope of the module
theorem.
