@conference {2021:icwe:fullstack,
	title = {Full Stack is Not What It Used to Be},
	booktitle = {21st International Conference on Web Engineering (ICWE2021)},
	year = {2021},
	month = {May},
	publisher = {Springer},
	organization = {Springer},
	address = {Biarritz, France},
	abstract = {The traditional definition of full stack development refers to a skill set that is required for writing software both for the frontend and backend of a web application or site.  In recent years, the scope of full stack development has expanded significantly, though.  Today, a full stack software developer is assumed to master various additional areas especially related to cloud infrastructure and deployment, message brokers and data analytics technologies.  In addition, the emergence of Internet of Things (IoT) and the rapidly spreading use of AI/ML technologies are introducing additional skill set requirements.  In this paper, we discuss the expectations for a modern full stack developer based on our industry observations, and argue that these expectations have significant implications for software and web engineering education.},
	keywords = {Cloud, Education, Internet of Things, IoT, Programmable World, software architecture, software engineering, Web engineering},
	doi = {10.1007/978-3-030-74296-6_28},
	author = {Antero Taivalsaari and Tommi Mikkonen and Cesare Pautasso and Kari Systa}
}
@inbook {2021:icwe:liquid,
	title = {Towards Seamless IoT Device-Edge-Cloud Continuum},
	booktitle = {Communications in Computer and Information Science},
	volume = {1508},
	number = {ICWE 2021 Workshops},
	year = {2021},
	pages = {82 - 98},
	publisher = {Springer},
	organization = {Springer},
	abstract = {In this paper we revisit a taxonomy of client-side IoT software architectures that we presented a few years ago. We note that the emergence of inexpensive AI/ML hardware and new communication technologies are broadening the architectural options for IoT devices even further. These options can have a significant impact on the overall end-to-end architecture and topology of IoT systems, e.g., in determining how much computation can be performed on the edge of the network. We study the implications of the IoT device architecture choices in light of the new observations, as well as make some new predictions about future directions. Additionally, we make a case for isomorphic IoT systems in which development complexity is alleviated with consistent use of technologies across the entire stack, providing a seamless continuum from edge devices all the way to the cloud.},
	keywords = {Edge Computing, Embedded devices, Internet of Things, Isomorphic software, liquid software, Programmable World, software architecture, software engineering},
	isbn = {978-3-030-92230-6},
	issn = {1865-0929},
	doi = {10.1007/978-3-030-92231-3_8},
	url = {https://link.springer.com/chapter/10.1007/978-3-030-92231-3_8},
	author = {Taivalsaari, Antero and Mikkonen, Tommi and Pautasso, Cesare}
}
@conference {6227125,
	title = {Specification patterns from research to industry: A case study in service-based applications},
	booktitle = {Proc. of the 34th International Conference on Software Engineering (ICSE2012), SeIP track},
	year = {2012},
	month = {June},
	pages = {968-976},
	address = {Zurich, Switzerland},
	abstract = {Specification patterns have proven to help developers to state precise system requirements, as well as formalize them by means of dedicated specification languages. Most of the past work has focused its applicability area to the specification of concurrent and real-time systems, and has been limited to a research setting. In this paper we present the results of our study on specification patterns for service-based applications (SBAs). The study focuses on industrial SBAs in the banking domain. We started by performing an extensive analysis of the usage of specification patterns in published research case studies - representing almost ten years of research in the area of specification, verification, and validation of SBAs. We then compared these patterns with a large body of specifications written by our industrial partner over a similar time period. The paper discusses the outcome of this comparison, indicating that some needs of the industry, especially in the area of requirements specification languages, are not fully met by current software engineering research.},
	keywords = {banking case study, formal specification, industry research, pattern matching, real-time systems, requirements specifications, service contracts, software engineering, specification patterns, Web services},
	issn = {0270-5257},
	doi = {10.1109/ICSE.2012.6227125},
	author = {Domenico Bianculli and Carlo Ghezzi and Cesare Pautasso and Patrick Senti}
}
@inproceedings {clavos:2009:pesos,
	title = {Embedding continuous lifelong verification in service life cycles},
	year = {2009},
	month = {May},
	pages = {99-102},
	address = {Vancouver, Canada},
	abstract = {Service-oriented systems are an instantiation of open world software, which is characterized by high dynamism and decentralization. These properties strongly impact on how service-oriented systems are engineered, built, and operated, as well as verified. To address the challenges of applying verification to open service-oriented systems, in this position paper we propose to apply verification across the entire life cycle of a service and introduce a verification-oriented service life cycle.},
	keywords = {continuous lifelong verification, formal verification, monitoring, service contracts, service life cycles, service-oriented systems, software architecture, software engineering},
	doi = {10.1109/PESOS.2009.5068828},
	author = {Domenico Bianculli and Carlo Ghezzi and Cesare Pautasso}
}
