Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented... more Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented method described by Rumbaugh, et. al. in the book Object-oriented Modeling and Design. These notes provide a summary of OMT, as well as a list of its strengths and weaknesses. In ...
Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Prog... more Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Programming Languages (AOPLs) such as AspectJ. Many of these challenges arise because the context of a transaction-related crosscutting concern consists of loosely-coupled abstractions like dynamically-generated identifiers, timestamps, and tentative value sets of distributed resources. Current AOPLs do not provide joinpoints and pointcuts for weaving advice into high-level abstractions or contexts, like transaction contexts. Other challenges stem from the essential complexity in the nature of the data, operations on the data, or the volume of data, and accidental complexity comes from the way that the problem is being solved, even using common transaction frameworks. This dissertation describes an extension to AspectJ, called TransJ, with which developers can implement transaction-related crosscutting concerns in cohesive and loosely-coupled aspects. It also presents a preliminary experimen...
The concepts of modularity, abstraction, and encapsulation have been an integral part of software... more The concepts of modularity, abstraction, and encapsulation have been an integral part of software engineering for over four decades. However, their definitions and application vary between software development paradigms. In some cases, conflicting definitions exist for a single paradigm. This paper first defines the concept of a principle for software-engineering, in general, and then provides a template for documenting principles so they can be easily referenced and taught. Next, it proposes initial unified definitions for modularity, abstraction, and encapsulation that are applicable to multiple programming paradigms. It then shows that these unified definitions for modularity, abstraction, and encapsulation are non-redundant but complimentary of each other. Finally, it discusses future work for refining and validating these unified definitions through a series of empirical studies.
a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
Implementing crosscutting concerns for messagebased inter-process communications (IPC) are diffic... more Implementing crosscutting concerns for messagebased inter-process communications (IPC) are difficult, even using aspect-oriented programming languages (AOPL) such as AspectJ. Many of these challenges are because the context of communication-related crosscutting concerns is typically a conversation consisting of message sends and receives. Other challenges stem from the wide variety of IPC mechanisms, their inherent characteristics, and the many ways in which they can be implemented, even using a common communication framework. Additionally, current AOPL do not provide pointcuts for weaving of advice into high-level IPC abstractions like conversations. This paper describes an extension to AspectJ, called CommJ, with which developers can implement communication-related concerns in cohesive and loosely coupled aspects. Keywords-modularity; aspect-oriented programming (AOPL); crosscutting concerns; AspectJ; software reuse and maintenance.
2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T), 2017
In an earlier study, we observed that students in a small graduate class who used Cloud Computing... more In an earlier study, we observed that students in a small graduate class who used Cloud Computing (CC) for their programming assignments improved their analysis-to-reuse (A2R) skills more than students who didn't use CC. That preliminary result motivated us to see if the use of CC in programming assignments would yield similar results for a broader range of classes and students. To this end, this paper reports on an observational study on the students of the Computer Science Department of Utah State University that spanned from August 2015 to December 2016 and included over 221 students, with data collected at three different times. An ANOVA statistical analysis of the study data revealed a significant difference in the perceptions about acquired A2R skills in favor of students that used CC
Software-engineering education should help students improve other development skills besides desi... more Software-engineering education should help students improve other development skills besides design and coding. These skills, referred to here as A2R (Analysis to Reuse), include analysis, technology evaluation, prototyping, testing, and reuse. The need for improved A2R skills is particularly pronounced in advanced areas like distributed application development. Hands-on programming assignments can be an important means for improving A2R skills, but only if they focus on the right details. This paper presents a case study of programming assignments offered in a graduate-level class on distributed application development, where the assignments required the students to use cloud services and programming tools that were heretofore unfamiliar to the students. Direct observation by the instructor and a post-class survey provided evidence that the assignments did in fact help students improve their A2R skills. The post-class survey also yielded some interesting insights about the potentia...
Distributed applications depend on application-layer communication protocols to exchange data amo... more Distributed applications depend on application-layer communication protocols to exchange data among processes and coordinate distributed operations, independent of underlying communication subsystems and lower level protocols. Since such protocols are application-specific, developers often must invent or re-invent solutions to reoccurring problems involving sending and receiving messages to meet specific functionality, efficiency, distribution, reliability, and security requirements. This paper introduces a pattern language, called CommDP, consisting of nine design patterns that can help developers understand existing reusable solutions and how those solutions might apply to their situations. Consistent with other pattern languages, the CommDP patterns are described in terms of the problems they address, their contexts, and solutions. The problems and consequences of the solutions are evaluated against four desirable qualities: reliability, synchronicity, longevity, and adaptability...
TransJ is an extension to AspectJ for encapsulating transaction-related cross-cutting concerns in... more TransJ is an extension to AspectJ for encapsulating transaction-related cross-cutting concerns in modular aspects. This paper presents an empirical study to evaluate the reusability and performance cross-cutting concerns implemented with TransJ compare to AspectJ alone. As part this study, we define a reuse and performance quality model as an extension to an existing quality model. We then formalize eight hypotheses that can be tested using metrics from the quality model. Finally, to assess the hypotheses, we compare implementations of different sample applications across two study groups: one for TransJ and another for AspectJ. Results from the study show improvement in reusability when using TransJ, while preserving the performance. Keywords-Transaction-related Aspects; Aspect-Oriented Programming (AOPL); Abstractions; Transaction Joinpoint; Dynamic Weaving; Pointcuts; Transaction-related Contexts (TCC's); software reuse; and performance.
The conference covered fundamentals on designing, implementing, testing, validating and maintaini... more The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education
2018 IEEE/ACS 15th International Conference on Computer Systems and Applications (AICCSA), 2018
Estimating the quality of Personal Identifiable Information (PII) creates a corresponding need to... more Estimating the quality of Personal Identifiable Information (PII) creates a corresponding need to model and formalize PII for both the real-world and electronic data, in a way that supports rigorous reasoning relative to real-world constraints, rules from domain experts, and rules about expected data patterns. In this paper, we propose an extended first-order logic language (FOL), called PDFOL (Person Data First-order Logic), that can express these kinds of constraints and rules, as well as relevant person attributes and inter-person relations. We present the salient features of PDFOL, namely temporal predicated based on time intervals, aggregate functions, and tuple-set comparison operators. These features allow PDFOL to model person-centric databases, enabling formal and efficient reason about their quality. We show how PDFOL can express real-world constraints, expert opinions, and aggregate knowledge as closed PDFOL statements, which in turn can then be used to assess the quality of a database. We adapt and extend the traditional aggregate functions in three ways: a) allowing any arbitrary number free variables in function statement, b) adding groupings, and c) defining new aggregate function. We believe that this work will provide a foundation for future methods for reasoning about the quality of PII.
Human-centric Computing and Information Sciences, 2019
To avoid shrinking down the performance and preserve energy, low-end mobile devices can collabora... more To avoid shrinking down the performance and preserve energy, low-end mobile devices can collaborate with the nearby ones by offloading computation intensive code. However, despite the long research history, code offloading is dilatory and unfit for applications that require rapidly consecutive requests per short period. Even though Remote Procedure Call (RPC) is apparently one possible approach that can address this problem, the RPC-based or message queue-based techniques are obsolete or unwieldy for mobile platforms. Moreover, the need of accessibility beyond the limit reach of the device-to-device (D2D) networks originates another problem. This article introduces a new software framework to overcome these shortcomings by enabling routing RPC architecture on multiple group device-to-device networks. Our framework provides annotations for declaring distribution decision and out-of-box components that enable peer-to-peer offloading, even when a client app and the service provider do ...
Proceedings the 11th Conference on Artificial Intelligence for Applications, 1995
ABSTRACT Automating job classification is challenging because it involves a large number of dynam... more ABSTRACT Automating job classification is challenging because it involves a large number of dynamic classes and features, concept drift uncertainty, and noisy data. We present a software solution to this problem that consists of an incremental learning subsystem and a job classifier. We also describe our design and implementation using object-oriented systems modeling, a complete object-oriented approach that supports analysis, specification and design, and has a smooth mapping to most oriented-object programming languages. Some experimental results and comparisons to other learning/classification algorithms are given. A production version of the software written in C/sup ++/ is performing with superior accuracy.
Abstract—Distributed transaction processing systems can be unnecessarily complex when crosscuttin... more Abstract—Distributed transaction processing systems can be unnecessarily complex when crosscutting concerns, e.g., logging, concurrency controls, transaction management, and access controls, are scattered throughout the transaction processing logic or tangled into otherwise cohesive modules. Aspect orientation has the potential of reducing this kind of complexity; however, currently, aspect-oriented programming languages and frameworks only allow weaving of advice into contexts derived from traditional executable structures. This paper lays a foundation for weaving advice into distributed transactions, which are high-level runtime abstractions. To establish this foundation, we capture key transaction events and context information in a conceptual model, called Unified Model for Joinpoints Distributed Transactions (UMJDT). This model defines interesting joinpoints relative to transaction execution and context data for woven advice. A brief discussion of advice weaving and the potenti...
A 2013 ICSEA paper introduced CommJ as an extension to AspectJ for encapsulating communication-re... more A 2013 ICSEA paper introduced CommJ as an extension to AspectJ for encapsulating communication-related crosscutting concerns in modular, conversation-aware aspects. This paper now presents preliminary, but encouraging results from a subsequent study that shows six different ways in which CommJ can improve the reusability and maintainability of applications requiring network communications. We begin by defining a reuse and maintenance quality model as an extension to an existing quality model. We then identify six hypotheses that can be measured using metrics from the quality model. Finally, to test the hypotheses, we compare implementations of different sample applications across two study groups: one for CommJ and another for AspectJ. Results from the study show improvement in the CommJ for all six areas addressed by the hypotheses
A new concept for assessing the quality of object classes in analysis models, called object-class... more A new concept for assessing the quality of object classes in analysis models, called object-class congruency, is formally defined and discussed. Object-class congruency is based on the idea that immediate and inherited properties defined for an object class should match the common properties of the class's members. A semantic model with a formal definition is used to formalize these concepts. In addition to defining object-class congruency, two semantic-preserving transformations that convert incongruent classes into congruent classes are given. It is also explained why object-class congruency leads to better abstraction of real-world concepts and to better implementation, extension, and reuse
Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented... more Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented method described by Rumbaugh, et. al. in the book Object-oriented Modeling and Design. These notes provide a summary of OMT, as well as a list of its strengths and weaknesses. In ...
Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Prog... more Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Programming Languages (AOPLs) such as AspectJ. Many of these challenges arise because the context of a transaction-related crosscutting concern consists of loosely-coupled abstractions like dynamically-generated identifiers, timestamps, and tentative value sets of distributed resources. Current AOPLs do not provide joinpoints and pointcuts for weaving advice into high-level abstractions or contexts, like transaction contexts. Other challenges stem from the essential complexity in the nature of the data, operations on the data, or the volume of data, and accidental complexity comes from the way that the problem is being solved, even using common transaction frameworks. This dissertation describes an extension to AspectJ, called TransJ, with which developers can implement transaction-related crosscutting concerns in cohesive and loosely-coupled aspects. It also presents a preliminary experimen...
The concepts of modularity, abstraction, and encapsulation have been an integral part of software... more The concepts of modularity, abstraction, and encapsulation have been an integral part of software engineering for over four decades. However, their definitions and application vary between software development paradigms. In some cases, conflicting definitions exist for a single paradigm. This paper first defines the concept of a principle for software-engineering, in general, and then provides a template for documenting principles so they can be easily referenced and taught. Next, it proposes initial unified definitions for modularity, abstraction, and encapsulation that are applicable to multiple programming paradigms. It then shows that these unified definitions for modularity, abstraction, and encapsulation are non-redundant but complimentary of each other. Finally, it discusses future work for refining and validating these unified definitions through a series of empirical studies.
a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
Implementing crosscutting concerns for messagebased inter-process communications (IPC) are diffic... more Implementing crosscutting concerns for messagebased inter-process communications (IPC) are difficult, even using aspect-oriented programming languages (AOPL) such as AspectJ. Many of these challenges are because the context of communication-related crosscutting concerns is typically a conversation consisting of message sends and receives. Other challenges stem from the wide variety of IPC mechanisms, their inherent characteristics, and the many ways in which they can be implemented, even using a common communication framework. Additionally, current AOPL do not provide pointcuts for weaving of advice into high-level IPC abstractions like conversations. This paper describes an extension to AspectJ, called CommJ, with which developers can implement communication-related concerns in cohesive and loosely coupled aspects. Keywords-modularity; aspect-oriented programming (AOPL); crosscutting concerns; AspectJ; software reuse and maintenance.
2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T), 2017
In an earlier study, we observed that students in a small graduate class who used Cloud Computing... more In an earlier study, we observed that students in a small graduate class who used Cloud Computing (CC) for their programming assignments improved their analysis-to-reuse (A2R) skills more than students who didn't use CC. That preliminary result motivated us to see if the use of CC in programming assignments would yield similar results for a broader range of classes and students. To this end, this paper reports on an observational study on the students of the Computer Science Department of Utah State University that spanned from August 2015 to December 2016 and included over 221 students, with data collected at three different times. An ANOVA statistical analysis of the study data revealed a significant difference in the perceptions about acquired A2R skills in favor of students that used CC
Software-engineering education should help students improve other development skills besides desi... more Software-engineering education should help students improve other development skills besides design and coding. These skills, referred to here as A2R (Analysis to Reuse), include analysis, technology evaluation, prototyping, testing, and reuse. The need for improved A2R skills is particularly pronounced in advanced areas like distributed application development. Hands-on programming assignments can be an important means for improving A2R skills, but only if they focus on the right details. This paper presents a case study of programming assignments offered in a graduate-level class on distributed application development, where the assignments required the students to use cloud services and programming tools that were heretofore unfamiliar to the students. Direct observation by the instructor and a post-class survey provided evidence that the assignments did in fact help students improve their A2R skills. The post-class survey also yielded some interesting insights about the potentia...
Distributed applications depend on application-layer communication protocols to exchange data amo... more Distributed applications depend on application-layer communication protocols to exchange data among processes and coordinate distributed operations, independent of underlying communication subsystems and lower level protocols. Since such protocols are application-specific, developers often must invent or re-invent solutions to reoccurring problems involving sending and receiving messages to meet specific functionality, efficiency, distribution, reliability, and security requirements. This paper introduces a pattern language, called CommDP, consisting of nine design patterns that can help developers understand existing reusable solutions and how those solutions might apply to their situations. Consistent with other pattern languages, the CommDP patterns are described in terms of the problems they address, their contexts, and solutions. The problems and consequences of the solutions are evaluated against four desirable qualities: reliability, synchronicity, longevity, and adaptability...
TransJ is an extension to AspectJ for encapsulating transaction-related cross-cutting concerns in... more TransJ is an extension to AspectJ for encapsulating transaction-related cross-cutting concerns in modular aspects. This paper presents an empirical study to evaluate the reusability and performance cross-cutting concerns implemented with TransJ compare to AspectJ alone. As part this study, we define a reuse and performance quality model as an extension to an existing quality model. We then formalize eight hypotheses that can be tested using metrics from the quality model. Finally, to assess the hypotheses, we compare implementations of different sample applications across two study groups: one for TransJ and another for AspectJ. Results from the study show improvement in reusability when using TransJ, while preserving the performance. Keywords-Transaction-related Aspects; Aspect-Oriented Programming (AOPL); Abstractions; Transaction Joinpoint; Dynamic Weaving; Pointcuts; Transaction-related Contexts (TCC's); software reuse; and performance.
The conference covered fundamentals on designing, implementing, testing, validating and maintaini... more The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education
2018 IEEE/ACS 15th International Conference on Computer Systems and Applications (AICCSA), 2018
Estimating the quality of Personal Identifiable Information (PII) creates a corresponding need to... more Estimating the quality of Personal Identifiable Information (PII) creates a corresponding need to model and formalize PII for both the real-world and electronic data, in a way that supports rigorous reasoning relative to real-world constraints, rules from domain experts, and rules about expected data patterns. In this paper, we propose an extended first-order logic language (FOL), called PDFOL (Person Data First-order Logic), that can express these kinds of constraints and rules, as well as relevant person attributes and inter-person relations. We present the salient features of PDFOL, namely temporal predicated based on time intervals, aggregate functions, and tuple-set comparison operators. These features allow PDFOL to model person-centric databases, enabling formal and efficient reason about their quality. We show how PDFOL can express real-world constraints, expert opinions, and aggregate knowledge as closed PDFOL statements, which in turn can then be used to assess the quality of a database. We adapt and extend the traditional aggregate functions in three ways: a) allowing any arbitrary number free variables in function statement, b) adding groupings, and c) defining new aggregate function. We believe that this work will provide a foundation for future methods for reasoning about the quality of PII.
Human-centric Computing and Information Sciences, 2019
To avoid shrinking down the performance and preserve energy, low-end mobile devices can collabora... more To avoid shrinking down the performance and preserve energy, low-end mobile devices can collaborate with the nearby ones by offloading computation intensive code. However, despite the long research history, code offloading is dilatory and unfit for applications that require rapidly consecutive requests per short period. Even though Remote Procedure Call (RPC) is apparently one possible approach that can address this problem, the RPC-based or message queue-based techniques are obsolete or unwieldy for mobile platforms. Moreover, the need of accessibility beyond the limit reach of the device-to-device (D2D) networks originates another problem. This article introduces a new software framework to overcome these shortcomings by enabling routing RPC architecture on multiple group device-to-device networks. Our framework provides annotations for declaring distribution decision and out-of-box components that enable peer-to-peer offloading, even when a client app and the service provider do ...
Proceedings the 11th Conference on Artificial Intelligence for Applications, 1995
ABSTRACT Automating job classification is challenging because it involves a large number of dynam... more ABSTRACT Automating job classification is challenging because it involves a large number of dynamic classes and features, concept drift uncertainty, and noisy data. We present a software solution to this problem that consists of an incremental learning subsystem and a job classifier. We also describe our design and implementation using object-oriented systems modeling, a complete object-oriented approach that supports analysis, specification and design, and has a smooth mapping to most oriented-object programming languages. Some experimental results and comparisons to other learning/classification algorithms are given. A production version of the software written in C/sup ++/ is performing with superior accuracy.
Abstract—Distributed transaction processing systems can be unnecessarily complex when crosscuttin... more Abstract—Distributed transaction processing systems can be unnecessarily complex when crosscutting concerns, e.g., logging, concurrency controls, transaction management, and access controls, are scattered throughout the transaction processing logic or tangled into otherwise cohesive modules. Aspect orientation has the potential of reducing this kind of complexity; however, currently, aspect-oriented programming languages and frameworks only allow weaving of advice into contexts derived from traditional executable structures. This paper lays a foundation for weaving advice into distributed transactions, which are high-level runtime abstractions. To establish this foundation, we capture key transaction events and context information in a conceptual model, called Unified Model for Joinpoints Distributed Transactions (UMJDT). This model defines interesting joinpoints relative to transaction execution and context data for woven advice. A brief discussion of advice weaving and the potenti...
A 2013 ICSEA paper introduced CommJ as an extension to AspectJ for encapsulating communication-re... more A 2013 ICSEA paper introduced CommJ as an extension to AspectJ for encapsulating communication-related crosscutting concerns in modular, conversation-aware aspects. This paper now presents preliminary, but encouraging results from a subsequent study that shows six different ways in which CommJ can improve the reusability and maintainability of applications requiring network communications. We begin by defining a reuse and maintenance quality model as an extension to an existing quality model. We then identify six hypotheses that can be measured using metrics from the quality model. Finally, to test the hypotheses, we compare implementations of different sample applications across two study groups: one for CommJ and another for AspectJ. Results from the study show improvement in the CommJ for all six areas addressed by the hypotheses
A new concept for assessing the quality of object classes in analysis models, called object-class... more A new concept for assessing the quality of object classes in analysis models, called object-class congruency, is formally defined and discussed. Object-class congruency is based on the idea that immediate and inherited properties defined for an object class should match the common properties of the class's members. A semantic model with a formal definition is used to formalize these concepts. In addition to defining object-class congruency, two semantic-preserving transformations that convert incongruent classes into congruent classes are given. It is also explained why object-class congruency leads to better abstraction of real-world concepts and to better implementation, extension, and reuse
The Twelfth International Conference on Software Engineering Advances (ICSEA 2017), held on Octob... more The Twelfth International Conference on Software Engineering Advances (ICSEA 2017), held on October 8 - 12, 2017- Athens, Greece, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education.
The Eleventh International Conference on Software Engineering Advances (ICSEA 2016), held on Augu... more The Eleventh International Conference on Software Engineering Advances (ICSEA 2016), held on August 21 - 25, 2016 in Rome, Italy, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education.
Uploads
The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education.
The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education.