Abstract
The main purpose of genericity in high lever programming language is to increase efficiency of software development and the safety and reusability of software. Genericity is the useful tool to implement generative software development and MDA. However, few modelling language has genericity mechanism and the mechanisms in typical programming language, say C++, Java, etc., is not sufficiently and is not ease to use. The situation in PAR platform is quite different. PAR platform supports Model Driven Software Engineering (MDE) and consists of algorithm modelling language Radl, abstract program modelling language Apla, a set of rules for the model transformation and a set of automatic transformation tools of algorithm model and program model. One of the distinct features of the PAR platform is the agile genericity mechanisms. In PAR not only a value, a data type and a computing-action (including operator, method, function and procedure, etc.) can be generic parameter, an ADT can be generic parameter also. We present new concepts, say type region, action region and ADT region, which can increase the safety of generic software obviously. The paper will pay special attention to describe the syntax and semantics of the ADT parameter. The case study describes the method to develop generic program with ADT as parameter.
This research was supported by the National Natural Science Foundation of China under Grant No. 61020106009, 61272075, 61472167.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Gregor, D., Jarvi, J., Siek, J.G., Stroustrup, B., Reis, G.D., Lumsdaine, A.: Concepts: linguistic support for generic programming in C ++. In: Proceedings of the ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA 2006), pp. 291–310. ACM Press, New York (2006)
Liveira, B.C.D.S., Gibbons, J.: Scala for generic programmers: Comparing Haskell and Scala support for generic programming. J. Funct. Program. 20(3–4), 303–352 (2010)
Oliveira, B.C.D.S., Schrijvers, T., Choi, W., Lee, W., Yi, K.: The implicit calculus: a new foundation for generic programming. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2012), pp. 35–44. ACM Press, New York (2012)
Siek, J.G., Lumsdaine, A.: A language for generic programming in the large. Sci. Comput. Program. 76(5), 423–465 (2011)
David, V., Haveraaen, M.: Concepts as syntactic sugar. In: Proceedings of Ninth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2009), pp. 147–156. IEEE Computer Society Press, California (2009)
Sutton, A., Maletic, J.I.: Emulating C++ 0x concepts. Sci. Comput. Program. 78(9), 1449–1469 (2013)
Gibbons, J., Paterson, R.: Parametric datatype-genericity. In: Proceedings of the the 2009 ACM SIGPLAN Workshop on Generic Programming (WGP 2009), pp. 85–93. ACM Press, New York (2009)
Chen, L., Xu, B.W., Qian, J., Zhou, T.L., Zhou, Y.M.: Refactoring generic instantiations based on type propagation analysis. J. Softw. 20(10), 2617–2627 (2009). (in Chinese with English abstract)
Chen, L.: Research on refactoring of generic program. Ph.D. thesis. Southeast University, Nanjing (2009) (in Chinese with English abstract)
Gregor, D., Jarvi, J., Kulkarni, M., Lumsdaine, A., Musser, D., Schupp, S.: Generic programming and high-performance libraries. Int. J. Parallel Prog. 33(2–3), 145–164 (2005). doi:10.1007/s10766-005-3580-8
Jarvi, J., Gregor, D., Willcock, J., Lumsdaine, A., Siek, J.G.: Algorithm specialization in generic programming: challenges of constrained generics in C++. In: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006), pp. 272–282. ACM Press, New York (2006)
Hinze, R., Loh, A.: Generic programming in 3D. Sci. Comput. Program. 74(8), 590–628 (2009)
Xue, J.Y.: Formal derivation of a generic algorithmic program for solving general path problems. In: Proceedings of the 3rd ASCM, pp. 253–258, August 1988
Xue, J.Y.: Two new strategies for developing loop invariants and their applications. J. Comput. Sci Technol. 8(2), 95–102 (1993)
Xue, J.Y.: Formal derivation of graph algorithmic programs using partition-and-recur. J. Comput. Sci. Technol. 13(6), 143–151 (1998)
Xue, J.Y.: A unified approach for developing efficient algorithmic programs. J. Comput. Sci. Technol. 12(4), 103–118 (1997)
Xue, J.Y., Davis, R.: A simple program whose Derivation and Proof Is Also. In: Proceedings of the First IEEE International Conference on Formal Engineering Method (ICFEM 1997). IEEE CS Press, November 1997
Xue, J.Y., Davis, R.: A derivation and proof of Knuth’s binary to decimal program. Softw. Concepts Tools 18, 149–156 (1997)
Xue, J.Y.: Formal derivation of graph algorithmic programs using partition and recur. J. Comput. Sci. Technol. 13(6), 143–151 (1998)
Xue, J.Y.: Developing the generic path algorithmic program and its instantiations using PAR method. In: Proceedings of the Second Asia Workshop on Programming Languages and Systems, Korea (2001)
Xue, J.Y.: PAR method and its supporting platform. In: Proceedings of International Workshop on Formal Method for Developing Software, Annual Report, No. 348, UNU-IIST, Macao (2006)
Wang, C.J., Xue, J.Y.: Formal derivation of a generic algorithmic program for solving a class extremum problems. In: Proceedings of 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing (SNPD 2009), pp. 100–105. IEEE Computer Society Press, California (2009)
Wang, C.J., Xue, J.Y.: Formal Derivation of a High-Trustworthy Generic Algorithmic Program for Solving a Class of Path Problems. In: Deng, X., Hopcroft, J.E., Xue, J. (eds.) FAW 2009. LNCS, vol. 5598, pp. 27–39. Springer, Heidelberg (2009)
Xu, W.S., Xue, J.Y.: Research on java-based implementation of generic programming paradigm. Technique Report of Jiangxi Normal University (2003)
Unifying Theories od Generic Progrmming (2015). http://cs.ox.ac.uk/projects/utgp/
Ross, K.A., Wright, C.R.B.: Discrete Mathematics. Prentice- Hall Inc., New Jersey (1985)
Acknowledgments
Thanks to Xu Wensheng, Zoo Zenkang, Zheng Yujun, Shi Haihe, Wang CJ, Hu Qimin, Yue Zen and Xie Wuping who attended the previous work of the project when they studied in JXNU.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Xue, J. (2016). Genericity in PAR Platform. In: Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2015. Lecture Notes in Computer Science(), vol 9559. Springer, Cham. https://doi.org/10.1007/978-3-319-31220-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-31220-0_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-31219-4
Online ISBN: 978-3-319-31220-0
eBook Packages: Computer ScienceComputer Science (R0)