Abstract
In this paper we present the main concepts of a domain-specific aspect language for specifying cross-cutting concerns of MATLAB programs, together with a suite of metrics that is capable of assessing the overall advantage of introducing aspects in the development cycle of MATLAB software. We present the results of using our own suite to quantify the advantages of using aspect oriented programming, both in terms of programming effort and code quality. The results are promising and show a good potential for aspect oriented programming in MATLAB while our suite proves to be capable of analyzing the overall characteristics of MATLAB solutions and providing interesting results about them.
This work is funded by the ERDF through the Programme COMPETE and by the Portuguese Government through FCT - Foundation for Science and Technology, projects ref. PTDC/EIA/70271/2006 and PTDC/EIA-CCO/108995/2008. The first and third authors were also supported by FCT grants BI3-2011/PTDC/EIA/70271/2006 and SFRH/BPD/46987/2008, respectively.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
MATLAB: version 7.10.0 (R2010a). The MathWorks Inc., Natick, Massachusetts (2010)
MathWorks: Front page, http://www.mathworks.com (accessed in February 2012)
Halstead, M.H.: Elements of Software Science. Operating and programming systems series. Elsevier Science Inc., New York (1977)
Aslam, T., Doherty, J., Dubrau, A., Hendren, L.: Aspectmatlab: an aspect-oriented scientific programming language. In: Proceedings of the 9th International Conference on Aspect-Oriented Software Development (AOSD), pp. 181–192. ACM, New York (2010)
MathWorks: R2012a documentation - fixed-point toolbox, http://www.mathworks.com/help/toolbox/fixedpoint/ref/quantizer.html (accessed in February 2012)
Cardoso, J., Fernandes, J., Monteiro, M.: Adding aspect-oriented features to matlab. In: Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT! 2006) (2006)
Cardoso, J., Diniz, P., Monteiro, M.P., Fernandes, J.M., Saraiva, J.: A domainspecific aspect language for transforming MATLAB programs. In: Fifth Workshop on Domain-Specific Aspect Languages (DSAL) (March 2010)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Peckhan, J., Lloyd, S.J.: Practicing Software Engineering in 21st century. IRM Press (2003)
Lopes, C.V.: D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University (1997)
Sant’anna, C., Garcia, A., Chavez, C., Lucena, C., v. von Staa, A.: On the reuse and maintenance of aspect-oriented software: An assessment framework. In: Proceedings XVII Brazilian Symposium on Software Engineering (SBES) (2003)
Nobre, R., Cardoso, J.M.P., Diniz, P.C.: Leveraging type knowledge for efficient matlab to c translation. In: 15th Workshop on Compilers for Parallel Computing (CPC) (2010)
MathWorks: Matlab central - file exchange, http://www.mathworks.com/matlabcentral/fileexchange (accessed in February 2012)
Devouassoux, J., Reynaud, S., Jonniaux, G., Ribeiro, R.A., Pais, T.C.: Hazard avoidance developments for planetary exploration. In: 7th International ESA Conference on Guidance, Navigation and Control Systems (2008)
Reynaud, S., Drieux, M., Bourdarias, C., Philippe, C., Pham, B.v., Astrium Space Transportation: Science driven autonomous navigation for safe planetary pin-point landing 1. Context, 1–10 (2009)
Pais, T., Ribeiro, R.A.: Contributions to dynamic multicriteria decision making models. In: Proceedings of the International Fuzzy Systems Association World Congress and European Society for Fuzzy logic and technology Conference (IFSA-EUSFLAT), pp. 719–724 (2009)
Parr, T.: The Definitive ANTLR Reference: Building Domain-Specific Languages, 1st edn. Pragmatic Programmers. Pragmatic Bookshelf (2007)
Visser, J., Saraiva, J.: Tutorial on strategic programming across programming paradigms. In: 8th Brazilian Symposium on Programming Languages, SBLP (2004)
Balland, E., Moreau, P.E., Reilles, A.: Rewriting strategies in java. Electron. Notes Theor. Comput. Sci. 219, 97–111 (2008)
Visser, E.: Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Strategoxt-0.9. In: Lengauer, C., Batory, D., Blum, A., Vetta, A. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)
Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking Rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)
Knuth, D.E.: Semantics of Context-free Languages. Mathematical Systems Theory 2(2), 127–145 (1968); Correction: Mathematical Systems Theory 5(1), 95–96 (March 1971)
Saraiva, J., Swierstra, D.: Generating Spreadsheet-Like Tools from Strong Attribute Grammars. In: Pfenning, F., Smaradakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 307–323. Springer, Heidelberg (2003)
Kuiper, M., Saraiva, J.: Lrc - A Generator for Incremental Language-Oriented Tools. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 298–301. Springer, Heidelberg (1998)
Fernandes, J.P., Pardo, A., Saraiva, J.: A shortcut fusion rule for circular program calculation. In: ACM SIGPLAN Haskell Workshop, Haskell 2007, pp. 95–106. ACM, New York (2007)
Pardo, A., Fernandes, J.P., Saraiva, J.: Shortcut fusion rules for the derivation of circular and higher-order programs. In: Higher-Order and Symbolic Computation, pp. 1–35. Springer (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martins, P., Lopes, P., Fernandes, J.P., Saraiva, J., Cardoso, J.M.P. (2012). Program and Aspect Metrics for MATLAB . In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2012. ICCSA 2012. Lecture Notes in Computer Science, vol 7336. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31128-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-31128-4_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31127-7
Online ISBN: 978-3-642-31128-4
eBook Packages: Computer ScienceComputer Science (R0)