research interests dds

Research Interests

Software Engineering Tools and Techniques

Currently we are working on the quality aspects of open source software. In an IEEE Software theme issue we examined how open source software affects software development [1]. I examine software quality using examples from open source projects in my book Code Quality: The Open Source Perspective [2], and some related articles [3] [4] [5] [6] [7] [8] We also launched the SQO-OSS research project to establish an observatory for open source software quality. The system's design is reported in [9]. [10]. In this context we have developed a FindBugs extension to detect errors in API invocations [11], studied power laws in software [12], and a tool to calculate efficiently Chidamber and Kemerer object-oriented metrics in Java programs.

Another part of my work concerns approaches, algorithms and systems that allow the refactoring of legacy applications. A result of this work is the CScout source code analyzer and refactoring browser for collections of C programs [13]. It can process workspaces of multiple projects mapping the complexity introduced by the C preprocessor back into the original C source code files. The book Code Reading: The Open Source Perspective [14] provides prescriptive guidelines and describes approaches on how existing code can be read for a number of different purposes. A related article [15] discusses how these issues apply in everyday environments. In a workshop paper [16] we examine the relationship between refactoring and quality metrics.

In addition, we focus our work concerning software engineering on the development, use, and re-use of tools as well as specialised programming languages. For example, trace, a simple tool to examine an application's interaction with the operating system can lead to new diagnostic and profiling insights [17], the RCS tools we developed allow one to view RCS checked out files, remove files that can be safely checked out, and create a project state list, and stat provides a shell interface for the stat(2) system call allowing Unix shell scripts to process file characteristics. We have also demonstrated how, in a specific class of applications, the composition of simple tools can be used to increase the parallelism in a data pipeline [18]. An IEEE Software special issue I co-edited [19] and a series of IEEE Software columns further examines the relationship between tools and software development [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37], [38], [39], [40], [41].

Many existing tools such as the Unix tool family and and libraries can be ported [42] (see also the first MS-DOS Perl port and the MS-DOS popen(3) port) or re-used (e.g. the zopen compression I/O library) in order to leverage their functionality in other domains or architectures in a process we term component mining [43]. We are addressing component interoperability considerations using a Java-based mediator [44] [45] [46] and have demonstrated its application in a component mining pattern language [47] and a visual programming environemnt based on an industry-standard GUI builder [48]. As further examples, the outwit tool suite we have implemented demonstrates how the Unix shell programming philosophy can be applied in the Microsoft Windows graphical user-interface environment [49], the UMLGraph system can be used to declaratively draw UML class and association diagrams [50], [51], and the fileprune tool schedules backup retention following prescribed distributions [52]. .

Programming language selection forms an important aspect of a system's implementation [53]. The use of lightweight languages as software engineering tools [54] bridges the semantic gap between the specification and the implementation, can offer economies of scale when implementing repetitive concepts, and can result in code that is readable, more reliable [55], compact, easy to maintain, and concisely documents the overall structure of the application. However, the proliferation of different languages within a project can contribute problems related to the poorly understood process, lack of tools, and scarcity of related resources.

We do not believe that all developments in the computing field result to progress. Some areas where concern is warranted include client-server computing [56], the Microsoft Windows application programming interface [57], the effect of system complexity on reliability [58], the promotion of successfull software engineers into management positions [59], and the citations of online material in archive publications [60].

Cited Works — Software Engineering Tools and Techniques

