Open Logic Theory Composition in a Software Engineering Perspective