Blocks Correctness Evaluation Methodology for Block-Based Software Development

Abdullah Mohd Zin, Mustafa Almatary, Marini Abu Bakar, Rodziah Latih, Norleyza Jailani


The term “block†in Block-Based Software Development (BBSD) refers to a software component that has the characteristics of reusable, composition, customizable and configurable. Based on the principles of component-based software development and end-user development, the objective of BBSD is to allow non-programmer known as end-user to build a new application by using a set of blocks by creating composite blocks, configuring and customizing for a specific application domain. In the current implementation, a Domain Initiator is responsible for identifying blocks’ specifications, which will be uploaded to the block store repository. Block developers can contribute to developing blocks using the Java programming language. Blocks for a specific domain are bundled as a JAR file. These blocks will be stored in a block store. The block store is a software repository that provides a sharing mechanism for domain driven blocks specification, cataloging, archiving, and distribution. Before the blocks submitted to the block store can be distributed to end-users, they are required to undergo the process of block verification and evaluation to ensure that they conform to the requirement specification. The submitted blocks will also need to be approved by the domain initiator before they are made available to the end users. This paper proposes the block-based evaluation methodology as well as the software tool which helps domain initiator in the process of blocks verification and evaluation. The proposed methodology consists of three types of validation namely Automatic Validation Approach, JSR-303 or JSR-349 standard bean Validation Specification, and the manual testing. The proposed methodology itself was verified through a case study using a list of blocks submitted to the block store repository.


software reuse repository; end user development; block-based software development; component-based software development; component evaluation.

Full Text:



A.M. Zin, “Block-Based Approach for End User Software Developmentâ€. Asian Journal of Information Technology, 10(6), pp. 249–258, 2011.

S. N. H. Mohamad, A. Patel, Y. Tew, R. Latih, and Q. Qassim, “Principles and Dynamics of Block-based Programming Approachâ€, pp. 340–345, 2011. DOI: 10.1109/ISCI.2011.5958938

M. Djasmir, S. Idris, M.A. Bakar, and A.M. Zin, “An Integrated Development Environment for Blocks Creationâ€. Asian Journal of Information Technology, 11(6), pp. 194–200, 2012. DOI: 10.3923/ajit.2012.194.200

S.N. Sarif, S. Idris, and A.M. Zin, “The Design of Blocks Integration Tool to Support End-User Programmingâ€. In 2011 International Conference on Electrical Engineering and Informatics. pp. 1-5, 2011. DOI: 10.1109/ICEEI.2011.6021657

T. Vale, I. Crnkovic, E.S.d. Almeida, P. A. da M. S. Neto, Y. C. Cavalcanti, S.R.d.L. Meira, “Twenty-eight years of component-based software engineeringâ€, The Journal of Systems and Software, vol.111, pp.128–14, 2016.

I. Crnkovic, M. Chaudron, and S. Larsson, “Component-Based Development Process and Component Lifecycleâ€. In International Conference on Software Engineering Advances, pp. 44–44, 2006. DOI: 10.1109/ICSEA.2006.261300

A. Alvaro, R. Land, and I. Crnkovic, “Software Component Evaluation: A Theoretical Study on Component Selection and Certificationâ€. MRTC report. Mälardalen Real-Time Research Centre, Mälardalen University, 2007. ISRN: MDH-MRTC-217/2007-1-SE

A.P. Singh, and P. Tomar, “Rule-based fuzzy model for reusability measurement of a software componentâ€. International Journal of Computer Aided Engineering and Technology, 9(4), 2017. DOI: 10.1504/IJCAET.2017.086932

M. Tahir, F. Khan, M. Babar, F. Arif, and S. Khan, “Framework for Better Reusability in Component Based Software Engineeringâ€. Journal of Applied Environmental and Biological Sciences, 6(4S), pp. 77-81, 2016.

F. Brosig, P. Meier, S. Becker, A. Koziolek, H. Koziolek and S. Kounev, "Quantitative Evaluation of Model-Driven Performance Analysis and Simulation of Component-Based Architectures," IEEE Transactions on Software Engineering, vol. 41(2), pp.157-175, 2015. DOI: 10.1109/TSE.2014.2362755

de AG Saraiva, J., De França, M. S., Soares, S. C., Fernando Filho, J. C. L., & de Souza, R. M., “Classifying metrics for assessing object-oriented software maintainability: A family of metrics’ catalogsâ€. Journal of Systems and Software, 103, pp. 85-101, 2015.

A. Tiwari and P. S. Chakraborty, "Software Component Quality Characteristics Model for Component Based Software Engineering," 2015 IEEE International Conference on Computational Intelligence & Communication Technology, pp. 47-51, 2015. DOI: 10.1109/CICT.2015.40

de Siqueira J.L., Silveira F.F., Guerra E.M., “An Approach for Code Annotation Validation with Metadata Location Transparencyâ€. In: Gervasi O. et al. (eds) Computational Science and Its Applications -- ICCSA 2016. Lecture Notes in Computer Science, Springer, Cham, 2016, vol. 9789.

M. Sulír and M. Nosál', "Sharing developers' mental models through source code annotations," 2015 Federated Conference on Computer Science and Information Systems (FedCSIS), pp. 997-1006, 2015.

doi: 10.15439/2015F301

Donthala, Arjun Mitra Reddy, "Design of a JMLdoclet for JMLdoc in OpenJML". Electronic Theses and Dissertations. 5132, 2016

Retrieved from

M. Almatary, M.A. Bakar, and A.M. Zin, “Block Identification Methodology: Case Study on Business Domainâ€. Journal of Theoretical and Applied Information Technology, 60(1), pp.47–54, 2014.

M. Almatary, M.A. Bakar, and A.M. Zin, “The Block Store of Block-Based Programming Approachâ€. Journal of Theoretical & Applied Information Technology, 60(2), pp. 237–244, 2014.



  • There are currently no refbacks.

Published by INSIGHT - Indonesian Society for Knowledge and Human Development