
@misc{logtalkweb,
	author = "Paulo Moura",
	title = "Logtalk web site",
	howpublished = "\url{https://logtalk.org/}"
}


@manual{TheLogtalkHandbook,
	author = {Paulo Moura},
	howpublished = {https://logtalk.org/papers/TheLogtalkHandbook-3.79.0.pdf},
	month = may,
	title = "{The Logtalk Handbook}",
	edition = "{Release 3.79.0}",
	year = 2024
}


@article{brown_dimitrova_hart_cohn_moura_2021,
   title = {Refactoring the Whitby Intelligent Tutoring System for Clean Architecture},
   DOI = {10.1017/S1471068421000326},
   journal = {Theory and Practice of Logic Programming},
   publisher = {Cambridge University Press},
   author = {Brown, Paul S. and Dimitrova, Vania and Hart, Glen and Cohn, Anthony G. and Moura, Paulo},
   year = {2021},
   pages = {1–17}
}


@inproceedings{pmoura13b,
	author = {Paulo Moura},
	title = "{A Portable and Efficient Implementation of Coinductive Logic Programming}",
	booktitle = {Proceedings of the Fifteenth International Symposium on Practical Aspects of Declarative Languages},
	editor = "Kostis Sagonas",
	series = "Lecture Notes in Computer Science",
	pages = {77-92},
	volume = "7752",
	year = {2013},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg",
	doi = {10.1007/978-3-642-45284-0_6},
	url = {http://dx.doi.org/10.1007/978-3-642-45284-0_6}
}


@inproceedings{pmoura13a,
	author = {Sergio Castro and Kim Mens and Paulo Moura},
	title = "{LogicObjects: Enabling Logic Programming in Java Through Linguistic Symbiosis}",
	booktitle = {Proceedings of the Fifteenth International Symposium on Practical Aspects of Declarative Languages},
	editor = "Kostis Sagonas",
	series = "Lecture Notes in Computer Science",
	pages = {26-42},
	volume = "7752",
	year = {2013},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg",
	doi = {10.1007/978-3-642-45284-0_3},
	url = {http://dx.doi.org/10.1007/978-3-642-45284-0_3}
}


@incollection {pmoura12d,
	author = "Paulo Moura",
	title = "{Meta-predicate Semantics}",
	booktitle = {Logic-Based Program Synthesis and Transformation},
	series = {Lecture Notes in Computer Science},
	editor = "Germán Vidal",
	publisher = {Springer Berlin / Heidelberg},
	isbn = {978-3-642-32210-5},
	keyword = {Computer Science},
	pages = {155-172},
	volume = {7225},
	url = {http://dx.doi.org/10.1007/978-3-642-32211-2_11},
	doi = {10.1007/978-3-642-32211-2_11},
	year = {2012}
}


@inproceedings{pmoura12c,
	author = "Paulo Moura",
	title = "{Coinductive Logic Programming in Logtalk}",
	booktitle = {Proceedings of the 1st Workshop on Coinductive Logic Programming},
	series = {CO-LP 2012},
	month = sep,
	year = 2012,
	location = {Budapest, Hungary},
	numpages = {14},
	keywords = {logic programming, coinduction, objects, implementation, portability}
}


@inproceedings{pmoura12b,
	author = "Paul Tarau and Arun Majumdar and Paulo Moura",
	title = "{Agent Spaces: a Scalable Architecture for Distributed Logic Agents}",
	booktitle = {Proceedings of the ACM Research in Applied Computation Symposium (RACS)},
    editor = {Guo, Minyi and Hong, Jiman and Nadimi, Esmaeil},
	series = {RACS 2012},
	month = oct,
	year = 2012,
	isbn = {978-1-4503-1492-3},
	location = {San Antonio, TX, USA},
    pages = {263-269},
	numpages = {6},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Agent mobility protocols, Remote execution of logic programs, Distributed dynamic Prolog databases, Agent coordination}
}


@inproceedings{pmoura12a,
	author = "Sergio Castro and Kim Mens and Paulo Moura",
	title = "{A Linguistic Symbiosis Approach to Bring the Declarative Power of Prolog to Java}",
	booktitle = {Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution},
	series = {RAM-SE '12},
	month = jun,
	year = 2012,
	isbn = {978-1-4503-1277-6},
	location = {Beijing, China},
	pages = {11--16},
	numpages = {6},
	url = {http://doi.acm.org/10.1145/2237887.2237890},
	doi = {10.1145/2237887.2237890},
	acmid = {2237890},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {linguistic symbiosis, logic programming, multi-paradigm programming, object-oriented programming}
}


@inproceedings{pmoura11c,
	author = "Paulo Moura",
	title = "{Meta-Predicate Semantics}",
	booktitle = {Pre-Proceedings of the 21st International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR)},
	editor = "German Vidal",
	publisher = "University of Southern Denmark",
	pages = "48--62",
	month = jul,
	year = 2011
}


@inproceedings{pmoura11b,
	author = "Paulo Moura and Artur Miguel Dias",
	title = "{L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory}",
	booktitle = {Proceedings of the 11th Colloquium on Implementation of Constraint LOgic Programming Systems},
	editor = "Salvador Abreu and Vitor Santos Costa",
	month = jul,
	year = 2011
}


@incollection{pmoura11a,
	author = {Paulo Moura},
	booktitle = {Applications of Declarative Programming and Knowledge Management},
	title = {Programming Patterns for Logtalk Parametric Objects},
	editor = "Salvador Abreu and Dietmar Seipel",
	series = "Lecture Notes in Artificial Intelligence",
	volume = "6547",
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg",
	pages = "52--69",
	month = apr,
	year = 2011
}


@inproceedings{pmoura10c,
	author = "Michael Igler and Paulo Moura and Matthias Faerber and Michael Zeising and Stefan Jablonski",
	title = "{Modeling and Planning Collaboration using Organizational Constraints}",
	booktitle = {Proceedings of the 6th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom)},
	publisher = "IEEE Digital Library",
	month = oct,
	year = 2010
}


@inproceedings{pmoura10b,
	author = "Michael Igler and Paulo Moura and Michael Zeising and Stefan Jablonski",
	title = "{ESProNa: Constraint-Based Declarative Business Process Modeling}",
	booktitle = {Proceedings of the Third International Workshop on Dynamic and Declarative Business Processes (DDBP)},
	publisher = "IEEE Computer Society",
	pages = "91--98",
	month = oct,
	year = 2010,
    doi = {http://dx.doi.org/10.1109/EDOCW.2010.10}
}


@inproceedings{pmoura10a,
	author = "Paulo Moura",
	title = "{Towards a Study of Meta-Predicate Semantics}",
	booktitle = {Proceedings of the 10th Colloquium on Implementation of Constraint LOgic Programming Systems},
	editor = "German Vidal and Neng-Fa Zhou",
	month = jul,
	year = 2010
}


@inproceedings{pmoura09d,
	author = {Paulo Moura},
	title = "{Knowledge Representation Using Logtalk Parametric Objects}",
	booktitle = {Proceedings of the 18th International Conference on Applications of Declarative Programming and Knowledge Management (INAP)},
	editor = "Salvador Abreu and Dietmar Seipel",
	publisher = "University of \'Evora, Portugal",
	pages = {225-240},
	month = nov,
	year = 2009
}


@inproceedings{pmoura09c,
	author = {Paulo Moura},
	title = "{From Plain Prolog to Logtalk Objects: Effective Code Encapsulation and Reuse (Invited Talk)}",
	booktitle = {Proceedings of the 25th International Conference on Logic Programming},
	editor = "Patricia M. Hill and David S. Warren",
	series = "Lecture Notes in Computer Science",
	volume = "5649",
	month = jul,
	year = {2009},
	pages = {23},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg",
	howpublished = "\url{https://logtalk.org/papers/iclp2009/logtalk_iclp2009.pdf}"
}


@inproceedings{pmoura09b,
	author = {Paulo Moura},
	title = "{Secure Implementation of Meta-predicates}",
	booktitle = {Proceedings of the Eleventh International Symposium on Practical Aspects of Declarative Languages},
	editor = "Andy Gill and Terrance Swift",
	series = "Lecture Notes in Computer Science",
	volume = "5418",
	month = jan,
	year = {2009},
	pages = {269--283},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg"
}


@inproceedings{pmoura09a,
	author = {Paulo Moura and Ricardo Rocha and Sara C. Madeira},
	title = "{High Level Thread-Based Competitive Or-Parallelism in Logtalk}",
	booktitle = {Proceedings of the Eleventh International Symposium on Practical Aspects of Declarative Languages},
	editor = "Andy Gill and Terrance Swift",
	series = "Lecture Notes in Computer Science",
	volume = "5418",
	month = jan,
	year = {2009},
	pages = {107--121},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg"
}


@inproceedings{pmoura08b,
	author = {Paulo Moura and Ricardo Rocha and Sara C. Madeira},
	title = "{Thread-Based Competitive Or-Parallelism}",
	booktitle = {Proceedings of the 24th International Conference on Logic Programming},
	series = "Lecture Notes in Computer Science",
	editor = "Maria Garcia de la Banda and Enrico Pontelli",
	volume = 5366,
	month = dec,
	year = 2008,
	pages = {713--717},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg"
}


@inproceedings{pmoura08a,
	author = {Paulo Moura and Paul Crocker and Paulo Nunes},
	title = "{High-Level Multi-threading Programming in Logtalk}",
	booktitle = {Proceedings of the Tenth International Symposium on Practical Aspects of Declarative Languages},
	editor = "Paul Hudak and David S. Harren",
	series = "Lecture Notes in Computer Science",
	volume = "4902",
	month = jan,
	year = {2008},
	pages = {265--281},
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg"
}


@inproceedings{pmoura07,
	author = "Paulo Moura and Paul Crocker and Paulo Nunes",
	title = "{Multi-threading programming in Logtalk}",
	booktitle = {Proceedings of the 7th Colloquium on Implementation of Constraint LOgic Programming Systems},
	editor = "Salvador Abreu and Vitor Santos Costa",
	month = sep,
	year = 2007,
	pages = "87--101",
	publisher = "University of Oporto",
	address = "Oporto, Portugal"
}


@inproceedings{pmoura06,
	author = "Paulo Moura and Vincent Marchetti",
	title = "{Logtalk Processing of STEP Part 21 Files}",
	booktitle = {Proceedings of the 22nd International Conference on Logic Programming},
	series = "Lecture Notes in Computer Science",
	editor = "S. Etalle and M. Truszczy\'nski",
	number = 4079,
	month = aug,
	year = 2006,
	pages = "453--454",
	publisher = "Springer-Verlag",
	address = "Berlin Heidelberg"
}


@phdthesis{pmoura03,
	author = "Paulo Moura",
	title = "{Logtalk - Design of an Object-Oriented Logic Programming Language}",
	school = "Department of Computer Science, University of Beira Interior, Portugal",
	month = sep,
	year = 2003,
	howpublished = "\url{https://logtalk.org/papers/thesis.pdf}"
}


@unpublished{pmoura00c,
	Author = "Paulo Moura",
	Title = "{Category-Based Composition in Object-Oriented Languages}",
	month = nov,
	year = 2000,
	howpublished = "\url{https://logtalk.org/papers/categories_ecoop.pdf}",
	annote = "Submitted to ECOOP 2001"
}


@techreport{pmoura00b,
	author = "Paulo Moura",
	title = "{Logtalk 2.6 Documentation}",
	institution = "University of Beira Interior, Portugal",
	number = "DMI 2000/1",
	month = jul,
	year = 2000,
	howpublished = "\url{https://logtalk.org/files/trdmi20001a4.pdf.gz}"
}


@unpublished{pmoura00a,
	Author = "Paulo Moura",
	Title = "{Category-Based Composition in Object-Oriented Languages}",
	month = apr,
	year = 2000,
	howpublished = "\url{https://logtalk.org/papers/categories_oopsla.pdf}",
	annote = "Submitted to OOPSLA 2000"
}


@article{pmoura99,
	author = "Paulo Moura",
	title = "{Porting Prolog: Notes on porting a Prolog program to 22 Prolog compilers or the relevance of the ISO Prolog standard}",
	journal = "Association of Logic Programming Newsletter",
	volume = 12,
	number = 2,
	month = may,
	year = 1999
}
