-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
97 lines (79 loc) · 6.59 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>Model-driven Mobile Development by ps-md2</title>
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="javascripts/respond.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lt IE 8]>
<link rel="stylesheet" href="stylesheets/ie.css">
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
</head>
<body>
<div id="header">
<nav>
<li class="fork"><a href="https://github.com/ps-md2">View On GitHub</a></li>
</nav>
</div><!-- end header -->
<div class="wrapper">
<section>
<div id="title">
<h1>Model-driven Mobile Development</h1>
<p>Project Seminar MD² – Winter Term 2014/15</p>
<hr>
<span class="credits left">Project maintained by <a href="https://github.com/ps-md2">ps-md2</a></span>
<span class="credits right">Hosted on GitHub Pages — Theme by <a href="https://twitter.com/michigangraham">mattgraham</a></span>
</div>
<h3>
<a id="cross-platform-development-of-native-business-apps" class="anchor" href="#cross-platform-development-of-native-business-apps" aria-hidden="true"><span class="octicon octicon-link"></span></a>Cross-platform development of native business apps.</h3>
<p>MD² (or MD2) is an open source model-driven framework for cross-platform development of mobile applications. Based on a textual DSL, MD² generates runnable apps that can be run on the map.apps platform and that connect to one or more central Java EE backend servers. (MD² is furthermore intended to be able to generate native apps for mobile platforms such as Android or iOS. However, these generators are currently broken. Any help on reinstating these generators is most welcomed.)</p>
<p>During winter term 2013/2014, a project seminar team of seven students enhanced the language and the map.apps and backend generators towards new features. This work was done in cooperation with the project seminar's industry partner, <a href="http://www.conterra.de/">con terra</a>. New features include, non-exhaustively: </p>
<ul>
<li>Coarse-granular workflow functionality, with modular workflow elements,</li>
<li>Specification of workflows across apps,</li>
<li>Creating interfaces to the workflow, so that the workflow can be started from outside an app,</li>
<li>Calculation of location coordinates,</li>
<li>Uploading of images, and</li>
<li>Invocations of external web services</li>
</ul>
<h3>
<a id="project-seminar-results" class="anchor" href="#project-seminar-results" aria-hidden="true"><span class="octicon octicon-link"></span></a>Project seminar results</h3>
<p>The following final artifacts have been created by the project seminar:</p>
<ul>
<li>Source code of the framework,</li>
<li>Tests, verifying the functionality of language features and the framework's validators,</li>
<li>Continuous integration server, based on Jenkins,</li>
<li>Documentation, directed individually at model developers as well as at framework developers, and</li>
<li>Sample applications, providing an additional entry point towards understanding the framework and its features' semantics.</li>
</ul>
<h3>
<a id="repository-contents" class="anchor" href="#repository-contents" aria-hidden="true"><span class="octicon octicon-link"></span></a>Repository contents</h3>
<ul>
<li>
<a href="https://github.com/ps-md2/md2-framework"><strong>md2-framework</strong></a>: In the <code>mapapps</code> branch, this repository contains Eclipse projects for the development of the MD² language. Furthermore, this contains a projects for the tests (<code>de.wwu.md2.framework.tests</code>). All Eclipse projects relevant to development and testing are also Maven projects. The root Maven project that subsumes the others is <code>de.wwu.md2.framework.parent</code>.</li>
<li>
<a href="https://github.com/ps-md2/md2-mapapps-runtime"><strong>md2-mapapps-runtime</strong></a>: This repository contains the generic map.apps bundles that are required to run MD² map.apps apps. The bundles need to be copied into the <code>bundles/</code> folder of a map.apps installation, as described in the documentation.</li>
<li>
<a href="https://github.com/ps-md2/md2-documentation"><strong>md2-documentation</strong></a>: LaTeX project containing the user and developer documentation. Both are combined into one directory. A compiled snapshot PDF file resides at the root directory.</li>
<li>
<a href="https://github.com/ps-md2/md2-projects"><strong>md2-projects</strong></a>: This repository contains two example MD² projects. <em>CurrentStateProject</em> contains the example deficiency report use case that we have been discussing from the beginning. <em>DatingApp</em> serves as an additional use case, demonstrating further features of MD².</li>
<li>
<a href="https://github.com/ps-md2/arbitrary-tools"><strong>arbitrary-tools</strong></a>: Additional mini-projects of tools that have proven useful during our development. Nevertheless, they cannot be considered part of MD², since they do not contribute any functionality to the framework or any of the example projects.</li>
</ul>
<h3>
<a id="continuous-integration" class="anchor" href="#continuous-integration" aria-hidden="true"><span class="octicon octicon-link"></span></a>Continuous integration</h3>
<p>Our continuous integration (CI) server is available at <a href="http://psmd2.uni-muenster.de:8080/jenkins">http://psmd2.uni-muenster.de:8080/jenkins</a> from within the university's network. There, two jobs are created that both invoke the <code>de.wwu.md2.framework.parent</code> Maven project in order to execute the tests.</p>
<p>The two jobs differ in their triggering mechanism: One builds as soon as new commits are pushed to the <code>mapapps</code> branch. The other one builds for every pull request, as soon as one is created or new commits are added to an existing pull request. The pull request builder checks out a state in which the <code>mapapps</code> branch and the pull request's branch are merged. Consequently, the test result indicates whether an integration will be successful.</p>
<p>Using a Cronjob, both jobs poll the GitHub repository every five minutes to detect new changes.</p>
</section>
</div>
<!--[if !IE]><script>fixScale(document);</script><![endif]-->
</body>
</html>