[1]
Diomidis Spinellis and Clemens Szyperski. How is open source affecting software development?. IEEE Software, 21(1):28–33, January/February 2004. (doi:10.1109/MS.2004.1259204)
[2]
Diomidis Spinellis. Code Quality: The Open Source Perspective. Addison-Wesley, Boston, MA, 2006.
[3]
Diomidis Spinellis. Code finessing. Dr. Dobb's, 31(11):58–63, November 2006.
[4]
Diomidis Spinellis. Some types of memory are more equal than others. ;login:, 31(2):29–36, April 2006.
[5]
Diomidis Spinellis. Global software development in the FreeBSD project. In P. Kruchten, Y. Hsieh, E. MacGregor, D. Moitra, and W. Strigel, editors, International Workshop on Global Software Development for the Practitioner, pages 73–79. ACM Press, May 2006. (doi:10.1145/1138506.1138524)
[6]
Diomidis Spinellis. 10 tips for spotting low-quality open source code. Enterprise Open Source Journal, 2(5):18–21, Sept/Oct 2006.
[7]
Diomidis Spinellis. Another level of indirection. In Andy Oram and Greg Wilson, editors, Beautiful Code: Leading Programmers Explain How They Think, chapter 17, pages 279–291. O'Reilly and Associates, Sebastopol, CA, 2007.
[8]
Diomidis Spinellis. A tale of four kernels. In Wilhem Schäfer, Matthew B. Dwyer, and Volker Gruhn, editors, ICSE '08: Proceedings of the 30th International Conference on Software Engineering, pages 381–390, New York, May 2008. Association for Computing Machinery. (doi:10.1145/1368088.1368140)
[9]
Georgios Gousios, Vassilios Karakoidas, Konstantinos Stroggylos, Panagiotis Louridas, Vasileios Vlachos, and Diomidis Spinellis. Software quality assessment of open source software. In Theodore S. Papatheodorou, Dimitris N. Christodoulakis, and Nikitas N. Karanikolas, editors, Current Trends in Informatics: 11th Panhellenic Conference on Informatics, PCI 2007, volume A, pages 303–315, Athens, May 2007. New Technologies Publications.
[10]
Ioannis Samoladas, Georgios Gousios, Diomidis Spinellis, and Ioannis Stamelos. The SQO-OSS quality model: Measurement based open source software evaluation. In Ernesto Damiani and Giancarlo Succi, editors, Open Source Development, Communities and Quality — OSS 2008: 4th International Conference on Open Source Systems, pages 237–248, Boston, September 2008. IFIP 20th World Computer Congress, Working Group 2.3 on Open Source Software, Springer. (doi:10.1007/978-0-387-09684-1_19)
[11]
Diomidis Spinellis and Panagiotis Louridas. A framework for the static verification of API calls. Journal of Systems and Software, 80(7):1156–1168, July 2007. (doi:10.1016/j.jss.2006.09.040)
[12]
Panagiotis Louridas, Diomidis Spinellis, and Vasileios Vlachos. Power laws in software. ACM Transactions on Software Engineering and Methodology, 18(1):1–26, September 2008. Article 2. (doi:10.1145/1391984.1391986)
[13]
Diomidis Spinellis. Global analysis and transformations in preprocessed languages. IEEE Transactions on Software Engineering, 29(11):1019–1030, November 2003. (doi:10.1109/TSE.2003.1245303)
[14]
Diomidis Spinellis. Code Reading: The Open Source Perspective. Addison-Wesley, Boston, MA, 2003.
[15]
Diomidis Spinellis. Reading, writing, and code. ACM Queue, 1(7):84–89, October 2003. (doi:10.1145/957717.957782)
[16]
Konstantinos Stroggylos and Diomidis Spinellis. Refactoring: Does it improve software quality?. In B. Boehm, S. Chulani, J. Verner, and B. Wong, editors, 5th International Workshop on Software Quality, pages 1–6. ACM Press, May 2007.
[17]
Diomidis Spinellis. Trace: A tool for logging operating system call transactions. Operating Systems Review, 28(4):56–63, October 1994. (doi:10.1145/191525.191540)
[18]
Diomidis Spinellis. Optimal peripheral access using pipe-based double-buffering. ;login:, 24(4):43–45, August 1999.
[19]
Simon Helsen, Arthur Ryman, and Diomidis Spinellis. Where's my jetpack?. IEEE Software, 25(5):18–21, September/October 2008. (doi:10.1109/MS.2008.138)
[20]
Diomidis Spinellis. The tools at hand. IEEE Software, 22(1):10–13, January/February 2005. (doi:10.1109/MS.2005.23)
[21]
Diomidis Spinellis. Dear editor. IEEE Software, 22(2):14–15, March/April 2005. (doi:10.1109/MS.2005.36)
[22]
Diomidis Spinellis. Java makes scripting languages irrelevant?. IEEE Software, 22(3):70–71, May/June 2005. (doi:10.1109/MS.2005.67)
[23]
Diomidis Spinellis. Tool writing: A forgotten art?. IEEE Software, 22(4):9–11, July/August 2005. (doi:10.1109/MS.2005.111)
[24]
Diomidis Spinellis. Software engineering glossary, version control, part I. IEEE Software, 22(5):107, September/October 2005. (doi:10.1109/MS.2005.141)
[25]
Diomidis Spinellis. Version control systems. IEEE Software, 22(5):108–109, September/October 2005. (doi:10.1109/MS.2005.140)
[26]
Diomidis Spinellis. Software engineering glossary, version control, part 2. IEEE Software, 22(6):c2–c3, November/December 2005. (doi:10.1109/MS.2005.169)
[27]
Diomidis Spinellis. Working with Unix tools. IEEE Software, 22(6):9–11, November/December 2005. (doi:10.1109/MS.2005.170)
[28]
Diomidis Spinellis. Project asset portability. IEEE Software, 23(1):100–101, January/February 2006. (doi:10.1109/MS.2006.28)
[29]
Diomidis Spinellis. Bug busters. IEEE Software, 23(2):92–93, March/April 2006. (doi:10.1109/MS.2006.40)
[30]
Diomidis Spinellis. Debuggers and logging frameworks. IEEE Software, 23(3):98–99, May/June 2006. (doi:10.1109/MS.2006.70)
[31]
Diomidis Spinellis. Choosing a programming language. IEEE Software, 23(4):62–63, July/August 2006. (doi:10.1109/MS.2006.97)
[32]
Diomidis Spinellis. Open source and professional advancement. IEEE Software, 23(5):70–71, September/October 2006. (doi:10.1109/MS.2006.136)
[33]
Diomidis Spinellis. Cracking software reuse. IEEE Software, 24(1):12–13, January/February 2007. (doi:10.1109/MS.2007.9)
[34]
Diomidis Spinellis. I spy. IEEE Software, 24(2):16–17, March/April 2007. (doi:10.1109/MS.2007.43)
[35]
Diomidis Spinellis. Silver bullets and other mysteries. IEEE Software, 24(3):22–23, May/June 2007. (doi:10.1109/MS.2007.88)
[36]
Diomidis Spinellis. The tools we use. IEEE Software, 24(4):20–21, July/August 2007. (doi:10.1109/MS.2007.121)
[37]
Diomidis Spinellis. Abstraction and variation. IEEE Software, 24(5):24–25, September/October 2007. (doi:10.1109/MS.2007.127)
[38]
Diomidis Spinellis. On paper. IEEE Software, 24(6):24–25, November/December 2007. (doi:10.1109/MS.2007.173)
[39]
Diomidis Spinellis. Software builders. IEEE Software, 25(3):22–23, May/June 2008. (doi:10.1109/MS.2008.74)
[40]
Diomidis Spinellis. The way we program. IEEE Software, 25(4):89–91, July/August 2008. (doi:10.1109/MS.2008.101)
[41]
Diomidis Spinellis. Start with the most difficult part. IEEE Software, 26(2):70–71, March/April 2009. (doi:10.1109/MS.2009.49)
[42]
Diomidis Spinellis. Wux: Unix tools under Windows. In USENIX Conference Proceedings, pages 325–336, Berkeley, CA, Winter 1994. USENIX Association.
[43]
Diomidis Spinellis. Explore, excogitate, exploit: Component mining. IEEE Computer, 32(9):114–116, September 1999. (doi:10.1109/2.789756)
[44]
Konstantinos Raptis, Diomidis Spinellis, and Sokratis Katsikas. Distributed object bridges and a Java-based object mediator. Informatik / Informatique, 2:4–8, April 2000.
[45]
Konstantinos Raptis, Diomidis Spinellis, and Sokratis Katsikas. Multi-technology distributed objects and their integration. Computer Standards & Interfaces, 23:157–168, July 2001. (doi:10.1016/S0920-5489(01)00070-8)
[46]
Konstantinos Raptis, Diomidis Spinellis, and Sokratis Katsikas. Java as distributed object glue. In World Computer Congress 2000. International Federation for Information Processing, August 2000.
[47]
Diomidis Spinellis and Konstantinos Raptis. Component mining: A process and its pattern language. Information and Software Technology, 42(9):609–617, June 2000. (doi:10.1016/S0950-5849(00)00105-1)
[48]
Diomidis Spinellis. Unix tools as visual programming components in a GUI-builder environment. Software: Practice & Experience, 32(1):57–71, January 2002. (doi:10.1002/spe.428)
[49]
Diomidis Spinellis. Outwit: Unix tool-based programming meets the Windows world. In Christopher Small, editor, USENIX 2000 Technical Conference Proceedings, pages 149–158, Berkeley, CA, June 2000. USENIX Association.
[50]
Diomidis Spinellis. On the declarative specification of models. IEEE Software, 20(2):94–96, March/April 2003. (doi:10.1109/MS.2003.1184181)
[51]
Diomidis Spinellis. Drawing UML diagrams with UMLGraph. Technical report, Athens University of Economics and Business, Athens, Greece, 2004. Available online.
[52]
Diomidis Spinellis. Organized pruning of file sets. ;login:, 28(3):39–42, June 2003.
[53]
Diomidis Spinellis and Rob Kolstad. A conversation about Perl and the shell: Choosing the implementation vehicle. ;login:, 22(3):25–31, June 1997.
[54]
Diomidis Spinellis and V. Guruprasad. Lightweight languages as software engineering tools. In USENIX Conference on Domain-Specific Languages, pages 67–76, Berkeley, CA, October 1997. USENIX Association.
[55]
Diomidis Spinellis. Reliable software implementation using domain specific languages. In G. I. Schuëller and P. Kafka, editors, Proceedings ESREL '99 — The Tenth European Conference on Safety and Reliability, pages 627–631, Rotterdam, September 1999. ESRA, VDI, TUM, A. A. Balkema.
[56]
Diomidis Spinellis. The computer's new clothes. IEEE Software, 15(6):14–17, November/December 1998. (doi:10.1109/MS.1998.10039)
[57]
Diomidis Spinellis. A critique of the Windows application programming interface. Computer Standards & Interfaces, 20(1):1–8, November 1998. (doi:10.1016/S0920-5489(98)00012-9)
[58]
Diomidis Spinellis. Software reliability: Modern challenges. In G. I. Schuëller and P. Kafka, editors, Proceedings ESREL '99 — The Tenth European Conference on Safety and Reliability, pages 589–592, Rotterdam, September 1999. ESRA, VDI, TUM, A. A. Balkema.
[59]
Diomidis Spinellis. Fear of coding, and how to reduce it. IEEE Computer, 34(8):98–100, August 2001. (doi:10.1109/MC.2001.940018)
[60]
Diomidis Spinellis. The decay and failures of web references. Communications of the ACM, 46(1):71–77, January 2003. (doi:10.1145/602421.602422)

