Describir: Modeling and Analyzing Software Architecture Using Object-Oriented Petri Nets and Pi-Calculus