As software systems evolve, they become increasingly complex, unless steps are taken to address this complexity. Software decomposition is a process of separating a monolithic software system into an architecture which exhibits high cohesion, and low coupling. One such architecture is the Service Oriented Architecture (SOA).; This thesis describes a result-driven process for decomposing a, monolithic software system into a set of SOA services. We describe the Relationship Modelling Framework (RMF) architecture for generating a semantic model of a software system. We introduce the notion of graph slicing, and use this notion with a semantic model of a software system to support the decomposition process. We validate our architecture and methodologies through two experiments, using a large production software system developed by IBM. |