Top

Computer Security

The rapidly increasing deployment of networked applications over the Internet and the World-Wide Web has important repercussions regarding security. Of particular interest to us is the handling of security advisories [1], penetration testing [2], the security of WWW applications [3] [4] [5], and in particular those based on mobile code [6] [7] as well as the use of sandboxing [8] technologies to contain attacks. Once an attack is underway, general purpose intrusion detection tools [9] [10] and technology-specific defenses [11] [12] can be used as an early warning system to contain it and react against it. We have also worked on the security aspects of vertical domains: telephone network privacy [13], electronic payment systems [14] smart cards [15], telemedical applications [16], the public sector [17], and the SME and SOHO environment [18].

The security properties of a system differ from its functional requirements; many of them comprise the absence of vulnerabilities regarding confidentiality, integrity, and availability rather than the existence of a particular feature. This, sometimes elusive, aspect of secure system and protocol implementation [19] can often be aided by the use of formal method techniques. We have examined the use of formal methods in the analysis of security protocols [20] [21] [22], their application in the detection of the cascade vulnerability problem [23] [24], the utilisation of reflection for verifying software integrity [25], and the theoretical boundaries virus complexity places on the corresponding detection programs [26].

It was thought that an important part of a global secure networked environment could be a public key infrastructure based on trusted third parties (TTPs) [27] [28]. An an example, TTPs can enable the secure use of sensitive medical data over a public network [29] [30] [31] as demonstrated by the EUROMED-ETS project [32]. As certificates used in a PKI environment can become invalidated it is important to deploy secure, usable, scalable, and interoperable certificate status information mechanisms. We have worked on the evaluation of such mechanisms to propose extensions to current protocols [33] [34] [35].

Cited Works — Computer Security

