Composing models for detecting inconsistencies: A requirements engineering perspective