Abstract
OMG’s SPEM standard allows for a detailed modeling of software development processes and methods, but only a rather coarse description of their behavior. This gap can be filled by extending SPEM with a fine-grained behavior modeling concept based on UML activities and state machines. In order to gain full benefit from detailed software process models including behavior, an automated enactment of these software process models is required.
In theory, the operational semantics of UML activities as defined by OMG’s FUML (Semantics of a Foundational Subset for Executable UML Models) could be used to instantiate and sequentially simulate software process models on a single computer. However, FUML is insufficient to execute software process models to drive realistic projects with large and geographically spread teams. FUML lacks support for distributed execution in order to guide and support team members with their concurrent activities. FUML also does not fulfill key requirements of software processes, in particular requests for human interaction. Additionally, FUML requires explicit modeling of auxiliary user specific attributes and behavior of model elements, which is a cumbersome, repetitive and error-prone task and leads to non-reusable standard software process models.
We present the required FUML extensions to support distributed execution, human interaction, and to weave in user specific extensions of the execution machine. With these FUML extensions it becomes feasible to enact reusable standard software process models in realistic projects.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Osterweil, L.J.: Software processes are software too. In: Proc. 9th Intl. Conf. on Softw. Eng., Monterey, CA, pp. 2–13 (April 1987)
Zamli, K., Lee, P.: Taxonomy of Process Modeling Languages. In: Proc. ACS/IEEE Intl. Conf. on Computer Sys. and Appl., Beirut, Lebanon, 435–437 (June 2001)
Acuña, S.T., Ferré, X.: Software Process Modelling. In: Proc. World Multiconf. on Systemics, Cybernetics and Informatics, Orlando, FL, pp. 237–242 (July 2001)
Bendraou, R., Jezequel, J.M., Gervais, M.P., Blanc, X.: A Comparison of Six UML-Based Languages for Software Process Modeling. IEEE Trans. Softw. Eng. 36, 662–675 (2010)
ISO/IEC: ISO/IEC 24744:2007 – Software Engineering – Metamodel for Development Methodologies (February 2007)
Object Management Group: Software & Systems Process Engineering Meta-Model Specification v2.0 (April 2008)
Object Management Group: UML: Infrastructure v2.2 (February 2009)
Almeida da Silva, M.A., Bendraou, R., Blanc, X., Gervais, M.-P.: Early Deviation Detection in Modeling Activities of MDE Processes. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6395, pp. 303–317. Springer, Heidelberg (2010)
Bendraou, R., Jezéquél, J.M., Fleurey, F.: Achieving process modeling and execution through the combination of aspect and model-driven engineering approaches. J. of Softw. Maintenance and Evolution: Research & Practice (2010) (preprint) n/a
Ellner, R., Al-Hilank, S., Drexler, J., Jung, M., Kips, D., Philippsen, M.: eSPEM – A SPEM Extension for Enactable Behavior Modeling. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 116–131. Springer, Heidelberg (2010)
Object Management Group: UML: Superstructure v2.2 (February 2009)
Object Management Group: Semantics of a Foundational Subset for Executable UML Models v1.0 Beta 3 (March 2010)
Gruhn, V.: Process Centered Software Engineering Environments – A Brief History and Future Challenges. Annals of Softw. Eng. 14(1-4), 363–382 (2002)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
Jensen, K.: Coloured Petri nets. Springer, Heidelberg (1995)
Benyahia, A., Cuccuru, A., Taha, S., Terrier, F., Boulanger, F., Gérard, S.: Extending the Standard Execution Model of UML for Real-Time Systems. In: Hinchey, M., Kleinjohann, B., Kleinjohann, L., Lindsay, P.A., Rammig, F.J., Timmis, J., Wolf, M. (eds.) DIPES 2010. IFIP Advances in Information and Communication Technology, vol. 329, pp. 43–54. Springer, Heidelberg (2010)
Eclipse Foundation: Connected Data Objects (CDO) Model Repository, http://www.eclipse.org/cdo/
Eclipse Foundation: Eclipse Modeling Framework (EMF), http://www.eclipse.org/modeling/emf/
Bendraou, R., Sadovykh, A., Gervais, M.P., Blanc, X.: Software Process Modeling and Execution: The UML4SPM to WS-BPEL Approach. In: Proc. 33rd EUROMICRO Conf. on Softw. Eng. and Adv. Appl., Lübeck, Germany, pp. 314–321 (August 2007)
Atkinson, C., Kühne, T.: Processes and products in a multi-level metamodeling architecture. Intl. J. Softw. Eng. and Knowledge Eng. 11(6), 761–783 (2001)
Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 19–33. Springer, Heidelberg (2001)
Schwaber, K.: Agile Project Management with Scrum. Microsoft Press, Redmond (2004)
Object Management Group: Business Process Modeling Notation v1.2 (January 2009)
OASIS: Web Services Business Process Execution Language v2.0 (April 2007)
Active Endpoints Inc., Adobe Systems Inc., BEA Systems Inc., IBM Corp., Oracle Inc., and SAP AG: WS-BPEL Extension for People (BPEL4People), v1.0 (June 2007)
Bendraou, R., Combemale, B., Crégut, X., Gervais, M.P.: Definition of an Executable SPEM 2.0. In: Proc. 14th Asia-Pacific Softw. Eng. Conf., Nagoya, Japan, pp. 390–397 (December 2007)
Seidita, V., Cossentino, M., Gaglio, S.: Using and Extending the SPEM Specifications to Represent Agent Oriented Methodologies. In: Proc. 9th Intl. Workshop Agent-Oriented Softw. Eng., Estoril, Portugal, pp. 46–59 (May 2008)
Henderson-Sellers, B., Giorgini, P.: Agent-Oriented Methodologies. Idea Group, USA (2005)
Bendraou, R., Gervais, M.P., Blanc, X.: UML4SPM: A UML2.0-Based Metamodel for Software Process Modelling. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 17–38. Springer, Heidelberg (2005)
Bendraou, R., Jezéquél, J.M., Fleurey, F.: Combining Aspect and Model-Driven Engineering Approaches for Software Process Modeling and Execution. In: Wang, Q., Garousi, V., Madachy, R., Pfahl, D. (eds.) ICSP 2009. LNCS, vol. 5543, pp. 148–160. Springer, Heidelberg (2009)
Muller, P.A., Fleurey, F., Jezéquél, J.M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)
Di Nitto, E., Lavazza, L., Schiavoni, M., Tracanella, E., Trombetta, M.: Deriving executable process descriptions from UML. In: Proc. 24th Intl. Conf. on Softw. Eng., Orlando, FL, pp. 155–165 (May 2002)
Chou, S.C.: A Process Modeling Language Consisting of High Level UML-based Diagrams and Low Level Process Language. J. of Object Technology 1(4), 137–163 (2002)
Engels, G., Förster, A., Heckel, R., Thöne, S.: Process Modeling using UML. In: Dumas, M., van der Aalst, W., ter Hofstede, A. (eds.) Process-Aware Information Sys., pp. 85–117. John Wiley & Sons, Chichester (2005)
Jäger, D., Schleicher, A., Westfechtel, B.: Using UML for Software Process Modeling. In: Proc. 7th European Softw. Eng. Conf., Toulouse, France, pp. 91–108 (September 1999)
Odell, J.J.: Power types. J. of Object-Oriented Programming 7(2), 8–12 (1994)
Henderson-Sellers, B., Gonzalez-Perez, C.: The Rationale of Powertype-based Metamodelling to Underpin Software Development Methodologies. In: Proc. 2nd Asia-Pacific Conf. on Conceptual Model., Newcastle, Australia, pp. 7–16 (January 2005)
Kühne, T.: Contrasting classification with generalisation. In: Proc. 6th Asia-Pacific Conf. on Conceptual Model., Wellington, New Zealand, pp. 71–78 (January 2009)
Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)
Gutheil, M., Kennel, B., Atkinson, C.: A systematic approach to connectors in a multi-level modeling environment. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 843–857. Springer, Heidelberg (2008)
Atkinson, C., Gutheil, M., Kennel, B.: A flexible infrastructure for multilevel language engineering. IEEE Trans. Softw. Eng. 35, 742–755 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ellner, R., Al-Hilank, S., Drexler, J., Jung, M., Kips, D., Philippsen, M. (2011). A FUML-Based Distributed Execution Machine for Enacting Software Process Models. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds) Modelling Foundations and Applications. ECMFA 2011. Lecture Notes in Computer Science, vol 6698. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21470-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-21470-7_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21469-1
Online ISBN: 978-3-642-21470-7
eBook Packages: Computer ScienceComputer Science (R0)