[1]
Dimitrios Lekkas and Diomidis Spinellis. Handling and reporting security advisories: A scorecard approach. IEEE Security and Privacy, 3(4):32–41, July/August 2005. (doi:10.1109/MSP.2005.98)
[2]
Markos Gogoulos and Diomidis Spinellis. Using Linux live CDs for penetration testing. ;login:, 31(3):40–45, June 2006.
[3]
Stefanos Gritzalis and Diomidis Spinellis. Addressing threats and security issues in World Wide Web technology. In Proceedings CMS '97 3rd IFIP TC6/TC11 International joint working Conference on Communications and Multimedia Security, pages 33–46. IFIP, Chapman & Hall, September 1997.
[4]
Victoria Skoularidou and Diomidis Spinellis. Securing the network client. In Proceedings of the Third International Network Conference INC '02, pages 389–396, July 2002.
[5]
Victoria Skoularidou and Diomidis Spinellis. Security architectures for network clients. Information Management and Computer Security, 11(2):84–91, 2003. (doi:10.1108/09685220310468664)
[6]
Stefanos Gritzalis, George Aggelis, and Diomidis Spinellis. Programming languages for mobile code: A problems viewpoint. In Proceedings of the First International Network Conference INC '98, pages 210–217. IEE, Internet Research, July 1998.
[7]
Stefanos Gritzalis, George Aggelis, and Diomidis Spinellis. Architectures for secure portable executable content. Internet Research, 9(1):16–24, 1999. (doi:10.1108/10662249910251273)
[8]
Vassilis Prevelakis and Diomidis Spinellis. Sandboxing applications. In USENIX 2001 Technical Conference Proceedings: FreeNIX Track, pages 119–126, Berkeley, CA, June 2001. USENIX Association.
[9]
Diomidis Spinellis and Dimitris Gritzalis. A domain-specific language of intrusion detection. In Proceedings of the 1st ACM Workshop on Intrusion Detection Systems. ACM, November 2000.
[10]
Diomidis Spinellis and Dimitris Gritzalis. Panoptis: Intrusion detection using a domain-specific language. Journal of Computer Security, 10:159–176, 2002.
[11]
Dimitris Mitropoulos and Diomidis Spinellis. Countering SQL injection attacks with a database driver. In Theodore S. Papatheodorou, Dimitris N. Christodoulakis, and Nikitas N. Karanikolas, editors, Current Trends in Informatics: 11th Panhellenic Conference on Informatics, PCI 2007, volume B, pages 105–115, Athens, May 2007. New Technologies Publications.
[12]
Dimitris Mitropoulos and Diomidis Spinellis. SDriver: Location-specific signatures prevent SQL injection attacks. Computers and Security, 2009. (doi:10.1016/j.cose.2008.09.005)
[13]
Vassilis Prevelakis and Diomidis Spinellis. The Athens affair. IEEE Spectrum, 44(7):26–33, July 2007. (doi:10.1109/MSPEC.2007.376605)
[14]
Dimitrios Lekkas and Diomidis Spinellis. Implementing regular cash with blind fixed-value electronic coins. Computer Standards & Interfaces, 29(3):277–288, March 2007. (doi:10.1016/j.csi.2006.01.005)
[15]
Vasilios Almaliotis, Alexandros Loizidis, Panagiotis Katsaros, Panagiotis Louridas, and Diomidis Spinellis. Static program analysis for Java Card applets. In Gilles Grimaud and François-Xavier Standaert, editors, Smart Card Research and Advanced Applications — CARDIS 2008: Proceedings of the 8th IFIP Smart Card Research and Advanced Application Conference, pages 17–31. Springer Verlag, September 2008. Lecture Notes in Computer Science 5189. (doi:10.1007/978-3-540-85893-5_2)
[16]
Soktratis Katsikas, Diomidis Spinellis, John Iliadis, and Bernd Blobel. Using TTPs for secure telemedical applications over the WWW: The EUROMED-ETS approach. In Pre-proceedings of the IMIA WG4 working Conference on Common security solutions for communicating patient data. International Medical Informatics Association (IMIA), November 1997.
[17]
Euripides Loukis and Diomidis Spinellis. Information systems security in the Greek public sector. Information Management and Computer Security, 9(1):21–31, 2001.
[18]
Diomidis Spinellis, Spyros Kokolakis, and Stephanos Gritzalis. Security requirements, risks, and recommendations for small enterprise and home-office environments. Information Management and Computer Security, 7(3):121–128, 1999. (doi:10.1108/09685229910371071)
[19]
Diomidis Spinellis. Reflections on trusting trust revisited. Communications of the ACM, 46(6):112, June 2003. (doi:10.1145/777313.777347)
[20]
Stefanos Gritzalis and Diomidis Spinellis. Cryptographic protocols over open distributed systems: A taxonomy of flaws and related protocol analysis tools. In Peter Daniel, editor, 16th International Conference on Computer Safety, Reliability and Security: SAFECOMP '97, pages 123–137, Berlin, September 1997. European Workshop on Industrial Computer Systems: TC-7, Springer Verlag.
[21]
Stefanos Gritzalis, Diomidis Spinellis, and Panagiotis Georgiadis. Security protocols over open networks and distributed systems: Formal methods for their analysis, design, and verification. Computer Communications, 22(8):695–707, May 1999. (doi:10.1016/S0140-3664(99)00030-4)
[22]
Diomidis Spinellis and Dimitris Gritzalis. Information security best practice dissemination: The ISA-EUNET approach. In Louise Yngström and Simone Fisher-Hübner, editors, WISE 1: First World Conference on Information Security Education, pages 111–136. IFIP TC11 WG 11.8, June 1999.
[23]
Stefanos Gritzalis and Diomidis Spinellis. The cascade vulnerability problem for open distributed systems: A review. In IFIP TC5 WG5.4 3rd International Conference on Reliability, Quality & Safety of Software-Intensive Systems, ENCRESS '97, pages 175–185. IFIP, Chapman & Hall, May 1997.
[24]
Stefanos Gritzalis and Diomidis Spinellis. The cascade vulnerability problem: The detection problem and a simulated annealing approach for its correction. Microprocessors and Microsystems, 21(10):621–628, April 1998. (doi:10.1016/S0141-9331(98)00064-7)
[25]
Diomidis Spinellis. Reflection as a mechanism for software integrity verification. ACM Transactions on Information and System Security, 3(1):51–62, February 2000. (doi:10.1145/353323.353383)
[26]
Diomidis Spinellis. Reliable identification of bounded-length viruses is NP-complete. IEEE Transactions on Information Theory, 49(1):280–284, January 2003. (doi:10.1109/TIT.2002.806137)
[27]
Dimitrios Lekkas, Sokratis K. Katsikas, Diomidis Spinellis, Pavel Gladychev, and Ahmed Patel. User requirements of trusted third parties in Europe. In Simone Fisher-Hübner, Gerald Quirchmayr, and Louise Yngström, editors, User Identification & Privacy Protection: Applications in Public Administration & Electronic Commerce, pages 229–242. IFIP WG 8.5 and WS 9.6, June 1999.
[28]
D. Spinellis, K. Moulinos, J. Iliadis, D. Gritzalis, S. Gritzalis, and S. Katsikas. Deploying a secure cyberbazaar by adding trust on commercial transactions. eJETA.org, 1(2), November 2002. Available online http://minbar.cs.dartmouth.edu/greecom/ejeta/second-issue.php?download=ejeta-2002.05.10.15.43.34.pdf.
[29]
Sokratis Katsikas, Diomidis Spinellis, John Iliadis, and Bernd Blobel. Using trusted third parties for secure telemedical applications over the WWW: The EUROMED-ETS approach. International Journal of Medical Informatics, 49(1):59–68, March 1998. (doi:10.1016/S1386-5056(98)00011-2)
[30]
Stephanos Gritzalis, John Iliadis, Dimitris Gritzalis, Diomidis Spinellis, and Sokratis Katsikas. Developing secure Web-based medical applications. Medical Informatics and the Internet in Medicine, 24(1):75–90, March 1999. (doi:10.1080/146392399298537)
[31]
Diomidis Spinellis, Stefanos Gritzalis, John Iliadis, Dimitris Gritzalis, and Sokratis Katsikas. Trusted third party services for deploying secure telemedical applications over the WWW. Computers and Security, 18(7):627–639, 1999. (doi:10.1016/S0167-4048(99)82041-0)
[32]
D. Polemi, , A. Varvitsiotis, , S. Velentzas, A. Marsh, S. Gritzalis, D. Spinellis, J. Iliadis, D. Dimitriadis, D. Blobel, P. Pharow, L. de Luca, and B. Barber. Trusted third party services for health care in Europe. EUROMED-ETS final report, Institute of Communication and Computer Systems, National Technical University of Athens, Athens, Greece, February 1998. CEC/DG XIII/INFOSEC Project 20820.
[33]
John Iliadis, Diomidis Spinellis, Dimitris Gritzalis, Bart Preneel, and Sokratis Katsikas. Evaluating certificate status information mechanisms. In Proceedinds of the 7th ACM Conference on Computer and Communication Security: CCS '2000, pages 1–8. ACM, November 2000. (doi:10.1145/352600.352603)
[34]
Ioannis S. Iliadis, Diomidis Spinellis, Sokratis Katsikas, and Bart Preneel. A taxonomy of certificate status information mechanisms. In Information Security Solutions Europe ISSE 2000. European Forum for Electronic Business, September 2000.
[35]
John Iliadis, Stefanos Gritzalis, Diomidis Spinellis, Danny de Cock, Bart Preneel, and Dimitris Gritzalis. Towards a framework for evaluating certificate status information mechanisms. Computer Communications, 26(16):1839–1850, October 2003. (doi:10.1016/S0140-3664(03)00079-3)

Top

Programming Languages

Programming languages affect the way we think about problems and implement solutions. Languages differ in their strengts and weaknesses depending on the language design [1], the underlying paradigm, and the application domain.

One way to capitalise on the strengths of different languages is multiparadigm programming which allows the implementation of a problem in a number of different programming paradigms. We have proposed an object-oriented approach [2] [3] [4] towards multiparadigm programming, which can also be used to unify computing system architectures [5].

A different way towards the nirvana of succint system implementation follows the use of domain-specific languages (DSLs) [6]. We have used declarative DSLs for the development of an architectural CAD system [7], an implementation of the Haskell language [8] [9], RC, a programmable universal remote control [10], a database report generator [11], a string pattern matching declarative peephole optimiser [12], an intrusion detection system [13] [14], a specification system for drawing UML diagrams [15], an emulator of the Antikythera mechanism's gears, [16], and a system for expressing exotic trade products [17].

