Font Size: a A A

Research On A Domain-specific Language For End-user Programming

Posted on:2015-10-14Degree:MasterType:Thesis
Country:ChinaCandidate:T Y YuFull Text:PDF
GTID:2298330452464160Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In traditional software development, one of the most difficult parts is thecommunication between development teams and users, which is a common reason whyprojects fail or are postponed. Incorrect communication will lead to ambiguous demandand finally rework. While with the continuous development and improvement ofsoftware development technology, the risk is reduced but still present. The same riskalso influences the maintenance of information systems. How to ease the pressure whenthe demand for information system changes frequently? How to further improve theefficiency in information systems development and maintenance? Faced with theseproblems, this paper researches the university information system and put forwards adomain-specific language (DSL) for end-user programming, and develop a codegenerator to transfer the DSL code to Java code.This paper firstly analyzes the features of university information system, followsthe domain-specific languages and end-user programming techniques and put forwardsa domain-specific language for end-user programming which applies to universityinformation system. Because of many businesses and complex business logic inuniversity information system, one single domain-specific language is not enough totake into account both the powerful function and the end-user features. This paper usesthree layers to define the domain-specific language for university information system.The first layer is IDSL. This layer is an end-user DSL for information system.This paper takes the existing DSL for information systems as reference and then definesthe IDSL from three parts according to the MVC architectural pattern. These three partsare Model, View and Logic, corresponding to database, page and bussiness logic.Model is composed of Entity and provides some methods such as add, delete, update,and search. It·s in charge of the corresponding database table access. View uses a smallamount of labels to cover the basic page definition in information system. And itprovides four basic business logic operations: add, delete, update and obtain. Logicsupports sequential instruction, conditional branch instruction and loop instruction.And it also provides variables declaration, methods invocation and operations used tojump to other Logic and View. In addition IDSL does not require users to define theparameters passing. Thus the difficulty is reduced when end-users are programming. The second layer is UIDSL. This layer is an end-user programming DSL foruniversity information system. Based on IDSL, this paper analyzes the commonfeatures in university information systems and defines some built-in features includingbuilt-in Enity, built-in View and built-in logic operations. These features will reducethe difficulty and improve the efficiency when end-users are programming.The third layer is SIDSL. This layer is an end-user programming DSL for thecourse selection domain in information system. This paper uses the methods of domainanalysis to analyze the commonality and variability. It defines SIDSL by unifying thecommonality and parameterizing the variability. SIDSL is an XML style language andusers can define different characteristics in course selection domain by choosingdifferent value as parameters for different XML Tag. This approach allows the end usersto program at a higher abstraction level. Thus coding is more concise and efficient.Then this paper uses code generation technology which is based on rewrite rulesand Spoofax framework to developed three tools I2J, U2I and S2U according to thecomplex input model and high logic variability in university information system.Finally, this paper chooses course selection domain in university informationsystem to finish three experiments for the three languages. The first experiment showsthat the efficiency of IDSL is higher than Java. The second experiment shows that thecoding time of UIDSL is less than IDSL and the efficiency of UIDSL is higher. Thethird experiment shows that the training time of SIDSL is much less than UIDSL andthe coding time is slightly less than UIDSL. SIDSL is more end-users oriented andefficient.
Keywords/Search Tags:Information system domain, DSL, End-Userprogramming, Code generation
PDF Full Text Request
Related items