Relational Program Architecture for High Quality Software Development