We believe that the use of DSLs can positively affect software reliability [18] and productivity. We have therefore proposed a number of design patterns that can be employed to use and implement DSLs [19] as well as high-level requirements for metaprogramming systems [20] At a higher level, model-driven architectures may provide us with the design paradigm required to implement large-scale complex systems [21].

Another research strand concerns language design and implementation. Improvements to a language's design [22] and innovative implementation techniques, such as intelligent debugging [23] and robust type-safe linking [24] [25], can help the early detection and identification of program errors. In addition, the realisation of minimalist programs, interpreters, and compilers can sometimes provide entertainment, edification, and demonstration of the power of reflective programming techniques.

We have also examined security aspects of languages that allow the creation of mobile code [26] [27], how the programming language theoretic aspect of reflection can be used in computer security [28], and the theoretical boundaries virus complexity places on detection programs [29]. Another strand in this area concerns performance, where we have examined how Java's performance can be evaluated and improved [30] [31] [32].

Currently we are working on algorithms and systems that allow the refactoring of legacy applications written in C. A result of this work is the CScout source code analyzer and refactoring browser for collections of C programs [33] [34]. It can process workspaces of multiple projects mapping the complexity introduced by the C preprocessor back into the original C source code files thereby fixin problems like extraneous header include file directives [35]

Cited Works — Programming Languages and Tools

[1]
Diomidis Spinellis and Rob Kolstad. A conversation about Perl and the shell: Choosing the implementation vehicle. ;login:, 22(3):25–31, June 1997.
[2]
Diomidis Spinellis. Programming Paradigms as Object Classes: A Structuring Mechanism for Multiparadigm Programming. PhD thesis, Imperial College, London, UK, February 1994.
[3]
Diomidis Spinellis, Sophia Drossopoulou, and Susan Eisenbach. Object-oriented technology in multiparadigm language implementation. Journal of Object-Oriented Programming, 8(1):33–38, March/April 1995.
[4]
Diomidis Spinellis, Sophia Drossopoulou, and Susan Eisenbach. An object model for multiparadigm programming. In Dennis Kafura, Greg Lavender, and Siva Challa, editors, OOPSLA '94 Workshop on Multi-Language Object Models, October 1994. http://actor.cs.vt.edu/~siva/wshop.html.
[5]
Diomidis Spinellis, Sophia Drossopoulou, and Susan Eisenbach. Language and architecture paradigms as object classes: A unified approach towards multiparadigm programming. In Jürg Gutknecht, editor, Programming Languages and System Architectures International Conference, pages 191–207, Berlin, March 1994. Springer-Verlag. Lecture Notes in Computer Science 782. (doi:10.1007/3-540-57840-4_32)
[6]
Diomidis Spinellis and V. Guruprasad. Lightweight languages as software engineering tools. In USENIX Conference on Domain-Specific Languages, pages 67–76, Berkeley, CA, October 1997. USENIX Association.
[7]
Diomidis Spinellis. Tekton: A program for the composition, design, and three-dimensional view of architectural subjects. In 4th Panhellenic Informatics Conference, volume I, pages 361–372. Greek Computer Society, December 1993. In Greek.
[8]
Diomidis Spinellis. An implementation of the Haskell language. Master's thesis, Imperial College, London, UK, June 1990.
[9]
Diomidis Spinellis. Implementing Haskell: Language implementation as a tool building exercise. Structured Programming (Software Concepts and Tools), 14:37–48, 1993.
[10]
Diomidis Spinellis. Palmtop programmable appliance controls. Personal Technologies (Personal and Ubiquitous Computing), 2(1):11–17, March 1998. (doi:10.1007/BF01581842)
[11]
Diomidis Spinellis. Small tools for automatic text generation. ;login:, 23(4):44–47, August 1998.
[12]
Diomidis Spinellis. Declarative peephole optimization using string pattern matching. ACM SIGPLAN Notices, 34(2):47–51, February 1999. (doi:10.1145/307903.307921)
[13]
Diomidis Spinellis and Dimitris Gritzalis. A domain-specific language of intrusion detection. In Proceedings of the 1st ACM Workshop on Intrusion Detection Systems. ACM, November 2000.
[14]
Diomidis Spinellis and Dimitris Gritzalis. Panoptis: Intrusion detection using a domain-specific language. Journal of Computer Security, 10:159–176, 2002.
[15]
Diomidis Spinellis. On the declarative specification of models. IEEE Software, 20(2):94–96, March/April 2003. (doi:10.1109/MS.2003.1184181)
[16]
Diomidis Spinellis. The Antikythera mechanism: A computer science perspective. IEEE Computer, 41(5):22–27, May 2008. (doi:10.1109/MC.2008.166)
[17]
Simon Frankau, Diomidis Spinellis, Nick Nassuphis, and Christoph Burgard. Commercial uses: Going functional on exotic trades. Journal of Functional Programming, 19(1):27–45, October 2008. (doi:10.1017/S0956796808007016)
[18]
Diomidis Spinellis. Reliable software implementation using domain specific languages. In G. I. Schuëller and P. Kafka, editors, Proceedings ESREL '99 — The Tenth European Conference on Safety and Reliability, pages 627–631, Rotterdam, September 1999. ESRA, VDI, TUM, A. A. Balkema.
[19]
Diomidis Spinellis. Notable design patterns for domain specific languages. Journal of Systems and Software, 56(1):91–99, February 2001. (doi:10.1016/S0164-1212(00)00089-3)
[20]
Diomidis Spinellis. Rational metaprogramming. IEEE Software, 25(1):78–79, January/February 2008. (doi:10.1109/MS.2008.15)
[21]
Vassilios Karakoidas, Stephanos Androutsellis-Theotokis, Diomidis Spinellis, and Yannis Charalabidis. Applying MDA in enterprise application interoperability: The PRAXIS project. In Harald Kühn, editor, Workshop on Ontology and Enterprise Modelling: Intgredients for Interoperability, pages 76–84, December 2004.
[22]
Diomidis Spinellis. A modest proposal for curing the public field phobia. ACM SIGPLAN Notices, 37(4):54–56, April 2002. (doi:10.1145/510857.510868)
[23]
Diomidis Spinellis. The design and implementation of a two process Prolog debugger. Technical Report IR-LP-31-21, ECRC GmbH, Munich, Germany, August 1989.
[24]
Diomidis Spinellis. Type-safe linkage for variables and functions. ACM SIGPLAN Notices, 26(8):74–79, August 1991. (doi:10.1145/122598.122605)
[25]
Diomidis Spinellis. Checking C declarations at link time. The Journal of C Language Translation, 4(3):238–249, March 1993.
[26]
Stefanos Gritzalis, George Aggelis, and Diomidis Spinellis. Programming languages for mobile code: A problems viewpoint. In Proceedings of the First International Network Conference INC '98, pages 210–217. IEE, Internet Research, July 1998.
[27]
Stefanos Gritzalis, George Aggelis, and Diomidis Spinellis. Architectures for secure portable executable content. Internet Research, 9(1):16–24, 1999. (doi:10.1108/10662249910251273)
[28]
Diomidis Spinellis. Reflection as a mechanism for software integrity verification. ACM Transactions on Information and System Security, 3(1):51–62, February 2000. (doi:10.1145/353323.353383)
[29]
Diomidis Spinellis. Reliable identification of bounded-length viruses is NP-complete. IEEE Transactions on Information Theory, 49(1):280–284, January 2003. (doi:10.1109/TIT.2002.806137)
[30]
Vassilios Karakoidas and Diomidis Spinellis. FIRE/J — optimizing regular expression searches with generative programming. Software: Practice & Experience, 38(6):557–573, May 2008. (doi:10.1002/spe.841)
[31]
Giorgos Gousios, Vassilios Karakoidas, and Diomidis Spinellis. Tuning Java's memory manager for high performance server applications. In Alexios Zavras, editor, Proceedings of the 5th International System Administration and Network Engineering Conference SANE 06, pages 69–83. NLUUG, Stichting SANE, May 2006.
[32]
Georgios Gousios and Diomidis Spinellis. Java performance evaluation using external instrumentation. In Stefanos Gritzalis, Dimitris Plexousakis, and Dionysios Pnevmatikatos, editors, PCI 2008: 12th Panhellenic Conference on Informatics, pages 173–177, Los Alamitos, CA, August 2008. IEEE Computer Society. (doi:10.1109/PCI.2008.14)
[33]
Diomidis Spinellis. Global analysis and transformations in preprocessed languages. IEEE Transactions on Software Engineering, 29(11):1019–1030, November 2003. (doi:10.1109/TSE.2003.1245303)
[34]
Diomidis Spinellis. CScout: A refactoring browser for C. In Kim Mens, Mark van den Brand, Adrian Kuhn, Holger M. Kienle, and Roel Wuyts, editors, WASDeTT 2008: International Workshop on Advanced Software Development Tools and Techniques, July 2008.
[35]
Diomidis Spinellis. Optimizing header file include directives. Journal of Software Maintenance and Evolution: Research and Practice, 2009. (doi:10.1002/smr.369)

