Pasternak, Michal; Kahani, Nafiseh; Bagherzadeh, Mojtaba; Dingel, Juergen; Cordy, Jim
ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), Demonstration Track, ACM, Copenhagen, Denmark, 2018.
@conference{PKDDC18b,
title = {SimGen: A Tool for Generating Simulations and Visualizations of Embedded Systems on the Unity Game Engine},
author = {Michal Pasternak and Nafiseh Kahani and Mojtaba Bagherzadeh and Juergen Dingel and Jim Cordy},
url = {http://doi.acm.org/10.1145/3270112.3270135},
doi = {10.1145/3270112.3270135},
year = {2018},
date = {2018-10-01},
booktitle = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), Demonstration Track},
pages = {42-46},
publisher = {ACM},
address = {Copenhagen, Denmark},
keywords = {},
pubstate = {published},
tppubtype = {conference}
}
Ahmadi, Reza; Posse, Ernesto; Dingel, Juergen
Slicing UML-based Models of Real-time Embedded Systems Proceedings Article
In: ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), pp. 346-356, ACM, Copenhagen, Denmark, 2018.
@inproceedings{APD18b,
title = {Slicing UML-based Models of Real-time Embedded Systems},
author = {Reza Ahmadi and Ernesto Posse and Juergen Dingel},
url = {http://doi.acm.org/10.1145/3239372.3239407},
doi = {10.1145/3239372.3239407},
year = {2018},
date = {2018-10-01},
booktitle = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18)},
pages = {346-356},
publisher = {ACM},
address = {Copenhagen, Denmark},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Pasternak, Michal; Kahani, Nafiseh; Bagherzadeh, Mojtaba; Dingel, Juergen; Cordy, Jim
ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), Demonstration Track, ACM, Copenhagen, Denmark, 2018.
@conference{PKDDC18,
title = {SimGen: A Tool for Generating Simulations and Visualizations of Embedded Systems on the Unity Game Engine},
author = {Michal Pasternak and Nafiseh Kahani and Mojtaba Bagherzadeh and Juergen Dingel and Jim Cordy},
url = {http://doi.acm.org/10.1145/3270112.3270135},
doi = {10.1145/3270112.3270135},
year = {2018},
date = {2018-10-01},
booktitle = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), Demonstration Track},
pages = {42-46},
publisher = {ACM},
address = {Copenhagen, Denmark},
keywords = {},
pubstate = {published},
tppubtype = {conference}
}
Ahmadi, Reza; Posse, Ernesto; Dingel, Juergen
Slicing UML-based Models of Real-time Embedded Systems Proceedings Article
In: ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18), pp. 346-356, ACM, Copenhagen, Denmark, 2018.
@inproceedings{APD18,
title = {Slicing UML-based Models of Real-time Embedded Systems},
author = {Reza Ahmadi and Ernesto Posse and Juergen Dingel},
url = {http://doi.acm.org/10.1145/3239372.3239407},
doi = {10.1145/3239372.3239407},
year = {2018},
date = {2018-10-01},
booktitle = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS'18)},
pages = {346-356},
publisher = {ACM},
address = {Copenhagen, Denmark},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Das, Tuhin Kanti; Dingel, Juergen
Model Development Guidelines for UML-RT: Conventions, Patterns, and Antipatterns Journal Article
In: Software and Systems Modeling (SoSyM), vol. 17, no. 3, pp. 717-752, 2018.
@article{DD18b,
title = {Model Development Guidelines for UML-RT: Conventions, Patterns, and Antipatterns},
author = {Tuhin Kanti Das and Juergen Dingel},
url = {https://doi.org/10.1007/s10270-016-0549-6},
doi = {10.1007/s10270-016-0549-6},
year = {2018},
date = {2018-07-01},
journal = {Software and Systems Modeling (SoSyM)},
volume = {17},
number = {3},
pages = {717-752},
publisher = {Springer},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Das, Tuhin Kanti; Dingel, Juergen
Model Development Guidelines for UML-RT: Conventions, Patterns, and Antipatterns Journal Article
In: Software and Systems Modeling (SoSyM), vol. 17, no. 3, pp. 717-752, 2018.
@article{DD18,
title = {Model Development Guidelines for UML-RT: Conventions, Patterns, and Antipatterns},
author = {Tuhin Kanti Das and Juergen Dingel},
url = {https://doi.org/10.1007/s10270-016-0549-6},
doi = {10.1007/s10270-016-0549-6},
year = {2018},
date = {2018-07-01},
journal = {Software and Systems Modeling (SoSyM)},
volume = {17},
number = {3},
pages = {717-752},
publisher = {Springer},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Bagherzadeh, Mojtaba; Kahani, Nafiseh; Bezemer, Cor-Paul; Hassan, Ahmed E; Dingel, Juergen; Cordy, James R
Analyzing a Decade of Linux System Calls Journal Article
In: Empirical Software Engineering Journal, vol. 23, no. 3, pp. 1519-1551, 2018.
@article{BKBHDC18b,
title = {Analyzing a Decade of Linux System Calls},
author = {Mojtaba Bagherzadeh and Nafiseh Kahani and Cor-Paul Bezemer and Ahmed E Hassan and Juergen Dingel and James R Cordy},
url = {https://doi.org/10.1007/s10664-017-9551-z},
doi = {10.1007/s10664-017-9551-z},
year = {2018},
date = {2018-06-01},
journal = {Empirical Software Engineering Journal},
volume = {23},
number = {3},
pages = {1519-1551},
publisher = {Springer},
abstract = {Over the past 25 years, thousands of developers have contributed more than 18 million lines of code (LOC) to the Linux kernel. As the Linux kernel forms the central part of various operating systems that are used by millions of users, the kernel must be continuously adapted to the changing demands and expectations of these users.
The Linux kernel provides its services to an application through system calls. The combined set of all system calls forms the essential Application Programming Interface (API) through which an application interacts with the kernel. In this paper, we conduct an empirical study of 8,770 changes that were made to Linux system calls during the last decade (i.e., from April 2005 to December 2014). In particular, we study the size of the changes, and we manually identify the type of changes and bug fixes that were made. Our analysis provides an overview of the evolution of the Linux system calls over the last decade. We find that there was a considerable amount of technical debt in the kernel, that was addressed by adding a number of sibling calls(i.e., 26% of all system calls). In addition, we find that by far, the ptrace() and signal handling system calls are the most challenging to maintain. Our study can be used by developers who want to improve the design and ensure the successful evolution of their own kernel APIs.},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
The Linux kernel provides its services to an application through system calls. The combined set of all system calls forms the essential Application Programming Interface (API) through which an application interacts with the kernel. In this paper, we conduct an empirical study of 8,770 changes that were made to Linux system calls during the last decade (i.e., from April 2005 to December 2014). In particular, we study the size of the changes, and we manually identify the type of changes and bug fixes that were made. Our analysis provides an overview of the evolution of the Linux system calls over the last decade. We find that there was a considerable amount of technical debt in the kernel, that was addressed by adding a number of sibling calls(i.e., 26% of all system calls). In addition, we find that by far, the ptrace() and signal handling system calls are the most challenging to maintain. Our study can be used by developers who want to improve the design and ensure the successful evolution of their own kernel APIs.
Ahmadi, Reza; Hili, Nicolas; Dingel, Juergen
Property-aware Unit Testing of UML-RT Models in the Context of MDE Proceedings Article
In: 14th European Conference on Modelling Foundations and Applications (EC-MFA'18), pp. 147-163, Springer, Toulouse, France, 2018.
@inproceedings{AHD18b,
title = {Property-aware Unit Testing of UML-RT Models in the Context of MDE},
author = {Reza Ahmadi and Nicolas Hili and Juergen Dingel},
url = {https://link.springer.com/chapter/10.1007/978-3-319-92997-2_1},
doi = {10.1007/978-3-319-92997-2_10},
year = {2018},
date = {2018-06-01},
booktitle = {14th European Conference on Modelling Foundations and Applications (EC-MFA'18)},
pages = {147-163},
publisher = {Springer},
address = {Toulouse, France},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Bagherzadeh, Mojtaba; Kahani, Nafiseh; Bezemer, Cor-Paul; Hassan, Ahmed E; Dingel, Juergen; Cordy, James R
Analyzing a Decade of Linux System Calls Journal Article
In: Empirical Software Engineering Journal, vol. 23, no. 3, pp. 1519-1551, 2018.
@article{BKBHDC18,
title = {Analyzing a Decade of Linux System Calls},
author = {Mojtaba Bagherzadeh and Nafiseh Kahani and Cor-Paul Bezemer and Ahmed E Hassan and Juergen Dingel and James R Cordy},
url = {https://doi.org/10.1007/s10664-017-9551-z},
doi = {10.1007/s10664-017-9551-z},
year = {2018},
date = {2018-06-01},
journal = {Empirical Software Engineering Journal},
volume = {23},
number = {3},
pages = {1519-1551},
publisher = {Springer},
abstract = {Over the past 25 years, thousands of developers have contributed more than 18 million lines of code (LOC) to the Linux kernel. As the Linux kernel forms the central part of various operating systems that are used by millions of users, the kernel must be continuously adapted to the changing demands and expectations of these users.
The Linux kernel provides its services to an application through system calls. The combined set of all system calls forms the essential Application Programming Interface (API) through which an application interacts with the kernel. In this paper, we conduct an empirical study of 8,770 changes that were made to Linux system calls during the last decade (i.e., from April 2005 to December 2014). In particular, we study the size of the changes, and we manually identify the type of changes and bug fixes that were made. Our analysis provides an overview of the evolution of the Linux system calls over the last decade. We find that there was a considerable amount of technical debt in the kernel, that was addressed by adding a number of sibling calls(i.e., 26% of all system calls). In addition, we find that by far, the ptrace() and signal handling system calls are the most challenging to maintain. Our study can be used by developers who want to improve the design and ensure the successful evolution of their own kernel APIs.},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
The Linux kernel provides its services to an application through system calls. The combined set of all system calls forms the essential Application Programming Interface (API) through which an application interacts with the kernel. In this paper, we conduct an empirical study of 8,770 changes that were made to Linux system calls during the last decade (i.e., from April 2005 to December 2014). In particular, we study the size of the changes, and we manually identify the type of changes and bug fixes that were made. Our analysis provides an overview of the evolution of the Linux system calls over the last decade. We find that there was a considerable amount of technical debt in the kernel, that was addressed by adding a number of sibling calls(i.e., 26% of all system calls). In addition, we find that by far, the ptrace() and signal handling system calls are the most challenging to maintain. Our study can be used by developers who want to improve the design and ensure the successful evolution of their own kernel APIs.
Ahmadi, Reza; Hili, Nicolas; Dingel, Juergen
Property-aware Unit Testing of UML-RT Models in the Context of MDE Proceedings Article
In: 14th European Conference on Modelling Foundations and Applications (EC-MFA'18), pp. 147-163, Springer, Toulouse, France, 2018.
@inproceedings{AHD18,
title = {Property-aware Unit Testing of UML-RT Models in the Context of MDE},
author = {Reza Ahmadi and Nicolas Hili and Juergen Dingel},
url = {https://link.springer.com/chapter/10.1007/978-3-319-92997-2_1},
doi = {10.1007/978-3-319-92997-2_10},
year = {2018},
date = {2018-06-01},
booktitle = {14th European Conference on Modelling Foundations and Applications (EC-MFA'18)},
pages = {147-163},
publisher = {Springer},
address = {Toulouse, France},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Bagherzadeh, Mojtaba; Hili, Nicolas; Seekatz, David; Dingel, Juergen
MDebugger: A Model-level Debugger for UML-RT Proceedings Article
In: 40th International Conference on Software Engineering (ICSE'18): Companion Proceedings, pp. 4, Gothenburg, Sweden, 2018.
@inproceedings{BHSD18b,
title = {MDebugger: A Model-level Debugger for UML-RT},
author = {Mojtaba Bagherzadeh and Nicolas Hili and David Seekatz and Juergen Dingel},
url = {https://dl.acm.org/citation.cfm?id=3183440.3183473, paper
https://github.com/moji1/MDebugger, code https://www.youtube.com/watch?v=L0JDn8eczwQ, video},
year = {2018},
date = {2018-05-01},
booktitle = {40th International Conference on Software Engineering (ICSE'18): Companion Proceedings},
pages = {4},
address = {Gothenburg, Sweden},
abstract = {Providing proper support for debugging models at model-level is one of the main barriers to a broader adoption of Model Driven Development (MDD). In this paper, we focus on the use of MDD for the development of real-time embedded systems (RTE). We introduce a new platform-independent approach to implement model-level debuggers. We describe how to realize support for model-level debugging entirely in terms of the modeling language and show how to implement this support in terms of a model-to-model transformation. Key advantages of the approach over existing work are that (1) it does not require a program debugger for the code generated from the model, and that (2) any changes to, e.g., the code generator, the target language, or the hardware platform leave the debugger completely unaffected. We also describe an implementation of the approach in the context of Papyrus-RT, an open source MDD tool based on the modeling language UML-RT. We summarize the results of the use of our model-based debugger on several use cases to determine its overhead in terms of size and performance. Despite being a prototype, the performance overhead is in the order of microseconds, while the size overhead is comparable with that of GDB, the GNU Debugger.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Atampore, Francis; Dingel, Juergen; Rudie, Karen
Supervisor Aware Service Composition Framework: An Implementation and Evaluation Proceedings Article
In: Tommasi, Gianmaria De (Ed.): 14th Workshop on Discrete Event Systems (WODES'18), Elsevier, Castellammare di Stabia, Sorrento Coast, Italy, 2018, (IFAC-PapersOnLine 51(7):277-284).
@inproceedings{ADR18b,
title = {Supervisor Aware Service Composition Framework: An Implementation and Evaluation},
author = {Francis Atampore and Juergen Dingel and Karen Rudie},
editor = {Gianmaria De Tommasi},
doi = {https://doi.org/10.1016/j.ifacol.2018.06.313},
year = {2018},
date = {2018-05-01},
booktitle = {14th Workshop on Discrete Event Systems (WODES'18)},
publisher = {Elsevier},
address = {Castellammare di Stabia, Sorrento Coast, Italy},
note = {IFAC-PapersOnLine 51(7):277-284},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Bagherzadeh, Mojtaba; Hili, Nicolas; Seekatz, David; Dingel, Juergen
MDebugger: A Model-level Debugger for UML-RT Proceedings Article
In: 40th International Conference on Software Engineering (ICSE'18): Companion Proceedings, pp. 4, Gothenburg, Sweden, 2018.
@inproceedings{BHSD18,
title = {MDebugger: A Model-level Debugger for UML-RT},
author = {Mojtaba Bagherzadeh and Nicolas Hili and David Seekatz and Juergen Dingel},
url = {https://dl.acm.org/citation.cfm?id=3183440.3183473, paper
https://github.com/moji1/MDebugger, code
https://www.youtube.com/watch?v=L0JDn8eczwQ, video},
year = {2018},
date = {2018-05-01},
booktitle = {40th International Conference on Software Engineering (ICSE'18): Companion Proceedings},
pages = {4},
address = {Gothenburg, Sweden},
abstract = {Providing proper support for debugging models at model-level is one of the main barriers to a broader adoption of Model Driven Development (MDD). In this paper, we focus on the use of MDD for the development of real-time embedded systems (RTE). We introduce a new platform-independent approach to implement model-level debuggers. We describe how to realize support for model-level debugging entirely in terms of the modeling language and show how to implement this support in terms of a model-to-model transformation. Key advantages of the approach over existing work are that (1) it does not require a program debugger for the code generated from the model, and that (2) any changes to, e.g., the code generator, the target language, or the hardware platform leave the debugger completely unaffected. We also describe an implementation of the approach in the context of Papyrus-RT, an open source MDD tool based on the modeling language UML-RT. We summarize the results of the use of our model-based debugger on several use cases to determine its overhead in terms of size and performance. Despite being a prototype, the performance overhead is in the order of microseconds, while the size overhead is comparable with that of GDB, the GNU Debugger.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Atampore, Francis; Dingel, Juergen; Rudie, Karen
Supervisor Aware Service Composition Framework: An Implementation and Evaluation Proceedings Article
In: Tommasi, Gianmaria De (Ed.): 14th Workshop on Discrete Event Systems (WODES'18), Elsevier, Castellammare di Stabia, Sorrento Coast, Italy, 2018, (IFAC-PapersOnLine 51(7):277-284).
@inproceedings{ADR18,
title = {Supervisor Aware Service Composition Framework: An Implementation and Evaluation},
author = {Francis Atampore and Juergen Dingel and Karen Rudie},
editor = {Gianmaria De Tommasi},
doi = {https://doi.org/10.1016/j.ifacol.2018.06.313},
year = {2018},
date = {2018-05-01},
booktitle = {14th Workshop on Discrete Event Systems (WODES'18)},
publisher = {Elsevier},
address = {Castellammare di Stabia, Sorrento Coast, Italy},
note = {IFAC-PapersOnLine 51(7):277-284},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Dingel, Juergen; Schulte, Wolfram
Guest editorial for the special section on MODELS 2014 Journal Article
In: Software and Systems Modeling (SoSyM), vol. 17, no. 1, pp. 9-10, 2018.
@article{DS18b,
title = {Guest editorial for the special section on MODELS 2014},
author = {Juergen Dingel and Wolfram Schulte},
url = {https://doi.org/10.1007/s10270-016-0561-x},
doi = {10.1007/s10270-016-0561-x},
year = {2018},
date = {2018-02-01},
journal = {Software and Systems Modeling (SoSyM)},
volume = {17},
number = {1},
pages = {9-10},
publisher = {Springer},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Kahani, Nafiseh; Bagherzadeh, Mojtaba; Cordy, Jim; Dingel, Juergen; Varro, Daniel
Survey and Classification of Model Transformation Tools Journal Article
In: Software and Systems Modeling (SoSyM), pp. 37, 2018.
@article{KBCDV18b,
title = {Survey and Classification of Model Transformation Tools},
author = {Nafiseh Kahani and Mojtaba Bagherzadeh and Jim Cordy and Juergen Dingel and Daniel Varro},
url = {https://link.springer.com/article/10.1007/s10270-018-0665-6},
doi = {https://doi.org/10.1007/s10270-018-0665-6},
year = {2018},
date = {2018-02-01},
journal = {Software and Systems Modeling (SoSyM)},
pages = {37},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Dingel, Juergen; Schulte, Wolfram
Guest editorial for the special section on MODELS 2014 Journal Article
In: Software and Systems Modeling (SoSyM), vol. 17, no. 1, pp. 9-10, 2018.
@article{DS18,
title = {Guest editorial for the special section on MODELS 2014},
author = {Juergen Dingel and Wolfram Schulte},
url = {https://doi.org/10.1007/s10270-016-0561-x},
doi = {10.1007/s10270-016-0561-x},
year = {2018},
date = {2018-02-01},
journal = {Software and Systems Modeling (SoSyM)},
volume = {17},
number = {1},
pages = {9-10},
publisher = {Springer},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Kahani, Nafiseh; Bagherzadeh, Mojtaba; Cordy, Jim; Dingel, Juergen; Varro, Daniel
Survey and Classification of Model Transformation Tools Journal Article
In: Software and Systems Modeling (SoSyM), pp. 37, 2018.
@article{KBCDV18,
title = {Survey and Classification of Model Transformation Tools},
author = {Nafiseh Kahani and Mojtaba Bagherzadeh and Jim Cordy and Juergen Dingel and Daniel Varro},
url = {https://link.springer.com/article/10.1007/s10270-018-0665-6},
doi = {https://doi.org/10.1007/s10270-018-0665-6},
year = {2018},
date = {2018-02-01},
journal = {Software and Systems Modeling (SoSyM)},
pages = {37},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Hili, Nicolas; Posse, Ernesto; Dingel, Juergen
Calur: an Action Language for UML-RT Proceedings Article
In: European Congress Embedded Real-time Software and Systems (ERTS'18), pp. 10, Toulouse, France, 2018.
@inproceedings{HPD18b,
title = {Calur: an Action Language for UML-RT},
author = {Nicolas Hili and Ernesto Posse and Juergen Dingel},
url = {https://www.erts2018.org/uploads/program/ERTS_2018_paper_96.pdf, paper https://www.youtube.com/watch?v=V8cwTuNORGg, video},
year = {2018},
date = {2018-01-01},
booktitle = {European Congress Embedded Real-time Software and Systems (ERTS'18)},
pages = {10},
address = {Toulouse, France},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Hili, Nicolas; Posse, Ernesto; Dingel, Juergen
Calur: an Action Language for UML-RT Proceedings Article
In: European Congress Embedded Real-time Software and Systems (ERTS'18), pp. 10, Toulouse, France, 2018.
@inproceedings{HPD18,
title = {Calur: an Action Language for UML-RT},
author = {Nicolas Hili and Ernesto Posse and Juergen Dingel},
url = {https://www.erts2018.org/uploads/program/ERTS_2018_paper_96.pdf, paper https://www.youtube.com/watch?v=V8cwTuNORGg, video},
year = {2018},
date = {2018-01-01},
booktitle = {European Congress Embedded Real-time Software and Systems (ERTS'18)},
pages = {10},
address = {Toulouse, France},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}