Why the Standard Methods, 5GL, Common Platforms and Reusable Components Are the Four Pillars of the New Computational Paradigm Programming Without Programmers
Total Page:16
File Type:pdf, Size:1020Kb
INTERNATIONAL JOURNAL OF EDUCATION AND INFORMATION TECHNOLOGIES Volume 13, 2019 Why the standard methods, 5GL, common platforms and reusable components are the four pillars of the new computational paradigm Programming without programmers Ivan Stanev, Maria Koleva The demand for software developers is rapidly increasing. Abstract—Two important problems concerning software According to the U.S. Bureau of Labor Statistics [31], engineering are identified: low efficiency of the software software developer jobs are expected to grow much faster than development process, and lack of programmers. Three key the average - with 24% from 2016 to 2026. The main reasons components with considerable impact on the software development for this tendency are due to: (1) the increasing demand of process, namely the software engineering method, the problem specification language, and the platform used, are identified. Four software products; (2) the insufficient efficiency of widely state of the art reviews are prepared including software engineering used software development methods and tools. methods, problem specification languages, cloud computing This paper presents a solution to these problems by platforms, and related works. This research problem is solved by the introducing the new computational paradigm Programming realization of the Knowledge Based Automated Software Engineering without programmers. The new paradigm is realized through (KBASE) method for generation of enterprise information systems, the Knowledge Based Automated Software Engineering based on 5GL specification languages, common platform for automated programming and a set of intelligent components for (KBASE, [7]) method. generation of new applications from well-defined system and business reusable components in three groups – domain independent, II. STATE OF THE ART domain dependent and problem solving. KBASE concept, KBASE The efficiency of the software development process (SDP) technological process, KBASE specification language, and KBASE platform are described. Key results achieved in the related works are is a function of its three main components: the software detailed. The efficiency of the new computational paradigm is engineering method, the problem specification language, and presented. the platform used. Four state of the art reviews are prepared including: Keywords—architecture-based, knowledge based automated Software Engineering (SE) methods, problem specification software engineering, ontology, business architecture; software languages, cloud computing platforms, and KBASE related architecture; infrastructure architecture. works. The Software engineering (SE) methods can be split in I. INTRODUCTION three groups: (1) methods covering only the management HE overall IT spending in 2018 for enterprise information aspects of the SDP, called “shell” methods such as: PRINCE2 Tsystems (data center systems, devices, enterprise software, (Projects IN Controlled Environments [2]); TEMPO (TAXUD and IT services) is projected to 2.2 trillion USD [14]. The Electronic Management of Projects Online); PMBOK (Project enterprise software and IT services markets form 60% of the Management Body of Knowledge [27]); (2) methods partially overall IT spending worldwide. Its average annual growth for covering the management and technological aspects of rapid 2017-2022 is forecasted at 13.8% – the highest expected SDPs (the Agile family of methods [23]); (3) methods growth for this period. At the same time, the development covering to a great extent the management and technological process of Enterprise Information Systems (EIS) is still less effective and more resource consuming than the software aspects of SDPs such as Rational Unified Process (RUP [24]). industry and their clients would require. The main strength of the Shell group is the well-defined project management process. The key weakness of these methods is the lack of standardized technological process. I. Stanev is with the Computer Informatics Department of University of Therefore, these methods are neither efficient nor appropriate Sofia “St. Kliment Ohridski”, Sofia 1000, Bulgaria (phone: +359 2 8161 508, for the SDP automation. e-mail: [email protected]). The key strength of the Agile group is the method simplicity M. Koleva is with the Computer Informatics Department of University of and project management efficiency. The important weakness Sofia “St. Kliment Ohridski”, Sofia 1000, Bulgaria, and the Informatics and Information Technologies Department of University of Ruse “Angel of these methods is the lack of consistent design. This reduces Kanchev”, Ruse 7000, Bulgaria (e-mail: [email protected]). ISSN: 2074-1316 49 INTERNATIONAL JOURNAL OF EDUCATION AND INFORMATION TECHNOLOGIES Volume 13, 2019 to minimum the software reusability and make the methods 5GL are inefficient. inappropriate for developing Enterprise Information Systems The important strength of the Natural Language (EIS). Processing (NLP) group (Bulgarian Language Processor) is The important strength of the RUP group is the well- the effortless use of NL human-machine interfaces for all defined IT technological process. The key weaknesses of these native speakers of this language. The key weaknesses refer to methods are their complexity and the expensive development the low reusability of the specified components, and the lack process. The complexity of the methods makes the SDP and of unified techniques for description of NL semantics. The use testing too heavy and inefficient. of NLP alone as a tool for design, implementation, and testing To overcome these problems a new SE method shall be makes the processes too heavy and inefficient. defined combining the Agile and RUP strengths. This method In order to overcome these problems a specification shall improve the simplicity and efficiency of the software language shall be created as a combination of the strengths of development process by introducing reusable components and IL, DL, GML, 5GL and NLP. This language shall improve the automation of the process. simplicity and efficiency of problem specification. For that A number of problem specification languages, including purpose, the language shall be a GML and 5GL standardized the most disseminated imperative languages Java and C#, the modelling language covering the whole SE life cycle. The declarative languages ML and Prolog, the Generative language shall be equipped with NLP, it shall include a Modelling Languages UML and BPMN, the fifth generation problem solver and shall have the possibility for automated use modelling language Net, and a Natural Language Processor are of wide range of supporting libraries and third party analyzed in [6]. components. The main strengths of the Imperative Languages (IL) The industrial cloud [25] platforms [5] Amazon AWS, group (Java, C#) concern the fast runtime performance, the Microsoft Azure, Google App Engine, VMWare vCloud, availability of rich sets of supporting libraries and third party IBM Bluemix, HP Helion, and Oracle OCPaaS are analyzed components, the good platform portability. The key in [11] as referred to. weaknesses of this language group refer to the lack of The important strengths of the platforms concern the high- incorporated problem solver (i.e. specification of the problem level integration of hardware and software tools in the cloud, being solved and specification of the algorithm for problem and the good quality of tools for control of distributed solving), and the huge efforts for design, implementation, and computation in the cloud. Their key weakness refers to the testing by highly qualified IT specialists. So, nevertheless that insufficient use of tools for intelligent self-organization, as these languages are of great industrial importance, they are well as the state engine and multi-agent control. This weakness neither efficient nor appropriate for SDP automation. makes the existing platforms too expensive and inefficient for The key strengths of the Declarative Languages (DL) realization of complex ISs. group (ML, Prolog) concern the incorporated problem solver To overcome these difficulties, the existing platforms are (i.e. only specification of the problem being solved is required, extended with new tools for specification of the state engine thus DL are suitable for automated programming), and the and multi-agent architectures, and the library of intelligent small design, implementation, and testing effort by IT components for platform control and self-organization. specialists having relatively low qualification. The important Some important related works of the KBASE team weaknesses of this language group refer to the slow runtime demonstrating the SDP efficiency improvement capabilities of performance (e.g. the machine arithmetic), and the lack of the KBASE concept refer to (1) the Module for Automated tools for design of complex problems. The DLs are therefore Programming of Robots (MAPR [6]) which generates inappropriate for EIS specification and development. programs for Robot Control based on a natural language The important strengths of the Generative Modelling specification; (2) the Intelligent Product Manual (IPM [7]) Languages (GML) group (BPMN, UML) are the well- which is a software system generating Product Manuals for standardized modelling capabilities, and the small design manufacturing products; (3) the Built-in-Test Adaptive effort of domain area experts and IT specialists with relatively Document Display (BIT [26]) which realizes the automation