Text this: An approach to reusable software for mobile robot applications through analysis patterns