Software rearchitecting is the process of obtaining a documented architecture for an existing undocumented system. There are many software rearchitecting frameworks which are based upon different concepts and context-related issues for a specific application or programming language, such as Rigi, Ciao, SPOOL, and Symphony. These rearchitecting frameworks were compared and analyzed, in this work, using generic architecture characteristics. Based on this comparison, a new model for rearchitecting frameworks is proposed. As an implementation, a new framework was built according to the model standards. This is 'Software Rearchitecting Action Framework' (SRAF). Then an automated Java tool, Rearchitecting Tool Support (RTS), is designed to validate the framework. In this book we propose an discuss the SRAF and RTS which we argue it will assist the architect in deciding which kind of architectural style is the best to describe the system, and hence, to enhance it. Hence, they provide good methodology for obtaining a suitable level of documentation of the undocumented open source object-oriented software.