Top

Text Processing and Multilinguality

The two faceted nature of text renders it a natural interface between code and data and thus creates a number of research opportunities. In this context we have In addition, in response to non interoperating approaches used for interchanging email containing Greek text, we have proposed standard-based techniques to aleviate this problem [12] and implemented grconv, a tool that converts between around 100 character sets, encodings, transcription, and transliteration methods that are used to represent Greek text

We have also examined how the extensible generalized markup language (XML) in conjunction with domain-specific languages can be used as an integrating factor for Web-based information dissemination [13]. Examples of this approach are this page as well as all our lecture note pages (in Greek); all of them are written in XML and converted into HTML using domain-specific tools.

Cited Works — Text Processing and Multilinguality

[1]
Diomidis Spinellis and Panagiotis Louridas. The collaborative organization of knowledge. Communications of the ACM, 51(8):68–73, August 2008. (doi:10.1145/1378704.1378720)
[2]
Giorgos Gousios and Diomidis Spinellis. A comparison of portable dynamic web content technologies for the apache web server. In Proceedings of the 3rd International System Administration and Networking Conference SANE 2002, pages 103–119, May 2002. Best refereed paper award.
[3]
Diomidis Spinellis. The decay and failures of web references. Communications of the ACM, 46(1):71–77, January 2003. (doi:10.1145/602421.602422)
[4]
Diomidis Spinellis. Index-based persistent document identifiers. Information Retrieval, 8(1):5–24, January 2005. (doi:10.1023/B:INRT.0000048494.05013.6a)
[5]
Georgios Atsaros, Diomidis Spinellis, and Panagiotis Louridas. Site-specific versus general purpose web search engines: A comparative evaluation. In Stefanos Gritzalis, Dimitris Plexousakis, and Dionysios Pnevmatikatos, editors, PCI 2008: 12th Panhellenic Conference on Informatics, pages 44–48, Los Alamitos, CA, August 2008. IEEE Computer Society. (doi:10.1109/PCI.2008.47)
[6]
Diomidis Spinellis, editor. Cross-Media Service Delivery, volume 740 of The Kluwer international series in engineering and computer science. Kluwer Academic Publishers, Boston, MA, 2003.
[7]
Diomidis Spinellis. The design and implementation of a legal text database. In Dimitris Karagiannis, editor, DEXA 94: 5th International Conference on Database and Expert Systems Applications, pages 339–348, Berlin, September 1994. Springer-Verlag. Lecture Notes in Computer Science 856. (doi:10.1007/3-540-58435-8_198)
[8]
Diomidis Spinellis. DIKAIO: High court decisions on the internet and on CD-ROM. In First Greek Technical Chamber Informatics Conference: The Information Society, pages 546–555. Technical Chamber of Greece, December 1995. In Greek.
[9]
Diomidis Spinellis. Small tools for automatic text generation. ;login:, 23(4):44–47, August 1998.
[10]
Marios Sintichakis, Theodore Kalamboukis, and Diomidis Spinellis. A computer-assisted lexicographic application. In 15th International Symposium on Theoretical & Applied Linguistics, May 2001.
[11]
John Tait, Jeremy Ellman, and Diomidis Spinellis. MABLe: a multilingual authoring tool for business letters. In ASLIB: 21st International Conference on Translating and the Computer. The Association for Information Management, November 1999.
[12]
Diomidis Spinellis. Greek character encoding for electronic mail messages. Network Information Center, Request for Comments 1947, May 1996. RFC-1947.
[13]
Diomidis Spinellis. Using and abusing XML. IEEE Software, 25(2):88–89, March/April 2008. (doi:10.1109/MS.2008.55)

Top

Pervasive Computing

The application of information technology in our everyday environment creates new opportunities to enhance the way people interact and experience their suroundings [1] or even appreciate how computers work. Consider how the control functions of a modern home could be designed so as to integrate the diverse electronic appliances we struggle with every day into a usable centralized system that will exploit the underlying synergies [2], [3], or how location-based services can be used in an exhibition floor [4] [5], [6] [7] or in a supermarket environment [8], [9]. The way we interact with our personal computer is probably not the way that should be used to interact with the information systems in our environment. A new metaphor [10] [11] [12] and personalized approaches [13] [14] [15] [16] [17] [18] are needed to make our experience truly pervasive and enjoybable. As a further example, GPS-derived positioning can be combined with geographic databases to automatically annotate our digital photograph collection in the form of a geotemporal web (geoweb) [19].

Cited Works — Pervasive Computing

