Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch015
Jules White, B. Dougherty
Product-line architectures (PLAs) are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs, which may have scores of valid variants that can be constructed from the architecture’s components. It is crucial that each variant be tested thoroughly to assure the quality of these applications on multiple platforms and hardware configurations. It is tedious and error-prone, however, to setup numerous distributed test environments manually and ensure they are deployed and configured correctly. To simplify and automate this process, we present FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment and testing plans. To validate FireAnt, we use a distributed constraints optimization system case study to illustrate the cost savings of using an MDD approach for the deployment and testing of PLAs.
{"title":"Reducing Enterprise Product Line Architecture Deployment and Testing Costs via Model Driven Deployment, Configuration, and Testing","authors":"Jules White, B. Dougherty","doi":"10.4018/978-1-61692-874-2.ch015","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch015","url":null,"abstract":"Product-line architectures (PLAs) are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs, which may have scores of valid variants that can be constructed from the architecture’s components. It is crucial that each variant be tested thoroughly to assure the quality of these applications on multiple platforms and hardware configurations. It is tedious and error-prone, however, to setup numerous distributed test environments manually and ensure they are deployed and configured correctly. To simplify and automate this process, we present FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment and testing plans. To validate FireAnt, we use a distributed constraints optimization system case study to illustrate the cost savings of using an MDD approach for the deployment and testing of PLAs.","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117255241","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch018
M. Kirikova
The purpose of this chapter is to provide an overview of domain modeling approaches and techniques used in information systems (IS) engineering. IS engineering is an area where different types of domain models were used as a basis for software development long before the name of model driven approach and model driven architecture was coined (MDA, 2009; Miller & Mukerji, 2003). IS engineering views not only software, but also requirements and domain models, as systemic artifacts that can be traced, analyzed, and reused in different systems development tasks. Examination of historical evolvement, level of completeness, complexity, ABstrAct
{"title":"Domain Modeling Approaches in IS Engineering","authors":"M. Kirikova","doi":"10.4018/978-1-61692-874-2.ch018","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch018","url":null,"abstract":"The purpose of this chapter is to provide an overview of domain modeling approaches and techniques used in information systems (IS) engineering. IS engineering is an area where different types of domain models were used as a basis for software development long before the name of model driven approach and model driven architecture was coined (MDA, 2009; Miller & Mukerji, 2003). IS engineering views not only software, but also requirements and domain models, as systemic artifacts that can be traced, analyzed, and reused in different systems development tasks. Examination of historical evolvement, level of completeness, complexity, ABstrAct","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131232657","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch013
Hyun Cho, J. Gray, Yuanfang Cai, Sunny Wong, Tao Xie
Software assets, which are developed and maintained at various stages, have different abstraction levels. The structural mismatch of the abstraction levels makes it difficult for developers to understand the consequences of changes. Furthermore, assessing change impact is even more challenging in software product lines because core assets are interrelated to support domain and application engineering. Modeldriven engineering helps software engineers in many ways by lifting the abstraction level of software development. The higher level of abstraction provided by models can serve as a backbone to analyze and design core assets and architectures for software product lines. This chapter introduces modeldriven impact analysis that is based on the synergy of three separate techniques: (1) domain-specific modeling, (2) constraint-based analysis, and (3) software testing. The techniques are used to establish traceability relations between software artifacts, assess the tradeoff of design alternatives quantitatively, and conduct change impact analysis.
{"title":"Model-Driven Impact Analysis of Software Product Lines","authors":"Hyun Cho, J. Gray, Yuanfang Cai, Sunny Wong, Tao Xie","doi":"10.4018/978-1-61692-874-2.ch013","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch013","url":null,"abstract":"Software assets, which are developed and maintained at various stages, have different abstraction levels. The structural mismatch of the abstraction levels makes it difficult for developers to understand the consequences of changes. Furthermore, assessing change impact is even more challenging in software product lines because core assets are interrelated to support domain and application engineering. Modeldriven engineering helps software engineers in many ways by lifting the abstraction level of software development. The higher level of abstraction provided by models can serve as a backbone to analyze and design core assets and architectures for software product lines. This chapter introduces modeldriven impact analysis that is based on the synergy of three separate techniques: (1) domain-specific modeling, (2) constraint-based analysis, and (3) software testing. The techniques are used to establish traceability relations between software artifacts, assess the tradeoff of design alternatives quantitatively, and conduct change impact analysis.","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117056225","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch012
S. Motogna, B. Pârv, I. Lazar
Some service-oriented component models support the dynamic availability of components at runtime and offer the possibility to build dynamically adaptable applications. However, building serviceoriented components is a complex task due to the complexity of service-oriented frameworks. In this context today frameworks try to simplify the component development by allowing developers to concentrate only on implementing the business ABstrAct
{"title":"An MDA Approach for Developing Executable UML Components","authors":"S. Motogna, B. Pârv, I. Lazar","doi":"10.4018/978-1-61692-874-2.ch012","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch012","url":null,"abstract":"Some service-oriented component models support the dynamic availability of components at runtime and offer the possibility to build dynamically adaptable applications. However, building serviceoriented components is a complex task due to the complexity of service-oriented frameworks. In this context today frameworks try to simplify the component development by allowing developers to concentrate only on implementing the business ABstrAct","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127738032","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch019
N. Roy, D. Schmidt
Emerging trends and challenges. The advent of web-based applications, such as shopping, social networking, photos, videos, music, gaming, and chat, are increasing the popularity and accessibility of the Internet. There is also growing focus on application integration platforms, such as Sun’s Java Composite Application Platform Suite, Facebook’s Application Platform, and Oracle’s Application Development Framework, where a single portal can provide many services. These integrated web sites are referred in this paper as web application portals, which are Internet sites that provide multiple services to users. For example, users of social networking sites, such as Facebook (www.facebook.com) and MySpace (www.myspace.com), upload recent photos and videos, exchange messages and chat with each other, and play online games with friends.
{"title":"Model-Driven Performance Evaluation of Web Application Portals","authors":"N. Roy, D. Schmidt","doi":"10.4018/978-1-61692-874-2.ch019","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch019","url":null,"abstract":"Emerging trends and challenges. The advent of web-based applications, such as shopping, social networking, photos, videos, music, gaming, and chat, are increasing the popularity and accessibility of the Internet. There is also growing focus on application integration platforms, such as Sun’s Java Composite Application Platform Suite, Facebook’s Application Platform, and Oracle’s Application Development Framework, where a single portal can provide many services. These integrated web sites are referred in this paper as web application portals, which are Internet sites that provide multiple services to users. For example, users of social networking sites, such as Facebook (www.facebook.com) and MySpace (www.myspace.com), upload recent photos and videos, exchange messages and chat with each other, and play online games with friends.","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114198784","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch004
J. Osis, Erika Asnina
Model-Driven Architecture (MDA) developed by the Object Management Group (OMG) proposes three (or at least two) transformable models for system specification. The first one is a Computation Independent Model or CIM. The CIM is a model that should eliminate the gap between business people and software developers. Two other models are a Platform Independent Model (PIM) and a Platform Specific Model (PSM). The last two models specify the system structure and behavior according to the object-oriented paradigm and definitely are transformable. This chapter discusses the CIM. This model specifies domain information: business vocabulary, business rules, business knowledge, system requirements (in a broad sense), etc. This means ABstrAct
{"title":"Derivation of Use Cases from the Topological Computation Independent Business Model","authors":"J. Osis, Erika Asnina","doi":"10.4018/978-1-61692-874-2.ch004","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch004","url":null,"abstract":"Model-Driven Architecture (MDA) developed by the Object Management Group (OMG) proposes three (or at least two) transformable models for system specification. The first one is a Computation Independent Model or CIM. The CIM is a model that should eliminate the gap between business people and software developers. Two other models are a Platform Independent Model (PIM) and a Platform Specific Model (PSM). The last two models specify the system structure and behavior according to the object-oriented paradigm and definitely are transformable. This chapter discusses the CIM. This model specifies domain information: business vocabulary, business rules, business knowledge, system requirements (in a broad sense), etc. This means ABstrAct","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114821730","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch007
Yu Sun, Jules White, J. Gray, A. Gokhale
With the increasing complexity of software and systems, domain analysis and modeling are becoming more important for software development and system applications. Applying domain-specific modeling languages and transformation engines is an effective approach to address platform complexity and the inability of third-generation languages to express domain concepts clearly [1]. Building correct models for a specific domain can often simplify many complex tasks, particularly for distributed applications based on cloud computing [2] that offer several opportunities for customization and variability.
{"title":"Model-Driven Automated Error Recovery in Cloud Computing","authors":"Yu Sun, Jules White, J. Gray, A. Gokhale","doi":"10.4018/978-1-61692-874-2.ch007","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch007","url":null,"abstract":"With the increasing complexity of software and systems, domain analysis and modeling are becoming more important for software development and system applications. Applying domain-specific modeling languages and transformation engines is an effective approach to address platform complexity and the inability of third-generation languages to express domain concepts clearly [1]. Building correct models for a specific domain can often simplify many complex tasks, particularly for distributed applications based on cloud computing [2] that offer several opportunities for customization and variability.","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123091332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch016
Liliana Dobrica, E. Ovaska
For several years the focus of our research has been product line architecture design and analysis. An important goal is to define a method for modeling software product line architecture of a distribution services platform. An essential issue is to explicitly represent variation and indicate locations for which changes are allowed in design. In this way, the diagrammatic description of the product line architecture defined by using the method helps in instantiating it for a particular product or in its evolution for future use. From the product line architecture documented diagrammatically, it is easy to detect what kind of modifications, omisABstrAct
{"title":"Applying UML Extensions in Modeling Software Product Line Architecture of a Distribution Services Platform","authors":"Liliana Dobrica, E. Ovaska","doi":"10.4018/978-1-61692-874-2.ch016","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch016","url":null,"abstract":"For several years the focus of our research has been product line architecture design and analysis. An important goal is to define a method for modeling software product line architecture of a distribution services platform. An essential issue is to explicitly represent variation and indicate locations for which changes are allowed in design. In this way, the diagrammatic description of the product line architecture defined by using the method helps in instantiating it for a particular product or in its evolution for future use. From the product line architecture documented diagrammatically, it is easy to detect what kind of modifications, omisABstrAct","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126919109","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch003
Erika Asnina, J. Osis
The Object Management Group (OMG) proposed Model Driven Architecture (MDA) that architecturally separates viewpoints on specifications. MDA suggests three different models for each of the proposed viewpoints. According to MDA principles stated in (The Object Management Group, 2003), they are a Computation Independent Model (CIM), a Platform Independent Model (PIM), and a Platform Specific Model (PSM). The CIM describes system requirements and a way a system works within its environment, while details of the application structure and realization are hidden or as yet undetermined. This model is sometimes called a domain model (a business model) and a vocabulary. The PIM describes operation of a system. It suppresses all the details necessary for a particular platform a system works within and shows only those parts of the complete specification that do not change going from one platform to another. The PSM ABstrAct
{"title":"Topological Functioning Model as a CIM-Business Model","authors":"Erika Asnina, J. Osis","doi":"10.4018/978-1-61692-874-2.ch003","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch003","url":null,"abstract":"The Object Management Group (OMG) proposed Model Driven Architecture (MDA) that architecturally separates viewpoints on specifications. MDA suggests three different models for each of the proposed viewpoints. According to MDA principles stated in (The Object Management Group, 2003), they are a Computation Independent Model (CIM), a Platform Independent Model (PIM), and a Platform Specific Model (PSM). The CIM describes system requirements and a way a system works within its environment, while details of the application structure and realization are hidden or as yet undetermined. This model is sometimes called a domain model (a business model) and a vocabulary. The PIM describes operation of a system. It suppresses all the details necessary for a particular platform a system works within and shows only those parts of the complete specification that do not change going from one platform to another. The PSM ABstrAct","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126773791","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1900-01-01DOI: 10.4018/978-1-61692-874-2.ch008
Joe Hoffert, D. Schmidt, A. Gokhale
Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted productivity analysis for the Distributed Quality-of-Service (QoS) Modeling Language (DQML). Our analysis shows (1) the significant productivity gain using DQML compared with alternative methods when configuring application entities and (2) the viability of quantitative productivity metrics for DSMLs.
{"title":"Productivity Analysis of the Distributed QoS Modeling Language","authors":"Joe Hoffert, D. Schmidt, A. Gokhale","doi":"10.4018/978-1-61692-874-2.ch008","DOIUrl":"https://doi.org/10.4018/978-1-61692-874-2.ch008","url":null,"abstract":"Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted productivity analysis for the Distributed Quality-of-Service (QoS) Modeling Language (DQML). Our analysis shows (1) the significant productivity gain using DQML compared with alternative methods when configuring application entities and (2) the viability of quantitative productivity metrics for DSMLs.","PeriodicalId":158461,"journal":{"name":"Model-Driven Domain Analysis and Software Development","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126275549","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}