Source: https://www.cin.ufpe.br/~phmb/papers/MethodForDistributedApplicationsSBES2001.pdf