[1]
George Roussos, George Samaras, and Diomidis Spinellis. Editorial message: Special track on ubiquitous computing. In Hisham M. Haddad, Andrea Omicini, Roger L. Wainwright, and Lorie M. Liebrock, editors, Proceedings of the 2004 ACM Symposium on Applied Computing, pages 1565–1566. ACM Press, 2004. (doi:10.1145/967900.968213)
[2]
Diomidis Spinellis. The information furnace: User-friendly home control. In Proceedings of the 3rd International System Administration and Networking Conference SANE 2002, pages 145–174, May 2002.
[3]
Diomidis Spinellis. The information furnace: Consolidated home control. Personal and Ubiquitous Computing, 7(1):53–69, 2003. (doi:10.1007/s00779-002-0213-8)
[4]
Ioannis Mathes, Adamantia Pateli, Argiris Tsamakos, and Diomidis Spinellis. Context aware services in an exhibition environment- the mEXPRESS approach. In B. Stanford-Smith et al., editor, Challenges and Achievements in E-business and E-work: Proceedings of the E-business and E-work Conference, pages 685–692. IOS Press, October 2002.
[5]
Angeliki Tsilira, Adamantia Pateli, Erast Athanasiadis, and Diomidis Spinellis. Targeted messages in indoor mobile environment: A software-oriented approach. In M. H. Hamza, editor, Proceedings of the IASTED International Conference on Software Engineering, pages 734–739. IASTED, ACTA Press, February 2004.
[6]
Ada Pateli, Diomidis Spinellis, and Giorgos Giaglis. Wireless info-communication and navigation services in exhibition shows. In Mel Horwitch, editor, Third International Conference on Mobile Business (ICMB): mBusiness 2004, July 2004.
[7]
Adamantia G. Pateli, George M. Giaglis, and Diomidis D. Spinellis. Trial evaluation of wireless info-communication and indoor location-based services in exhibition shows. In Panagiotis Bozanis and Elias N. Houstis, editors, Advances in Informatics: 10th Panhellenic Conference on Informatics, PCI 2005, pages 199–210, Berlin, November 2005. Springer-Verlag. Lecture Notes in Computer Science 3746. (doi:10.1007/11573036_19)
[8]
Panos Kourouthanasis, Diomidis Spinellis, Giorgos Roussos, and Giorgos Giaglis. Intelligent cokes and diapers: MyGrocer ubiquitous computing environment. In First International Mobile Business Conference, pages 150–172, July 2002.
[9]
George Roussos, Panos Kourouthanasis, Diomidis Spinellis, Eugene Gryazin, Mike Pryzbliski, George Kalpogiannis, and George Giaglis. Systems architecture for pervasive retail. In ACM Symposium on Applied Computing, pages 631–636, New York, March 2003. ACM, ACM Press. (doi:10.1145/952532.952656)
[10]
Konstantinos Chorianopoulos and Diomidis Spinellis. A metaphor for personalized television programming. In Noelle Carbonelle and Constantine Stephanides, editors, Universal Access: Theoretical Perspectives, Practice, and Experience. Proceedings of the 7th ERCIM Workshop on User Interfaces for All, pages 187–194, Berlin, 2003. Springer-Verlag. Lecture Notes in Computer Science 2615.
[11]
Konstantinos Chorianopoulos, George Lekakos, and Diomidis Spinellis. The virtual channel model for personalized television. In Judith Masthoff, Richard Griffiths, and Lyn Pemberton, editors, Proceedings of the European Conference on Interactive Television: from Viewers to Actors?, pages 59–67, 2003.
[12]
Konstantinos Chorianopoulos and Diomidis Spinellis. User interface development for interactive television: Extending a commercial DTV platform to the virtual channel API. Computers & Graphics, 28(2):157–166, April 2004. (doi:10.1016/j.cag.2003.12.004)
[13]
Giorgos Lekakos, Kostas Chorianopoulos, and Diomidis Spinellis. Information systems in the living room: A case study of personalized interactive TV design. In Proceedings of the 9th European Conference on Information Systems, June 2001.
[14]
Konstantinos Chorianopoulos, George Lekakos, and Diomidis Spinellis. Intelligent user interfaces in the living room: Usability design for personalized television applications. In Proceedings of the 2003 International Conference on Intelligent User Interfaces, pages 230–232. ACM Press, 2003. (doi:10.1145/604045.604083)
[15]
Konstantinos Chorianopoulos and Diomidis Spinellis. Usability design for the home media station. In Constantine Stephanidis, editor, Proceedings of the 10th International Conference on Human Computer Interaction — HCI International 2003, pages 439–443. Lawrence Erlbaum Associates, Inc, June 2003.
[16]
Konstantinos Chorianopoulos and Diomidis Spinellis. Affective usability evaluation for an interactive music television channel. Computers in Entertainment, 2(3):14, July 2004. (doi:10.1145/1027154.1027177)
[17]
Konstantinos Chorianopoulos and Diomidis Spinellis. User interface evaluation of interactive TV: A media studies perspective. Universal Access in the Information Society, 5(2):209–218, August 2006. (doi:10.1007/s10209-006-0032-1)
[18]
Konstantinos Chorianopoulos and Diomidis Spinellis. Coping with TiVo: Opportunities of the networked digital video recorder. Telematics and Informatics, 24(1):48–58, February 2007. (doi:10.1016/j.tele.2005.12.003)
[19]
Diomidis Spinellis. Position-annotated photographs: A geotemporal web. IEEE Pervasive Computing, 2(2):72–79, April-June 2003. (doi:10.1109/MPRV.2003.1203756)

Top

Peer to Peer Networks and their Applications

Distributed computer architectures labeled "peer-to-peer" are designed for the sharing of computer resources (content, storage, CPU cycles) by direct exchange, rather than requiring the intermediation or support of a centralized server or authority. Peer-to-peer architectures are characterized by their ability to adapt to failures and accommodate transient populations of nodes while maintaining acceptable connectivity and performance. In a survey [1] we study current peer-to-peer content distribution systems and infrastructure technologies in terms of their distributed object location and routing mechanisms, their approach to content replication, caching and migration, their support for encryption, access control, authentication and identity, anonymity, deniability, accountability and reputation, and their use of resource trading and management schemes.

On the application side we examine how traditional e-business transactions [2], [3] can be implemented to use p2p technologies and systems [4], [5] [6]. A different strand of research examines how peer-to-peer networks can be used to create a more secure networked infrastructure [7], [8], [9], [10], [11].

Cited Works — Peer to Peer Networks and their Applications

