38 research outputs found

    A Scholarship Approach to Model-Driven Engineering

    Get PDF
    Model-Driven Engineering is a paradigm for software engineering where software models are the primary artefacts throughout the software life-cycle. The aim is to define suitable representations and processes that enable precise and efficient specification, development and analysis of software. Our contributions to Model-Driven Engineering are structured according to Boyer\u27s four functions of academic activity - the scholarships of teaching, discovery, application and integration. The scholarships share a systematic approach towards seeking new insights and promoting progressive change. Even if the scholarships have their differences they are compatible so that theory, practice and teaching can strengthen each other.Scholarship of Teaching: While teaching Model-Driven Engineering to under-graduate students we introduced two changes to our course. The first change was to introduce a new modelling tool that enabled the execution of software models while the second change was to adapt pair lecturing to encourage the students to actively participate in developing models during lectures. Scholarship of Discovery: By using an existing technology for transforming models into source code we translated class diagrams and high-level action languages into natural language texts. The benefit of our approach is that the translations are applicable to a family of models while the texts are reusable across different low-level representations of the same model.Scholarship of Application: Raising the level of abstraction through models might seem a technical issue but our collaboration with industry details how the success of adopting Model-Driven Engineering depends on organisational and social factors as well as technical. Scholarship of Integration: Building on our insights from the scholarships above and a study at three large companies we show how Model-Driven Engineering empowers new user groups to become software developers but also how engineers can feel isolated due to poor tool support. Our contributions also detail how modelling enables a more agile development process as well as how the validation of models can be facilitated through text generation.The four scholarships allow for different possibilities for insights and explore Model-Driven Engineering from diverse perspectives. As a consequence, we investigate the social, organisational and technological factors of Model-Driven Engineering but also examine the possibilities and challenges of Model-Driven Engineering across disciplines and scholarships

    Three Studies on Model Transformations - Parsing, Generation and Ease of Use

    Get PDF
    ABSTRACTTransformations play an important part in both software development and the automatic processing of natural languages. We present three publications rooted in the multi-disciplinary research of Language Technology and Software Engineering and relate their contribution to the literature on syntactical transformations. Parsing Linear Context-Free Rewriting SystemsThe first publication describes four different parsing algorithms for the mildly context-sensitive grammar formalism Linear Context-Free Rewriting Systems. The algorithms automatically transform a text into a chart. As a result the parse chart contains the (possibly partial) analysis of the text according to a grammar with a lower level of abstraction than the original text. The uni-directional and endogenous transformations are described within the framework of parsing as deduction. Natural Language Generation from Class DiagramsUsing the framework of Model-Driven Architecture we generate natural language from class diagrams. The transformation is done in two steps. In the first step we transform the class diagram, defined by Executable and Translatable UML, to grammars specified by the Grammatical Framework. The grammars are then used to generate the desired text. Overall, the transformation is uni-directional, automatic and an example of a reverse engineering translation. Executable and Translatable UML - How Difficult Can it Be?Within Model-Driven Architecture there has been substantial research on the transformation from Platform-Independent Models (PIM) into Platform-Specifc Models, less so on the transformation from Computationally Independent Models (CIM) into PIMs. This publication reflects on the outcomes of letting novice software developers transform CIMs specified by UML into PIMs defined in Executable and Translatable UML.ConclusionThe three publications show how model transformations can be used within both Language Technology and Software Engineering to tackle the challenges of natural language processing and software development

    Putting the Pieces Together - Technical, Organisational and Social Aspects of Language Integration for Complex Systems

    No full text
    Dealing with heterogenuous systems is often described as a technical challenge in scientific publications. We analysed data from 25 interviews from a study of Model-Driven Engineering at three companies and found that while the technical aspects are important, they do not encompass the full challenge { organizational and social factors also play an important role in managing heterogenuous systems. This is true not only for the development phase but also for enabling early validation of interdependent systems, where processes and attitudes have an impact on the outcome of the integration

    Mastering model-driven engineering

    No full text
    The challenge of transforming the understanding of a problem into a validated solution is not a trivial task. Using the conceptual framework of cognitive apprenticeship we show two ways to guide novices towards becoming masters in model-driven engineering

    Extending Agile Practices in Automotive MDE

    No full text
    The size and functionality of the software in a modern car increaseswith each new generation. To stay competitive automotive manufacturesmust deliver new and better features to their customers at thesame speed or faster than their competitors. A traditional waterfall processis not suitable for this speed challenge - a more agile way of workingis desirable. By introducing MDE we have seen how individual teams atVolvo Cars adopt agile practices, resulting in tensions while the organizationat large still uses a waterfall process. In an exploratory case studywe interviewed 18 engineers to better understand how agile practicescan be extended beyond individual teams. Where the tensions have theirsource in the technical specification of the software components and theirinterfaces, it turns out that it is company culture and mindsets that arethe main hurdles to overcome

    Extending Agile Practices in Automotive MDE

    No full text
    The size and functionality of the software in a modern car increaseswith each new generation. To stay competitive automotive manufacturesmust deliver new and better features to their customers at thesame speed or faster than their competitors. A traditional waterfall processis not suitable for this speed challenge - a more agile way of workingis desirable. By introducing MDE we have seen how individual teams atVolvo Cars adopt agile practices, resulting in tensions while the organizationat large still uses a waterfall process. In an exploratory case studywe interviewed 18 engineers to better understand how agile practicescan be extended beyond individual teams. Where the tensions have theirsource in the technical specification of the software components and theirinterfaces, it turns out that it is company culture and mindsets that arethe main hurdles to overcome

    Teaching sustainable development through entrepreneurial experiences

    No full text
    Purpose: The purpose of this study is to address the challenges of teaching sustainable development to computer engineering students. Part of the problem is that they perceive the topic as irrelevant for their future profession. Design/methodology/approach: To address this challenge, we introduced a project element into a course on sustainable development where the students developed applications for sustainable mobility together with the local public transport authority, an academic institution and a multinational telecom company. Findings: The findings conclude that the course changes improved the overall student satisfaction while succeeding in anchoring sustainable development in a context which the students can relate to. The collaboration was also perceived as fruitful by the external stakeholders who encouraged the students to stay in touch for their bachelor theses and internships. Research limitations/implications: The theoretical implication is a first attempt in integrating sustainable development education with entrepreneurial experiences, whereas the practical implication is a description of how the integration can be realized. Practical implications: The contribution is therefore of value for both educational researchers to open novel research opportunities and for teachers to describe new possibilities for sustainable development education. Originality/value: The contribution describes how entrepreneurial experiences can be used to motivate engineering students in mandatory courses on sustainable development and ethics. The approach is novel in that the approach has not been described earlier in this context

    Translating Platform-Independent Code into Natural Language Texts

    No full text
    Understanding software artifacts is not only time-consuming, without the proper training and experience it can be impossible. From a model-driven perspective there are two benefits from translating platform-independent models into natural language texts: First, the non-functional properties of the solution have already been omitted meaning that the translations focus on describing the functional behaviour of the system. Second, the platform-independent models are reusable across platforms and so are the translations generated from them. As a proof-of-concept a platform-independent Action language is translated into natural language texts through the framework of model transformations

    Parsing linear context-free rewriting systems

    No full text
    We describe four different parsing algorithms for Linear Context-Free Rewriting Systems (Vijay-Shanker et al., 1987). The algorithms are described as deduction systems, and possible optimizations are discussed

    How MAD are we? Empirical Evidence for Model-driven Agile Development.

    No full text
    Since the launch of the Agile Manifesto there has been numerous propositions in how to combine agile practices with Model-driven Development. Ideally the combination would give the benefits of agile (e.g. rapid response to changes and shorter lead times) with the promises of Model-driven development (such as high-level designs and automation). A commonality among the proposals is that they lack in empirical evaluation. Our contribution is a systematic literature review to find out to what experiences there are of Model-driven Agile Development, MAD, from an empirical context. Among our conslusions is that MAD is sitll an immature research area and that more experience reports from industry are needed before we can claim to have understood the possibilities and drawbacks of MAD
    corecore