-
Notifications
You must be signed in to change notification settings - Fork 0
/
athena.html
74 lines (70 loc) · 4.39 KB
/
athena.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
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.5.2/cerulean/bootstrap.min.css" integrity="sha384-3fdgwJw17Bi87e1QQ4fsLn4rUFqWw//KU0g8TvV6quvahISRewev6/EocKNuJmEw" crossorigin="anonymous">
<link rel="stylesheet" href="css/custom.css" type="text/css">
<title>ModelUM - Tools - Athena</title>
</head>
<body>
<div class="container">
<div class="row" id="header"></div>
<div class="row" id="header_tools"></div>
<div class="row" id="tools_index"></div>
<div class="row section-separator">
<img src="img/tools/icon_athena.png" width="4%">
<h2>Athena: Abstract Schema Definition Language</h2><a href="https://github.com/catedrasaes-umu/NoSQLDataEngineering" target="_blank"><i class="fa fa-github" style="color:#000000;"></i></a><br>
</div>
<div class="row section-separator">
<h3>UNDER CONSTRUCTION</h3><br>
</div>
<div class="row section-separator" id="description">
<h3><b>Description</b></h3><br>
<p>Athena (<b>Abstract Schema Definition Language</b>) is a textual DSL aimed to define abstract schemas in a platform-independent way. For doing so Athena reunites concepts of all NoSQL paradigms, based on the U-Schema metamodel. Athena has been designed using Xtext and the Eclipse Modeling Framework. Examples of Athena schemas may be found on the models folder.</p>
<p>The following figure contains an example of an Athena Schema:
<br/>
<br/>
<img class="img-rounded img-responsive img-fluid mx-auto d-block" src="img/tools/athena_example.png" width="75%">
<br/>
</p>
<p>As can be seen in the Figure below, Athena defines several transformations to other systems in order to assure compatibility:
<ul>
<li>A <em>model to model</em> transformation to/from Athena and U-Schema.</li>
<li>A <em>model to model</em> transformation to/from Athena and Orion.</li>
<li>A <em>model to text</em> transformation to generate MySQL schemas.</li>
<li>A <em>model to text</em> transformation to generate Cassandra schemas.</li>
<li>A <em>model to text</em> transformation to generate MongoDB validators.</li>
</ul>
<br/>
<br/>
<img class="img-rounded img-responsive img-fluid mx-auto d-block" src="img/tools/athena_flow.png" width="65%">
<br/>
</p>
<p>The following projects provide the basics to create Athena schemas:
<ul>
<li>es.um.unosql.xtext.athena</li>
<li>es.um.unosql.xtext.athena.ide</li>
<li>es.um.unosql.xtext.athena.ui</li>
</ul>
</p>
</div>
<div class="row section-separator" id="install">
<h3><b>Installation and Usage</b></h3><br>
</div>
<div class="row section-separator" id="specification">
<h3><b>Language Specification</b></h3><br>
</div>
<div id="footer"></div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>
<script>$(document).ready(function(){$('#header').load("html/common/header.html");});</script>
<script>$(document).ready(function(){$('#header_tools').load("html/common/header_tools.html");});</script>
<script>$(document).ready(function(){$('#tools_index').load("html/common/tools_index.html");});</script>
<script>$(document).ready(function(){$('#footer').load("html/common/footer.html");});</script>
</body>
</html>