[1]
Stephanos Androutsellis-Theotokis and Diomidis Spinellis. A survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 36(4):335–371, December 2004. (doi:10.1145/1041680.1041681)
[2]
Yannis Charalabidis, Vassilios Karakoidas, Stephanos Androutsellis-Theotokis, and Diomidis Spinellis. Enabling b2b transactions over the internet through application interconnection: The PRAXIS project. In Paul Cunningham and Miriam Cunningham, editors, eAdoption and the Knowledge Economy: Issues, Applications and Case Studies, chapter 7, pages 1554–1561. IOS Press, October 2004. Paper presented at the 2004 e-Challenges Conference, Vienna, Austria.
[3]
Diomidis Spinellis, Yannis Charalabidis, and Vassilios Karakoidas. Application interconnection and execution of business to business transactions over the internet. In 20th European Conference on Operational Research (EURO-XX). The Association of European Operational Research Societies, July 2004. Poster.
[4]
Stephanos Androutsellis-Theotokis, Diomidis Spinellis, and Vassilios Karakoidas. Performing peer-to-peer e-business transactions: A requirements analysis and preliminary design proposal. In Nitya Karmakar and Pedro Isaías, editors, IADIS International e-Commerce 2004 Conference Proceedings, pages 399–404, December 2004.
[5]
Stephanos Androutsellis-Theotokis, Diomidis Spinellis, and Vasileios Vlachos. The MoR-Trust distributed trust management system: Design and simulation results. In Sandro Etalle, Sara Foresti, and Pierangela Samarati, editors, Proceedings of the Second International Workshop on Security and Trust Management (STM'06), pages 3–15, September 2006. Electronic Notes in Theoretical Computer Science, Volume 179, July 2007. (doi:10.1016/j.entcs.2006.11.032)
[6]
Stephanos Androutsellis-Theotokis and Diomidis Spinellis. Ptrim: A market-based approach to managing the risk of peer-to-peer transactions. In Sonia Bergamaschi, Zoran Despotovic, Sam Joseph, and Gianluca Moro, editors, DBISP2P 2007: Fifth International Workshop on Databases, Information Systems and Peer-to-Peer Computing, September 2007.
[7]
Vasileios Vlachos, Stefanos Androutsellis-Theotokis, and Diomidis Spinellis. Security applications of peer-to-peer networks. Computer Networks, 45(2):195–205, June 2004. (doi:10.1016/j.comnet.2004.01.002)
[8]
Vasileios Vlachos, Andreas Raptis, and Diomidis Spinellis. PROMISing steps towards computer hygiene. In Steven Furnell, editor, International Network Conference (INC2006), pages 229–236, July 2006.
[9]
Vasileios Vlachos, Eirini Kalliamvakou, and Diomidis Spinellis. Simulating bandwidth-limited worms: One graph to rule them all?. In Theodore S. Papatheodorou, Dimitris N. Christodoulakis, and Nikitas N. Karanikolas, editors, Current Trends in Informatics: 11th Panhellenic Conference on Informatics, PCI 2007, volume B, pages 151–162, Athens, May 2007. New Technologies Publications.
[10]
Vasileios Vlachos, Vassiliki Vouzi, Damianos Chatziantoniou, and Diomidis Spinellis. NGCE — network graphs for computer epidemiologists. In Panagiotis Bozanis and Elias N. Houstis, editors, Advances in Informatics: 10th Panhellenic Conference on Informatics, PCI 2005, pages 672–683, Berlin, November 2005. Springer-Verlag. Lecture Notes in Computer Science 3746. (doi:10.1007/11573036_64)
[11]
Vasileios Vlachos and Diomidis Spinellis. A PRoactive malware identification system based on the computer hygiene principles. Information Management and Computer Security, 15(4):295–312, 2007. (doi:10.1108/09685220710817815)

Top

Applications in Design, Manufacturing, and Transportation

The domain complexities and challenges inherent in using computers in the areas of computer aided design, computer integrated manufacturing, transportation, and logistics create a number of interesting research opportunities. Many years ago I used novel domain-specic language-based techniques for implementing computer aided architectural design [1] and aluminum hot milling [2]. In addition, we have worked on optimising the allocation of buffers in large reliable production lines using stochastic algorithms to conquer the problem's exponential search space. Specifically, we used simulated annealing in conjunction with the decomposition [3] [4] and the expansion throughput evaluation method [5] and compared its results with those we obtained using genetic algorithms [6] [7]. Based on this work we have designed ePLOre an integrated framework in the form of a production line optimisation workbench [8] [9]. We also edited an IEEE Intelligent Systems theme issue on [10]. Advanced Heuristics in Transportation and Logistics

Cited Works — Applications in Design, Manufacturing, and Transportation

[1]
Diomidis Spinellis. Tekton: A program for the composition, design, and three-dimensional view of architectural subjects. In 4th Panhellenic Informatics Conference, volume I, pages 361–372. Greek Computer Society, December 1993. In Greek.
[2]
Diomidis Spinellis. Integrated aluminum hot milling automation. In Modern Modern Automated Control Technologies, pages 218–221. Technical Chamber of Greece, December 1995. In Greek.
[3]
Diomidis Spinellis and Chrisoleon T. Papadopoulos. A simulated annealing approach for buffer allocation in reliable production lines. In International Workshop on Performance Evaluation and Optimization of Production Lines, pages 365–375. University of the Aegean, Department of Mathematics, May 1997.
[4]
Diomidis Spinellis and Chrissoleon T. Papadopoulos. A simulated annealing approach for buffer allocation in reliable production lines. Annals of Operations Research, 93:373–384, 2000. (doi:10.1023/A:1018984125703)
[5]
Diomidis Spinellis, Chrissoleon Papadopoulos, and Jim MacGregor Smith. Large production line optimization using simulated annealing. International Journal of Production Research, 38(3):509–541, February 2000. (doi:10.1080/002075400189284)
[6]
Diomidis Spinellis and Chrissoleon T. Papadopoulos. Production line buffer allocation: Genetic algorithms versus simulated annealing. In Second International Aegean Conference on the Analysis and Modelling of Manufacturing Systems, pages 89–101. University of the Aegean, Department of Business Administration, May 1999.
[7]
Diomidis Spinellis and Chrissoleon Papadopoulos. Stochastic algorithms for buffer allocation in reliable production lines. Mathematical Problems in Engineering, 5:441–458, 2000. (doi:10.1155/S1024123X99001180)
[8]
Diomidis Spinellis and Chrissoleon T. Papadopoulos. ExPLOre: A modular architecture for production line optimisation. In Dimitris K. Despotis and Constantin Zopounidis, editors, Proceedings of the 5th International Conference of the Decision Sciences Institute, DSI '99, pages 1446–1449. Decision Sciences Institute, July 1999.
[9]
Diomidis Spinellis and Chrissoleon Papadopoulos. Modular production line optimization: The exPLOre architecture. Mathematical Problems in Engineering, 6:527–541, 2001. (doi:10.1155/S1024123X00001460)
[10]
Christos D. Tarantilis, Diomidis Spinellis, and Michel Gendreau. Advanced heuristics in transportation and logistics. IEEE Intelligent Systems, 20(4):16–18, July 2005. (doi:10.1109/MIS.2005.71)

Top

Diomidis Spinellis home page


Creative Commons License Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.
Last modified: 2009-02-27