[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3368926.3369657acmotherconferencesArticle/Chapter ViewAbstractPublication PagessoictConference Proceedingsconference-collections
research-article

jDomainApp: A Module-Based Domain-Driven Software Framework

Published: 04 December 2019 Publication History

Abstract

Object-oriented domain-driven design (DDD) has been advocated to be the most common form of DDD, thanks to the popularity of object-oriented development methodologies and languages. Although the DDD method prescribes a set of design patterns for the domain model, it provides no languages or tools that realise these patterns. There have been several software frameworks developed to address this gap. However, these frameworks have not tackled two important software construction issues: generative, module-based software construction and development environment integration. In this paper, we propose a framework, named jDomainApp, and an Eclipse IDE plugin to address these issues. In particular, we extend our recent works on DDD to propose a software configuration language that expresses the software configuration, needed to automatically generate software from a set of modules. The modules are automatically generated using a module configuration language that we defined in a previous work. We demonstrate the framework and plug-in using a real-world software example. Further, we evaluate the performance of software construction to show that it is scalable to handle large software.

References

[1]
Sven Apel, et al. 2013. Feature-Oriented Software Product Lines - Concepts and Implementation. Springer.
[2]
Krzysztof Czarnecki. 2005. Overview of Generative Software Development. In Unconventional Programming Paradigms. Number 3566 in LNCS. Springer, 326--341.
[3]
Dan Haywood. 2013. Apache Isis - Developing Domain-driven Java Apps. Methods & Tools: Practical knowledge source for software development professionals 21, 2 (2013), 40--59.
[4]
Eric Evans. 2004. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
[5]
Eric Evans. 2014. Domain-Driven Design Reference: Definitions and Pattern Summaries. Dog Ear Publishing, LLC.
[6]
James Gosling, et al. 2014. The Java Language Specification, Java SE 8 Edition (1st ed.). Addison-Wesley Professional, Upper Saddle River, NJ.
[7]
Anders Hejlsberg, et al. 2010. The C# Programming Language (4th ed.). Addison Wesley, Upper Saddle River, NJ.
[8]
Anneke Kleppe. 2008. Software Language Engineering: Creating Domain-Specific Languages Using Metamodels (1st ed.). Addison-Wesley Professional, Upper Saddle River, NJ.
[9]
Tomaž Kosar, et al. 2016. Domain-Specific Languages: A Systematic Mapping Study. Information and Software Technology 71 (2016), 77--91.
[10]
Glenn E. Krasner et al. 1988. A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System. Journal of object-oriented programming 1, 3 (1988), 26--49.
[11]
Duc Minh Le, et al. 2017. Generative Software Module Development: A Domain-Driven Design Perspective. In Proc. 9th Int. Conf. on Knowledge and Systems Engineering (KSE). 77--82.
[12]
Duc Minh Le, et al. 2018. On Domain Driven Design Using Annotation-Based Domain Specific Language. Computer Languages, Systems & Structures 54 (2018), 199--235.
[13]
Duc Minh Le, et al. 2019. Generative Software Module Development for Domain-Driven Design with Annotation-Based Domain Specific Language. (Conditionally Accepted) Journal of Information and Software Technology (2019).
[14]
Scott Millett et al. 2015. Patterns, Principles, and Practices of Domain-Driven Design. John Wiley & Sons.
[15]
Milan Nosál', et al. 2016. Language Composition Using Source Code Annotations. Computer Science and Information Systems 13, 3 (2016), 707--729.
[16]
OMG. 2015. Unified Modeling Language version 2.5. http://www.omg.org/spec/UML/2.5/
[17]
Oracle. 2018. Java Platform, Standard Edition Java Language Updates.
[18]
Javier Paniza. 2011. Learn OpenXava by Example. CreateSpace, Paramount, CA.
[19]
Dirk Riehle et al. 1998. Role Model Based Framework Design and Integration. In ACM SIGPLAN Notices, Vol. 33. ACM, 117--133.
[20]
Ian Sommerville. 2011. Software Engineering (9th ed.). Pearson.
[21]
Vaughn Vernon. 2013. Implementing Domain-Driven Design (1st ed.). Addison-Wesley Professional, Upper Saddle River, NJ.

Cited By

View all
  • (2024)Modularly Generating Multi-platform Single Page Applications with FrontEnd PatternsProceedings of the International Conference on Intelligent Systems and Networks10.1007/978-981-97-5504-2_65(552-562)Online publication date: 1-Sep-2024
  • (2022)Generating Multi-platform Single Page Applications: A Hierarchical Domain-Driven Design ApproachProceedings of the 11th International Symposium on Information and Communication Technology10.1145/3568562.3568566(344-351)Online publication date: 1-Dec-2022
  • (2022)Towards Generating RESTful Full Stack Software: A Module Based Domain Driven Design ApproachIntelligent Systems and Networks10.1007/978-981-19-3394-3_3(22-32)Online publication date: 5-Jul-2022

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SoICT '19: Proceedings of the 10th International Symposium on Information and Communication Technology
December 2019
551 pages
ISBN:9781450372459
DOI:10.1145/3368926
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • SOICT: School of Information and Communication Technology - HUST
  • NAFOSTED: The National Foundation for Science and Technology Development

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 December 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. development environment
  2. domain-driven design
  3. domain-specific language
  4. software framework
  5. system modelling

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SoICT 2019

Acceptance Rates

Overall Acceptance Rate 147 of 318 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Modularly Generating Multi-platform Single Page Applications with FrontEnd PatternsProceedings of the International Conference on Intelligent Systems and Networks10.1007/978-981-97-5504-2_65(552-562)Online publication date: 1-Sep-2024
  • (2022)Generating Multi-platform Single Page Applications: A Hierarchical Domain-Driven Design ApproachProceedings of the 11th International Symposium on Information and Communication Technology10.1145/3568562.3568566(344-351)Online publication date: 1-Dec-2022
  • (2022)Towards Generating RESTful Full Stack Software: A Module Based Domain Driven Design ApproachIntelligent Systems and Networks10.1007/978-981-19-3394-3_3(22-32)Online publication date: 5-Jul-2022
  • (2021)A Systematic Framework of Application Modernization to Microservice based Architecture2021 International Conference on Engineering and Emerging Technologies (ICEET)10.1109/ICEET53442.2021.9659783(1-6)Online publication date: 27-Oct-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media