×

zbMATH — the first resource for mathematics

Event-based functional decomposition. (English) Zbl 1435.68062
Summary: Functional decomposition is the process of resolving a functional relationship into its constituent parts in such a way that the original function can be recomposed from those parts by functional composition. Perfect decomposition requires the obtained constituent parts to be non-interacting components and easier to conceive, understand, program, and maintain. However, how to decompose a complex system and ensure the correctness of such a decomposition approach usually relies on some informal principles. In this paper, we present a new and automatic decomposition approach for functionalities. We first show the correctness of the functional decomposition in terms of weakly termination in theory and then discuss the automation method of the functional decomposition. The approach can automatically decompose a system into independent subsystems which may be independently developed and deployed. Finally, we develop an algorithm. A case study demonstrates these results.
Reviewer: Reviewer (Berlin)
MSC:
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
Software:
LOTOS; Wendy
PDF BibTeX XML Cite
Full Text: DOI
References:
[1] Dijkstra, E. W., A Discipline of Programming (1976), Prentice-Hall · Zbl 0368.68005
[2] Parnas, D. L., On the criteria to be used in decomposing systems into modules, Commun. ACM, 15, 12, 1053-1058 (1972)
[3] Stevens, W. P.; Myers, G. J.; Constantine, L. L., Structured design, IBM Syst. J., 13, 2, 115-139 (1974)
[4] DeMarco, T., Structured Analysis and System Specification (1978), Yourdon: Yourdon New York, NY
[5] Shatnawi, R., A quantitative investigation of the acceptable risk levels of object-oriented metrics in open-source systems, IEEE Trans. Softw. Eng., 36, 2, 216-225 (2010)
[6] Subramanyam, R.; Krishnan, M. S., Empirical analysis of ck metrics for object-oriented design complexity: implications for software defects, IEEE Trans. Softw. Eng., 29, 4, 297-310 (2003)
[7] Henderson-Sellers, B.; Constantine, L. L.; Graham, I. M., Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design), Object Oriented Syst., 3, 143-158 (1996)
[8] Booch, G., Object-Oriented Analysis and Design With Applications, Benjamin/Cummings Series in Object-Oriented Software Engineering (1995), Addison-Wesley
[9] Reade, C., Elements of Functional Programming, International Computer Science Series (1989), Addison-Wesley · Zbl 0714.68006
[10] Liskov, B.; Zilles, S. N., Programming with abstract data types, SIGPLAN Not., 9, 4, 50-59 (1974)
[11] Meyer, B., Applying “design by contract”, IEEE Computer, 25, 10, 40-51 (1992)
[12] Kiczales, G., Aspect-oriented programming, ACM Comput. Surv., 28, 4es, 154 (1996)
[13] Ashbacher, C., “The unified modeling language reference manual, second edition”, by James Rumbaugh, J. Object Technol., 3, 10, 193-195 (2004)
[14] Hildebrandt, T. T.; Mukkamala, R. R.; Slaats, T., Safe distribution of declarative processes, (Software Engineering and Formal Methods - Proceedings of the 9th International Conference. Software Engineering and Formal Methods - Proceedings of the 9th International Conference, SEFM 2011, Montevideo, Uruguay, November 14-18, 2011 (2011)), 237-252
[15] Hildebrandt, T. T.; Mukkamala, R. R.; Slaats, T.; Zanitti, F., Contracts for cross-organizational workflows as timed dynamic condition response graphs, J. Log. Algebraic Program., 82, 5-7, 164-185 (2013) · Zbl 1283.68245
[16] Castellani, I.; Mukund, M.; Thiagarajan, P. S., Synthesizing distributed transition systems from global specification, (Foundations of Software Technology and Theoretical Computer Science, Proceedings of the 19th Conference. Foundations of Software Technology and Theoretical Computer Science, Proceedings of the 19th Conference, Chennai, India, December 13-15, 1999 (1999)), 219-231 · Zbl 0956.68008
[17] Schroeter, J.; Mucha, P.; Muth, M.; Jugel, K.; Lochau, M., Dynamic configuration management of cloud-based applications, (16th International Software Product Line Conference, vol. 2. 16th International Software Product Line Conference, vol. 2, SPLC ’12, Salvador, Brazil - September 2-7, 2012 (2012)), 171-178
[18] Schroeter, J.; Cech, S.; Götz, S.; Wilke, C.; Aßmann, U., Towards modeling a variable architecture for multi-tenant SaaS-applications, (Proceedings of the Sixth International Workshop on Variability Modelling of Software-Intensive Systems. Proceedings of the Sixth International Workshop on Variability Modelling of Software-Intensive Systems, Leipzig, Germany, January 25-27, 2012 (2012)), 111-120
[19] Mietzner, R.; Metzger, A.; Leymann, F.; Pohl, K., Variability modeling to support customization and deployment of multi-tenant-aware software as a service applications, (International ICSE Workshop on Principles of Engineering Service-Oriented Systems. International ICSE Workshop on Principles of Engineering Service-Oriented Systems, PESOS 2009, 18-19 May 2009, Vancouver, BC, Canada (2009)), 18-25
[20] Dietz, J. L.G., Enterprise Ontology - Theory and Methodology (2006), Springer
[21] Nielsen, M.; Rozenberg, G.; Thiagarajan, P. S., Elementary transition systems, Theor. Comput. Sci., 96, 1, 3-33 (1992) · Zbl 0759.68022
[22] Maréchal, O.; Poizat, P.; Royer, J.-C., Checking asynchronously communicating components using symbolic transition systems, (On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE, Lecture Notes in Computer Science, vol. 3291 (2004), Springer), 1502-1519
[23] Milner, R.; Parrow, J.; Walker, D., A calculus of mobile processes, Inf. Comput., 100, 1, 1-40 (1992) · Zbl 0752.68036
[24] Bolognesi, T.; Brinksma, E., Introduction to the ISO specification language LOTOS, Special Issue: Protocol Specification and Testing. Special Issue: Protocol Specification and Testing, Comput. Netw. ISDN Syst., 14, 1, 25-59 (1987)
[25] Hoare, T., Communicating sequential processes, Commun. ACM, 21, 8, 666-677 (1978) · Zbl 0383.68028
[26] Milner, R., A Calculus of Communicating Systems (1982), Springer-Verlag: Springer-Verlag New York, NY
[27] Agerwala, T.; Flynn, M., Comments on capabilities, limitations and correctness of Petri nets, Comput. Archit. News, 2, 4, 81-86 (1973)
[28] Murata, T., Petri nets: properties, analysis, and applications, Proc. IEEE, 77, 4, 541-580 (1989)
[29] Winskel, G.; Nielsen, M., Models for Concurrency, Handbook of Logic in Computer Science, Semantic Modelling, vol. 4 (1995), Oxford Science Publications: Oxford Science Publications Oxford
[30] van Glabbeek, R. J.; Plotkin, G. D., Configuration structures, (Proceedings of the 10th Annual IEEE Symposium on Logics in Computer Science. Proceedings of the 10th Annual IEEE Symposium on Logics in Computer Science, LICS ’95 (1995), IEEE), 199-209
[31] Luckham, D. C.; Vera, J.; Bryan, D.; Augustin, L.; Belz, F.; Augustin, L. M., Partial orderings of event sets and their application to prototyping concurrent, timed systems, J. Syst. Softw., 21, 3, 253-265 (1993)
[32] Hildebrandt, T. T.; Mukkamala, R. R., Declarative event-based workflow as distributed dynamic condition response graphs, (Proceedings Third Workshop on Programming Language Approaches to Concurrency and Communication-Centric Software. Proceedings Third Workshop on Programming Language Approaches to Concurrency and Communication-Centric Software, PLACES 2010, Paphos, Cyprus, 21st March 2010 (2010)), 59-73
[33] van Glabbeek, R. J.; Plotkin, G. D., Configuration structures, event structures and Petri nets, Theor. Comput. Sci., 410, 41, 4111-4159 (2009)
[34] Jiang, J.; Zhang, S.; Gong, P.; Hong, Z., Configuring business process models, ACM SIGSOFT Softw. Eng. Notes, 38, 4, 1-10 (2013)
[35] Jiang, J.; Zhang, S.; Gong, P.; Hong, Z., Message dependency-based adaptation of services, (Proceedings of the 2011 IEEE Asia-Pacific Services Computing Conference (2011), IEEE), 442-449
[36] Jiang, J.; Zhang, S.; Gong, P.; Hong, Z.; Yue, H., Modeling and analyzing mixed communications in service-oriented trustworthy software, Sci. China Inf. Sci., 55, 12, 2738-2756 (2012)
[37] Lanese, I.; Bedogni, L.; Felice, M. D., Internet of things: a process calculus approach, (Proceedings of the 28th Symposium On Applied Computing (2013), ACM), 1339-1346
[38] van der Aalst, W. M.P., Business process configuration in the cloud: how to support and analyze multi-tenant processes?, (9th IEEE European Conference on Web Services. 9th IEEE European Conference on Web Services, ECOWS 2011, Lugano, Switzerland, September 14-16, 2011 (2011)), 3-10
[39] Jiang, J.-M.; Zhu, H.; Li, Q.; Zhao, Y.; Zhao, L.; Zhang, S.; Gong, P.; Hong, Z., Analyzing event-based scheduling in concurrent reactive systems, ACM Trans. Embed. Comput. Syst., 14, 4, 86 (2015)
[40] Jiang, J.; Zhu, H.; Li, Q.; Zhang, S.; Gong, P.; Hong, Z., Configuration of services based on virtualization, (Proceedings of the 8th Theoretical Aspects of Software Engineering Conference (2014), IEEE), 177-184
[41] Arbach, Y.; Peters, K.; Nestmann, U., Adding priority to event structures, (Proceedings Combined 20th International Workshop on Expressiveness in Concurrency and 10th Workshop on Structural Operational Semantics. Proceedings Combined 20th International Workshop on Expressiveness in Concurrency and 10th Workshop on Structural Operational Semantics, EXPRESS/SOS 2013, Buenos Aires, Argentina, 26th August, 2013 (2013)), 17-31
[42] Gupta, V., Concurrent Kripke structures, (Proceedings of the North American Process Algebra Workshop 1993 (Jan. 2005)), Cornell CS-TR-93-1369
[43] Hildebrandt, T. T., Categorical Models for Concurrency: Independence, Fairness and Dataflow, BRICS Dissertation Series DS-00-1 (2000), Aarhus University, Tech. rep., PhD thesis
[44] Bednarczyk, M. A., Categories of Asynchronous Systems (1987), University of Sussex: University of Sussex Sussex, UK, UK, aAIDX83002
[45] Cattani, G. L.; Sassone, V., Higher dimensional transition systems, (Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science. Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science, New Brunswick, New Jersey, USA, July 27-30, 1996 (1996)), 55-62
[46] Goubault, E., Domains of higher-dimensional automata, (CONCUR ’93, Proceedings of the 4th International Conference on Concurrency Theory. CONCUR ’93, Proceedings of the 4th International Conference on Concurrency Theory, Hildesheim, Germany, August 23-26, 1993 (1993)), 293-307
[47] Shields, M. W., Concurrent machines, Comput. J., 28, 5, 449-465 (1985)
[48] Tarr, P. L.; Ossher, H.; Harrison, W. H.; Jr., S. M.S., N degrees of separation: multi-dimensional separation of concerns, (Proceedings of the 1999 International Conference on Software Engineering. Proceedings of the 1999 International Conference on Software Engineering, ICSE’ 99, Los Angeles, CA, USA, May 16-22, 1999 (1999)), 107-119
[49] van der Aalst, W. M.P.; Dumas, M.; Gottschalk, F.; ter Hofstede, A. H.M.; Rosa, M. L.; Mendling, J., Preserving correctness during business process model configuration, Form. Asp. Comput., 22, 3-4, 459-482 (2010)
[50] van der Aalst, W. M.P.; Dumas, M.; Gottschalk, F.; ter Hofstede, A. H.M.; Rosa, M. L.; Mendling, J., Correctness-preserving configuration of business process models, (Fundamental Approaches to Software Engineering, Proceedings of the 11th International Conference, FASE 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software. Fundamental Approaches to Software Engineering, Proceedings of the 11th International Conference, FASE 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008 (2008)), 46-61
[51] Wolf, K., Does my service have partners?, (Trans. Petri Nets and Other Models of Concurrency, vol. 2 (2009)), 152-171
[52] Lohmann, N.; Weinberg Wendy, D., A tool to synthesize partners for services, Fundam. Inform., 113, 3-4, 295-311 (2011)
[53] Gößler, G.; Sifakis, J., Composition for component-based modeling, Sci. Comput. Program., 55, 1-3, 161-183 (2005)
[54] Erl, T., SOA: Principles of Service Design (2007), Prentice Hall Press: Prentice Hall Press Upper Saddle River, NJ, USA
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.